summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--COPYRIGHT.txt2
-rw-r--r--core/math/math_funcs.h2
-rw-r--r--core/variant/variant_utility.cpp5
-rw-r--r--doc/classes/@GlobalScope.xml6
-rw-r--r--doc/classes/AspectRatioContainer.xml2
-rw-r--r--doc/classes/ColorPickerButton.xml2
-rw-r--r--doc/classes/Control.xml72
-rw-r--r--doc/classes/GraphEdit.xml2
-rw-r--r--doc/classes/ItemList.xml2
-rw-r--r--doc/classes/RichTextLabel.xml2
-rw-r--r--doc/classes/ScrollContainer.xml4
-rw-r--r--doc/classes/SubViewportContainer.xml2
-rw-r--r--doc/classes/TabBar.xml3
-rw-r--r--doc/classes/TabContainer.xml2
-rw-r--r--doc/classes/Tree.xml2
-rw-r--r--doc/classes/VisualShaderNodeCustom.xml22
-rw-r--r--doc/translations/ar.po480
-rw-r--r--doc/translations/ca.po385
-rw-r--r--doc/translations/classes.pot385
-rw-r--r--doc/translations/cs.po405
-rw-r--r--doc/translations/de.po462
-rw-r--r--doc/translations/el.po394
-rw-r--r--doc/translations/es.po460
-rw-r--r--doc/translations/fa.po385
-rw-r--r--doc/translations/fi.po395
-rw-r--r--doc/translations/fil.po385
-rw-r--r--doc/translations/fr.po989
-rw-r--r--doc/translations/gl.po385
-rw-r--r--doc/translations/hi.po385
-rw-r--r--doc/translations/hu.po385
-rw-r--r--doc/translations/id.po399
-rw-r--r--doc/translations/is.po385
-rw-r--r--doc/translations/it.po413
-rw-r--r--doc/translations/ja.po406
-rw-r--r--doc/translations/ko.po394
-rw-r--r--doc/translations/lv.po385
-rw-r--r--doc/translations/mr.po385
-rw-r--r--doc/translations/nb.po385
-rw-r--r--doc/translations/ne.po385
-rw-r--r--doc/translations/nl.po385
-rw-r--r--doc/translations/pl.po416
-rw-r--r--doc/translations/pt.po400
-rw-r--r--doc/translations/pt_BR.po398
-rw-r--r--doc/translations/ro.po385
-rw-r--r--doc/translations/ru.po441
-rw-r--r--doc/translations/sk.po385
-rw-r--r--doc/translations/sr_Cyrl.po385
-rw-r--r--doc/translations/sv.po385
-rw-r--r--doc/translations/th.po390
-rw-r--r--doc/translations/tl.po395
-rw-r--r--doc/translations/tr.po394
-rw-r--r--doc/translations/uk.po403
-rw-r--r--doc/translations/vi.po433
-rw-r--r--doc/translations/zh_CN.po1446
-rw-r--r--doc/translations/zh_TW.po395
-rw-r--r--editor/SCsub2
-rw-r--r--editor/editor_autoload_settings.cpp50
-rw-r--r--editor/editor_autoload_settings.h6
-rw-r--r--editor/editor_node.cpp12
-rw-r--r--editor/editor_settings.cpp3
-rw-r--r--editor/editor_toaster.cpp8
-rw-r--r--editor/editor_toaster.h2
-rw-r--r--editor/plugins/canvas_item_editor_plugin.cpp2
-rw-r--r--editor/plugins/skeleton_3d_editor_plugin.cpp27
-rw-r--r--editor/plugins/visual_shader_editor_plugin.cpp89
-rw-r--r--editor/plugins/visual_shader_editor_plugin.h4
-rw-r--r--editor/project_settings_editor.cpp2
-rw-r--r--editor/translations/af.po70
-rw-r--r--editor/translations/ar.po679
-rw-r--r--editor/translations/az.po67
-rw-r--r--editor/translations/bg.po71
-rw-r--r--editor/translations/bn.po72
-rw-r--r--editor/translations/br.po64
-rw-r--r--editor/translations/ca.po73
-rw-r--r--editor/translations/cs.po83
-rw-r--r--editor/translations/da.po70
-rw-r--r--editor/translations/de.po238
-rw-r--r--editor/translations/editor.pot64
-rw-r--r--editor/translations/el.po75
-rw-r--r--editor/translations/en_Shaw.po14652
-rw-r--r--editor/translations/eo.po70
-rw-r--r--editor/translations/es.po244
-rw-r--r--editor/translations/es_AR.po585
-rw-r--r--editor/translations/et.po68
-rw-r--r--editor/translations/eu.po66
-rw-r--r--editor/translations/fa.po72
-rw-r--r--editor/translations/fi.po226
-rw-r--r--editor/translations/fil.po64
-rw-r--r--editor/translations/fr.po160
-rw-r--r--editor/translations/ga.po66
-rw-r--r--editor/translations/gl.po73
-rw-r--r--editor/translations/he.po72
-rw-r--r--editor/translations/hi.po68
-rw-r--r--editor/translations/hr.po70
-rw-r--r--editor/translations/hu.po72
-rw-r--r--editor/translations/id.po86
-rw-r--r--editor/translations/is.po64
-rw-r--r--editor/translations/it.po139
-rw-r--r--editor/translations/ja.po124
-rw-r--r--editor/translations/ka.po70
-rw-r--r--editor/translations/km.po64
-rw-r--r--editor/translations/ko.po103
-rw-r--r--editor/translations/lt.po66
-rw-r--r--editor/translations/lv.po70
-rw-r--r--editor/translations/mi.po64
-rw-r--r--editor/translations/mk.po64
-rw-r--r--editor/translations/ml.po64
-rw-r--r--editor/translations/mr.po76
-rw-r--r--editor/translations/ms.po76
-rw-r--r--editor/translations/nb.po73
-rw-r--r--editor/translations/nl.po82
-rw-r--r--editor/translations/or.po64
-rw-r--r--editor/translations/pl.po564
-rw-r--r--editor/translations/pr.po70
-rw-r--r--editor/translations/pt.po75
-rw-r--r--editor/translations/pt_BR.po86
-rw-r--r--editor/translations/ro.po72
-rw-r--r--editor/translations/ru.po230
-rw-r--r--editor/translations/si.po64
-rw-r--r--editor/translations/sk.po70
-rw-r--r--editor/translations/sl.po70
-rw-r--r--editor/translations/sq.po70
-rw-r--r--editor/translations/sr_Cyrl.po72
-rw-r--r--editor/translations/sr_Latn.po974
-rw-r--r--editor/translations/sv.po70
-rw-r--r--editor/translations/ta.po64
-rw-r--r--editor/translations/te.po64
-rw-r--r--editor/translations/th.po75
-rw-r--r--editor/translations/tl.po580
-rw-r--r--editor/translations/tr.po75
-rw-r--r--editor/translations/tt.po64
-rw-r--r--editor/translations/tzm.po64
-rw-r--r--editor/translations/uk.po234
-rw-r--r--editor/translations/ur_PK.po70
-rw-r--r--editor/translations/vi.po145
-rw-r--r--editor/translations/zh_CN.po237
-rw-r--r--editor/translations/zh_HK.po70
-rw-r--r--editor/translations/zh_TW.po75
-rw-r--r--modules/csg/csg_shape.cpp132
-rw-r--r--modules/csg/csg_shape.h6
-rw-r--r--modules/gdscript/editor_templates/VisualShaderNodeCustom/basic.gd2
-rw-r--r--modules/mono/editor/GodotTools/GodotTools/Build/BuildOutputView.cs2
-rw-r--r--modules/mono/editor/GodotTools/GodotTools/Build/MSBuildPanel.cs2
-rw-r--r--modules/mono/editor/code_completion.cpp2
-rw-r--r--modules/svg/SCsub1
-rw-r--r--platform/linuxbsd/display_server_x11.cpp8
-rw-r--r--platform/linuxbsd/os_linuxbsd.cpp1
-rw-r--r--platform/osx/display_server_osx.mm2
-rw-r--r--platform/windows/display_server_windows.cpp2
-rw-r--r--scene/gui/base_button.cpp4
-rw-r--r--scene/gui/base_button.h2
-rw-r--r--scene/gui/control.cpp35
-rw-r--r--scene/gui/menu_button.cpp2
-rw-r--r--scene/gui/rich_text_label.cpp4
-rw-r--r--scene/gui/tab_bar.cpp87
-rw-r--r--scene/gui/tab_bar.h6
-rw-r--r--scene/gui/tab_container.cpp7
-rw-r--r--scene/main/scene_tree.cpp1
-rw-r--r--scene/main/viewport.cpp4
-rw-r--r--scene/main/window.cpp12
-rw-r--r--scene/main/window.h2
-rw-r--r--scene/register_scene_types.cpp10
-rw-r--r--scene/resources/visual_shader.cpp84
-rw-r--r--scene/resources/visual_shader.h6
-rw-r--r--scene/resources/visual_shader_nodes.cpp6
-rw-r--r--thirdparty/README.md2
-rw-r--r--thirdparty/thorvg/AUTHORS2
-rw-r--r--thirdparty/thorvg/LICENSE2
-rw-r--r--thirdparty/thorvg/inc/config.h2
-rw-r--r--thirdparty/thorvg/inc/thorvg.h5
-rw-r--r--thirdparty/thorvg/src/lib/sw_engine/tvgSwCommon.h3
-rw-r--r--thirdparty/thorvg/src/lib/sw_engine/tvgSwFill.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/sw_engine/tvgSwImage.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/sw_engine/tvgSwMath.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/sw_engine/tvgSwMemPool.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/sw_engine/tvgSwRaster.cpp56
-rw-r--r--thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterAvx.h2
-rw-r--r--thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterC.h2
-rw-r--r--thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterNeon.h6
-rw-r--r--thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterTexmap.h2
-rw-r--r--thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterTexmapInternal.h2
-rw-r--r--thirdparty/thorvg/src/lib/sw_engine/tvgSwRenderer.cpp5
-rw-r--r--thirdparty/thorvg/src/lib/sw_engine/tvgSwRenderer.h2
-rw-r--r--thirdparty/thorvg/src/lib/sw_engine/tvgSwRle.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/sw_engine/tvgSwShape.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/sw_engine/tvgSwStroke.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/tvgAccessor.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/tvgArray.h2
-rw-r--r--thirdparty/thorvg/src/lib/tvgBezier.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/tvgBezier.h2
-rw-r--r--thirdparty/thorvg/src/lib/tvgBinaryDesc.h2
-rw-r--r--thirdparty/thorvg/src/lib/tvgCanvas.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/tvgCanvasImpl.h2
-rw-r--r--thirdparty/thorvg/src/lib/tvgCommon.h2
-rw-r--r--thirdparty/thorvg/src/lib/tvgFill.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/tvgFill.h2
-rw-r--r--thirdparty/thorvg/src/lib/tvgGlCanvas.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/tvgInitializer.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/tvgIteratorAccessor.h2
-rw-r--r--thirdparty/thorvg/src/lib/tvgLinearGradient.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/tvgLoadModule.h2
-rw-r--r--thirdparty/thorvg/src/lib/tvgLoader.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/tvgLoader.h2
-rw-r--r--thirdparty/thorvg/src/lib/tvgLzw.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/tvgLzw.h2
-rw-r--r--thirdparty/thorvg/src/lib/tvgMath.h2
-rw-r--r--thirdparty/thorvg/src/lib/tvgPaint.cpp8
-rw-r--r--thirdparty/thorvg/src/lib/tvgPaint.h2
-rw-r--r--thirdparty/thorvg/src/lib/tvgPicture.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/tvgPictureImpl.h2
-rw-r--r--thirdparty/thorvg/src/lib/tvgRadialGradient.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/tvgRender.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/tvgRender.h2
-rw-r--r--thirdparty/thorvg/src/lib/tvgSaveModule.h2
-rw-r--r--thirdparty/thorvg/src/lib/tvgSaver.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/tvgScene.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/tvgSceneImpl.h2
-rw-r--r--thirdparty/thorvg/src/lib/tvgShape.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/tvgShapeImpl.h2
-rw-r--r--thirdparty/thorvg/src/lib/tvgSwCanvas.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/tvgTaskScheduler.cpp2
-rw-r--r--thirdparty/thorvg/src/lib/tvgTaskScheduler.h2
-rw-r--r--thirdparty/thorvg/src/loaders/external_jpg/tvgJpgLoader.cpp2
-rw-r--r--thirdparty/thorvg/src/loaders/external_jpg/tvgJpgLoader.h2
-rw-r--r--thirdparty/thorvg/src/loaders/external_png/tvgPngLoader.cpp7
-rw-r--r--thirdparty/thorvg/src/loaders/external_png/tvgPngLoader.h2
-rw-r--r--thirdparty/thorvg/src/loaders/jpg/tvgJpgLoader.cpp2
-rw-r--r--thirdparty/thorvg/src/loaders/jpg/tvgJpgLoader.h2
-rw-r--r--thirdparty/thorvg/src/loaders/jpg/tvgJpgd.cpp16
-rw-r--r--thirdparty/thorvg/src/loaders/png/tvgLodePng.cpp2
-rw-r--r--thirdparty/thorvg/src/loaders/png/tvgLodePng.h2
-rw-r--r--thirdparty/thorvg/src/loaders/png/tvgPngLoader.cpp2
-rw-r--r--thirdparty/thorvg/src/loaders/png/tvgPngLoader.h2
-rw-r--r--thirdparty/thorvg/src/loaders/raw/tvgRawLoader.cpp2
-rw-r--r--thirdparty/thorvg/src/loaders/raw/tvgRawLoader.h2
-rw-r--r--thirdparty/thorvg/src/loaders/svg/tvgSvgCssStyle.cpp186
-rw-r--r--thirdparty/thorvg/src/loaders/svg/tvgSvgCssStyle.h34
-rw-r--r--thirdparty/thorvg/src/loaders/svg/tvgSvgLoader.cpp359
-rw-r--r--thirdparty/thorvg/src/loaders/svg/tvgSvgLoader.h2
-rw-r--r--thirdparty/thorvg/src/loaders/svg/tvgSvgLoaderCommon.h49
-rw-r--r--thirdparty/thorvg/src/loaders/svg/tvgSvgPath.cpp2
-rw-r--r--thirdparty/thorvg/src/loaders/svg/tvgSvgPath.h2
-rw-r--r--thirdparty/thorvg/src/loaders/svg/tvgSvgSceneBuilder.cpp134
-rw-r--r--thirdparty/thorvg/src/loaders/svg/tvgSvgSceneBuilder.h2
-rw-r--r--thirdparty/thorvg/src/loaders/svg/tvgSvgUtil.cpp2
-rw-r--r--thirdparty/thorvg/src/loaders/svg/tvgSvgUtil.h2
-rw-r--r--thirdparty/thorvg/src/loaders/svg/tvgXmlParser.cpp61
-rw-r--r--thirdparty/thorvg/src/loaders/svg/tvgXmlParser.h15
-rw-r--r--thirdparty/thorvg/src/loaders/tvg/tvgTvgBinInterpreter.cpp2
-rw-r--r--thirdparty/thorvg/src/loaders/tvg/tvgTvgCommon.h2
-rw-r--r--thirdparty/thorvg/src/loaders/tvg/tvgTvgLoader.cpp2
-rw-r--r--thirdparty/thorvg/src/loaders/tvg/tvgTvgLoader.h2
-rw-r--r--thirdparty/thorvg/src/savers/tvg/tvgTvgSaver.cpp2
-rw-r--r--thirdparty/thorvg/src/savers/tvg/tvgTvgSaver.h2
-rwxr-xr-xthirdparty/thorvg/update-thorvg.sh2
255 files changed, 36277 insertions, 6748 deletions
diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt
index df1ab0c849..7f6c9b3dc0 100644
--- a/COPYRIGHT.txt
+++ b/COPYRIGHT.txt
@@ -399,7 +399,7 @@ License: Expat
Files: ./thirdparty/thorvg/
Comment: ThorVG
-Copyright: 2020-2021, Samsung Electronics Co., Ltd.
+Copyright: 2020-2022, Samsung Electronics Co., Ltd.
License: Expat
Files: ./thirdparty/tinyexr/
diff --git a/core/math/math_funcs.h b/core/math/math_funcs.h
index 8c0b87cf4a..44340b97ae 100644
--- a/core/math/math_funcs.h
+++ b/core/math/math_funcs.h
@@ -322,7 +322,7 @@ public:
// double only, as these functions are mainly used by the editor and not performance-critical,
static double ease(double p_x, double p_c);
static int step_decimals(double p_step);
- static int range_step_decimals(double p_step);
+ static int range_step_decimals(double p_step); // For editor use only.
static double snapped(double p_value, double p_step);
static uint32_t larger_prime(uint32_t p_val);
diff --git a/core/variant/variant_utility.cpp b/core/variant/variant_utility.cpp
index e83c71098d..05fb577e2c 100644
--- a/core/variant/variant_utility.cpp
+++ b/core/variant/variant_utility.cpp
@@ -219,10 +219,6 @@ struct VariantUtilityFunctions {
return Math::step_decimals(step);
}
- static inline int range_step_decimals(float step) {
- return Math::range_step_decimals(step);
- }
-
static inline double snapped(double value, double step) {
return Math::snapped(value, step);
}
@@ -1204,7 +1200,6 @@ void Variant::_register_variant_utility_functions() {
FUNCBINDR(ease, sarray("x", "curve"), Variant::UTILITY_FUNC_TYPE_MATH);
FUNCBINDR(step_decimals, sarray("x"), Variant::UTILITY_FUNC_TYPE_MATH);
- FUNCBINDR(range_step_decimals, sarray("x"), Variant::UTILITY_FUNC_TYPE_MATH);
FUNCBINDR(snapped, sarray("x", "step"), Variant::UTILITY_FUNC_TYPE_MATH);
FUNCBINDR(lerp, sarray("from", "to", "weight"), Variant::UTILITY_FUNC_TYPE_MATH);
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml
index 3cfc6f3bd2..1228cd771c 100644
--- a/doc/classes/@GlobalScope.xml
+++ b/doc/classes/@GlobalScope.xml
@@ -791,12 +791,6 @@
[/codeblock]
</description>
</method>
- <method name="range_step_decimals">
- <return type="int" />
- <argument index="0" name="x" type="float" />
- <description>
- </description>
- </method>
<method name="rid_allocate_id">
<return type="int" />
<description>
diff --git a/doc/classes/AspectRatioContainer.xml b/doc/classes/AspectRatioContainer.xml
index 41e06e6e98..742a7276d4 100644
--- a/doc/classes/AspectRatioContainer.xml
+++ b/doc/classes/AspectRatioContainer.xml
@@ -34,7 +34,7 @@
</constant>
<constant name="STRETCH_COVER" value="3" enum="StretchMode">
The width and height of child controls is automatically adjusted to make their bounding rectangle cover the entire area of the container while keeping the aspect ratio.
- When the bounding rectangle of child controls exceed the container's size and [member Control.rect_clip_content] is enabled, this allows to show only the container's area restricted by its own bounding rectangle.
+ When the bounding rectangle of child controls exceed the container's size and [member Control.clip_contents] is enabled, this allows to show only the container's area restricted by its own bounding rectangle.
</constant>
<constant name="ALIGNMENT_BEGIN" value="0" enum="AlignmentMode">
Aligns child controls with the beginning (left or top) of the container.
diff --git a/doc/classes/ColorPickerButton.xml b/doc/classes/ColorPickerButton.xml
index e2f1fdfae1..f5e752578e 100644
--- a/doc/classes/ColorPickerButton.xml
+++ b/doc/classes/ColorPickerButton.xml
@@ -6,7 +6,7 @@
<description>
Encapsulates a [ColorPicker] making it accessible by pressing a button. Pressing the button will toggle the [ColorPicker] visibility.
See also [BaseButton] which contains common properties and methods associated with this node.
- [b]Note:[/b] By default, the button may not be wide enough for the color preview swatch to be visible. Make sure to set [member Control.rect_min_size] to a big enough value to give the button enough space.
+ [b]Note:[/b] By default, the button may not be wide enough for the color preview swatch to be visible. Make sure to set [member Control.minimum_size] to a big enough value to give the button enough space.
</description>
<tutorials>
<link title="GUI Drag And Drop Demo">https://godotengine.org/asset-library/asset/133</link>
diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml
index cecc8f658d..97fd584ed1 100644
--- a/doc/classes/Control.xml
+++ b/doc/classes/Control.xml
@@ -100,7 +100,7 @@
<method name="_get_minimum_size" qualifiers="virtual const">
<return type="Vector2" />
<description>
- Virtual method to be implemented by the user. Returns the minimum size for this control. Alternative to [member rect_min_size] for controlling minimum size via code. The actual minimum size will be the max value of these two (in each axis separately).
+ Virtual method to be implemented by the user. Returns the minimum size for this control. Alternative to [member minimum_size] for controlling minimum size via code. The actual minimum size will be the max value of these two (in each axis separately).
If not overridden, defaults to [constant Vector2.ZERO].
[b]Note:[/b] This method will not be called when the script is attached to a [Control] node that already overrides its minimum size (e.g. [Label], [Button], [PanelContainer] etc.). It can only be used with most basic GUI nodes, like [Control], [Container], [Panel] etc.
</description>
@@ -137,7 +137,7 @@
* control has [member mouse_filter] set to [constant MOUSE_FILTER_IGNORE];
* control is obstructed by another [Control] on top of it, which doesn't have [member mouse_filter] set to [constant MOUSE_FILTER_IGNORE];
* control's parent has [member mouse_filter] set to [constant MOUSE_FILTER_STOP] or has accepted the event;
- * it happens outside the parent's rectangle and the parent has either [member rect_clip_content] enabled.
+ * it happens outside the parent's rectangle and the parent has either [member clip_contents] enabled.
[b]Note:[/b] Event position is relative to the control origin.
</description>
</method>
@@ -157,7 +157,7 @@
Virtual method to be implemented by the user. Returns a [Control] node that should be used as a tooltip instead of the default one. The [code]for_text[/code] includes the contents of the [member hint_tooltip] property.
The returned node must be of type [Control] or Control-derived. It can have child nodes of any type. It is freed when the tooltip disappears, so make sure you always provide a new instance (if you want to use a pre-existing node from your scene tree, you can duplicate it and pass the duplicated instance). When [code]null[/code] or a non-Control node is returned, the default tooltip will be used instead.
The returned node will be added as child to a [PopupPanel], so you should only provide the contents of that panel. That [PopupPanel] can be themed using [method Theme.set_stylebox] for the type [code]"TooltipPanel"[/code] (see [member hint_tooltip] for an example).
- [b]Note:[/b] The tooltip is shrunk to minimal size. If you want to ensure it's fully visible, you might want to set its [member rect_min_size] to some non-zero value.
+ [b]Note:[/b] The tooltip is shrunk to minimal size. If you want to ensure it's fully visible, you might want to set its [member minimum_size] to some non-zero value.
[b]Note:[/b] The node (and any relevant children) should be [member CanvasItem.visible] when returned, otherwise, the viewport that instantiates it will not be able to calculate its minimum size reliably.
Example of usage with a custom-constructed node:
[codeblocks]
@@ -351,13 +351,13 @@
<method name="get_begin" qualifiers="const">
<return type="Vector2" />
<description>
- Returns [member offset_left] and [member offset_top]. See also [member rect_position].
+ Returns [member offset_left] and [member offset_top]. See also [member position].
</description>
</method>
<method name="get_combined_minimum_size" qualifiers="const">
<return type="Vector2" />
<description>
- Returns combined minimum size from [member rect_min_size] and [method get_minimum_size].
+ Returns combined minimum size from [member minimum_size] and [method get_minimum_size].
</description>
</method>
<method name="get_cursor_shape" qualifiers="const">
@@ -383,13 +383,13 @@
<method name="get_global_rect" qualifiers="const">
<return type="Rect2" />
<description>
- Returns the position and size of the control relative to the top-left corner of the screen. See [member rect_position] and [member rect_size].
+ Returns the position and size of the control relative to the top-left corner of the screen. See [member position] and [member size].
</description>
</method>
<method name="get_minimum_size" qualifiers="const">
<return type="Vector2" />
<description>
- Returns the minimum size for this control. See [member rect_min_size].
+ Returns the minimum size for this control. See [member minimum_size].
</description>
</method>
<method name="get_offset" qualifiers="const">
@@ -414,7 +414,7 @@
<method name="get_rect" qualifiers="const">
<return type="Rect2" />
<description>
- Returns the position and size of the control relative to the top-left corner of the parent Control. See [member rect_position] and [member rect_size].
+ Returns the position and size of the control relative to the top-left corner of the parent Control. See [member position] and [member size].
</description>
</method>
<method name="get_theme_color" qualifiers="const">
@@ -759,7 +759,7 @@
<return type="void" />
<argument index="0" name="position" type="Vector2" />
<description>
- Sets [member offset_left] and [member offset_top] at the same time. Equivalent of changing [member rect_position].
+ Sets [member offset_left] and [member offset_top] at the same time. Equivalent of changing [member position].
</description>
</method>
<method name="set_drag_forwarding">
@@ -840,7 +840,7 @@
# Use a control that is not in the tree
var cpb = ColorPickerButton.new()
cpb.color = color
- cpb.rect_size = Vector2(50, 50)
+ cpb.size = Vector2(50, 50)
set_drag_preview(cpb)
return color
[/gdscript]
@@ -881,7 +881,7 @@
<argument index="0" name="position" type="Vector2" />
<argument index="1" name="keep_offsets" type="bool" default="false" />
<description>
- Sets the [member rect_global_position] to given [code]position[/code].
+ Sets the [member global_position] to given [code]position[/code].
If [code]keep_offsets[/code] is [code]true[/code], control's anchors will be updated instead of offsets.
</description>
</method>
@@ -909,7 +909,7 @@
<argument index="0" name="position" type="Vector2" />
<argument index="1" name="keep_offsets" type="bool" default="false" />
<description>
- Sets the [member rect_position] to given [code]position[/code].
+ Sets the [member position] to given [code]position[/code].
If [code]keep_offsets[/code] is [code]true[/code], control's anchors will be updated instead of offsets.
</description>
</method>
@@ -918,21 +918,21 @@
<argument index="0" name="size" type="Vector2" />
<argument index="1" name="keep_offsets" type="bool" default="false" />
<description>
- Sets the size (see [member rect_size]).
+ Sets the size (see [member size]).
If [code]keep_offsets[/code] is [code]true[/code], control's anchors will be updated instead of offsets.
</description>
</method>
<method name="update_minimum_size">
<return type="void" />
<description>
- Invalidates the size cache in this node and in parent nodes up to top level. Intended to be used with [method get_minimum_size] when the return value is changed. Setting [member rect_min_size] directly calls this method automatically.
+ Invalidates the size cache in this node and in parent nodes up to top level. Intended to be used with [method get_minimum_size] when the return value is changed. Setting [member minimum_size] directly calls this method automatically.
</description>
</method>
<method name="warp_mouse">
<return type="void" />
<argument index="0" name="to_position" type="Vector2" />
<description>
- Moves the mouse cursor to [code]to_position[/code], relative to [member rect_position] of this [Control].
+ Moves the mouse cursor to [code]to_position[/code], relative to [member position] of this [Control].
</description>
</method>
</methods>
@@ -953,6 +953,9 @@
Toggles if any text should automatically change to its translated version depending on the current locale. Note that this will not affect any internal nodes (e.g. the popup of a [MenuButton]).
Also decides if the node's strings should be parsed for POT generation.
</member>
+ <member name="clip_contents" type="bool" setter="set_clip_contents" getter="is_clipping_contents" default="false">
+ Enables whether rendering of [CanvasItem] based children should be clipped to this control's rectangle. If [code]true[/code], parts of a child which would be visibly outside of this control's rectangle will not be rendered and won't receive input.
+ </member>
<member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" enum="Control.FocusMode" default="0">
The focus access mode for the control (None, Click or All). Only one Control can be focused at the same time, and it will receive keyboard signals.
</member>
@@ -976,6 +979,9 @@
Tells Godot which node it should give keyboard focus to if the user presses [kbd]Shift + Tab[/kbd] on a keyboard by default. You can change the key by editing the [code]ui_focus_prev[/code] input action.
If this property is not set, Godot will select a "best guess" based on surrounding nodes in the scene tree.
</member>
+ <member name="global_position" type="Vector2" setter="_set_global_position" getter="get_global_position">
+ The node's global position, relative to the world (usually to the top-left corner of the window).
+ </member>
<member name="grow_horizontal" type="int" setter="set_h_grow_direction" getter="get_h_grow_direction" enum="Control.GrowDirection" default="1">
Controls the direction on the horizontal axis in which the control should grow if its horizontal minimum size is changed to be greater than its current size, as the control always has to be at least the minimum size.
</member>
@@ -1007,6 +1013,9 @@
<member name="layout_direction" type="int" setter="set_layout_direction" getter="get_layout_direction" enum="Control.LayoutDirection" default="0">
Controls layout direction and text writing direction. Right-to-left layouts are necessary for certain languages (e.g. Arabic and Hebrew).
</member>
+ <member name="minimum_size" type="Vector2" setter="set_custom_minimum_size" getter="get_custom_minimum_size" default="Vector2(0, 0)">
+ The minimum size of the node's bounding rectangle. If you set it to a value greater than (0, 0), the node's bounding rectangle will always have at least this size, even if its content is smaller. If it's set to (0, 0), the node sizes automatically to fit its content, be it a texture or child nodes.
+ </member>
<member name="mouse_default_cursor_shape" type="int" setter="set_default_cursor_shape" getter="get_default_cursor_shape" enum="Control.CursorShape" default="0">
The default cursor shape for this control. Useful for Godot plugins and applications or games that use the system's mouse cursors.
[b]Note:[/b] On Linux, shapes may vary depending on the cursor theme of the system.
@@ -1030,30 +1039,21 @@
Distance between the node's top edge and its parent control, based on [member anchor_top].
Offsets are often controlled by one or multiple parent [Container] nodes, so you should not modify them manually if your node is a direct child of a [Container]. Offsets update automatically when you move or resize the node.
</member>
- <member name="rect_clip_content" type="bool" setter="set_clip_contents" getter="is_clipping_contents" default="false">
- Enables whether rendering of [CanvasItem] based children should be clipped to this control's rectangle. If [code]true[/code], parts of a child which would be visibly outside of this control's rectangle will not be rendered and won't receive input.
- </member>
- <member name="rect_global_position" type="Vector2" setter="_set_global_position" getter="get_global_position">
- The node's global position, relative to the world (usually to the top-left corner of the window).
- </member>
- <member name="rect_min_size" type="Vector2" setter="set_custom_minimum_size" getter="get_custom_minimum_size" default="Vector2(0, 0)">
- The minimum size of the node's bounding rectangle. If you set it to a value greater than (0, 0), the node's bounding rectangle will always have at least this size, even if its content is smaller. If it's set to (0, 0), the node sizes automatically to fit its content, be it a texture or child nodes.
- </member>
- <member name="rect_pivot_offset" type="Vector2" setter="set_pivot_offset" getter="get_pivot_offset" default="Vector2(0, 0)">
- By default, the node's pivot is its top-left corner. When you change its [member rect_scale], it will scale around this pivot. Set this property to [member rect_size] / 2 to center the pivot in the node's rectangle.
+ <member name="pivot_offset" type="Vector2" setter="set_pivot_offset" getter="get_pivot_offset" default="Vector2(0, 0)">
+ By default, the node's pivot is its top-left corner. When you change its [member rotation] or [member scale], it will rotate or scale around this pivot. Set this property to [member size] / 2 to pivot around the Control's center.
</member>
- <member name="rect_position" type="Vector2" setter="_set_position" getter="get_position" default="Vector2(0, 0)">
- The node's position, relative to its parent. It corresponds to the rectangle's top-left corner. The property is not affected by [member rect_pivot_offset].
+ <member name="position" type="Vector2" setter="_set_position" getter="get_position" default="Vector2(0, 0)">
+ The node's position, relative to its parent. It corresponds to the rectangle's top-left corner. The property is not affected by [member pivot_offset].
</member>
- <member name="rect_rotation" type="float" setter="set_rotation" getter="get_rotation" default="0.0">
- The node's rotation around its pivot, in radians. See [member rect_pivot_offset] to change the pivot's position.
+ <member name="rotation" type="float" setter="set_rotation" getter="get_rotation" default="0.0">
+ The node's rotation around its pivot, in radians. See [member pivot_offset] to change the pivot's position.
</member>
- <member name="rect_scale" type="Vector2" setter="set_scale" getter="get_scale" default="Vector2(1, 1)">
- The node's scale, relative to its [member rect_size]. Change this property to scale the node around its [member rect_pivot_offset]. The Control's [member hint_tooltip] will also scale according to this value.
+ <member name="scale" type="Vector2" setter="set_scale" getter="get_scale" default="Vector2(1, 1)">
+ The node's scale, relative to its [member size]. Change this property to scale the node around its [member pivot_offset]. The Control's [member hint_tooltip] will also scale according to this value.
[b]Note:[/b] This property is mainly intended to be used for animation purposes. Text inside the Control will look pixelated or blurry when the Control is scaled. To support multiple resolutions in your project, use an appropriate viewport stretch mode as described in the [url=$DOCS_URL/tutorials/viewports/multiple_resolutions.html]documentation[/url] instead of scaling Controls individually.
- [b]Note:[/b] If the Control node is a child of a [Container] node, the scale will be reset to [code]Vector2(1, 1)[/code] when the scene is instantiated. To set the Control's scale when it's instantiated, wait for one frame using [code]await get_tree().process_frame[/code] then set its [member rect_scale] property.
+ [b]Note:[/b] If the Control node is a child of a [Container] node, the scale will be reset to [code]Vector2(1, 1)[/code] when the scene is instantiated. To set the Control's scale when it's instantiated, wait for one frame using [code]await get_tree().process_frame[/code] then set its [member scale] property.
</member>
- <member name="rect_size" type="Vector2" setter="_set_size" getter="get_size" default="Vector2(0, 0)">
+ <member name="size" type="Vector2" setter="_set_size" getter="get_size" default="Vector2(0, 0)">
The size of the node's bounding rectangle, in pixels. [Container] nodes update this property automatically.
</member>
<member name="size_flags_horizontal" type="int" setter="set_h_size_flags" getter="get_h_size_flags" default="1">
@@ -1110,7 +1110,7 @@
If you want to check whether the mouse truly left the area, ignoring any top nodes, you can use code like this:
[codeblock]
func _on_mouse_exited():
- if not Rect2(Vector2(), rect_size).has_point(get_local_mouse_position()):
+ if not Rect2(Vector2(), size).has_point(get_local_mouse_position()):
# Not hovering over area.
[/codeblock]
</description>
@@ -1141,7 +1141,7 @@
The node can grab focus on mouse click or using the arrows and the Tab keys on the keyboard. Use with [member focus_mode].
</constant>
<constant name="NOTIFICATION_RESIZED" value="40">
- Sent when the node changes size. Use [member rect_size] to get the new size.
+ Sent when the node changes size. Use [member size] to get the new size.
</constant>
<constant name="NOTIFICATION_MOUSE_ENTER" value="41">
Sent when the mouse pointer enters the node.
diff --git a/doc/classes/GraphEdit.xml b/doc/classes/GraphEdit.xml
index 5525e7f1f3..19f2915087 100644
--- a/doc/classes/GraphEdit.xml
+++ b/doc/classes/GraphEdit.xml
@@ -198,6 +198,7 @@
</method>
</methods>
<members>
+ <member name="clip_contents" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="connection_lines_antialiased" type="bool" setter="set_connection_lines_antialiased" getter="is_connection_lines_antialiased" default="true">
If [code]true[/code], the lines between nodes will use antialiasing.
</member>
@@ -217,7 +218,6 @@
<member name="panning_scheme" type="int" setter="set_panning_scheme" getter="get_panning_scheme" enum="GraphEdit.PanningScheme" default="0">
Defines the control scheme for panning with mouse wheel.
</member>
- <member name="rect_clip_content" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="right_disconnects" type="bool" setter="set_right_disconnects" getter="is_right_disconnects_enabled" default="false">
If [code]true[/code], enables disconnection of existing connections in the GraphEdit by dragging the right end.
</member>
diff --git a/doc/classes/ItemList.xml b/doc/classes/ItemList.xml
index 8b564c01c9..48fa009300 100644
--- a/doc/classes/ItemList.xml
+++ b/doc/classes/ItemList.xml
@@ -366,6 +366,7 @@
<member name="auto_height" type="bool" setter="set_auto_height" getter="has_auto_height" default="false">
If [code]true[/code], the control will automatically resize the height to fit its content.
</member>
+ <member name="clip_contents" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="fixed_column_width" type="int" setter="set_fixed_column_width" getter="get_fixed_column_width" default="0">
The width all columns will be adjusted to.
A value of zero disables the adjustment, each item will have a width equal to the width of its content and the columns will have an uneven width.
@@ -393,7 +394,6 @@
Maximum lines of text allowed in each item. Space will be reserved even when there is not enough lines of text to display.
[b]Note:[/b] This property takes effect only when [member icon_mode] is [constant ICON_MODE_TOP]. To make the text wrap, [member fixed_column_width] should be greater than zero.
</member>
- <member name="rect_clip_content" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="same_column_width" type="bool" setter="set_same_column_width" getter="is_same_column_width" default="false">
Whether all columns will have the same width.
If [code]true[/code], the width is equal to the largest column width of all columns.
diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml
index f480071d32..d5e134fc60 100644
--- a/doc/classes/RichTextLabel.xml
+++ b/doc/classes/RichTextLabel.xml
@@ -412,6 +412,7 @@
<member name="bbcode_enabled" type="bool" setter="set_use_bbcode" getter="is_using_bbcode" default="false">
If [code]true[/code], the label uses BBCode formatting.
</member>
+ <member name="clip_contents" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="custom_effects" type="Array" setter="set_effects" getter="get_effects" default="[]">
The currently installed custom effects. This is an array of [RichTextEffect]s.
To add a custom effect, it's more convenient to use [method install_effect].
@@ -436,7 +437,6 @@
The range of characters to display, as a [float] between 0.0 and 1.0. When assigned an out of range value, it's the same as assigning 1.0.
[b]Note:[/b] Setting this property updates [member visible_characters] based on current [method get_total_character_count].
</member>
- <member name="rect_clip_content" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="scroll_active" type="bool" setter="set_scroll_active" getter="is_scroll_active" default="true">
If [code]true[/code], the scrollbar is visible. Setting this to [code]false[/code] does not block scrolling completely. See [method scroll_to_line].
</member>
diff --git a/doc/classes/ScrollContainer.xml b/doc/classes/ScrollContainer.xml
index ea1d972d14..95255ed79f 100644
--- a/doc/classes/ScrollContainer.xml
+++ b/doc/classes/ScrollContainer.xml
@@ -5,7 +5,7 @@
</brief_description>
<description>
A ScrollContainer node meant to contain a [Control] child.
- ScrollContainers will automatically create a scrollbar child ([HScrollBar], [VScrollBar], or both) when needed and will only draw the Control within the ScrollContainer area. Scrollbars will automatically be drawn at the right (for vertical) or bottom (for horizontal) and will enable dragging to move the viewable Control (and its children) within the ScrollContainer. Scrollbars will also automatically resize the grabber based on the [member Control.rect_min_size] of the Control relative to the ScrollContainer.
+ ScrollContainers will automatically create a scrollbar child ([HScrollBar], [VScrollBar], or both) when needed and will only draw the Control within the ScrollContainer area. Scrollbars will automatically be drawn at the right (for vertical) or bottom (for horizontal) and will enable dragging to move the viewable Control (and its children) within the ScrollContainer. Scrollbars will also automatically resize the grabber based on the [member Control.minimum_size] of the Control relative to the ScrollContainer.
Works great with a [Panel] control. You can set [code]EXPAND[/code] on the children's size flags, so they will upscale to the ScrollContainer's size if it's larger (scroll is invisible for the chosen dimension).
</description>
<tutorials>
@@ -40,13 +40,13 @@
</method>
</methods>
<members>
+ <member name="clip_contents" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="follow_focus" type="bool" setter="set_follow_focus" getter="is_following_focus" default="false">
If [code]true[/code], the ScrollContainer will automatically scroll to focused children (including indirect children) to make sure they are fully visible.
</member>
<member name="horizontal_scroll_mode" type="int" setter="set_horizontal_scroll_mode" getter="get_horizontal_scroll_mode" enum="ScrollContainer.ScrollMode" default="1">
Controls whether horizontal scrollbar can be used and when it should be visible. See [enum ScrollMode] for options.
</member>
- <member name="rect_clip_content" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="scroll_deadzone" type="int" setter="set_deadzone" getter="get_deadzone" default="0">
</member>
<member name="scroll_horizontal" type="int" setter="set_h_scroll" getter="get_h_scroll" default="0">
diff --git a/doc/classes/SubViewportContainer.xml b/doc/classes/SubViewportContainer.xml
index c8babb8f43..77aa7e3ff4 100644
--- a/doc/classes/SubViewportContainer.xml
+++ b/doc/classes/SubViewportContainer.xml
@@ -5,7 +5,7 @@
</brief_description>
<description>
A [Container] node that holds a [SubViewport]. It uses the [SubViewport]'s size as minimum size, unless [member stretch] is enabled.
- [b]Note:[/b] Changing a SubViewportContainer's [member Control.rect_scale] will cause its contents to appear distorted. To change its visual size without causing distortion, adjust the node's margins instead (if it's not already in a container).
+ [b]Note:[/b] Changing a SubViewportContainer's [member Control.scale] will cause its contents to appear distorted. To change its visual size without causing distortion, adjust the node's margins instead (if it's not already in a container).
[b]Note:[/b] The SubViewportContainer forwards mouse-enter and mouse-exit notifications to its sub-viewports.
</description>
<tutorials>
diff --git a/doc/classes/TabBar.xml b/doc/classes/TabBar.xml
index 6ddcc2044d..698de783c0 100644
--- a/doc/classes/TabBar.xml
+++ b/doc/classes/TabBar.xml
@@ -211,6 +211,9 @@
<member name="drag_to_rearrange_enabled" type="bool" setter="set_drag_to_rearrange_enabled" getter="get_drag_to_rearrange_enabled" default="false">
If [code]true[/code], tabs can be rearranged with mouse drag.
</member>
+ <member name="max_tab_width" type="int" setter="set_max_tab_width" getter="get_max_tab_width" default="0">
+ Sets the maximum width which all tabs should be limited to. Unlimited if set to [code]0[/code].
+ </member>
<member name="scroll_to_selected" type="bool" setter="set_scroll_to_selected" getter="get_scroll_to_selected" default="true">
If [code]true[/code], the tab offset will be changed to keep the the currently selected tab visible.
</member>
diff --git a/doc/classes/TabContainer.xml b/doc/classes/TabContainer.xml
index 3ff4dffe65..bdc73ee3c4 100644
--- a/doc/classes/TabContainer.xml
+++ b/doc/classes/TabContainer.xml
@@ -121,7 +121,7 @@
<argument index="0" name="tab_idx" type="int" />
<argument index="1" name="title" type="String" />
<description>
- Sets a custom title for the tab at index [code]tab_idx[/code] (tab titles default to the name of the indexed child node). Set it to blank to make it the child's name again.
+ Sets a custom title for the tab at index [code]tab_idx[/code] (tab titles default to the name of the indexed child node). Set it back to the child's name to make the tab default to it again.
</description>
</method>
</methods>
diff --git a/doc/classes/Tree.xml b/doc/classes/Tree.xml
index 25e6f553ca..b8c39bee49 100644
--- a/doc/classes/Tree.xml
+++ b/doc/classes/Tree.xml
@@ -323,6 +323,7 @@
<member name="allow_rmb_select" type="bool" setter="set_allow_rmb_select" getter="get_allow_rmb_select" default="false">
If [code]true[/code], a right mouse button click can select items.
</member>
+ <member name="clip_contents" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="column_titles_visible" type="bool" setter="set_column_titles_visible" getter="are_column_titles_visible" default="false">
If [code]true[/code], column titles are visible.
</member>
@@ -340,7 +341,6 @@
<member name="hide_root" type="bool" setter="set_hide_root" getter="is_root_hidden" default="false">
If [code]true[/code], the tree's root is hidden.
</member>
- <member name="rect_clip_content" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="scroll_horizontal_enabled" type="bool" setter="set_h_scroll_enabled" getter="is_h_scroll_enabled" default="true">
If [code]true[/code], enables horizontal scrolling.
</member>
diff --git a/doc/classes/VisualShaderNodeCustom.xml b/doc/classes/VisualShaderNodeCustom.xml
index 7b992abe24..0a962a4aa4 100644
--- a/doc/classes/VisualShaderNodeCustom.xml
+++ b/doc/classes/VisualShaderNodeCustom.xml
@@ -44,6 +44,17 @@
Defining this method is [b]optional[/b].
</description>
</method>
+ <method name="_get_func_code" qualifiers="virtual const">
+ <return type="String" />
+ <argument index="0" name="mode" type="int" enum="Shader.Mode" />
+ <argument index="1" name="type" type="int" enum="VisualShader.Type" />
+ <description>
+ Override this method to add a shader code to the beginning of each shader function (once). The shader code should be returned as a string, which can have multiple lines (the [code]"""[/code] multiline string construct can be used for convenience).
+ If there are multiple custom nodes of different types which use this feature the order of each insertion is undefined.
+ You can customize the generated code based on the shader [code]mode[/code] (see [enum Shader.Mode]) and/or [code]type[/code] (see [enum VisualShader.Type]).
+ Defining this method is [b]optional[/b].
+ </description>
+ </method>
<method name="_get_global_code" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="mode" type="int" enum="Shader.Mode" />
@@ -114,11 +125,20 @@
Defining this method is [b]optional[/b]. If not overridden, no return icon is shown.
</description>
</method>
+ <method name="_is_available" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="mode" type="int" enum="Shader.Mode" />
+ <argument index="1" name="type" type="int" enum="VisualShader.Type" />
+ <description>
+ Override this method to prevent the node to be visible in the member dialog for the certain [code]mode[/code] (see [enum Shader.Mode]) and/or [code]type[/code] (see [enum VisualShader.Type]).
+ Defining this method is [b]optional[/b]. If not overridden, it's [code]true[/code].
+ </description>
+ </method>
<method name="_is_highend" qualifiers="virtual const">
<return type="bool" />
<description>
Override this method to enable high-end mark in the Visual Shader Editor's members dialog.
- Defining this method is [b]optional[/b]. If not overridden, it's false.
+ Defining this method is [b]optional[/b]. If not overridden, it's [code]false[/code].
</description>
</method>
</methods>
diff --git a/doc/translations/ar.po b/doc/translations/ar.po
index dc685b6e2b..eb473b9275 100644
--- a/doc/translations/ar.po
+++ b/doc/translations/ar.po
@@ -15,12 +15,14 @@
# يزن حمزه <yznhamzeh@gmail.com>, 2021.
# HASSAN GAMER - حسن جيمر <gamerhassan55@gmail.com>, 2022.
# Spirit <i8bou3@gmail.com>, 2022.
+# Mr.k <mineshtine28546271@gmail.com>, 2022.
+# Hamza Kalash <mogo.gogo170@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-01-10 13:18+0000\n"
-"Last-Translator: Spirit <i8bou3@gmail.com>\n"
+"PO-Revision-Date: 2022-02-28 13:54+0000\n"
+"Last-Translator: Mr.k <mineshtine28546271@gmail.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/ar/>\n"
"Language: ar\n"
@@ -29,7 +31,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.10.1\n"
+"X-Generator: Weblate 4.11.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -41,11 +43,11 @@ msgstr "شروحات"
#: doc/tools/make_rst.py
msgid "Properties"
-msgstr "خاصيات"
+msgstr "خصائص"
#: doc/tools/make_rst.py
msgid "Methods"
-msgstr "طرق"
+msgstr "دوال"
#: doc/tools/make_rst.py
msgid "Theme Properties"
@@ -77,15 +79,16 @@ msgstr "أوصا٠خاصية الثمات"
#: doc/tools/make_rst.py
msgid "Inherits:"
-msgstr ""
+msgstr "يرث:"
#: doc/tools/make_rst.py
+#, fuzzy
msgid "Inherited By:"
-msgstr ""
+msgstr "موروث من Ù‚Ùبَل:"
#: doc/tools/make_rst.py
msgid "(overrides %s)"
-msgstr ""
+msgstr "(يتجاوز s%)"
#: doc/tools/make_rst.py
msgid "Default"
@@ -101,7 +104,7 @@ msgstr "قيمة"
#: doc/tools/make_rst.py
msgid "Getter"
-msgstr ""
+msgstr "جالب"
#: doc/tools/make_rst.py
msgid ""
@@ -136,8 +139,9 @@ msgid ""
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid "Built-in GDScript functions."
-msgstr "دوال GDScript المدمجة"
+msgstr "دوال GDScript المدمجة."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -173,6 +177,7 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
"Returns a color according to the standardized [code]name[/code] with "
"[code]alpha[/code] ranging from 0 to 1.\n"
@@ -181,14 +186,14 @@ msgid ""
"[/codeblock]\n"
"Supported color names are the same as the constants defined in [Color]."
msgstr ""
-"لعرض لون يتواÙÙ‚ مع [code]name[/ code] Ùˆ [code]alpha[/ code] تتراوح بين 0 "
-"Ùˆ1.\n"
+"لعرض لون يتواÙÙ‚ مع [code]name[/code] Ùˆ [code]alpha[/code]تتراوح بين 0 Ùˆ1.\n"
"[codeblock]\n"
"(red = ColorN(\"red\", 1\n"
-"[codeblock/]\n"
+"[/codeblock]\n"
"أسماء الألوان المدعومة هي Ù†Ùس الثوابت المعرّÙØ© ÙÙŠ [Color]."
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
"Returns the absolute value of parameter [code]s[/code] (i.e. positive "
"value).\n"
@@ -196,11 +201,10 @@ msgid ""
"a = abs(-1) # a is 1\n"
"[/codeblock]"
msgstr ""
-"لعرض القيمة المطلقة للمÙعامل [code]s[/ code] (القيمة المطلقة أي القيمة "
+"لعرض القيمة المطلقة للمÙعامل [code]s[/code] (القيمة المطلقة أي القيمة "
"الموجبة).\n"
"[codeblock]\n"
-"#القيمة المطلقة لـ(1-) هي 1ØŒ وبالتالي Ùإن قيمة a ستكون 1\n"
-"(a = abs(-1\n"
+"(a = abs(-1 #القيمة المطلقة لـ(1-) هي 1ØŒ وبالتالي Ùإن قيمة a ستكون 1\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -215,15 +219,16 @@ msgid ""
"c = acos(0.866025)\n"
"[/codeblock]"
msgstr ""
-"تÙرجع معكوس دالة الكوساين لـ [code]s[/ code] بالراديان. تÙستخدم للحصول على "
-"زاوية الكوساين [code]s[/code].\n"
+"تقوم هذه الدالة بارجاع arc cos للقيمة [code]s[/code] بالراديانز. يمكنك "
+"استعمالها للحصول علي قيمة الزاوية cos([code]s[/code]). قيمة [code]s[/code] "
+"لابد ان تكون محصورة بين [code]-1.00[/code] و [code]1.00[/code]. او ستقوم "
+"الدالة بارجاع [constant NAN] \n"
"[codeblock]\n"
-"# c تساوي 0.523599 أو 30 درجة إذا تم تحويلها باستخدام (rad2deg(s\n"
-"(c = acos(0.866025\n"
+"# c هي 0.523599 أو 30 درجة إذا Ø­Ùولتْ بأستخدام rad2deg(s)\n"
+"c = acos(0.866025)\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns the arc sine of [code]s[/code] in radians. Use to get the angle of "
"sine [code]s[/code]. [code]s[/code] must be between [code]-1.0[/code] and "
@@ -234,11 +239,13 @@ msgid ""
"s = asin(0.5)\n"
"[/codeblock]"
msgstr ""
-"تÙرجع معكوس دالة الكوساين لـ [code]s[/ code] بالراديان. تÙستخدم للحصول على "
-"زاوية الكوساين [code]s[/code].\n"
+"تÙرجع معكوس دالة الكوساين لـ [code]s[/code] بالراديان. تÙستخدم للحصول على "
+"زاوية الكوساين [code]s[/code]. يجب أن تكون قيمة [code]s[/code] بين "
+"[code]-1.0[/code] و [code]1.0[/code] (شاملةً اياها), وغيير ذلك, [الدالة asin] "
+"سو٠ترجع [قيمة الثابت NAN].\n"
"[codeblock]\n"
-"# c تساوي 0.523599 أو 30 درجة إذا تم تحويلها باستخدام (rad2deg(s\n"
-"(c = acos(0.866025\n"
+"# s تساوي 0.523599 أو 30 درجة إذا تم تحويلها باستخدام (rad2deg(s\n"
+"(s = acos(0.5\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -292,6 +299,7 @@ msgid ""
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
"Decodes a byte array back to a value. When [code]allow_objects[/code] is "
"[code]true[/code] decoding objects is allowed.\n"
@@ -300,8 +308,8 @@ msgid ""
"avoid potential security threats (remote code execution)."
msgstr ""
"يقوم بÙÙƒ تشÙير مصÙÙˆÙØ© بايت وإعادتها إلى قيمة. عندما يكون [code] "
-"allow_objects [/ code] هو [code] صحيح [/ code] ØŒ اسمح بÙÙƒ تشÙير الكائنات.\n"
-"[b] تحذير: [/ b] يتم تنÙيذه إذا كان الكائن الذي تم إلغاء تسلسله يحتوي على "
+"allow_objects [/code] هو [code] صحيح [/code] ØŒ اسمح بÙÙƒ تشÙير الكائنات.\n"
+"[b] تحذير: [/b] يتم تنÙيذه إذا كان الكائن الذي تم إلغاء تسلسله يحتوي على "
"تعليمات برمجية. إذا جاء الكائن المتسلسل من مصدر غير موثوق به ØŒ Ùلا تستخدم "
"هذا الخيار لمنع مخاطر أمنية محتملة (تنÙيذ التعليمات البرمجية عن بÙعد)."
@@ -372,7 +380,7 @@ msgid ""
"a = cos(PI) # a is -1.0\n"
"[/codeblock]"
msgstr ""
-"لعرض القيمة المطلقة للمÙعامل [code]s[/ code] (القيمة المطلقة أي القيمة "
+"لعرض القيمة المطلقة للمÙعامل [code]s[/code] (القيمة المطلقة أي القيمة "
"الموجبة).\n"
"[codeblock]\n"
"#القيمة المطلقة لـ(1-) هي 1ØŒ وبالتالي Ùإن قيمة a ستكون 1\n"
@@ -387,11 +395,10 @@ msgid ""
"print(cosh(1)) # Prints 1.543081\n"
"[/codeblock]"
msgstr ""
-"لعرض القيمة المطلقة للمÙعامل [code]s[/ code] (القيمة المطلقة أي القيمة "
+"لعرض القيمة المطلقة للمÙعامل [code]s[/code] (القيمة المطلقة أي القيمة "
"الموجبة).\n"
"[codeblock]\n"
-"#القيمة المطلقة لـ(1-) هي 1ØŒ وبالتالي Ùإن قيمة a ستكون 1\n"
-"(a = abs(-1\n"
+"#القيمة المطلقة لـ(1-) هي 1ØŒ وبالتالي Ùإن قيمة a ستكون 1 (a = abs(-1\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -881,11 +888,10 @@ msgid ""
"pow(2, 5) # Returns 32.0\n"
"[/codeblock]"
msgstr ""
-"تÙرجع معكوس دالة الكوساين لـ [code]s[/ code] بالراديان. تÙستخدم للحصول على "
+"تÙرجع معكوس دالة الكوساين لـ [code]s[/code] بالراديان. تÙستخدم للحصول على "
"زاوية الكوساين [code]s[/code].\n"
"[codeblock]\n"
"# c تساوي 0.523599 أو 30 درجة إذا تم تحويلها باستخدام (rad2deg(s\n"
-"(c = acos(0.866025\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1253,7 +1259,7 @@ msgid ""
"b = tanh(a) # b is 0.6\n"
"[/codeblock]"
msgstr ""
-"لعرض القيمة المطلقة للمÙعامل [code]s[/ code] (القيمة المطلقة أي القيمة "
+"لعرض القيمة المطلقة للمÙعامل [code]s[/code] (القيمة المطلقة أي القيمة "
"الموجبة).\n"
"[codeblock]\n"
"#القيمة المطلقة لـ(1-) هي 1ØŒ وبالتالي Ùإن قيمة a ستكون 1\n"
@@ -3414,6 +3420,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4925,8 +4940,9 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
-msgstr ""
+#, fuzzy
+msgid "Returns whether the given path is filtered."
+msgstr "ÙŠÙرجع قيمة ظل الزاوية للمَعلم."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -4950,7 +4966,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4959,7 +4975,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5030,7 +5046,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
@@ -9571,26 +9587,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9748,6 +9748,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12211,11 +12221,10 @@ 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 "ÙŠÙرجع جيب المَعلم."
+msgstr "ÙŠÙرجع [CameraFeed] المطابقة للكاميرا مع المؤشر [code]index[/code]."
#: doc/classes/CameraServer.xml
msgid "Returns the number of [CameraFeed]s registered."
@@ -12829,6 +12838,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15665,8 +15686,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16423,6 +16445,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23102,7 +23143,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25206,8 +25262,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25477,7 +25534,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -32018,7 +32080,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32398,8 +32465,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34240,6 +34311,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34253,6 +34333,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34295,6 +34387,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34346,6 +34448,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36668,6 +36782,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36838,6 +36971,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36938,6 +37086,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37188,6 +37344,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38175,8 +38337,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38969,7 +39131,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -40080,9 +40254,10 @@ 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 ""
-"يقوم بÙÙƒ تشÙير مصÙÙˆÙØ© بايت وإعادتها إلى قيمة. عندما يكون [code] "
-"allow_objects [/ code] هو [code] صحيح [/ code] ØŒ اسمح بÙÙƒ تشÙير الكائنات.\n"
-"[b] تحذير: [/ b] يتم تنÙيذه إذا كان الكائن الذي تم إلغاء تسلسله يحتوي على "
+"يقوم بÙÙƒ تشÙير مصÙÙˆÙØ© بايت وإعادتها إلى قيمة.\n"
+"عندما يكون [code] allow_objects [/code] هو [code] صحيح[/code]. اسمح بÙÙƒ "
+"تشÙير الكائنات.\n"
+"[b] تحذير: [/b] يتم تنÙيذه إذا كان الكائن الذي تم إلغاء تسلسله يحتوي على "
"تعليمات برمجية. إذا جاء الكائن المتسلسل من مصدر غير موثوق به ØŒ Ùلا تستخدم "
"هذا الخيار لمنع مخاطر أمنية محتملة (تنÙيذ التعليمات البرمجية عن بÙعد)."
@@ -46834,6 +47009,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46844,8 +47030,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47358,14 +47546,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47494,8 +47687,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51433,6 +51626,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52686,6 +52886,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54521,7 +54733,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54535,7 +54747,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55210,7 +55422,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55473,7 +55690,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55496,11 +55722,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55549,14 +55788,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55726,8 +55967,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57221,6 +57470,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr "ÙŠÙرجع جيب التمام \"cosine \" لقيمة المَعلم."
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "ÙŠÙرجع القيمة المعاكسة للمَعلم."
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "ÙŠÙرجع باقي قسمة كل من المÙتجهين (الشعاعين)."
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58259,6 +58518,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58399,6 +58664,18 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr "ÙŠÙرجع باقي قسمة كل من المÙتجهين (الشعاعين)."
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58447,6 +58724,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58542,6 +58825,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60718,7 +61015,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60760,10 +61057,9 @@ msgid ""
msgstr "ÙŠÙرجع جيب المَعلم."
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
-msgstr ""
+#, fuzzy
+msgid "Returns the number of buttons in column [code]column[/code]."
+msgstr "ÙŠÙرجع جيب المَعلم."
#: doc/classes/TreeItem.xml
#, fuzzy
diff --git a/doc/translations/ca.po b/doc/translations/ca.po
index 2dbbe58fae..6c448598c1 100644
--- a/doc/translations/ca.po
+++ b/doc/translations/ca.po
@@ -3442,6 +3442,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4952,7 +4961,7 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+msgid "Returns whether the given path is filtered."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4977,7 +4986,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4986,7 +4995,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9597,26 +9606,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9774,6 +9767,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12849,6 +12852,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15685,8 +15700,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16437,6 +16453,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23111,7 +23146,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25213,8 +25263,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25484,7 +25535,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -32019,7 +32075,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32399,8 +32460,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34240,6 +34305,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34253,6 +34327,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34295,6 +34381,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34346,6 +34442,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36643,6 +36751,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36813,6 +36940,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36913,6 +37055,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37163,6 +37313,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38150,8 +38306,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38941,7 +39097,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46783,6 +46951,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46793,8 +46972,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47307,14 +47488,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47443,8 +47629,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51381,6 +51567,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52634,6 +52827,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54469,7 +54674,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54483,7 +54688,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55156,7 +55361,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55419,7 +55629,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55442,11 +55661,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55495,14 +55727,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55672,8 +55906,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57162,6 +57404,14 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+msgid "Returns the total amount of lines that could be drawn."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58199,6 +58449,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58339,6 +58595,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58387,6 +58654,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58482,6 +58755,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60655,7 +60942,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60696,9 +60983,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/classes.pot b/doc/translations/classes.pot
index 84d943d138..aab649c5ed 100644
--- a/doc/translations/classes.pot
+++ b/doc/translations/classes.pot
@@ -3322,6 +3322,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4832,7 +4841,7 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+msgid "Returns whether the given path is filtered."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4857,7 +4866,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4866,7 +4875,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9477,26 +9486,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9654,6 +9647,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12729,6 +12732,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15565,8 +15580,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16317,6 +16333,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -22988,7 +23023,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25090,8 +25140,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25361,7 +25412,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -31896,7 +31952,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32276,8 +32337,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34117,6 +34182,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34130,6 +34204,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34172,6 +34258,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34223,6 +34319,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36520,6 +36628,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36690,6 +36817,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36790,6 +36932,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37040,6 +37190,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38027,8 +38183,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38818,7 +38974,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46660,6 +46828,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46670,8 +46849,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47184,14 +47365,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47320,8 +47506,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51258,6 +51444,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52511,6 +52704,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54346,7 +54551,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54360,7 +54565,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55033,7 +55238,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55296,7 +55506,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55319,11 +55538,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55372,14 +55604,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55549,8 +55783,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57039,6 +57281,14 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+msgid "Returns the total amount of lines that could be drawn."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58076,6 +58326,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58216,6 +58472,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58264,6 +58531,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58359,6 +58632,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60532,7 +60819,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60573,9 +60860,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/cs.po b/doc/translations/cs.po
index f6f8046382..b1ce4b9d20 100644
--- a/doc/translations/cs.po
+++ b/doc/translations/cs.po
@@ -4,7 +4,7 @@
# This file is distributed under the same license as the Godot source code.
#
# Ondrej Pavelka <ondrej.pavelka@outlook.com>, 2020.
-# Zbyněk <zbynek.fiala@gmail.com>, 2020, 2021.
+# Zbyněk <zbynek.fiala@gmail.com>, 2020, 2021, 2022.
# Daniel Kříž <Daniel.kriz@protonmail.com>, 2020.
# Vojtěch Šamla <auzkok@seznam.cz>, 2020, 2021.
# Pierre Stempin <pierre.stempin@gmail.com>, 2020.
@@ -17,7 +17,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2021-11-20 22:06+0000\n"
+"PO-Revision-Date: 2022-03-08 06:54+0000\n"
"Last-Translator: Zbyněk <zbynek.fiala@gmail.com>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/godot-engine/godot-"
"class-reference/cs/>\n"
@@ -26,7 +26,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.9.1\n"
+"X-Generator: Weblate 4.12-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -3823,6 +3823,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -5334,8 +5343,9 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
-msgstr ""
+#, fuzzy
+msgid "Returns whether the given path is filtered."
+msgstr "Vrátí tangens parametru."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -5359,7 +5369,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -5368,7 +5378,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9986,26 +9996,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -10163,6 +10157,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -13250,6 +13254,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -16092,8 +16108,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16874,6 +16891,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23560,7 +23596,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25664,8 +25715,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25935,7 +25987,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -32482,7 +32539,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32862,8 +32924,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34705,6 +34771,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34718,6 +34793,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34760,6 +34847,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34811,6 +34908,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36700,7 +36809,7 @@ msgstr ""
#: doc/classes/Node.xml
msgid "Nodes and Scenes"
-msgstr ""
+msgstr "Uzly a scény"
#: doc/classes/Node.xml
msgid "All Demos"
@@ -37137,6 +37246,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -37307,6 +37435,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -37407,6 +37550,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37657,6 +37808,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38647,8 +38804,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -39442,7 +39599,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -47317,6 +47486,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -47327,8 +47507,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47841,14 +48023,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47977,8 +48164,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51924,6 +52111,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -53178,6 +53372,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -55014,7 +55220,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55028,7 +55234,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55709,7 +55915,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55972,7 +56183,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55995,11 +56215,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -56048,14 +56281,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -56225,8 +56460,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57722,6 +57965,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr "Vrátí tangens parametru."
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "Vrátí opaÄnou hodnotu parametru."
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "Vrátí zbytek po dělení dvou vektorů."
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58774,6 +59027,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58916,6 +59175,18 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr "Vrací [code]true[/code] pokud [code]s[/code] je nula nebo téměř nula."
+
+#: doc/classes/Theme.xml
#, fuzzy
msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
@@ -58971,6 +59242,15 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+"Vrací [code]true[/code] pokud si jsou [code]a[/code] a [code]b[/code] "
+"přiblížně rovny."
+
+#: doc/classes/Theme.xml
msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
@@ -59067,6 +59347,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -61246,7 +61540,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -61290,10 +61584,9 @@ msgstr ""
"přiblížně rovny."
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
-msgstr ""
+#, fuzzy
+msgid "Returns the number of buttons in column [code]column[/code]."
+msgstr "Vrací [code]true[/code] pokud [code]s[/code] je nula nebo téměř nula."
#: doc/classes/TreeItem.xml
#, fuzzy
diff --git a/doc/translations/de.po b/doc/translations/de.po
index 0e62657c08..052dac7d28 100644
--- a/doc/translations/de.po
+++ b/doc/translations/de.po
@@ -41,12 +41,14 @@
# Rémi Verschelde <remi@godotengine.org>, 2021.
# Antonio Noack <corperateraider@gmail.com>, 2022.
# ‎ <artism90@googlemail.com>, 2022.
+# Coxcopi70f00b67b61542fe <hn_vogel@gmx.net>, 2022.
+# Leon Marz <main@lmarz.org>, 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-16 09:01+0000\n"
-"Last-Translator: ‎ <artism90@googlemail.com>\n"
+"PO-Revision-Date: 2022-03-02 18:39+0000\n"
+"Last-Translator: Leon Marz <main@lmarz.org>\n"
"Language-Team: German <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/de/>\n"
"Language: de\n"
@@ -54,7 +56,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.11-dev\n"
+"X-Generator: Weblate 4.11.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -82,7 +84,7 @@ msgstr "Signale"
#: doc/tools/make_rst.py
msgid "Enumerations"
-msgstr "Aufzählungstypen"
+msgstr "Aufzählungen"
#: doc/tools/make_rst.py
msgid "Constants"
@@ -3691,6 +3693,11 @@ msgid ""
"- Linux: Up to 80 buttons.\n"
"- Windows and macOS: Up to 128 buttons."
msgstr ""
+"Die maximale Anzahl an Spielcontroller-Tasten, die unterstützt werden. Das "
+"eigentliche Limit kann bei bestimmten Plattformen geringer sein:\n"
+"- Android: Bis zu 36 Tasten.\n"
+"- Linux: Bis zu 80 Tasten.\n"
+"- Windows und macOS: Bis zu 128 Tasten."
#: doc/classes/@GlobalScope.xml
msgid "DualShock circle button."
@@ -3751,7 +3758,7 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid "Trigger on a VR controller."
-msgstr ""
+msgstr "Trigger-Taste eines VR Controllers."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -3848,7 +3855,7 @@ msgstr "Gamecontroller linke Triggerachse."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad left stick click."
-msgstr ""
+msgstr "Klick auf dem linken Stick des Gamepads."
#: doc/classes/@GlobalScope.xml
#, fuzzy
@@ -3862,11 +3869,11 @@ msgstr "Gamecontroller rechte Trigger-Achse."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad right stick click."
-msgstr ""
+msgstr "Klick auf dem rechten Stick des Gamepads."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad left stick horizontal axis."
-msgstr ""
+msgstr "Horizontale Achse auf dem linken Stick des Gamepads."
#: doc/classes/@GlobalScope.xml
#, fuzzy
@@ -3875,7 +3882,7 @@ msgstr "Game Controller linker Joystick x-Achse."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad right stick horizontal axis."
-msgstr ""
+msgstr "Horizontale Achse auf dem rechten Stick des Gamepads."
#: doc/classes/@GlobalScope.xml
#, fuzzy
@@ -3884,11 +3891,11 @@ msgstr "Game Controller rechter Joystick x-Achse."
#: doc/classes/@GlobalScope.xml
msgid "Generic gamepad axis 4."
-msgstr ""
+msgstr "Achse 4 eines gewöhnlichen Gamepads."
#: doc/classes/@GlobalScope.xml
msgid "Generic gamepad axis 5."
-msgstr ""
+msgstr "Achse 5 eines gewöhnlichen Gamepads."
#: doc/classes/@GlobalScope.xml
#, fuzzy
@@ -3902,11 +3909,11 @@ msgstr "Gamecontroller rechte Trigger-Achse."
#: doc/classes/@GlobalScope.xml
msgid "Generic gamepad axis 8."
-msgstr ""
+msgstr "Achse 8 eines gewöhnlichen Gamepads."
#: doc/classes/@GlobalScope.xml
msgid "Generic gamepad axis 9."
-msgstr ""
+msgstr "Achse 9 eines gewöhnlichen Gamepads."
#: doc/classes/@GlobalScope.xml
msgid "Represents the maximum number of joystick axes supported."
@@ -3914,11 +3921,11 @@ msgstr "Stellt die maximale Anzahl der unterstützten Joystick-Achsen dar."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad left analog trigger."
-msgstr ""
+msgstr "Linker analoger Trigger des Gamepads."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad right analog trigger."
-msgstr ""
+msgstr "Rechter analoger Trigger des Gamepads."
#: doc/classes/@GlobalScope.xml
#, fuzzy
@@ -4330,6 +4337,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4822,12 +4838,12 @@ msgstr ""
#: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Vector2.xml
#: doc/classes/Vector3.xml
msgid "Vector math"
-msgstr ""
+msgstr "Vektor-Mathematik"
#: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Vector2.xml
#: doc/classes/Vector3.xml
msgid "Advanced vector math"
-msgstr ""
+msgstr "Fortgeschrittene Vektor-Mathematik"
#: doc/classes/AABB.xml
msgid "Constructs an [AABB] from a position and size."
@@ -6306,7 +6322,8 @@ msgstr ""
"an diesem Node anzeigen soll."
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+#, fuzzy
+msgid "Returns whether the given path is filtered."
msgstr "Gibt [code]true[/code] zurück, ob ein gegebener Pfad gefiltert ist."
#: doc/classes/AnimationNode.xml
@@ -6340,8 +6357,9 @@ msgid "Adds or removes a path for the filter."
msgstr "Fügt einen Pfad für den Filter hinzu oder entfernt ihn."
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
"Setzt einen benutzerdefinierten Parameter. Diese werden als lokaler Speicher "
@@ -6353,7 +6371,8 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr "Wenn [code]true[/code], ist die Filterung aktiviert."
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+#, fuzzy
+msgid "Emitted when the node was removed from the graph."
msgstr "Wird aufgerufen, wenn das Node aus dem Graphen entfernt wurde."
#: doc/classes/AnimationNode.xml
@@ -7733,7 +7752,7 @@ msgstr ""
#: doc/classes/AnimationTree.xml
msgid "Using AnimationTree"
-msgstr ""
+msgstr "Verwendung des AnimationTree"
#: doc/classes/AnimationTree.xml
msgid "Manually advance the animations by the specified time (in seconds)."
@@ -8585,7 +8604,7 @@ msgstr ""
#: doc/classes/Area2D.xml
msgid "Using Area2D"
-msgstr ""
+msgstr "Verwendung von Area2D"
#: doc/classes/Area2D.xml doc/classes/CollisionShape2D.xml
#: doc/classes/RectangleShape2D.xml
@@ -11505,26 +11524,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -11682,6 +11685,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -14136,7 +14149,7 @@ msgstr ""
#: doc/classes/CameraFeed.xml
msgid "Unspecified position."
-msgstr ""
+msgstr "Nicht spezifizierte Position."
#: doc/classes/CameraFeed.xml
msgid "Camera is mounted at the front of the device."
@@ -14799,6 +14812,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -17758,8 +17783,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -18544,6 +18570,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -25261,7 +25306,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25717,7 +25777,7 @@ msgstr ""
#: doc/classes/File.xml
msgid "File system"
-msgstr ""
+msgstr "Dateisystem"
#: doc/classes/File.xml
msgid ""
@@ -27370,8 +27430,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -27641,7 +27702,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -28689,7 +28755,7 @@ msgstr ""
#: modules/gridmap/doc_classes/GridMap.xml
msgid "Using gridmaps"
-msgstr ""
+msgstr "Verwendung von Gridmaps"
#: modules/gridmap/doc_classes/GridMap.xml
msgid "Clear all cells."
@@ -30247,7 +30313,7 @@ msgstr ""
#: doc/classes/Image.xml doc/classes/ImageTexture.xml
msgid "Importing images"
-msgstr ""
+msgstr "Importieren von Bildern"
#: doc/classes/Image.xml
msgid ""
@@ -34244,7 +34310,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -34624,8 +34695,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -36468,6 +36543,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -36481,6 +36565,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -36523,6 +36619,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -36574,6 +36680,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -38493,7 +38611,7 @@ msgstr ""
#: doc/classes/Node.xml
msgid "Nodes and Scenes"
-msgstr ""
+msgstr "Nodes und Szenen"
#: doc/classes/Node.xml
msgid "All Demos"
@@ -38933,6 +39051,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -39103,6 +39240,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -39203,6 +39355,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -39453,6 +39613,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -40443,8 +40609,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -41238,7 +41404,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -49232,6 +49410,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -49242,8 +49431,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49756,14 +49947,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49892,8 +50088,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53882,6 +54078,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -55149,6 +55352,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -57005,7 +57220,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -57019,7 +57234,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -57720,7 +57935,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57984,7 +58204,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -58007,11 +58236,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -58060,14 +58302,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -58237,8 +58481,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -59751,6 +60003,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr "Gibt die Anzahl der Spuren in der Animation zurück."
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "Gibt die Anzahl der Tasten in einer bestimmten Spur zurück."
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "Gibt die Anzahl der Dreiecke im Überblendungsbereich zurück."
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -60816,6 +61078,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -60962,6 +61230,20 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+"Gibt ein Array aller Zellen mit der angegebenen Kachel [code]index[/code] "
+"zurück."
+
+#: doc/classes/Theme.xml
#, fuzzy
msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
@@ -61018,6 +61300,15 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+"Gibt [code]true[/code] zurück, wenn der angegebene Track importiert ist. "
+"Andernfalls wird [code]false[/code] zurückgegeben."
+
+#: doc/classes/Theme.xml
msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
@@ -61114,6 +61405,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -63303,7 +63608,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -63350,10 +63655,11 @@ msgstr ""
"Index [code]Dreieck[/code]."
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+#, fuzzy
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
+"Liefert die Position des Punktes bei Index [code]Punkt[/code] im Dreieck von "
+"Index [code]Dreieck[/code]."
#: doc/classes/TreeItem.xml
#, fuzzy
@@ -67854,7 +68160,7 @@ msgstr ""
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid "Infinity: [code]inf[/code]."
-msgstr ""
+msgstr "Unendlichkeit: [code]inf[/code]."
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid "Not a number: [code]nan[/code]."
@@ -68165,7 +68471,7 @@ msgstr ""
#: modules/visual_script/doc_classes/VisualScriptSceneNode.xml
msgid "Node reference."
-msgstr ""
+msgstr "Node-Referenz."
#: modules/visual_script/doc_classes/VisualScriptSceneNode.xml
msgid ""
@@ -68326,7 +68632,7 @@ msgstr ""
#: modules/visual_script/doc_classes/VisualScriptWhile.xml
msgid "Conditional loop."
-msgstr ""
+msgstr "Bedingte Wiederholung."
#: modules/visual_script/doc_classes/VisualScriptWhile.xml
msgid ""
@@ -74725,7 +75031,7 @@ msgstr ""
#: doc/classes/XMLParser.xml
msgid "CDATA content."
-msgstr ""
+msgstr "CDATA Inhalt."
#: doc/classes/XMLParser.xml
msgid "Unknown node."
diff --git a/doc/translations/el.po b/doc/translations/el.po
index ddec69fbd0..83def545e0 100644
--- a/doc/translations/el.po
+++ b/doc/translations/el.po
@@ -3336,6 +3336,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4847,8 +4856,9 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
-msgstr ""
+#, fuzzy
+msgid "Returns whether the given path is filtered."
+msgstr "ΕπιστÏέφει την εφαπτομένη της παÏαμέτÏου."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -4872,7 +4882,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4881,7 +4891,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9493,26 +9503,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9670,6 +9664,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12751,6 +12755,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15587,8 +15603,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16345,6 +16362,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23024,7 +23060,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25128,8 +25179,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25399,7 +25451,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -31940,7 +31997,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32320,8 +32382,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34162,6 +34228,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34175,6 +34250,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34217,6 +34304,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34268,6 +34365,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36584,6 +36693,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36754,6 +36882,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36854,6 +36997,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37104,6 +37255,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38091,8 +38248,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38885,7 +39042,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46738,6 +46907,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46748,8 +46928,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47262,14 +47444,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47398,8 +47585,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51337,6 +51524,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52590,6 +52784,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54425,7 +54631,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54439,7 +54645,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55114,7 +55320,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55377,7 +55588,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55400,11 +55620,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55453,14 +55686,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55630,8 +55865,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57125,6 +57368,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr "ΕπιστÏέφει το συνημίτονο της παÏαμέτÏου."
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "ΕπιστÏέφει την αντίθετη τιμή της παÏαμέτÏου."
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "ΕπιστÏέφει το υπόλοιπο των 2 διανυσμάτων."
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58163,6 +58416,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58303,6 +58562,18 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr "ΕπιστÏέφει το υπόλοιπο των 2 διανυσμάτων."
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58351,6 +58622,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58446,6 +58723,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60622,7 +60913,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60664,10 +60955,9 @@ msgid ""
msgstr "ΕπιστÏέφει το ημίτονο της παÏαμέτÏου."
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
-msgstr ""
+#, fuzzy
+msgid "Returns the number of buttons in column [code]column[/code]."
+msgstr "ΕπιστÏέφει το ημίτονο της παÏαμέτÏου."
#: doc/classes/TreeItem.xml
#, fuzzy
diff --git a/doc/translations/es.po b/doc/translations/es.po
index 9bd808d8c4..6ebc2af78b 100644
--- a/doc/translations/es.po
+++ b/doc/translations/es.po
@@ -30,12 +30,14 @@
# Rémi Verschelde <remi@godotengine.org>, 2021.
# Alfonso V <alfonsov96@gmail.com>, 2022.
# Alejandro Pérez <alejandro.pr.rz@gmail.com>, 2022.
+# Cristhian Pineda Castro <kurgancpc@hotmail.com>, 2022.
+# Francesco Santoro <fgsantoror20@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: Alejandro Pérez <alejandro.pr.rz@gmail.com>\n"
+"PO-Revision-Date: 2022-03-05 03:08+0000\n"
+"Last-Translator: Francesco Santoro <fgsantoror20@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/es/>\n"
"Language: es\n"
@@ -43,7 +45,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.11-dev\n"
+"X-Generator: Weblate 4.12-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -86,9 +88,8 @@ msgid "Method Descriptions"
msgstr "Descripciones de Métodos"
#: doc/tools/make_rst.py
-#, fuzzy
msgid "Theme Property Descriptions"
-msgstr "Descripciones de Propiedades"
+msgstr "Descripciones de las propiedades del tema"
#: doc/tools/make_rst.py
msgid "Inherits:"
@@ -116,7 +117,6 @@ msgid "value"
msgstr "valor"
#: doc/tools/make_rst.py
-#, fuzzy
msgid "Getter"
msgstr "Método de Acceso al Valor o Getter"
@@ -155,21 +155,18 @@ msgstr ""
"llamarse directamente utilizando el nombre de la clase."
#: doc/tools/make_rst.py
-#, fuzzy
msgid ""
"This method describes a valid operator to use with this type as left-hand "
"operand."
msgstr ""
-"Este método describe un operador tal que el tipo de la instancia que lo "
-"llama es considerado como operando izquierdo."
+"Este método describe un operador válido para usar con este tipo como "
+"operando izquierdo."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid "Built-in GDScript functions."
-msgstr "Funciones GDScript predefinidas."
+msgstr "Funciones GDScript integradas."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"List of core built-in GDScript functions. Math functions and other "
"utilities. Everything else is provided by objects. (Keywords: builtin, built "
@@ -204,7 +201,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns a color according to the standardized [code]name[/code] with "
"[code]alpha[/code] ranging from 0 to 1.\n"
@@ -276,7 +272,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Asserts that the [code]condition[/code] is [code]true[/code]. If the "
"[code]condition[/code] is [code]false[/code], an error is generated. When "
@@ -4415,6 +4410,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -6385,7 +6389,8 @@ msgstr ""
"muestre la edición del filtro en este nodo."
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+#, fuzzy
+msgid "Returns whether the given path is filtered."
msgstr "Devuelve [code]true[/code] si un camino dado es filtrado."
#: doc/classes/AnimationNode.xml
@@ -6419,8 +6424,9 @@ msgid "Adds or removes a path for the filter."
msgstr "Añade o elimina una ruta para el filtro."
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
"Establece un parámetro personalizado. Estos se usan como almacenamiento "
@@ -6432,7 +6438,8 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr "Si [code]true[/code], el filtrado está activado."
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+#, fuzzy
+msgid "Emitted when the node was removed from the graph."
msgstr "Llamado cuando el nodo es eliminado desde el gráfico."
#: doc/classes/AnimationNode.xml
@@ -12615,31 +12622,12 @@ msgstr ""
"[code]at_position[/code]."
#: doc/classes/AudioServer.xml
-#, fuzzy
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-"Nombre del dispositivo actual para la entrada de audio (ver [method "
-"capture_get_device_list])."
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
"Devuelve los nombres de todos los dispositivos de entrada de audio "
"detectados en el sistema."
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr "Genera un [AudioBusLayout] usando los buses y efectos disponibles."
@@ -12831,6 +12819,16 @@ msgstr "Número de buses de audio disponibles."
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -16759,6 +16757,24 @@ msgid "Returns the RID of the canvas used by this layer."
msgstr "Devuelve el RID del canvas usado por esta capa."
#: doc/classes/CanvasLayer.xml
+#, fuzzy
+msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+"Limpia el array. Esto es equivalente a usar [method resize] con un tamaño de "
+"[code]0[/code]."
+
+#: doc/classes/CanvasLayer.xml
+#, fuzzy
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+"Limpia el array. Esto es equivalente a usar [method resize] con un tamaño de "
+"[code]0[/code]."
+
+#: doc/classes/CanvasLayer.xml
msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
@@ -20448,8 +20464,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -21542,6 +21559,25 @@ msgstr ""
"todos sus hijos [Control] utilizan."
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr "Se emite cuando el nodo obtiene el foco del teclado."
@@ -30536,8 +30572,23 @@ msgstr ""
"glow_hdr_threshold]."
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
-msgstr "Si [code]true[/code], se activa el efecto de brillo."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
+msgstr ""
#: doc/classes/Environment.xml
msgid ""
@@ -33371,8 +33422,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
"Triangula el polígono especificado por los puntos en [code]polygon[/code]. "
"Devuelve un [PackedInt32Array] donde cada triángulo consiste en tres índices "
@@ -33728,7 +33780,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
"Cocina el efecto para todas las [GeometryInstance]s marcadas con [constant "
"GeometryInstance3D.GI_MODE_BAKED] y [Light]s marcadas con [constant Light3D."
@@ -42444,9 +42501,13 @@ msgid "The color of shadows cast by this light."
msgstr "El color de las sombras proyectadas por esta luz."
#: doc/classes/Light.xml
-#, fuzzy
-msgid "Attempts to reduce [member shadow_bias] gap."
-msgstr "Constante para acceder a [member shadow_bias]."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
+msgstr ""
#: doc/classes/Light.xml
msgid "If [code]true[/code], the light will cast shadows."
@@ -42926,11 +42987,13 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
-"La suavidad de las articulaciones redondeadas y las cubiertas. Esto sólo se "
-"usa si una cubierta o articulación se establece como redonda."
#: doc/classes/Line2D.xml
#, fuzzy
@@ -45347,6 +45410,15 @@ msgstr "Devuelve la [Transform2D] de una instancia específica."
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -45359,6 +45431,18 @@ msgid ""
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
#, fuzzy
msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
@@ -45415,6 +45499,16 @@ msgid "Mesh to be drawn."
msgstr "Malla para ser dibujada."
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
"Formato de transformación usado para transformar la malla, ya sea 2D o 3D."
@@ -45469,6 +45563,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr "Nodo que instancia un [MultiMesh]."
@@ -48606,6 +48712,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -48852,6 +48977,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -49008,6 +49148,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -49338,6 +49486,13 @@ msgid ""
msgstr ""
#: doc/classes/Node.xml
+#, fuzzy
+msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr "Notificación recibida cuando el nodo se mueve en el padre."
+
+#: doc/classes/Node.xml
msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
@@ -50770,8 +50925,8 @@ msgstr "Dibuja una geometría simple desde código."
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -51803,8 +51958,20 @@ msgstr ""
"Windows."
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
-msgstr "Devuelve el número de hilos disponibles en el host."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
+msgstr ""
#: doc/classes/OS.xml
#, fuzzy
@@ -62197,6 +62364,17 @@ msgid ""
msgstr ""
#: doc/classes/ProjectSettings.xml
+msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
#, fuzzy
msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
@@ -62209,8 +62387,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
"Controla cuánto se sincronizan los ticks de la física con el tiempo real. "
"Para 0 o menos, los ticks están sincronizadas. Estos valores se recomiendan "
@@ -62768,18 +62948,20 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
-"Sobrescritura del extremo inferior para [member rendering/quality/depth/hdr] "
-"en los dispositivos móviles, debido a problemas de rendimiento o de apoyo al "
-"driver."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -62940,13 +63122,14 @@ msgstr ""
"(también llamado \"filtrado trilíneo\")."
#: doc/classes/ProjectSettings.xml
+#, fuzzy
msgid ""
"Strategy used for framebuffer allocation. The simpler it is, the less "
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
"Estrategia utilizada para la asignación de la memoria intermedia. Cuanto más "
"simple es, menos recursos utiliza (pero menos características soporta). Si "
@@ -68178,6 +68361,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -69753,6 +69943,18 @@ msgid "All 3D Demos"
msgstr ""
#: doc/classes/Spatial.xml
+msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
#, fuzzy
msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
@@ -72131,7 +72333,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -72145,7 +72347,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -72963,8 +73165,13 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr "Devuelve [code]true[/code] si la string comienza con la string dada."
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
-msgstr "Devuelve los bigramas (pares de letras consecutivas) de esta string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
+msgstr ""
#: doc/classes/String.xml
msgid ""
@@ -73322,8 +73529,17 @@ msgstr ""
"[code]: / \\ ? * \" | % < >[/code]"
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
-msgstr "Devuelve [code]true[/code] si esta string contiene un real válido."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
+msgstr ""
#: doc/classes/String.xml
msgid ""
@@ -73350,18 +73566,32 @@ msgstr ""
"devolverán [code]false[/code]."
#: doc/classes/String.xml
+#, fuzzy
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
"Devuelve [code]true[/code] si esta string es un identificador válido. Un "
"identificador válido sólo puede contener letras, dígitos y guiones bajos "
"([code]_[/code]) y el primer carácter no puede ser un dígito."
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
-msgstr "Devuelve [code]true[/code] si esta string contiene un entero válido."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
+msgstr ""
#: doc/classes/String.xml
msgid ""
@@ -73408,10 +73638,12 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
+#, fuzzy
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
"Hace una comparación simple con expresión que distingue entre mayúsculas y "
"minúsculas, en la que [code]\"*\"[/code] coincide con cero o más caracteres "
@@ -73419,10 +73651,12 @@ msgstr ""
"excepto con un punto ([code]\".\"[/code])."
#: doc/classes/String.xml
+#, fuzzy
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
"Hace una simple comparación expresión insensible a las mayúsculas y "
"minúsculas, en la que [code]\"*\"[/code] coincide con cero o más caracteres "
@@ -73628,11 +73862,17 @@ msgstr "Devuelve el hash SHA-256 de la string como una string."
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
-"Devuelve el índice de similitud del texto comparado con esta string. 1 "
-"significa totalmente similar y 0 significa totalmente diferente."
#: doc/classes/String.xml
msgid "Returns a simplified canonical path."
@@ -75589,6 +75829,16 @@ msgstr "Devuelve la lista de valores del [Dictionary]."
#: doc/classes/TextEdit.xml
#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "Devuelve la cantidad de líneas de texto que tiene la etiqueta."
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "Devuelve el número de líneas visibles."
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -76903,6 +77153,12 @@ msgstr ""
"Limpia la constante en [code]name[/code] si el tema tiene [code]type[/code]."
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
"Establece los valores del tema a una copia de los valores del tema por "
@@ -77104,6 +77360,21 @@ msgstr ""
#: doc/classes/Theme.xml
#, fuzzy
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+"Devuelve el nombre de la escena que se está reproduciendo. Si no se está "
+"reproduciendo ninguna escena, devuelve una string vacía."
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr "Devuelve un [Array] de conexiones para la [code]signal[/code] dada."
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -77176,6 +77447,15 @@ msgstr ""
"Devuelve [code]false[/code] si el tema no tiene [code]type[/code]."
#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+"Devuelve [code]true[/code] si el precargador contiene un recurso asociado a "
+"[code]name[/code]."
+
+#: doc/classes/Theme.xml
msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
@@ -77314,6 +77594,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -80065,7 +80359,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
"Añade un botón con [Texture2D] [code]button[/code] en la columna "
@@ -80124,13 +80418,9 @@ msgstr ""
"[code]button_idx[/code] en la columna [code]column[/code]."
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
-msgstr ""
-"Devuelve el número de botones en la columna [code]column[/code]. Puede "
-"utilizarse para obtener el índice del último botón añadido, si no se "
-"especificó ningún índice."
+#, fuzzy
+msgid "Returns the number of buttons in column [code]column[/code]."
+msgstr "Devuelve el color personalizado de la columna [code]column[/code]."
#: doc/classes/TreeItem.xml
#, fuzzy
diff --git a/doc/translations/fa.po b/doc/translations/fa.po
index a6260337ca..78429f84e0 100644
--- a/doc/translations/fa.po
+++ b/doc/translations/fa.po
@@ -3761,6 +3761,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -5271,7 +5280,7 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+msgid "Returns whether the given path is filtered."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5296,7 +5305,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -5305,7 +5314,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9916,26 +9925,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -10093,6 +10086,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -13168,6 +13171,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -16004,8 +16019,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16756,6 +16772,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23430,7 +23465,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25532,8 +25582,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25803,7 +25854,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -32338,7 +32394,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32718,8 +32779,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34559,6 +34624,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34572,6 +34646,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34614,6 +34700,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34665,6 +34761,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36968,6 +37076,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -37138,6 +37265,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -37238,6 +37380,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37488,6 +37638,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38475,8 +38631,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -39266,7 +39422,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -47120,6 +47288,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -47130,8 +47309,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47644,14 +47825,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47780,8 +47966,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51722,6 +51908,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52975,6 +53168,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54810,7 +55015,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54824,7 +55029,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55497,7 +55702,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55760,7 +55970,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55783,11 +56002,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55836,14 +56068,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -56013,8 +56247,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57503,6 +57745,14 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+msgid "Returns the total amount of lines that could be drawn."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58540,6 +58790,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58680,6 +58936,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58728,6 +58995,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58823,6 +59096,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60996,7 +61283,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -61037,9 +61324,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/fi.po b/doc/translations/fi.po
index 780df6468f..df7bd8a2d9 100644
--- a/doc/translations/fi.po
+++ b/doc/translations/fi.po
@@ -3348,6 +3348,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4859,8 +4868,9 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
-msgstr ""
+#, fuzzy
+msgid "Returns whether the given path is filtered."
+msgstr "Palauttaa parametrin tangentin."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -4884,7 +4894,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4893,7 +4903,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9511,26 +9521,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9688,6 +9682,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12771,6 +12775,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15608,8 +15624,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16366,6 +16383,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23045,7 +23081,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25149,8 +25200,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25420,7 +25472,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -31969,7 +32026,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32349,8 +32411,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34191,6 +34257,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34204,6 +34279,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34246,6 +34333,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34297,6 +34394,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36614,6 +36723,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36784,6 +36912,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36884,6 +37027,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37134,6 +37285,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38121,8 +38278,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38915,7 +39072,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46768,6 +46937,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46778,8 +46958,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47292,14 +47474,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47428,8 +47615,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51367,6 +51554,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52621,6 +52815,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54457,7 +54663,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54471,7 +54677,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55146,7 +55352,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55409,7 +55620,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55432,11 +55652,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55485,14 +55718,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55662,8 +55897,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57158,6 +57401,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr "Palauttaa kahden vektorin jäännöksen."
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "Palauttaa parametrin vasta-arvon."
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "Palauttaa kahden vektorin jäännöksen."
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58196,6 +58449,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58337,6 +58596,18 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr "Laskee kahden vektorin ristitulon."
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58384,6 +58655,13 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr "Laskee kahden vektorin ristitulon."
+
+#: doc/classes/Theme.xml
msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
@@ -58480,6 +58758,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60656,7 +60948,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60698,10 +60990,9 @@ msgid ""
msgstr "Laskee kahden vektorin ristitulon."
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
-msgstr ""
+#, fuzzy
+msgid "Returns the number of buttons in column [code]column[/code]."
+msgstr "Laskee kahden vektorin ristitulon."
#: doc/classes/TreeItem.xml
#, fuzzy
diff --git a/doc/translations/fil.po b/doc/translations/fil.po
index 27b84c2f14..7d94a0dacc 100644
--- a/doc/translations/fil.po
+++ b/doc/translations/fil.po
@@ -3329,6 +3329,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4839,7 +4848,7 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+msgid "Returns whether the given path is filtered."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4864,7 +4873,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4873,7 +4882,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9484,26 +9493,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9661,6 +9654,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12736,6 +12739,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15572,8 +15587,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16324,6 +16340,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -22998,7 +23033,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25100,8 +25150,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25371,7 +25422,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -31906,7 +31962,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32286,8 +32347,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34127,6 +34192,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34140,6 +34214,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34182,6 +34268,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34233,6 +34329,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36530,6 +36638,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36700,6 +36827,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36800,6 +36942,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37050,6 +37200,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38037,8 +38193,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38828,7 +38984,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46670,6 +46838,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46680,8 +46859,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47194,14 +47375,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47330,8 +47516,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51268,6 +51454,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52521,6 +52714,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54356,7 +54561,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54370,7 +54575,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55043,7 +55248,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55306,7 +55516,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55329,11 +55548,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55382,14 +55614,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55559,8 +55793,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57049,6 +57291,14 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+msgid "Returns the total amount of lines that could be drawn."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58086,6 +58336,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58226,6 +58482,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58274,6 +58541,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58369,6 +58642,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60542,7 +60829,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60583,9 +60870,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/fr.po b/doc/translations/fr.po
index aa9d4a2ee3..1c485e9047 100644
--- a/doc/translations/fr.po
+++ b/doc/translations/fr.po
@@ -36,7 +36,7 @@
# Toquey SiGauses <meiyo40@gmail.com>, 2021.
# GABRIELLE Damien <damiengabrielle@gmail.com>, 2021.
# Julien Vanelian <julienvanelian@hotmail.com>, 2021.
-# Perrier Mathis <mathis.perrier73@gmail.com>, 2021.
+# Perrier Mathis <mathis.perrier73@gmail.com>, 2021, 2022.
# Blackiris <divjvc@free.fr>, 2021.
# AndyNekena <andy.nekena@gmail.com>, 2021.
# Legorel <Legorel412@gmail.com>, 2021, 2022.
@@ -54,13 +54,14 @@
# ASTRALE <jules.cercy@etu.univ-lyon1.fr>, 2021, 2022.
# Pierre-Alexandre Arènes <palex95870@gmail.com>, 2022.
# KikooDX <kikoodx@paranoici.org>, 2022.
+# Kevin Bouancheau <kevin.bouancheau@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-02-13 20:11+0000\n"
-"Last-Translator: Maxime Leroy <lisacintosh@gmail.com>\n"
+"PO-Revision-Date: 2022-03-03 17:35+0000\n"
+"Last-Translator: Perrier Mathis <mathis.perrier73@gmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/fr/>\n"
"Language: fr\n"
@@ -68,7 +69,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.11-dev\n"
+"X-Generator: Weblate 4.11.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -591,7 +592,7 @@ msgid ""
"r = deg2rad(180) # r is 3.141593\n"
"[/codeblock]"
msgstr ""
-"Convertit un angle exprimé en degrés en radians.\n"
+"Convertit un angle en degrés vers sa valeur en radians.\n"
"[codeblock]\n"
"r = deg2rad(180) # r vaut 3.141593\n"
"[/codeblock]"
@@ -3997,30 +3998,43 @@ msgid ""
"MIDI note OFF message. See the documentation of [InputEventMIDI] for "
"information of how to use MIDI inputs."
msgstr ""
+"Le message MIDI pour la note OFF. Référez vous à la documentation de "
+"[InputEventMIDI] pour avoir des informations concernant les entrées MIDI."
#: doc/classes/@GlobalScope.xml
msgid ""
"MIDI note ON message. See the documentation of [InputEventMIDI] for "
"information of how to use MIDI inputs."
msgstr ""
+"Le message MIDI pour la note ON. Référez vous à la documentation de "
+"[InputEventMIDI] pour avoir des informations concernant les entrées MIDI."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid ""
"MIDI aftertouch message. This message is most often sent by pressing down on "
"the key after it \"bottoms out\"."
msgstr ""
+"Le message MIDI d'après touche. Ce message est le plus souvent envoyé quand "
+"on continue de faire varier la pression sur la touche après l'appui initial."
#: doc/classes/@GlobalScope.xml
msgid ""
"MIDI control change message. This message is sent when a controller value "
"changes. Controllers include devices such as pedals and levers."
msgstr ""
+"Le message MIDI de changement de contrôle. Ce message est envoyé lorsqu'un "
+"contrôleur change de valeur. Les contrôleurs comprennent des dispositifs "
+"comme des pédales, des leviers."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid ""
"MIDI program change message. This message sent when the program patch number "
"changes."
msgstr ""
+"Le message de changement de programme MIDI. Ce message est envoyé lorsque "
+"l'on reçoit une consigne de changement de programme."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -4376,6 +4390,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -5343,7 +5366,7 @@ msgstr ""
#: doc/classes/Particles2D.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
-msgstr ""
+msgstr "Démo 2D « Dodge The Creeps »"
#: doc/classes/AnimatedSprite.xml
msgid ""
@@ -6159,8 +6182,9 @@ msgid ""
"[AudioStreamPlayer]. The stream can be trimmed and previewed in the "
"animation."
msgstr ""
-"Les pistes audio servent à jouer un flux audio sur un [AudioStreamPlayer] "
-"(2D ou 3D). Le flux peut être coupé et prérendu dans l'animation."
+"Les pistes audio sont utilisées pour lire un flux audio avec l'un ou l'autre "
+"type de [AudioStreamPlayer]. Le flux peut être découpé et prévisualisé dans "
+"l'animation."
#: doc/classes/Animation.xml
msgid "Animation tracks play animations in other [AnimationPlayer] nodes."
@@ -6197,9 +6221,9 @@ msgid ""
"Same as linear interpolation, but also interpolates from the current value "
"(i.e. dynamically at runtime) if the first key isn't at 0 seconds."
msgstr ""
-"Le même que l'interpolation linéaire, mais interpole aussi de la valeur "
-"actuelle (c'est-à-dire, dynamiquement à l'exécution) si la première clé "
-"n'est pas située à 0 secondes."
+"Identique à l'interpolation linéaire, mais interpole aussi à partir de la "
+"valeur actuelle (définie à l'exécution) si la première clé n'est pas située "
+"à 0 seconde."
#: doc/classes/AnimationNode.xml
msgid "Base resource for [AnimationTree] nodes."
@@ -6332,7 +6356,8 @@ msgstr ""
"affiche l'édition de filtre sur ce nœud."
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+#, fuzzy
+msgid "Returns whether the given path is filtered."
msgstr "Retourne [code]true[/code] si un chemin donné est filtré."
#: doc/classes/AnimationNode.xml
@@ -6365,8 +6390,9 @@ msgid "Adds or removes a path for the filter."
msgstr "Ajoute ou supprime un chemin pour le filtre."
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
"Définit un paramètre personnalisé. Utilisé comme stockage local, car les "
@@ -6378,7 +6404,8 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr "Si [code]true[/code], le filtrage est activé."
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+#, fuzzy
+msgid "Emitted when the node was removed from the graph."
msgstr "Appelée quand le nœud est enlevé du graphe."
#: doc/classes/AnimationNode.xml
@@ -6472,9 +6499,8 @@ msgstr ""
#: doc/classes/AnimationNodeOneShot.xml doc/classes/AnimationNodeOutput.xml
#: doc/classes/AnimationNodeTimeScale.xml
#: doc/classes/AnimationNodeTransition.xml
-#, fuzzy
msgid "AnimationTree"
-msgstr "NÅ“ud d'animation."
+msgstr "AnimationTree"
#: doc/classes/AnimationNodeAdd3.xml doc/classes/AnimationNodeAnimation.xml
#: doc/classes/AnimationNodeBlend2.xml
@@ -7794,6 +7820,8 @@ msgid ""
"Returns the input count for a given node. Different types of nodes have "
"different amount of inputs."
msgstr ""
+"Retourne le nombre d'entrées du nœud spécifié. Différents types de nœuds ont "
+"différents nombres d'entrées."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -8281,7 +8309,7 @@ msgstr ""
#: doc/classes/Area.xml doc/classes/Area2D.xml
msgid "This area does not affect gravity/damping."
-msgstr ""
+msgstr "Cette aire n'influe pas sur la gravité/amortissement."
#: doc/classes/Area.xml doc/classes/Area2D.xml
msgid ""
@@ -10497,13 +10525,12 @@ msgid ""
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 ""
-"Renvoie [code]true[/code] (vrai) si [code]a[/code] et [code]b[/code] sont "
-"approximativement égaux l'un à l'autre."
+"Retourne [code]true[/code] si au moins [code]frames[/code] audio peuvent "
+"être lues dans la mémoire en anneau interne."
#: doc/classes/AudioEffectCapture.xml
#, fuzzy
@@ -11093,6 +11120,9 @@ msgid ""
"Use a buffer of 256 samples for the Fast Fourier transform. Lowest latency, "
"but least stable over time."
msgstr ""
+"Utilise une mémoire tampon de 256 échantillons pour la transformée de "
+"Fourier rapide. Le délai est le plus court mais est le moins stable dans le "
+"temps."
#: doc/classes/AudioEffectPitchShift.xml
#: doc/classes/AudioEffectSpectrumAnalyzer.xml
@@ -11100,6 +11130,8 @@ msgid ""
"Use a buffer of 512 samples for the Fast Fourier transform. Low latency, but "
"less stable over time."
msgstr ""
+"Utilise une mémoire tampon de 512 échantillons pour la transformée de "
+"Fourier rapide. Le délai est court mais moins stable dans le temps."
#: doc/classes/AudioEffectPitchShift.xml
#: doc/classes/AudioEffectSpectrumAnalyzer.xml
@@ -11107,6 +11139,9 @@ msgid ""
"Use a buffer of 1024 samples for the Fast Fourier transform. This is a "
"compromise between latency and stability over time."
msgstr ""
+"Utilise une mémoire tampon de 1024 échantillons pour la transformée de "
+"Fourier rapide. C'est un bon compromis entre le délai et la stabilité dans "
+"le temps."
#: doc/classes/AudioEffectPitchShift.xml
#: doc/classes/AudioEffectSpectrumAnalyzer.xml
@@ -11114,6 +11149,8 @@ msgid ""
"Use a buffer of 2048 samples for the Fast Fourier transform. High latency, "
"but stable over time."
msgstr ""
+"Utilise une mémoire tampon de 2048 échantillons pour la transformée de "
+"Fourier rapide. Le délai est long mais est stable dans le temps."
#: doc/classes/AudioEffectPitchShift.xml
#: doc/classes/AudioEffectSpectrumAnalyzer.xml
@@ -11121,6 +11158,9 @@ msgid ""
"Use a buffer of 4096 samples for the Fast Fourier transform. Highest "
"latency, but most stable over time."
msgstr ""
+"Utilise une mémoire tampon de 4096 échantillons pour la transformée de "
+"Fourier rapide. Le délai est le plus long mais est le plus stable dans le "
+"temps."
#: doc/classes/AudioEffectPitchShift.xml
#: doc/classes/AudioEffectSpectrumAnalyzer.xml
@@ -11298,26 +11338,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -11382,7 +11406,7 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid "Returns the audio driver's output latency."
-msgstr ""
+msgstr "Retourne la latence de la sortie du pilote audio."
#: doc/classes/AudioServer.xml
msgid "Returns the speaker configuration."
@@ -11475,6 +11499,16 @@ msgstr "Nombre de bus audio disponibles."
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -11652,7 +11686,7 @@ msgstr "Pilote de flux audio OGG Vorbis."
#: doc/classes/AudioStreamPlayback.xml
msgid "Meta class for playing back audio."
-msgstr ""
+msgstr "Classe méta pour la lecture audio."
#: doc/classes/AudioStreamPlayback.xml
msgid ""
@@ -12003,11 +12037,11 @@ msgstr ""
#: doc/classes/AudioStreamRandomPitch.xml
msgid "Plays audio with random pitch shifting."
-msgstr ""
+msgstr "Joue le son avec une hauteur aléatoire."
#: doc/classes/AudioStreamRandomPitch.xml
msgid "Randomly varies pitch on each start."
-msgstr ""
+msgstr "Change aléatoirement la hauteur à chaque démarrage."
#: doc/classes/AudioStreamRandomPitch.xml
msgid "The current [AudioStream]."
@@ -12015,7 +12049,7 @@ msgstr "L'actuel [AudioStream]."
#: doc/classes/AudioStreamRandomPitch.xml
msgid "The intensity of random pitch variation."
-msgstr ""
+msgstr "L'intensité de la variation aléatoire de la hauteur."
#: doc/classes/AudioStreamSample.xml
msgid "Stores audio data loaded from WAV files."
@@ -12100,7 +12134,7 @@ msgstr "Codec audio 16 bits."
#: doc/classes/AudioStreamSample.xml
msgid "Audio is compressed using IMA ADPCM."
-msgstr ""
+msgstr "L'audio est compressé avec IMA ADPCM."
#: doc/classes/AudioStreamSample.xml
msgid "Audio does not loop."
@@ -12147,7 +12181,7 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid "Buffer mode. See [enum CopyMode] constants."
-msgstr ""
+msgstr "Le mode de mémoire tampon. Voir les constantes [enum CopyMode]."
#: doc/classes/BackBufferCopy.xml
msgid ""
@@ -12201,6 +12235,8 @@ msgid ""
"When enabled, the lightmapper will merge the textures for all meshes into a "
"single large layered texture. Not supported in GLES2."
msgstr ""
+"Si actif, le lightmapper fusionnera les textures de tous les maillages dans "
+"une seule texture assez large avec claque. Ça n'est pas supporter avec GLES2."
#: doc/classes/BakedLightmap.xml
msgid ""
@@ -12589,15 +12625,15 @@ msgstr ""
#: doc/classes/BaseButton.xml
msgid "The state of buttons are pressed."
-msgstr ""
+msgstr "L'état des boutons est : pressé."
#: doc/classes/BaseButton.xml
msgid "The state of buttons are hovered."
-msgstr ""
+msgstr "L'état des boutons est : survolé."
#: doc/classes/BaseButton.xml
msgid "The state of buttons are disabled."
-msgstr ""
+msgstr "L'état des boutons est : désactivé."
#: doc/classes/BaseButton.xml
msgid "The state of buttons are both hovered and pressed."
@@ -12894,9 +12930,8 @@ msgid ""
msgstr ""
#: doc/classes/BitMap.xml
-#, fuzzy
msgid "Resizes the image to [code]new_size[/code]."
-msgstr "Supprime l’animation avec la touche [code]name[/code]."
+msgstr "Redimensionne l'image à la nouvelle taille [code]new_size[/code]."
#: doc/classes/BitMap.xml
msgid ""
@@ -14026,9 +14061,8 @@ msgid "Returns the number of [CameraFeed]s registered."
msgstr "Retourne le nombre de [CameraFeed] enregistrés."
#: doc/classes/CameraServer.xml
-#, fuzzy
msgid "Removes the specified camera [code]feed[/code]."
-msgstr "Supprime l’animation avec la touche [code]name[/code]."
+msgstr "Supprime le flux de caméra [code]feed[/code] spécifié."
#: doc/classes/CameraServer.xml
#, fuzzy
@@ -14672,6 +14706,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15882,7 +15928,7 @@ msgstr ""
#: doc/classes/Color.xml doc/classes/ColorPickerButton.xml
msgid "GUI Drag And Drop Demo"
-msgstr ""
+msgstr "Démo de l'interface de déposer-glisser"
#: doc/classes/Color.xml
msgid ""
@@ -17019,7 +17065,7 @@ msgstr "Émis lorsque le [ColorPicker] est fermé."
#: doc/classes/ColorPickerButton.xml
msgid "Default text [Color] of the [ColorPickerButton]."
-msgstr ""
+msgstr "La [Color] par défaut du texte du [ColorPickerButton]."
#: doc/classes/ColorPickerButton.xml
msgid "Text [Color] used when the [ColorPickerButton] is disabled."
@@ -17728,8 +17774,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -18516,6 +18563,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr "Émis quand le nœud prend le focus du clavier."
@@ -22108,6 +22174,7 @@ msgstr ""
#: doc/classes/EditorFeatureProfile.xml
msgid "Returns the specified [code]feature[/code]'s human-readable name."
msgstr ""
+"Retourne le nom de la fonctionnalité [code]feature[/code] facilement lisible."
#: doc/classes/EditorFeatureProfile.xml
msgid ""
@@ -25322,7 +25389,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -26467,7 +26549,7 @@ msgstr "Retourne la position de défilement actuelle."
#: doc/classes/Font.xml
msgid "Internationalized font and text drawing support."
-msgstr ""
+msgstr "Affichage internationalisé des polices et textes."
#: doc/classes/Font.xml
msgid ""
@@ -27470,8 +27552,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -27756,7 +27839,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -30307,9 +30395,8 @@ msgid ""
msgstr ""
#: doc/classes/HTTPRequest.xml
-#, fuzzy
msgid "Maximum allowed size for response bodies."
-msgstr "Valeur maximale pour le mode énumeration."
+msgstr "La taille maximale le corps des réponses."
#: doc/classes/HTTPRequest.xml
msgid ""
@@ -30510,9 +30597,8 @@ msgid ""
msgstr ""
#: doc/classes/Image.xml
-#, fuzzy
msgid "Fills the image with [code]color[/code]."
-msgstr "Supprime l’animation avec la touche [code]name[/code]."
+msgstr "Remplis toute l'image avec la couleur [code]color[/code]."
#: doc/classes/Image.xml
#, fuzzy
@@ -31412,6 +31498,8 @@ msgid ""
"Returns an [Array] containing the device IDs of all currently connected "
"joypads."
msgstr ""
+"Retourne un [Array] contenant les identifiants de tous les joypads "
+"actuellement connectés."
#: doc/classes/Input.xml
msgid "Returns the currently assigned cursor shape (see [enum CursorShape])."
@@ -31780,28 +31868,35 @@ msgstr ""
#: doc/classes/Input.xml
msgid "Makes the mouse cursor visible but confines it to the game window."
msgstr ""
+"Rend le curseur de la souris visible mais le confine dans la fenêtre de jeu."
#: doc/classes/Input.xml
msgid "Arrow cursor. Standard, default pointing cursor."
-msgstr ""
+msgstr "Le curseur flèche. Le pointeur standard."
#: doc/classes/Input.xml
msgid ""
"I-beam cursor. Usually used to show where the text cursor will appear when "
"the mouse is clicked."
msgstr ""
+"Le curseur poutre en I. Sert en général à afficher où le curseur de texte "
+"sera placé quand la souris sera cliquée."
#: doc/classes/Input.xml
msgid ""
"Pointing hand cursor. Usually used to indicate the pointer is over a link or "
"other interactable item."
msgstr ""
+"Le curseur avec la main. Utilisé en général quand le curseur survole un lien "
+"ou un élément interactif."
#: doc/classes/Input.xml
msgid ""
"Cross cursor. Typically appears over regions in which a drawing operation "
"can be performed or for selections."
msgstr ""
+"Le curseur en croix. Utilisé typiquement pour les régions où l'on peut "
+"dessiner, ou pour les sélections."
#: doc/classes/Input.xml
msgid ""
@@ -31809,6 +31904,9 @@ msgid ""
"This cursor shape denotes that the application is still usable during the "
"operation."
msgstr ""
+"Le curseur d'activité. Indique que l'application est occupée à exécuter une "
+"opération. La forme de ce curseur suggère que l'application est toujours "
+"utilisable durant cette opération en cours."
#: doc/classes/Input.xml
msgid ""
@@ -31816,16 +31914,24 @@ msgid ""
"This cursor shape denotes that the application isn't usable during the "
"operation (e.g. something is blocking its main thread)."
msgstr ""
+"Le curseur d'occupation. Indique que l'application est occupée à exécuter "
+"une opération. La forme de ce curseur suggère que l'application n'est pas "
+"utilisable durant cette opération en cours (ex.: que le fil d'exécution "
+"principal est bloqué)."
#: doc/classes/Input.xml
msgid "Drag cursor. Usually displayed when dragging something."
msgstr ""
+"Le curseur de déposer-glisser. Affiché en général dès que l'opération de "
+"glissage a commencé."
#: doc/classes/Input.xml
msgid ""
"Can drop cursor. Usually displayed when dragging something to indicate that "
"it can be dropped at the current position."
msgstr ""
+"Le curseur pour déposer. Permet d'afficher une destination pour le déposer-"
+"glisser si l'emplacement survolé permet de déposer l'élément glissé."
#: doc/classes/Input.xml
msgid ""
@@ -31833,18 +31939,26 @@ msgid ""
"example, when dragging something) or that the control at a position is "
"disabled."
msgstr ""
+"Le curseur d'interdiction. Indique que l'action est interdite (ex.: en "
+"déplaçant un élément) ou que l'élément est désactivé."
#: doc/classes/Input.xml
msgid ""
"Vertical resize mouse cursor. A double-headed vertical arrow. It tells the "
"user they can resize the window or the panel vertically."
msgstr ""
+"Le curseur de redimensionnement vertical. Une flèche à double tête. Elle "
+"précise qu'une fenêtre ou qu'un panneau peut être redimensionné "
+"verticalement."
#: doc/classes/Input.xml
msgid ""
"Horizontal resize mouse cursor. A double-headed horizontal arrow. It tells "
"the user they can resize the window or the panel horizontally."
msgstr ""
+"Le curseur de redimensionnement horizontal. Une flèche à double tête. Elle "
+"précise qu'une fenêtre ou qu'un panneau peut être redimensionné "
+"horizontalement."
#: doc/classes/Input.xml
msgid ""
@@ -31852,6 +31966,9 @@ msgid ""
"from the bottom left to the top right. It tells the user they can resize the "
"window or the panel both horizontally and vertically."
msgstr ""
+"Le curseur de redimensionnement de fenêtre. Une flèche à double tête du bas "
+"gauche vers le haut droit. Elle précise qu'une fenêtre ou qu'un panneau peut "
+"être redimensionné horizontalement et verticalement."
#: doc/classes/Input.xml
msgid ""
@@ -31860,26 +31977,37 @@ msgid ""
"CURSOR_BDIAGSIZE]. It tells the user they can resize the window or the panel "
"both horizontally and vertically."
msgstr ""
+"Le curseur de redimensionnement de fenêtre. Une flèche à double tête du haut "
+"gauche vers le bas droit, l'inverse de [constant CURSOR_BDIAGSIZE]. Elle "
+"précise qu'une fenêtre ou qu'un panneau peut être redimensionné "
+"horizontalement et verticalement."
#: doc/classes/Input.xml
msgid "Move cursor. Indicates that something can be moved."
msgstr ""
+"Le curseur de déplacement. Indique que quelque chose peut être déplacé."
#: doc/classes/Input.xml
msgid ""
"Vertical split mouse cursor. On Windows, it's the same as [constant "
"CURSOR_VSIZE]."
msgstr ""
+"Le curseur de séparation verticale. Permet de déplacer la séparation "
+"horizontale entre deux vues. Sous Windows, c'est pareil que [constant "
+"CURSOR_VSIZE]."
#: doc/classes/Input.xml
msgid ""
"Horizontal split mouse cursor. On Windows, it's the same as [constant "
"CURSOR_HSIZE]."
msgstr ""
+"Le curseur de séparation horizontale. Permet de déplacer la séparation "
+"verticale entre deux vues. Sous Windows, c'est pareil que [constant "
+"CURSOR_HSIZE]."
#: doc/classes/Input.xml
msgid "Help cursor. Usually a question mark."
-msgstr "Curseur d'aide. Généralement un point d'interrogation."
+msgstr "Le curseur d'aide. Généralement un point d'interrogation."
#: doc/classes/InputEvent.xml
msgid "Generic input event."
@@ -31888,10 +32016,12 @@ msgstr "Évènement d’entrée générique."
#: doc/classes/InputEvent.xml
msgid "Base class of all sort of input event. See [method Node._input]."
msgstr ""
+"La classe de commune de tous les événements d'entrée. Voir [method Node."
+"_input]."
#: doc/classes/InputEvent.xml
msgid "InputEvent"
-msgstr ""
+msgstr "InputEvent"
#: doc/classes/InputEvent.xml
msgid ""
@@ -32095,7 +32225,7 @@ msgstr ""
#: doc/classes/InputEventKey.xml
msgid "Input event type for keyboard events."
-msgstr ""
+msgstr "Le type d'événement d'entrée des claviers."
#: doc/classes/InputEventKey.xml
msgid ""
@@ -32164,9 +32294,8 @@ msgid ""
msgstr ""
#: doc/classes/InputEventMIDI.xml
-#, fuzzy
msgid "Input event for MIDI inputs."
-msgstr "Type d’évènement d’entrée pour les actions."
+msgstr "L'évènement d’entrée des entrées MIDI."
#: doc/classes/InputEventMIDI.xml
msgid ""
@@ -32380,6 +32509,8 @@ msgstr ""
msgid ""
"Input event type for screen drag events. Only available on mobile devices."
msgstr ""
+"Le type d'événement d'entrée pour les glissements sur l'écran. Uniquement "
+"disponible sur les appareils mobiles."
#: doc/classes/InputEventScreenDrag.xml
msgid "Contains screen drag information. See [method Node._input]."
@@ -32391,7 +32522,7 @@ msgstr ""
#: doc/classes/InputEventScreenDrag.xml
msgid "The drag position."
-msgstr "La position de glissement."
+msgstr "La position du glissement."
#: doc/classes/InputEventScreenDrag.xml
msgid ""
@@ -32401,13 +32532,15 @@ msgstr ""
#: doc/classes/InputEventScreenDrag.xml
msgid "The drag speed."
-msgstr "La vitesse de glissement."
+msgstr "La vitesse du glissement."
#: doc/classes/InputEventScreenTouch.xml
msgid ""
"Input event type for screen touch events.\n"
"(only available on mobile devices)"
msgstr ""
+"Le type d'événement d'entrée pour les événements de tape sur l'écran.\n"
+"(uniquement disponible sur les appareils mobiles)"
#: doc/classes/InputEventScreenTouch.xml
msgid ""
@@ -32481,6 +32614,7 @@ msgstr ""
msgid ""
"Adds an [InputEvent] to an action. This [InputEvent] will trigger the action."
msgstr ""
+"Ajoute un [InputEvent] à une action. Cet [InputEvent] déclenchera l'action."
#: doc/classes/InputMap.xml
msgid "Removes an [InputEvent] from an action."
@@ -32500,10 +32634,11 @@ msgid ""
"Returns [code]true[/code] if the action has the given [InputEvent] "
"associated with it."
msgstr ""
+"Retourne [code]true[/code] si l'action est associée au [InputEvent] spécifié."
#: doc/classes/InputMap.xml
msgid "Sets a deadzone value for the action."
-msgstr ""
+msgstr "Définit une valeur pour la zone morte de l'action."
#: doc/classes/InputMap.xml
msgid ""
@@ -32641,6 +32776,8 @@ msgid ""
"Cast a [bool] value to an integer value, [code]int(true)[/code] will be "
"equals to 1 and [code]int(false)[/code] will be equals to 0."
msgstr ""
+"Transformer un [bool] en une valeur entière, [code]int(true)[/code] donnera "
+"1 et [code]int(false)[/code] donnera 0."
#: doc/classes/int.xml
msgid ""
@@ -32777,7 +32914,7 @@ msgstr ""
#: doc/classes/IP.xml
msgid "DNS hostname resolver status: No status."
-msgstr ""
+msgstr "Statut du résolveur de noms d'hôtes DNS : Aucun statut."
#: doc/classes/IP.xml
msgid "DNS hostname resolver status: Waiting."
@@ -32808,11 +32945,11 @@ msgstr "Type d’adresse : Aucun."
#: doc/classes/IP.xml
msgid "Address type: Internet protocol version 4 (IPv4)."
-msgstr ""
+msgstr "Type d'adresse : Protocole internet version 4 (IPv4)."
#: doc/classes/IP.xml
msgid "Address type: Internet protocol version 6 (IPv6)."
-msgstr ""
+msgstr "Type d'adresse : Protocole internet version 6 (IPv6)."
#: doc/classes/IP.xml
msgid "Address type: Any."
@@ -32971,6 +33108,8 @@ msgid ""
"Select the item at the specified index.\n"
"[b]Note:[/b] This method does not trigger the item selection signal."
msgstr ""
+"Sélectionner un élément à la position spécifiée.\n"
+"[b]Note :[/b] Cette méthode n'émet pas de signal de sélection de l'élément."
#: doc/classes/ItemList.xml
msgid ""
@@ -33079,6 +33218,9 @@ msgid ""
"If either X or Y component is not greater than zero, icon size won't be "
"affected."
msgstr ""
+"La taille que prendrons toutes les icônes.\n"
+"Si un des composants X ou Y n'est pas supérieur à zéro, la taille ne sera "
+"pas changée."
#: doc/classes/ItemList.xml
msgid ""
@@ -33472,12 +33614,16 @@ msgid ""
"Helper class for parsing JSON data. For usage example and other important "
"hints, see [JSONParseResult]."
msgstr ""
+"Classe d'aide pour interpréter les données JSON. Voir [JSONParseResult] pour "
+"les exemples d'utilisateur ou les notes importantes."
#: doc/classes/JSON.xml
msgid ""
"Parses a JSON-encoded string and returns a [JSONParseResult] containing the "
"result."
msgstr ""
+"Interprète une chaine de caractères encodé en JSON et retourne un "
+"[JSONParseResult] contenant le résultat."
#: doc/classes/JSON.xml
msgid ""
@@ -33549,18 +33695,24 @@ msgid ""
"The error type if the JSON source was not successfully parsed. See the [enum "
"Error] constants."
msgstr ""
+"Un type d'erreur si la source JSON n'a pas été interprétée correctement. "
+"Voir les constantes [enum Error]."
#: doc/classes/JSONParseResult.xml
msgid ""
"The line number where the error occurred if the JSON source was not "
"successfully parsed."
msgstr ""
+"Le numéro de ligne où l'erreur s'est produite dans le cas où le JSON n'a pas "
+"été interprété correctement."
#: doc/classes/JSONParseResult.xml
msgid ""
"The error message if the JSON source was not successfully parsed. See the "
"[enum Error] constants."
msgstr ""
+"Le message d'erreur si la source de JSON n'a pas été correctement "
+"interprétée. Voir les constantes [enum Error]."
#: doc/classes/JSONParseResult.xml
msgid ""
@@ -34461,9 +34613,13 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-#, fuzzy
-msgid "Attempts to reduce [member shadow_bias] gap."
-msgstr "Constante pour l'accès à [member shadow_normal_bias]."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
+msgstr ""
#: doc/classes/Light.xml
msgid "If [code]true[/code], the light will cast shadows."
@@ -34873,8 +35029,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34990,7 +35150,7 @@ msgstr ""
#: doc/classes/LineEdit.xml
msgid "Erases the [LineEdit]'s [member text]."
-msgstr ""
+msgstr "Efface le [member text] du [LineEdit]."
#: doc/classes/LineEdit.xml
msgid ""
@@ -35161,6 +35321,8 @@ msgid ""
"If [code]true[/code], the native virtual keyboard is shown when focused on "
"platforms that support it."
msgstr ""
+"Si [code]true[/code], le clavier virtuel natif est affiché lorsque cet "
+"élément prend le focus sur les plateformes qui le supportent."
#: doc/classes/LineEdit.xml
msgid ""
@@ -36761,6 +36923,15 @@ msgstr "Retourne la [Transform2D] de l'instance spécifiée."
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -36774,6 +36945,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -36816,6 +36999,16 @@ msgid "Mesh to be drawn."
msgstr "Maillage à dessiner."
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -36867,6 +37060,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr "Le nœud que instancie un [MultiMesh]."
@@ -37369,9 +37574,8 @@ msgid "Sets the radius of the agent."
msgstr "Le rayon extérieur du tore."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
-#, fuzzy
msgid "Sets the new target velocity."
-msgstr "Obtient l'objet édité."
+msgstr "Définit la nouvelle vitesse de la cible."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid ""
@@ -37396,9 +37600,8 @@ msgid "Create a new map."
msgstr "Crée une nouvelle carte."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
-#, fuzzy
msgid "Returns the map cell size."
-msgstr "Retourne la taille du tableau."
+msgstr "Retourne la taille des cellules de la carte."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
#, fuzzy
@@ -37596,9 +37799,8 @@ msgid ""
msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
-#, fuzzy
msgid "The radius of the agent."
-msgstr "Le rayon du cylindre."
+msgstr "Le rayon de l'agent."
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
@@ -37955,9 +38157,8 @@ msgid "Clears the navigation mesh."
msgstr "Efface le maillage de navigation."
#: doc/classes/NavigationMeshInstance.xml
-#, fuzzy
msgid "An instance of a [NavigationMesh]."
-msgstr "L’instance est un multi-maillage."
+msgstr "Une instance de [NavigationMesh]."
#: doc/classes/NavigationMeshInstance.xml
msgid ""
@@ -37978,9 +38179,8 @@ msgid "Determines if the [NavigationMeshInstance] is enabled or disabled."
msgstr ""
#: doc/classes/NavigationMeshInstance.xml
-#, fuzzy
msgid "The [NavigationMesh] resource to use."
-msgstr "Le singleton [NavigationMeshGenerator]."
+msgstr "La ressource [NavigationMesh] à utiliser."
#: doc/classes/NavigationMeshInstance.xml
#, fuzzy
@@ -38199,9 +38399,8 @@ msgid ""
msgstr ""
#: doc/classes/NavigationServer.xml
-#, fuzzy
msgid "Returns the map's up direction."
-msgstr "Retourne les dimensions de bitmap."
+msgstr "Retourne la direction haut de la carte."
#: doc/classes/NavigationServer.xml
#, fuzzy
@@ -38209,9 +38408,8 @@ msgid "Set the map cell height used to weld the navigation mesh polygons."
msgstr "Définit le polygone de navigation de la tuile."
#: doc/classes/NavigationServer.xml
-#, fuzzy
msgid "Sets the map up direction."
-msgstr "Arrête l'audio."
+msgstr "Définit la direction haut de la carte."
#: doc/classes/NavigationServer.xml
msgid ""
@@ -38787,7 +38985,7 @@ msgstr ""
#: doc/classes/Node.xml
msgid "Nodes and Scenes"
-msgstr ""
+msgstr "Nœuds et scènes"
#: doc/classes/Node.xml
msgid "All Demos"
@@ -39286,6 +39484,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -39456,6 +39673,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -39556,6 +39788,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -39806,6 +40046,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -40022,7 +40268,7 @@ msgstr ""
#: doc/classes/PanelContainer.xml doc/classes/TileMap.xml
#: doc/classes/TileSet.xml
msgid "2D Role Playing Game Demo"
-msgstr ""
+msgstr "Démo 2D de jeu de role-play"
#: doc/classes/NodePath.xml
msgid ""
@@ -40731,7 +40977,7 @@ msgstr ""
#: doc/classes/OccluderPolygon2D.xml
msgid "The culling mode to use."
-msgstr ""
+msgstr "Le mode de culling à utiliser."
#: doc/classes/OccluderPolygon2D.xml
msgid ""
@@ -40742,18 +40988,19 @@ msgstr ""
#: doc/classes/OccluderPolygon2D.xml
msgid "Culling is disabled. See [member cull_mode]."
-msgstr ""
+msgstr "Le culling est désactivé. Voir [member cull_mode]."
#: doc/classes/OccluderPolygon2D.xml
msgid ""
"Culling is performed in the clockwise direction. See [member cull_mode]."
-msgstr ""
+msgstr "Le culling se fait dans le sens horaire. Voir [member cull_mode]."
#: doc/classes/OccluderPolygon2D.xml
msgid ""
"Culling is performed in the counterclockwise direction. See [member "
"cull_mode]."
msgstr ""
+"Le culling se fait dans le sens horaire inversé. Voir [member cull_mode]."
#: doc/classes/OccluderShape.xml
msgid ""
@@ -40806,8 +41053,8 @@ msgstr "Dessine une géométrie simple à partir du code."
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -40825,14 +41072,12 @@ msgid ""
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
-#, fuzzy
msgid "Sets an individual sphere's position."
-msgstr "Définit un bit individuel sur le [member collision_mask]."
+msgstr "Définit la position d'une seule sphère."
#: doc/classes/OccluderShapeSphere.xml
-#, fuzzy
msgid "Sets an individual sphere's radius."
-msgstr "Définit le rayon des sphères individuelles."
+msgstr "Définit le rayon d'une seule sphère."
#: doc/classes/OccluderShapeSphere.xml
msgid ""
@@ -40843,7 +41088,7 @@ msgstr ""
#: doc/classes/OmniLight.xml
msgid "Omnidirectional light, such as a light bulb or a candle."
-msgstr ""
+msgstr "Une lumière omnidirectionnelle, comme une ampoule ou une bougie."
#: doc/classes/OmniLight.xml
msgid ""
@@ -40903,7 +41148,7 @@ msgstr ""
#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml
msgid "Noise generator based on Open Simplex."
-msgstr ""
+msgstr "Un générateur de bruit basé sur Open Simplex."
#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml
msgid ""
@@ -40967,7 +41212,7 @@ msgstr ""
#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml
msgid "Difference in period between [member octaves]."
-msgstr ""
+msgstr "La différence de période entre les [member octaves]."
#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml
msgid ""
@@ -41035,7 +41280,7 @@ msgstr ""
#: doc/classes/OptionButton.xml
msgid "Returns the amount of items in the OptionButton, including separators."
-msgstr ""
+msgstr "Retourne le nombre d'élément dans ce OptionButton, séparateurs inclus."
#: doc/classes/OptionButton.xml doc/classes/PopupMenu.xml
msgid "Returns the icon of the item at index [code]idx[/code]."
@@ -41048,6 +41293,7 @@ msgstr ""
#: doc/classes/OptionButton.xml
msgid "Returns the index of the item with the given [code]id[/code]."
msgstr ""
+"Retourne l'index de l'élément avec l'identifiant [code]id[/code] spécifié."
#: doc/classes/OptionButton.xml
msgid ""
@@ -41057,7 +41303,7 @@ msgstr ""
#: doc/classes/OptionButton.xml doc/classes/PopupMenu.xml
msgid "Returns the text of the item at index [code]idx[/code]."
-msgstr ""
+msgstr "Retourne le texte de l'élément à l'index [code]idx[/code]."
#: doc/classes/OptionButton.xml
msgid ""
@@ -41075,10 +41321,12 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if the item at index [code]idx[/code] is disabled."
msgstr ""
+"Retourn [code]true[/code] si l'élément à l'index [code]idx[/code] est "
+"désactivé."
#: doc/classes/OptionButton.xml
msgid "Removes the item at index [code]idx[/code]."
-msgstr ""
+msgstr "Retire l'élément à l'index [code]idx[/code]."
#: doc/classes/OptionButton.xml
msgid ""
@@ -41096,11 +41344,11 @@ msgstr ""
#: doc/classes/OptionButton.xml
msgid "Sets the icon of the item at index [code]idx[/code]."
-msgstr ""
+msgstr "Définit l'icône pour l'élément à l'index [code]idx[/code]."
#: doc/classes/OptionButton.xml
msgid "Sets the ID of the item at index [code]idx[/code]."
-msgstr ""
+msgstr "Définit l'identifiant pour l'élément à l'index [code]idx[/code]."
#: doc/classes/OptionButton.xml
msgid ""
@@ -41110,7 +41358,7 @@ msgstr ""
#: doc/classes/OptionButton.xml doc/classes/PopupMenu.xml
msgid "Sets the text of the item at index [code]idx[/code]."
-msgstr ""
+msgstr "Définit le texte pour l'élément à l'index [code]idx[/code]."
#: doc/classes/OptionButton.xml
msgid ""
@@ -41133,7 +41381,7 @@ msgstr ""
#: doc/classes/OptionButton.xml
msgid "Default text [Color] of the [OptionButton]."
-msgstr ""
+msgstr "La [Color] par défaut du texte pour le [OptionButton]."
#: doc/classes/OptionButton.xml
msgid "Text [Color] used when the [OptionButton] is disabled."
@@ -41148,11 +41396,11 @@ msgstr ""
#: doc/classes/OptionButton.xml
msgid "Text [Color] used when the [OptionButton] is being hovered."
-msgstr ""
+msgstr "La [Color] du texte utilisée quand le [OptionButton] est survolé."
#: doc/classes/OptionButton.xml
msgid "Text [Color] used when the [OptionButton] is being pressed."
-msgstr ""
+msgstr "La [Color] du texte utilisée quand le [OptionButton] est pressé."
#: doc/classes/OptionButton.xml
msgid ""
@@ -41165,7 +41413,7 @@ msgstr ""
#: doc/classes/OptionButton.xml
msgid "[Font] of the [OptionButton]'s text."
-msgstr ""
+msgstr "La [Font] du texte du [OptionButton]."
#: doc/classes/OptionButton.xml
msgid "The arrow icon to be drawn on the right end of the button."
@@ -41188,7 +41436,7 @@ msgstr ""
#: doc/classes/OptionButton.xml
msgid "Default [StyleBox] for the [OptionButton]."
-msgstr ""
+msgstr "Le [StyleBox] par défaut pour le [OptionButton]."
#: doc/classes/OptionButton.xml
msgid "[StyleBox] used when the [OptionButton] is being pressed."
@@ -41604,13 +41852,26 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
-#, fuzzy
msgid "Returns the window size including decorations like window borders."
-msgstr "Retourne le nœud de fin de la transition donnée."
+msgstr ""
+"Retourne la taille de la fenêtre en incluant les décorations, comme les "
+"bordures."
#: doc/classes/OS.xml
msgid ""
@@ -41621,9 +41882,8 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-#, fuzzy
msgid "Returns the number of displays attached to the host machine."
-msgstr "Retourne le nombre de formes assignées à une zone."
+msgstr "Retourne le nombre d'écrans connectés à la machine hôte."
#: doc/classes/OS.xml
msgid ""
@@ -42345,9 +42605,9 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-#, fuzzy
msgid "If [code]true[/code], the window is resizable by the user."
-msgstr "Si [code]true[/code], le filtrage est activé."
+msgstr ""
+"Si [code]true[/code], la fenêtre peut être redimensionnée par l'utilisateur."
#: doc/classes/OS.xml
msgid "The size of the window (without counting window manager decorations)."
@@ -42517,7 +42777,7 @@ msgstr "Chemin d’accès du répertoire de bureau."
#: doc/classes/OS.xml
msgid "DCIM (Digital Camera Images) directory path."
-msgstr ""
+msgstr "Le chemin du dossier DCIM (images de la caméra numérique)."
#: doc/classes/OS.xml
msgid "Documents directory path."
@@ -42892,7 +43152,7 @@ msgstr ""
#: doc/classes/PacketPeerUDP.xml
msgid "Returns whether this [PacketPeerUDP] is listening."
-msgstr ""
+msgstr "Retourne quand ce [PacketPeerUDP] écoute."
#: doc/classes/PacketPeerUDP.xml
msgid ""
@@ -42974,7 +43234,7 @@ msgstr ""
#: doc/classes/Panel.xml
msgid "2D Finite State Machine Demo"
-msgstr ""
+msgstr "Démo 2D de machine à états finis"
#: doc/classes/Panel.xml doc/classes/Skeleton.xml doc/classes/SkeletonIK.xml
msgid "3D Inverse Kinematics Demo"
@@ -43300,7 +43560,7 @@ msgstr ""
#: doc/classes/ParticlesMaterial.xml
msgid "Returns the randomness ratio associated with the specified parameter."
-msgstr ""
+msgstr "Retourne le facteur d'aléatoire associé avec le paramètre spécifié."
#: doc/classes/ParticlesMaterial.xml
#, fuzzy
@@ -43319,7 +43579,7 @@ msgstr ""
#: doc/classes/ParticlesMaterial.xml
msgid "Sets the randomness ratio for the specified [enum Parameter]."
-msgstr ""
+msgstr "Définit le facteur d'aléatoire pour le [enum Parameter] spécifié."
#: doc/classes/ParticlesMaterial.xml
#, fuzzy
@@ -43615,7 +43875,7 @@ msgstr "Une [Curve3D] décrivant le chemin."
#: doc/classes/Path.xml
msgid "Emitted when the [member curve] changes."
-msgstr ""
+msgstr "Émis quand cette [member curve] change."
#: doc/classes/Path2D.xml
msgid "Contains a [Curve2D] path for [PathFollow2D] nodes to follow."
@@ -43635,9 +43895,8 @@ msgid "A [Curve2D] describing the path."
msgstr "Une [Curve2D] décrivant le chemin."
#: doc/classes/PathFollow.xml
-#, fuzzy
msgid "Point sampler for a [Path]."
-msgstr "Échantillonneur de points pour un [Path2D]."
+msgstr "Échantillonneur de points pour un [Path]."
#: doc/classes/PathFollow.xml
msgid ""
@@ -43665,7 +43924,7 @@ msgstr ""
#: doc/classes/PathFollow.xml doc/classes/PathFollow2D.xml
msgid "The node's offset along the curve."
-msgstr ""
+msgstr "Le décalage du nœud le long de la courbe."
#: doc/classes/PathFollow.xml doc/classes/PathFollow2D.xml
msgid ""
@@ -43698,9 +43957,8 @@ msgid "The node's offset perpendicular to the curve."
msgstr ""
#: doc/classes/PathFollow.xml
-#, fuzzy
msgid "Forbids the PathFollow to rotate."
-msgstr "Interdit au PathFollow3D de tourner."
+msgstr "Interdit au PathFollow de pivoter pour suivre le chemin."
#: doc/classes/PathFollow.xml
#, fuzzy
@@ -43899,23 +44157,23 @@ msgstr ""
#: doc/classes/Performance.xml
msgid "3D objects drawn per frame."
-msgstr "Objets 3D dessinés par image."
+msgstr "Les objets 3D dessinés par trame."
#: doc/classes/Performance.xml
msgid "Vertices drawn per frame. 3D only."
-msgstr ""
+msgstr "Les sommets dessinés durant la trame. Seulement pour la 3D."
#: doc/classes/Performance.xml
msgid "Material changes per frame. 3D only."
-msgstr ""
+msgstr "Les matériaux changés durant la trame. Seulement pour la 3D."
#: doc/classes/Performance.xml
msgid "Shader changes per frame. 3D only."
-msgstr ""
+msgstr "Les shaders changés durant la trame. Seulement pour la 3D."
#: doc/classes/Performance.xml
msgid "Render surface changes per frame. 3D only."
-msgstr ""
+msgstr "Les surfaces affichées changées durant la trame. Seulement pour la 3D."
#: doc/classes/Performance.xml
msgid "Draw calls per frame. 3D only."
@@ -44036,7 +44294,7 @@ msgstr "Ajoute une force de rotation constante."
#: doc/classes/Physics2DDirectBodyState.xml doc/classes/RigidBody2D.xml
msgid "Applies a directional impulse without affecting rotation."
-msgstr ""
+msgstr "Applique une impulsion directionnelle changer affecter la rotation."
#: doc/classes/Physics2DDirectBodyState.xml
msgid ""
@@ -44049,7 +44307,7 @@ msgstr ""
#: doc/classes/Physics2DDirectBodyState.xml doc/classes/RigidBody2D.xml
msgid "Applies a rotational impulse to the body."
-msgstr ""
+msgstr "Applique une impulsion de rotation au corps."
#: doc/classes/Physics2DDirectBodyState.xml
#: doc/classes/PhysicsDirectBodyState.xml
@@ -44070,7 +44328,7 @@ msgstr ""
#: doc/classes/Physics2DDirectBodyState.xml
#: doc/classes/PhysicsDirectBodyState.xml
msgid "Returns the contact position in the collider."
-msgstr ""
+msgstr "Retourne la position du contact sur le collisionneur."
#: doc/classes/Physics2DDirectBodyState.xml
#: doc/classes/PhysicsDirectBodyState.xml
@@ -44129,9 +44387,8 @@ msgid "Calls the built-in force integration code."
msgstr ""
#: doc/classes/Physics2DDirectBodyState.xml doc/classes/RigidBody2D.xml
-#, fuzzy
msgid "The body's rotational velocity in [i]radians[/i] per second."
-msgstr "La vitesse de rotation du corps."
+msgstr "La vitesse de rotation du corps en [i]radians[/i] par seconde."
#: doc/classes/Physics2DDirectBodyState.xml
#: doc/classes/PhysicsDirectBodyState.xml
@@ -44144,9 +44401,8 @@ msgid "The inverse of the mass of the body."
msgstr ""
#: doc/classes/Physics2DDirectBodyState.xml
-#, fuzzy
msgid "The body's linear velocity in pixels per second."
-msgstr "La vitesse de la souris en pixels par seconde."
+msgstr "La vitesse linéaire d'un corps en pixels par seconde."
#: doc/classes/Physics2DDirectBodyState.xml
#: doc/classes/PhysicsDirectBodyState.xml
@@ -44155,8 +44411,9 @@ msgstr ""
#: doc/classes/Physics2DDirectBodyState.xml
#: doc/classes/PhysicsDirectBodyState.xml
+#, fuzzy
msgid "The timestep (delta) used for the simulation."
-msgstr ""
+msgstr "L'étape de temps (delta) utilisé pour la simulation."
#: doc/classes/Physics2DDirectBodyState.xml
#: doc/classes/PhysicsDirectBodyState.xml
@@ -44326,7 +44583,7 @@ msgstr ""
#: doc/classes/Physics2DServer.xml
msgid "Server interface for low-level 2D physics access."
-msgstr ""
+msgstr "L'interface du serveur pour l'accès à la physique 2D en bas niveau."
#: doc/classes/Physics2DServer.xml
#, fuzzy
@@ -45280,9 +45537,8 @@ msgid ""
msgstr ""
#: doc/classes/PhysicsDirectBodyState.xml
-#, fuzzy
msgid "The body's linear velocity in units per second."
-msgstr "La vitesse linéaire du corps."
+msgstr "La vitesse linéaire du corps en unités par secondes."
#: doc/classes/PhysicsDirectSpaceState.xml
msgid "Direct access object to a space in the [PhysicsServer]."
@@ -45710,29 +45966,24 @@ msgid ""
msgstr ""
#: doc/classes/PhysicsServer.xml
-#, fuzzy
msgid "The [Joint] is a [PinJoint]."
-msgstr "Le [Joint3D] est un [PinJoint3D]."
+msgstr "Le [Joint] est un [PinJoint]."
#: doc/classes/PhysicsServer.xml
-#, fuzzy
msgid "The [Joint] is a [HingeJoint]."
-msgstr "Le [Joint3D] est un [HingeJoint3D]."
+msgstr "Le [Joint] est un [HingeJoint]."
#: doc/classes/PhysicsServer.xml
-#, fuzzy
msgid "The [Joint] is a [SliderJoint]."
-msgstr "Le [Joint3D] est un [SliderJoint3D]."
+msgstr "Le [Joint] est un [SliderJoint]."
#: doc/classes/PhysicsServer.xml
-#, fuzzy
msgid "The [Joint] is a [ConeTwistJoint]."
-msgstr "Le [Joint3D] est un [ConeTwistJoint3D]."
+msgstr "Le [Joint] est un [ConeTwistJoint]."
#: doc/classes/PhysicsServer.xml
-#, fuzzy
msgid "The [Joint] is a [Generic6DOFJoint]."
-msgstr "Le [Joint3D] est un [Generic6DOFJoint3D]."
+msgstr "Le [Joint] est un [Generic6DOFJoint]."
#: doc/classes/PhysicsServer.xml
msgid ""
@@ -45949,49 +46200,40 @@ msgid ""
msgstr ""
#: doc/classes/PhysicsServer.xml
-#, fuzzy
msgid "The [Shape] is a [PlaneShape]."
-msgstr "Le [Shape3D] est un [RayShape3D]."
+msgstr "Le [Shape] est un [PlaneShape]."
#: doc/classes/PhysicsServer.xml
-#, fuzzy
msgid "The [Shape] is a [RayShape]."
-msgstr "Le [Shape3D] est un [RayShape3D]."
+msgstr "Le [Shape] est un [RayShape]."
#: doc/classes/PhysicsServer.xml
-#, fuzzy
msgid "The [Shape] is a [SphereShape]."
-msgstr "La [Shape3D] est une [SphereShape3D]."
+msgstr "La [Shape] est une [SphereShape]."
#: doc/classes/PhysicsServer.xml
-#, fuzzy
msgid "The [Shape] is a [BoxShape]."
-msgstr "La [Shape3D] est une [BoxShape3D]."
+msgstr "La [Shape] est une [BoxShape]."
#: doc/classes/PhysicsServer.xml
-#, fuzzy
msgid "The [Shape] is a [CapsuleShape]."
-msgstr "La [Shape3D] est une [CapsuleShape3D]."
+msgstr "La [Shape] est une [CapsuleShape]."
#: doc/classes/PhysicsServer.xml
-#, fuzzy
msgid "The [Shape] is a [CylinderShape]."
-msgstr "La [Shape3D] est un [CylinderShape3D]."
+msgstr "La [Shape] est un [CylinderShape]."
#: doc/classes/PhysicsServer.xml
-#, fuzzy
msgid "The [Shape] is a [ConvexPolygonShape]."
-msgstr "La [Shape3D] est un [ConvexPolygonShape3D]."
+msgstr "La [Shape] est un [ConvexPolygonShape]."
#: doc/classes/PhysicsServer.xml
-#, fuzzy
msgid "The [Shape] is a [ConcavePolygonShape]."
-msgstr "La [Shape3D] est un [ConvexPolygonShape3D]."
+msgstr "La [Shape] est un [ConcavePolygonShape]."
#: doc/classes/PhysicsServer.xml
-#, fuzzy
msgid "The [Shape] is a [HeightMapShape]."
-msgstr "La [Shape3D] est un [HeightMapShape3D]."
+msgstr "La [Shape] est un [HeightMapShape]."
#: doc/classes/PhysicsShapeQueryParameters.xml
msgid "Parameters to be sent to a 3D shape physics query."
@@ -46119,6 +46361,8 @@ msgid ""
"Returns [code]true[/code] if [code]point[/code] is inside the plane. "
"Comparison uses a custom minimum [code]epsilon[/code] threshold."
msgstr ""
+"Retourn [code]true[/code] si [code]point[/code] est à l'intérieur du plan. "
+"La comparaison se fait sous le seuil [code]epsilon[/code]."
#: doc/classes/Plane.xml
msgid ""
@@ -46400,7 +46644,6 @@ msgid ""
msgstr ""
#: doc/classes/PoolByteArray.xml
-#, fuzzy
msgid "A pooled [Array] of bytes."
msgstr "Un [Array] compacté d'octets."
@@ -46520,9 +46763,8 @@ msgid ""
msgstr ""
#: doc/classes/PoolColorArray.xml
-#, fuzzy
msgid "A pooled [Array] of [Color]."
-msgstr "Un [Array] compacté d'octets."
+msgstr "Un [Array] compacté de [Color]."
#: doc/classes/PoolColorArray.xml
msgid ""
@@ -46544,7 +46786,7 @@ msgstr "Ajoute un [PackedVector3Array] à la fin de ce tableau."
#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
msgid "Appends a value to the array."
-msgstr ""
+msgstr "Ajoute une valeur à la fin du tableau."
#: doc/classes/PoolColorArray.xml doc/classes/PoolStringArray.xml
#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
@@ -46631,9 +46873,8 @@ msgid "Changes the float at the given index."
msgstr ""
#: doc/classes/PoolStringArray.xml
-#, fuzzy
msgid "A pooled [Array] of [String]."
-msgstr "Un [Array] compacté d'octets."
+msgstr "Un [Array] compacté de [String]."
#: doc/classes/PoolStringArray.xml
msgid ""
@@ -46662,16 +46903,15 @@ msgstr "Retourne le [WebSocketPeer] associé au [code]peer_id[/code] donné."
#: doc/classes/PoolStringArray.xml
msgid "Appends a string element at end of the array."
-msgstr ""
+msgstr "Ajoute une chaine de caractère à la fin du tableau."
#: doc/classes/PoolStringArray.xml
msgid "Changes the [String] at the given index."
msgstr ""
#: doc/classes/PoolVector2Array.xml
-#, fuzzy
msgid "A pooled [Array] of [Vector2]."
-msgstr "Un [Array] compacté d'octets."
+msgstr "Un [Array] compacté de [Vector2]."
#: doc/classes/PoolVector2Array.xml
msgid ""
@@ -46705,9 +46945,8 @@ msgid "Changes the [Vector2] at the given index."
msgstr "Modifie le [Vector2] à l’index donné."
#: doc/classes/PoolVector3Array.xml
-#, fuzzy
msgid "A pooled [Array] of [Vector3]."
-msgstr "Un [Array] compacté d'octets."
+msgstr "Un [Array] compacté de [Vector3]."
#: doc/classes/PoolVector3Array.xml
msgid ""
@@ -46819,9 +47058,8 @@ msgstr ""
"La notification est envoyée dès que la fenêtre contextuelle est masquée."
#: doc/classes/PopupDialog.xml
-#, fuzzy
msgid "Base class for popup dialogs."
-msgstr "Classe de base pour les séparateurs."
+msgstr "Classe parente des fenêtres de dialogue."
#: doc/classes/PopupDialog.xml
msgid ""
@@ -49651,6 +49889,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -49661,8 +49910,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -50181,14 +50432,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -50317,8 +50573,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -50814,24 +51070,32 @@ msgid ""
"W component of the quaternion (real part).\n"
"Quaternion components should usually not be manipulated directly."
msgstr ""
+"Le composant W du quaternion (partie réelle).\n"
+"Les composants des quaternions ne devraient pas être modifié directement."
#: doc/classes/Quat.xml
msgid ""
"X component of the quaternion (imaginary [code]i[/code] axis part).\n"
"Quaternion components should usually not be manipulated directly."
msgstr ""
+"Le composant X du quaternion (partie de l'axe imaginaire [code]i[/code]).\n"
+"Les composants des quaternions ne devraient pas être modifié directement."
#: doc/classes/Quat.xml
msgid ""
"Y component of the quaternion (imaginary [code]j[/code] axis part).\n"
"Quaternion components should usually not be manipulated directly."
msgstr ""
+"Le composant Y du quaternion (partie de l'axe imaginaire [code]j[/code]).\n"
+"Les composants des quaternions ne devraient pas être modifié directement."
#: doc/classes/Quat.xml
msgid ""
"Z component of the quaternion (imaginary [code]k[/code] axis part).\n"
"Quaternion components should usually not be manipulated directly."
msgstr ""
+"Le composant Z du quaternion (partie de l'axe imaginaire [code]k[/code]).\n"
+"Les composants des quaternions ne devraient pas être modifié directement."
#: doc/classes/Quat.xml
msgid ""
@@ -51997,7 +52261,7 @@ msgstr ""
#: doc/classes/ResourceFormatLoader.xml
msgid "Loads a specific resource type from a file."
-msgstr ""
+msgstr "Charge un type de ressource spécifique depuis un fichier."
#: doc/classes/ResourceFormatLoader.xml
msgid ""
@@ -52068,7 +52332,7 @@ msgstr ""
#: doc/classes/ResourceFormatSaver.xml
msgid "Saves a specific resource type to a file."
-msgstr ""
+msgstr "Enregistre un type de ressource spécifique dans un fichier."
#: doc/classes/ResourceFormatSaver.xml
msgid ""
@@ -52094,6 +52358,8 @@ msgstr ""
#: doc/classes/ResourceFormatSaver.xml
msgid "Returns whether the given resource object can be saved by this saver."
msgstr ""
+"Retourne quand une ressource donnée peut être enregistrée par ce "
+"enregistreur."
#: doc/classes/ResourceFormatSaver.xml
msgid ""
@@ -52442,7 +52708,7 @@ msgstr ""
#: doc/classes/RichTextLabel.xml
msgid "BBCode in RichTextLabel"
-msgstr ""
+msgstr "BBCode dans RichTextLabel"
#: doc/classes/RichTextLabel.xml
msgid "GUI Rich Text/BBcode Demo"
@@ -52475,6 +52741,8 @@ msgstr ""
#: doc/classes/RichTextLabel.xml
msgid "Clears the tag stack and sets [member bbcode_text] to an empty string."
msgstr ""
+"Efface la pile des marqueurs et définit [member bbcode_text] avec un texte "
+"vide."
#: doc/classes/RichTextLabel.xml
msgid "Returns the height of the content."
@@ -52586,22 +52854,27 @@ msgstr ""
#: doc/classes/RichTextLabel.xml
msgid "Adds a [code][font][/code] tag with a monospace font to the tag stack."
msgstr ""
+"Ajouter un marqueur [code][font][/code] avec une police monospace dans la "
+"pile des marqueurs."
#: doc/classes/RichTextLabel.xml
msgid "Adds a [code][font][/code] tag with a normal font to the tag stack."
msgstr ""
+"Ajouter un marqueur [code][font][/code] avec une police normale dans la pile "
+"des marqueurs."
#: doc/classes/RichTextLabel.xml
msgid "Adds a [code][s][/code] tag to the tag stack."
-msgstr ""
+msgstr "Ajouter un marqueur [code][s][/code] dans la pile des marqueurs."
#: doc/classes/RichTextLabel.xml
msgid "Adds a [code][table=columns][/code] tag to the tag stack."
msgstr ""
+"Ajouter un marqueur [code][table=columns][/code] dans la pile des marqueurs."
#: doc/classes/RichTextLabel.xml
msgid "Adds a [code][u][/code] tag to the tag stack."
-msgstr ""
+msgstr "Ajouter un marqueur [code][u][/code] dans la pile des marqueurs."
#: doc/classes/RichTextLabel.xml
msgid ""
@@ -54298,6 +54571,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -54491,9 +54771,8 @@ msgid ""
msgstr ""
#: doc/classes/SceneTreeTimer.xml
-#, fuzzy
msgid "The time remaining (in seconds)."
-msgstr "Le temps restant."
+msgstr "Le temps restant (en secondes)."
#: doc/classes/SceneTreeTimer.xml doc/classes/Timer.xml
#, fuzzy
@@ -55410,9 +55689,8 @@ msgid ""
msgstr ""
#: doc/classes/Slider.xml
-#, fuzzy
msgid "Emitted when dragging is started."
-msgstr "Émis lorsque le défilement est commencé."
+msgstr "Émis lorsque le glissement de la souris a commencé."
#: doc/classes/SliderJoint.xml
msgid "Slider between two PhysicsBodies in 3D."
@@ -55574,6 +55852,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -57451,7 +57741,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -57465,7 +57755,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -58184,10 +58474,13 @@ msgstr ""
"chaîne de caractères donnée."
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
-"Retourne les bigrammes (paires de lettres consécutives) de cette chaîne de "
-"caractères."
#: doc/classes/String.xml
#, fuzzy
@@ -58489,7 +58782,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -58512,11 +58814,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -58565,14 +58880,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -58742,8 +59059,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -60296,6 +60621,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr "Retourne le nombre de pistes dans l'animation."
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "Retourne la position du contact sur le collisionneur."
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "Renvoie le nombre de lignes visibles."
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -60557,13 +60892,10 @@ msgid ""
msgstr ""
#: doc/classes/TextEdit.xml
-#, fuzzy
msgid ""
"If [code]true[/code], shortcut keys for context menu items are enabled, even "
"if the context menu is disabled."
msgstr ""
-"Si [code]true[/code] (vrai), les nœuds enfants sont triés, sinon le tri est "
-"désactivé."
#: doc/classes/TextEdit.xml
msgid ""
@@ -61212,26 +61544,28 @@ msgstr ""
msgid ""
"Multiplies the color of the bar's [code]texture_progress[/code] texture."
msgstr ""
+"Multiplie la couleur de la texture [code]texture_progress[/code] de la barre."
#: doc/classes/TextureProgress.xml
msgid "Multiplies the color of the bar's [code]texture_under[/code] texture."
msgstr ""
+"Multiplie la couleur de la texture [code]texture_under[/code] de la barre."
#: doc/classes/TextureProgress.xml
msgid "The [member texture_progress] fills from left to right."
-msgstr ""
+msgstr "La [member texture_progress] remplis de gauche à droite."
#: doc/classes/TextureProgress.xml
msgid "The [member texture_progress] fills from right to left."
-msgstr ""
+msgstr "La [member texture_progress] remplis de droite à gauche."
#: doc/classes/TextureProgress.xml
msgid "The [member texture_progress] fills from top to bottom."
-msgstr ""
+msgstr "La [member texture_progress] remplis de haut en bas."
#: doc/classes/TextureProgress.xml
msgid "The [member texture_progress] fills from bottom to top."
-msgstr ""
+msgstr "La [member texture_progress] remplis de bas en haut."
#: doc/classes/TextureProgress.xml
msgid ""
@@ -61380,6 +61714,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -61528,6 +61868,19 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+"Retourne l'index de l'élément avec l'identifiant [code]id[/code] spécifié."
+
+#: doc/classes/Theme.xml
#, fuzzy
msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
@@ -61585,6 +61938,15 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+"Retourne [code]true[/code] si la piste donnée est importée. Sinon retourne "
+"[code]false[/code]."
+
+#: doc/classes/Theme.xml
msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
@@ -61681,6 +62043,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -61731,7 +62107,7 @@ msgstr ""
#: doc/classes/Thread.xml
msgid "Using multiple threads"
-msgstr ""
+msgstr "Utilisation de plusieurs threads"
#: doc/classes/Thread.xml
msgid "Thread-safe APIs"
@@ -62458,7 +62834,7 @@ msgstr ""
#: doc/classes/TileSet.xml
msgid "Sets a shape for the tile, enabling collision."
-msgstr ""
+msgstr "Définit une forme pour la tuile, activant la collision."
#: doc/classes/TileSet.xml
msgid "Sets the offset of a tile's shape."
@@ -62907,9 +63283,8 @@ msgid "The horizontal space between [ToolButton]'s icon and text."
msgstr "L'espacement entre l'icône de l'élément et le texte."
#: doc/classes/ToolButton.xml
-#, fuzzy
msgid "[Font] of the [ToolButton]'s text."
-msgstr "[Font] du texte du [Button]."
+msgstr "La [Font] du texte du [ToolButton]."
#: doc/classes/ToolButton.xml
#, fuzzy
@@ -62930,9 +63305,8 @@ msgid "[StyleBox] used when the [ToolButton] is being hovered."
msgstr ""
#: doc/classes/ToolButton.xml
-#, fuzzy
msgid "Default [StyleBox] for the [ToolButton]."
-msgstr "[StyleBox] par défaut pour le [Button]."
+msgstr "Le [StyleBox] par défaut pour le [ToolButton]."
#: doc/classes/ToolButton.xml
#, fuzzy
@@ -62962,7 +63336,7 @@ msgstr ""
#: doc/classes/TouchScreenButton.xml
msgid "Returns [code]true[/code] if this button is currently pressed."
-msgstr ""
+msgstr "Retourne [code]true[/code] si le bouton est actuelle pressé."
#: doc/classes/TouchScreenButton.xml
msgid "The button's action. Actions can be handled with [InputEventAction]."
@@ -63162,8 +63536,8 @@ msgid ""
"The translation offset of the transform (column 3, the fourth column). "
"Equivalent to array index [code]3[/code]."
msgstr ""
-"Le décalage de translation du transform (colonne 3, quatrième colonne). "
-"Équivalent à l'index du tableau [code]3[/code]."
+"Le décalage de translation de la transformation (colonne 3, quatrième "
+"colonne). Équivalent à l'index du tableau [code]3[/code]."
#: doc/classes/Transform.xml
msgid ""
@@ -63173,17 +63547,15 @@ msgstr ""
#: doc/classes/Transform.xml
msgid "[Transform] with mirroring applied perpendicular to the YZ plane."
-msgstr ""
-"[Transform] avec mise en miroir appliquée perpendiculairement au plan YZ."
+msgstr "[Transform] avec effet miroir appliqué perpendiculairement au plan YZ."
#: doc/classes/Transform.xml
msgid "[Transform] with mirroring applied perpendicular to the XZ plane."
-msgstr "[Transform] avec un miroir appliqué perpendiculairement au plan XZ."
+msgstr "[Transform] avec effet miroir appliqué perpendiculairement au plan XZ."
#: doc/classes/Transform.xml
msgid "[Transform] with mirroring applied perpendicular to the XY plane."
-msgstr ""
-"[Transform] avec mise en miroir appliquée perpendiculairement au plan XY."
+msgstr "[Transform] avec effet miroir appliqué perpendiculairement au plan XY."
#: doc/classes/Transform2D.xml
msgid "2D transformation (2×3 matrix)."
@@ -63864,7 +64236,7 @@ msgstr ""
#: doc/classes/Tree.xml
msgid "[StyleBox] used when the [Tree] is being focused."
-msgstr ""
+msgstr "Le [StyleBox] utilisé quand le [Tree] a actuellement le focus."
#: doc/classes/Tree.xml
msgid "[StyleBox] used when a button in the tree is pressed."
@@ -63933,7 +64305,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -63980,10 +64352,9 @@ msgstr ""
"est préssé. Voir [enum JoyButtonList]."
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
-msgstr ""
+#, fuzzy
+msgid "Returns the number of buttons in column [code]column[/code]."
+msgstr "Sélectionne la colonne [code]column[/code]."
#: doc/classes/TreeItem.xml
#, fuzzy
@@ -65373,11 +65744,8 @@ msgid "The vertical space between the [VBoxContainer]'s elements."
msgstr ""
#: doc/classes/Vector2.xml
-#, fuzzy
msgid "Vector used for 2D math."
-msgstr ""
-"Vecteur utilisé pour les mathématiques 2D utilisant des coordonnées "
-"d'entiers."
+msgstr "Vecteur utilisé en 2D."
#: doc/classes/Vector2.xml
msgid ""
@@ -65672,6 +66040,8 @@ msgid ""
"Infinity vector, a vector with all components set to [constant @GDScript."
"INF]."
msgstr ""
+"Le vecteur infini, un vecteur avec tous ses composants définit à [constant "
+"@GDScript.INF]."
#: doc/classes/Vector2.xml
msgid "Left unit vector. Represents the direction of left."
@@ -65690,10 +66060,8 @@ msgid "Down unit vector. Y is down in 2D, so this vector points +Y."
msgstr ""
#: doc/classes/Vector3.xml
-#, fuzzy
msgid "Vector used for 3D math."
-msgstr ""
-"Vecteur utilisé pour les mathématiques 3D à l’aide de coordonnées d'entiers."
+msgstr "Vecteur utilisé en 3D."
#: doc/classes/Vector3.xml
msgid ""
@@ -65785,6 +66153,8 @@ msgid ""
"Rotates this vector around a given axis by [code]phi[/code] radians. The "
"axis must be a normalized vector."
msgstr ""
+"Pivote ce vecteur autour de l'axe donné par [code]phi[/code] radians. L'axe "
+"donné doit être normalisé."
#: doc/classes/Vector3.xml
msgid ""
@@ -68197,9 +68567,8 @@ msgid "A Visual Script node returning a constant from [@GlobalScope]."
msgstr "Un nœud Visual Script utilisé pour annoter le script."
#: modules/visual_script/doc_classes/VisualScriptGlobalConstant.xml
-#, fuzzy
msgid "The constant to be used."
-msgstr "Le type de la constante."
+msgstr "La constante à utiliser."
#: modules/visual_script/doc_classes/VisualScriptIndexGet.xml
#, fuzzy
@@ -68249,9 +68618,8 @@ msgid "State of the action to check. See [enum Mode] for options."
msgstr "La fonction à calculer. Voir [enum Function] pour les options."
#: modules/visual_script/doc_classes/VisualScriptInputAction.xml
-#, fuzzy
msgid "[code]True[/code] if action is pressed."
-msgstr "Si [code]true[/code], le filtrage est activé."
+msgstr "Si [code]true[/code], l'action est pressée."
#: modules/visual_script/doc_classes/VisualScriptInputAction.xml
#, fuzzy
@@ -69208,7 +69576,7 @@ msgstr ""
#: doc/classes/VisualServer.xml
#, fuzzy
msgid "Sets clipping for the [CanvasItem]."
-msgstr "Définit l’index du [CanvasItem]."
+msgstr "Définit la coupure du [CanvasItem]."
#: doc/classes/VisualServer.xml
msgid "Sets the [CanvasItem] to copy a rect to the backbuffer."
@@ -70347,9 +70715,8 @@ msgid ""
msgstr ""
#: doc/classes/VisualServer.xml
-#, fuzzy
msgid "Sets a material's line width."
-msgstr "Définit la priorité de rendu d’un matériau."
+msgstr "Définit l'épaisseur des lignes du matériau."
#: doc/classes/VisualServer.xml
msgid "Sets an object's next material."
@@ -70434,9 +70801,8 @@ msgid "Sets a mesh's custom aabb."
msgstr "Définit l’aabb personnalisé d’un maillage."
#: doc/classes/VisualServer.xml
-#, fuzzy
msgid "Returns a mesh's surface's aabb."
-msgstr "Retourne l’aabb personnalisé d’un maillage."
+msgstr "Retourne l’aabb de la surface d'un maillage."
#: doc/classes/VisualServer.xml
#, fuzzy
@@ -71962,7 +72328,7 @@ msgstr ""
#: doc/classes/VisualServer.xml
msgid "Debug draw is disabled. Default setting."
-msgstr "L'affichage de débogage est désactivé. La valeur par défaut."
+msgstr "L'affichage de débogage est désactivé. C'est la valeur par défaut."
#: doc/classes/VisualServer.xml
#, fuzzy
@@ -72045,8 +72411,10 @@ msgid ""
msgstr ""
#: doc/classes/VisualServer.xml
+#, fuzzy
msgid "Allows the instance to be used in baked lighting."
msgstr ""
+"Autorise une instance à pouvoir être utilisé pour le baking des lumières."
#: doc/classes/VisualServer.xml
msgid "When set, manually requests to draw geometry on next frame."
@@ -72070,11 +72438,15 @@ msgid ""
"Disable backface culling when rendering the shadow of the object. This is "
"slightly slower but may result in more correct shadows."
msgstr ""
+"Désactiver le culling des faces arrières lors du rendu de l'ombre de "
+"l'objet. Ceci est légèrement plus lent mais peut permettre d'obtenir de "
+"meilleures ombres."
#: doc/classes/VisualServer.xml
msgid ""
"Only render the shadows from the object. The object itself will not be drawn."
msgstr ""
+"N'afficher que l'ombre de l'objet. L'objet en lui-même ne sera pas affiché."
#: doc/classes/VisualServer.xml
msgid "The nine patch gets stretched where needed."
@@ -72092,43 +72464,43 @@ msgstr ""
#: doc/classes/VisualServer.xml
msgid "Adds light color additive to the canvas."
-msgstr ""
+msgstr "Ajoute une couleur additive de lumière au canevas."
#: doc/classes/VisualServer.xml
msgid "Adds light color subtractive to the canvas."
-msgstr ""
+msgstr "Ajoute une couleur soustractive de lumière au canevas."
#: doc/classes/VisualServer.xml
msgid "The light adds color depending on transparency."
-msgstr ""
+msgstr "La lumière ajoute une couleur suivant la transparence."
#: doc/classes/VisualServer.xml
msgid "The light adds color depending on mask."
-msgstr ""
+msgstr "La lumière ajoute une couleur suivant un masque."
#: doc/classes/VisualServer.xml
msgid "Do not apply a filter to canvas light shadows."
-msgstr ""
+msgstr "Ne pas appliquer de lissage pour les ombres du canevas."
#: doc/classes/VisualServer.xml
msgid "Use PCF3 filtering to filter canvas light shadows."
-msgstr ""
+msgstr "Utiliser le filtre PCF3 pour lisser les ombres des canevas."
#: doc/classes/VisualServer.xml
msgid "Use PCF5 filtering to filter canvas light shadows."
-msgstr ""
+msgstr "Utiliser le filtre PCF5 pour lisser les ombres des canevas."
#: doc/classes/VisualServer.xml
msgid "Use PCF7 filtering to filter canvas light shadows."
-msgstr ""
+msgstr "Utiliser le filtre PCF7 pour lisser les ombres des canevas."
#: doc/classes/VisualServer.xml
msgid "Use PCF9 filtering to filter canvas light shadows."
-msgstr ""
+msgstr "Utiliser le filtre PCF9 pour lisser les ombres des canevas."
#: doc/classes/VisualServer.xml
msgid "Use PCF13 filtering to filter canvas light shadows."
-msgstr ""
+msgstr "Utiliser le filtre PCF13 pour lisser les ombres des canevas."
#: doc/classes/VisualServer.xml
msgid "Culling of the canvas occluder is disabled."
@@ -72144,76 +72516,77 @@ msgstr ""
#: doc/classes/VisualServer.xml
msgid "The amount of objects in the frame."
-msgstr ""
+msgstr "Le quantité d'objet dans le trame."
#: doc/classes/VisualServer.xml
msgid "The amount of vertices in the frame."
-msgstr ""
+msgstr "Le quantité de sommets dans le trame."
#: doc/classes/VisualServer.xml
msgid "The amount of modified materials in the frame."
-msgstr ""
+msgstr "Le quantité de matériaux modifiés dans le trame."
#: doc/classes/VisualServer.xml
+#, fuzzy
msgid "The amount of shader rebinds in the frame."
-msgstr ""
+msgstr "Le quantité de shaders reconnectés dans le trame."
#: doc/classes/VisualServer.xml
msgid "The amount of surface changes in the frame."
-msgstr ""
+msgstr "Le quantité de changements de surface dans le trame."
#: doc/classes/VisualServer.xml
msgid "The amount of draw calls in frame."
-msgstr ""
+msgstr "Le quantité d'appels de dessin dans le trame."
#: doc/classes/VisualServer.xml
-#, fuzzy
msgid "The amount of 2d items in the frame."
-msgstr "La quantité de voix dans l’effet."
+msgstr "La quantité d'éléments 2D dans la trame."
#: doc/classes/VisualServer.xml
-#, fuzzy
msgid "The amount of 2d draw calls in frame."
-msgstr "Quantité de sommets dans l'image."
+msgstr "La quantité d'appels de dessin 2D dans la trame."
#: doc/classes/VisualServer.xml
msgid "Hardware supports shaders. This enum is currently unused in Godot 3.x."
msgstr ""
-"Le matériel supporte les shaders. Cette énumération est actuellement "
+"L'appareil supporte les shaders. Cette énumération est actuellement "
"inutilisée dans Godot 3.x."
#: doc/classes/VisualServer.xml
msgid ""
"Hardware supports multithreading. This enum is currently unused in Godot 3.x."
msgstr ""
-"Le matériel supporte plusieurs fils d'exécution. Cette énumération est "
+"L'appareil supporte plusieurs fils d'exécution. Cette énumération est "
"actuellement inutilisée dans Godot 3.x."
#: doc/classes/VisualServer.xml
msgid "Use [Transform2D] to store MultiMesh transform."
-msgstr ""
+msgstr "Utiliser [Transform2D] pour stocker la transformation des MultiMesh."
#: doc/classes/VisualServer.xml
msgid "Use [Transform] to store MultiMesh transform."
-msgstr ""
+msgstr "Utiliser [Transform] pour stocker la transformation des MultiMesh."
#: doc/classes/VisualServer.xml
msgid "MultiMesh does not use per-instance color."
-msgstr ""
+msgstr "Le MultiMesh n'utilise pas de couleur par instance."
#: doc/classes/VisualServer.xml
msgid ""
"MultiMesh color uses 8 bits per component. This packs the color into a "
"single float."
msgstr ""
+"Le MultiMesh utilise un octet par composant de couleur. Une couleur entière "
+"est donc stockée dans un nombre flottant (4 octets)."
#: doc/classes/VisualServer.xml
msgid "MultiMesh color uses a float per channel."
-msgstr ""
+msgstr "Le MultiMesh utilise un nombre flottant par composant de couleur."
#: doc/classes/VisualServer.xml
msgid "MultiMesh does not use custom data."
-msgstr ""
+msgstr "Le MultiMesh n'utilise pas de données personnalisées."
#: doc/classes/VisualServer.xml
msgid ""
@@ -72224,6 +72597,8 @@ msgstr ""
#: doc/classes/VisualServer.xml
msgid "MultiMesh custom data uses a float per component."
msgstr ""
+"Les données personnalisés de MultiMesh qui utilisent un nombre flottant par "
+"composant."
#: doc/classes/VisualServer.xml
msgid "Reflection probe will update reflections once and then stop."
@@ -72237,19 +72612,19 @@ msgstr ""
#: doc/classes/VisualServer.xml
msgid "Draw particles in the order that they appear in the particles array."
-msgstr ""
+msgstr "Affiche les particules dans leur ordre dans la liste des particules."
#: doc/classes/VisualServer.xml
msgid "Sort particles based on their lifetime."
-msgstr ""
+msgstr "Trier les particules par durée de vie."
#: doc/classes/VisualServer.xml
msgid "Sort particles based on their distance to the camera."
-msgstr ""
+msgstr "Trier les particules suivant leur distance à la caméra."
#: doc/classes/VisualServer.xml
msgid "Use the clear color as background."
-msgstr ""
+msgstr "Utiliser la couleur d'effacement pour l'arrière-plan."
#: doc/classes/VisualServer.xml
msgid "Use a specified color as the background."
@@ -72303,7 +72678,7 @@ msgstr ""
#: doc/classes/VisualServer.xml
msgid "Produces a subtle color disturbance around objects."
-msgstr ""
+msgstr "Produit une légère interférence des couleurs autour des objets."
#: doc/classes/VisualServer.xml
msgid "Shows the glow effect by itself without the underlying scene."
@@ -72311,7 +72686,7 @@ msgstr "Affiche uniquement l'effet de lueur sans scène sous-jacente."
#: doc/classes/VisualServer.xml
msgid "Output color as they came in."
-msgstr ""
+msgstr "Affiche les couleurs telles quelles."
#: doc/classes/VisualServer.xml
msgid "Use the Reinhard tonemapper."
@@ -75351,9 +75726,8 @@ msgid ""
msgstr ""
#: modules/webxr/doc_classes/WebXRInterface.xml
-#, fuzzy
msgid "Emitted when [member visibility_state] has changed."
-msgstr "Émis lorsque [member frame] modifié."
+msgstr "Émis lorsque [member visibility_state] modifié."
#: modules/webxr/doc_classes/WebXRInterface.xml
msgid "We don't know the the target ray mode."
@@ -75374,9 +75748,8 @@ msgid "Target ray from touch screen, mouse or other tactile input device."
msgstr ""
#: doc/classes/WindowDialog.xml
-#, fuzzy
msgid "Base class for window dialogs."
-msgstr "Classe de base pour les flux audio."
+msgstr "Classe parente des fenêtres de dialogue."
#: doc/classes/WindowDialog.xml
msgid ""
@@ -75394,19 +75767,16 @@ msgid ""
msgstr ""
#: doc/classes/WindowDialog.xml
-#, fuzzy
msgid "If [code]true[/code], the user can resize the window."
-msgstr "Si [code]true[/code], le bouton \"add preset\" est activé."
+msgstr "Si [code]true[/code], l'utilisateur peut redimensionner la fenêtre."
#: doc/classes/WindowDialog.xml
-#, fuzzy
msgid "The text displayed in the window's title bar."
-msgstr "Le texte affiché par le dialogue."
+msgstr "Le texte affiché dans la barre de titre de la fenêtre."
#: doc/classes/WindowDialog.xml
-#, fuzzy
msgid "The color of the title text."
-msgstr "Couleur du texte du titre."
+msgstr "La couleur du titre."
#: doc/classes/WindowDialog.xml
#, fuzzy
@@ -75430,9 +75800,8 @@ msgid "The font used to draw the title."
msgstr "La police utilisée pour le texte en gras."
#: doc/classes/WindowDialog.xml
-#, fuzzy
msgid "The icon for the close button."
-msgstr "Icône personnalisée pour le bouton de rechargement."
+msgstr "L'icône personnalisée pour le bouton de fermeture."
#: doc/classes/WindowDialog.xml
msgid ""
diff --git a/doc/translations/gl.po b/doc/translations/gl.po
index 7138a7217c..a62aba930d 100644
--- a/doc/translations/gl.po
+++ b/doc/translations/gl.po
@@ -3330,6 +3330,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4840,7 +4849,7 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+msgid "Returns whether the given path is filtered."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4865,7 +4874,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4874,7 +4883,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9485,26 +9494,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9662,6 +9655,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12737,6 +12740,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15573,8 +15588,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16325,6 +16341,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -22996,7 +23031,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25098,8 +25148,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25369,7 +25420,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -31904,7 +31960,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32284,8 +32345,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34125,6 +34190,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34138,6 +34212,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34180,6 +34266,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34231,6 +34327,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36528,6 +36636,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36698,6 +36825,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36798,6 +36940,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37048,6 +37198,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38035,8 +38191,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38826,7 +38982,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46668,6 +46836,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46678,8 +46857,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47192,14 +47373,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47328,8 +47514,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51266,6 +51452,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52519,6 +52712,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54354,7 +54559,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54368,7 +54573,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55041,7 +55246,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55304,7 +55514,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55327,11 +55546,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55380,14 +55612,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55557,8 +55791,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57047,6 +57289,14 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+msgid "Returns the total amount of lines that could be drawn."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58084,6 +58334,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58224,6 +58480,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58272,6 +58539,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58367,6 +58640,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60540,7 +60827,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60581,9 +60868,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/hi.po b/doc/translations/hi.po
index 4cc0d9ce5c..fee4b208a2 100644
--- a/doc/translations/hi.po
+++ b/doc/translations/hi.po
@@ -3329,6 +3329,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4839,7 +4848,7 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+msgid "Returns whether the given path is filtered."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4864,7 +4873,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4873,7 +4882,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9484,26 +9493,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9661,6 +9654,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12736,6 +12739,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15572,8 +15587,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16324,6 +16340,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -22995,7 +23030,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25097,8 +25147,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25368,7 +25419,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -31903,7 +31959,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32283,8 +32344,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34124,6 +34189,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34137,6 +34211,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34179,6 +34265,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34230,6 +34326,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36527,6 +36635,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36697,6 +36824,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36797,6 +36939,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37047,6 +37197,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38034,8 +38190,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38825,7 +38981,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46667,6 +46835,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46677,8 +46856,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47191,14 +47372,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47327,8 +47513,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51265,6 +51451,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52518,6 +52711,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54353,7 +54558,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54367,7 +54572,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55040,7 +55245,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55303,7 +55513,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55326,11 +55545,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55379,14 +55611,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55556,8 +55790,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57046,6 +57288,14 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+msgid "Returns the total amount of lines that could be drawn."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58083,6 +58333,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58223,6 +58479,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58271,6 +58538,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58366,6 +58639,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60539,7 +60826,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60580,9 +60867,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/hu.po b/doc/translations/hu.po
index a60adef668..b0e78ab725 100644
--- a/doc/translations/hu.po
+++ b/doc/translations/hu.po
@@ -3347,6 +3347,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4857,7 +4866,7 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+msgid "Returns whether the given path is filtered."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4882,7 +4891,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4891,7 +4900,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9502,26 +9511,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9679,6 +9672,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12754,6 +12757,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15590,8 +15605,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16342,6 +16358,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23013,7 +23048,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25115,8 +25165,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25386,7 +25437,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -31921,7 +31977,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32301,8 +32362,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34142,6 +34207,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34155,6 +34229,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34197,6 +34283,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34248,6 +34344,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36545,6 +36653,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36715,6 +36842,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36815,6 +36957,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37065,6 +37215,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38052,8 +38208,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38843,7 +38999,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46685,6 +46853,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46695,8 +46874,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47209,14 +47390,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47345,8 +47531,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51283,6 +51469,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52536,6 +52729,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54371,7 +54576,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54385,7 +54590,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55058,7 +55263,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55321,7 +55531,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55344,11 +55563,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55397,14 +55629,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55574,8 +55808,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57064,6 +57306,14 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+msgid "Returns the total amount of lines that could be drawn."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58101,6 +58351,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58241,6 +58497,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58289,6 +58556,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58384,6 +58657,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60557,7 +60844,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60598,9 +60885,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/id.po b/doc/translations/id.po
index eb9fe2f029..dcc5c28d89 100644
--- a/doc/translations/id.po
+++ b/doc/translations/id.po
@@ -11,12 +11,13 @@
# Hilman Hazazi <hafizd.muhammad.kren.403@gmail.com>, 2021.
# Stephen Gunawan Susilo <gunawanstephen@yahoo.com>, 2021.
# Azizkhasyi 11 <azizkhasyi11@gmail.com>, 2021.
+# zephyroths <ridho.hikaru@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: 2021-11-30 04:38+0000\n"
-"Last-Translator: Azizkhasyi 11 <azizkhasyi11@gmail.com>\n"
+"PO-Revision-Date: 2022-02-22 15:52+0000\n"
+"Last-Translator: zephyroths <ridho.hikaru@gmail.com>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/id/>\n"
"Language: id\n"
@@ -24,7 +25,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.10-dev\n"
+"X-Generator: Weblate 4.11-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -85,7 +86,7 @@ msgstr ""
#: doc/tools/make_rst.py
msgid "Default"
-msgstr ""
+msgstr "Bawaan"
#: doc/tools/make_rst.py
msgid "Setter"
@@ -3534,6 +3535,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -5044,8 +5054,9 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
-msgstr ""
+#, fuzzy
+msgid "Returns whether the given path is filtered."
+msgstr "Mengembalikan nilai hiperbolik tangen dari parameter."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -5069,7 +5080,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -5078,7 +5089,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9689,26 +9700,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9866,6 +9861,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12942,6 +12947,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15778,8 +15795,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16530,6 +16548,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23205,7 +23242,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25309,8 +25361,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25580,7 +25633,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -32116,7 +32174,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32496,8 +32559,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34337,6 +34404,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34350,6 +34426,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34392,6 +34480,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34443,6 +34541,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36754,6 +36864,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36924,6 +37053,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -37024,6 +37168,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37274,6 +37426,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38261,8 +38419,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -39052,7 +39210,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46911,6 +47081,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46921,8 +47102,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47435,14 +47618,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47571,8 +47759,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51509,6 +51697,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52762,6 +52957,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54597,7 +54804,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54611,7 +54818,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55286,7 +55493,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55549,7 +55761,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55572,11 +55793,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55625,14 +55859,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55802,8 +56038,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57294,6 +57538,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "Mengembalikan nilai hiperbolik tangen dari parameter."
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "Mengembalikan nilai hiperbolik tangen dari parameter."
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58331,6 +58585,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58471,6 +58731,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58519,6 +58790,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58614,6 +58891,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60788,7 +61079,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60829,9 +61120,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/is.po b/doc/translations/is.po
index 2aae5d4390..80c026c0f8 100644
--- a/doc/translations/is.po
+++ b/doc/translations/is.po
@@ -3329,6 +3329,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4839,7 +4848,7 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+msgid "Returns whether the given path is filtered."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4864,7 +4873,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4873,7 +4882,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9484,26 +9493,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9661,6 +9654,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12736,6 +12739,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15572,8 +15587,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16324,6 +16340,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -22995,7 +23030,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25097,8 +25147,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25368,7 +25419,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -31903,7 +31959,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32283,8 +32344,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34124,6 +34189,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34137,6 +34211,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34179,6 +34265,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34230,6 +34326,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36527,6 +36635,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36697,6 +36824,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36797,6 +36939,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37047,6 +37197,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38034,8 +38190,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38825,7 +38981,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46667,6 +46835,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46677,8 +46856,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47191,14 +47372,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47327,8 +47513,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51265,6 +51451,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52518,6 +52711,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54353,7 +54558,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54367,7 +54572,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55040,7 +55245,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55303,7 +55513,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55326,11 +55545,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55379,14 +55611,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55556,8 +55790,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57046,6 +57288,14 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+msgid "Returns the total amount of lines that could be drawn."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58083,6 +58333,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58223,6 +58479,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58271,6 +58538,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58366,6 +58639,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60539,7 +60826,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60580,9 +60867,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/it.po b/doc/translations/it.po
index 0e6f99b17f..dcafac6cc5 100644
--- a/doc/translations/it.po
+++ b/doc/translations/it.po
@@ -23,11 +23,12 @@
# ZeroKun265 <davidegiambirtone265@gmail.com>, 2021.
# Andrea Montagna <fullmontis@gmail.com>, 2021.
# Andrea Leganza <neogene@gmail.com>, 2021.
+# Federico Caprini <caprinifede@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-01-31 08:55+0000\n"
+"PO-Revision-Date: 2022-02-22 15:52+0000\n"
"Last-Translator: Mirko <miknsop@gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/it/>\n"
@@ -85,11 +86,12 @@ msgstr "Descrizioni delle proprietà"
#: doc/tools/make_rst.py
msgid "Inherits:"
-msgstr ""
+msgstr "Eredita:"
#: doc/tools/make_rst.py
+#, fuzzy
msgid "Inherited By:"
-msgstr ""
+msgstr "Ereditato da:"
#: doc/tools/make_rst.py
msgid "(overrides %s)"
@@ -105,7 +107,7 @@ msgstr ""
#: doc/tools/make_rst.py
msgid "value"
-msgstr ""
+msgstr "valore"
#: doc/tools/make_rst.py
msgid "Getter"
@@ -115,6 +117,8 @@ msgstr ""
msgid ""
"This method should typically be overridden by the user to have any effect."
msgstr ""
+"Questo metodo di solito dovrebbe essere riscritto dall'utente per aver "
+"qualche effetto."
#: doc/tools/make_rst.py
msgid ""
@@ -136,6 +140,8 @@ msgid ""
"This method doesn't need an instance to be called, so it can be called "
"directly using the class name."
msgstr ""
+"Questo metodo non necessita di alcun'istanza per essere chiamato, quindi può "
+"essere chiamato direttamente usando il nome della classe."
#: doc/tools/make_rst.py
msgid ""
@@ -4260,6 +4266,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -5774,8 +5789,9 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
-msgstr ""
+#, fuzzy
+msgid "Returns whether the given path is filtered."
+msgstr "Restituisce la tangente del parametro."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -5799,7 +5815,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -5808,7 +5824,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -10442,26 +10458,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -10619,6 +10619,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -13709,6 +13719,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -16610,8 +16632,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -17392,6 +17415,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -24080,7 +24122,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -26187,8 +26244,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -26458,7 +26516,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -33028,7 +33091,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -33408,8 +33476,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -35251,6 +35323,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -35264,6 +35345,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -35306,6 +35399,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -35357,6 +35460,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -37253,7 +37368,7 @@ msgstr ""
#: doc/classes/Node.xml
msgid "Nodes and Scenes"
-msgstr ""
+msgstr "Nodi e scene"
#: doc/classes/Node.xml
msgid "All Demos"
@@ -37690,6 +37805,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -37860,6 +37994,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -37960,6 +38109,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -38210,6 +38367,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -39204,8 +39367,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -39999,7 +40162,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -47884,6 +48059,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -47894,8 +48080,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -48408,14 +48596,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -48544,8 +48737,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -52492,6 +52685,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -53747,6 +53947,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -55587,7 +55799,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55601,7 +55813,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -56278,7 +56490,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -56542,7 +56759,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -56565,11 +56791,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -56618,14 +56857,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -56795,8 +57036,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -58294,6 +58543,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr "Restituisce l'angolo al vettore dato, in radianti."
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "Restituisce il valore opposto del parametro."
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "Restituisce il resto dei due vettori."
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -59346,6 +59605,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -59488,6 +59753,18 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+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."
+
+#: doc/classes/Theme.xml
#, fuzzy
msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
@@ -59543,6 +59820,15 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+"Ritorna [code]true[/code] se l'impostazione specificata da [code]name[/code] "
+"esiste, [code]false[/code] altrimenti."
+
+#: doc/classes/Theme.xml
msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
@@ -59639,6 +59925,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -61819,7 +62119,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -61862,10 +62162,9 @@ msgid ""
msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
-msgstr ""
+#, 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."
#: doc/classes/TreeItem.xml
#, fuzzy
diff --git a/doc/translations/ja.po b/doc/translations/ja.po
index a3017d5928..ddb9eb6efe 100644
--- a/doc/translations/ja.po
+++ b/doc/translations/ja.po
@@ -4305,6 +4305,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -6246,7 +6255,8 @@ msgstr ""
"㯠[code]true[/code] ã‚’è¿”ã™ã‚ˆã†ã«ã—ã¾ã™ã€‚"
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+#, fuzzy
+msgid "Returns whether the given path is filtered."
msgstr ""
"指定ã—ãŸãƒ‘スãŒãƒ•ã‚£ãƒ«ã‚¿ãƒªãƒ³ã‚°ã•ã‚Œã¦ã„れ㰠[code]true[/code] ã‚’è¿”ã—ã¾ã™ã€‚"
@@ -6280,8 +6290,9 @@ msgid "Adds or removes a path for the filter."
msgstr "ã“ã®ãƒ•ã‚£ãƒ«ã‚¿ã®ãƒ‘スを追加ã‚ã‚‹ã„ã¯é™¤åŽ»ã—ã¾ã™ã€‚"
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
"カスタムパラメータを設定ã—ã¾ã™ã€‚リソースã¯ãƒ„リーやシーン全体ã§å†åˆ©ç”¨ã§ãã‚‹ãŸ"
@@ -6292,7 +6303,8 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr "ã‚‚ã— [code]true[/code] ã§ã‚ã‚Œã°ã€ãƒ•ã‚£ãƒ«ã‚¿ãƒªãƒ³ã‚°ã¯æœ‰åŠ¹ã«ãªã‚Šã¾ã™ã€‚"
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+#, fuzzy
+msgid "Emitted when the node was removed from the graph."
msgstr "グラフã‹ã‚‰ãƒŽãƒ¼ãƒ‰ãŒé™¤åŽ»ã•ã‚ŒãŸéš›ã«ç™ºä¿¡ã•ã‚Œã¾ã™ã€‚"
#: doc/classes/AnimationNode.xml
@@ -12163,29 +12175,10 @@ msgstr ""
"フェクトを追加ã—ã¾ã™ã€‚"
#: doc/classes/AudioServer.xml
-#, fuzzy
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-"ç¾åœ¨ã®ã‚ªãƒ¼ãƒ‡ã‚£ã‚ªå…¥åŠ›ç”¨ãƒ‡ãƒã‚¤ã‚¹ã®åå‰ã§ã™ ([method capture_get_device_list] ã‚’"
-"å‚ç…§)。"
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr "システム上ã§æ¤œå‡ºã•ã‚ŒãŸã™ã¹ã¦ã®ã‚ªãƒ¼ãƒ‡ã‚£ã‚ªå…¥åŠ›ãƒ‡ãƒã‚¤ã‚¹ã®åå‰ã‚’è¿”ã—ã¾ã™ã€‚"
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr "利用å¯èƒ½ãªãƒã‚¹ã¨ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã‚’使用ã—㦠[AudioBusLayout] を生æˆã—ã¾ã™ã€‚"
@@ -12374,6 +12367,16 @@ msgstr "利用å¯èƒ½ãªã‚ªãƒ¼ãƒ‡ã‚£ã‚ªãƒã‚¹ã®æ•°ã€‚"
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -15740,6 +15743,24 @@ msgid "Returns the RID of the canvas used by this layer."
msgstr ""
#: doc/classes/CanvasLayer.xml
+#, fuzzy
+msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+"é…列をクリアã—ã¾ã™ã€‚ã“ã‚Œã¯ã€[code]0[/code]ã®ã‚µã‚¤ã‚ºã§[method resize]を使用ã™ã‚‹"
+"ã®ã¨åŒã˜ã§ã™ã€‚"
+
+#: doc/classes/CanvasLayer.xml
+#, fuzzy
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+"é…列をクリアã—ã¾ã™ã€‚ã“ã‚Œã¯ã€[code]0[/code]ã®ã‚µã‚¤ã‚ºã§[method resize]を使用ã™ã‚‹"
+"ã®ã¨åŒã˜ã§ã™ã€‚"
+
+#: doc/classes/CanvasLayer.xml
msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
@@ -18634,8 +18655,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -19416,6 +19438,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -26178,7 +26219,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -28287,8 +28343,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -28568,7 +28625,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -35187,7 +35249,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -35576,8 +35643,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -37427,6 +37498,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -37440,6 +37520,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -37482,6 +37574,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -37533,6 +37635,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -39889,6 +40003,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -40059,6 +40192,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -40159,6 +40307,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -40409,6 +40565,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -41402,8 +41564,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -42199,7 +42361,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -50135,6 +50309,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -50145,8 +50330,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -50659,14 +50846,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -50795,8 +50987,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -54770,6 +54962,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -56034,6 +56233,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -58150,7 +58361,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -58164,7 +58375,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -58855,7 +59066,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -59122,7 +59338,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -59145,11 +59370,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -59198,14 +59436,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -59375,8 +59615,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -60886,6 +61134,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr "アニメーションã®ãƒˆãƒ©ãƒƒã‚¯æ•°ã‚’è¿”ã—ã¾ã™ã€‚"
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "指定ã—ãŸãƒˆãƒ©ãƒƒã‚¯ã®ã‚­ãƒ¼æ•°ã‚’è¿”ã—ã¾ã™ã€‚"
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "ブレンド空間内ã®ä¸‰è§’å½¢ã®æ•°ã‚’è¿”ã—ã¾ã™ã€‚"
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -61950,6 +62208,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -62096,6 +62360,18 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr "与ãˆã‚‰ã‚ŒãŸ [code]id[/code] ã«ç´ã¥ã‘られãŸç‚¹ã®ä½ç½®ã‚’è¿”ã—ã¾ã™ã€‚"
+
+#: doc/classes/Theme.xml
#, fuzzy
msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
@@ -62152,6 +62428,15 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+"指定ã—ãŸãƒˆãƒ©ãƒƒã‚¯ãŒã‚¤ãƒ³ãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã‚‹å ´åˆã€ [code]true[/code] ã‚’è¿”ã—ã¾ã™ã€‚ã"
+"ã†ã§ãªã‘ã‚Œã°ã€ [code]false[/code] ã‚’è¿”ã—ã¾ã™ã€‚"
+
+#: doc/classes/Theme.xml
msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
@@ -62248,6 +62533,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -64436,7 +64735,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -64483,10 +64782,9 @@ msgstr ""
"定ã—ã¾ã™ã€‚"
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
-msgstr ""
+#, fuzzy
+msgid "Returns the number of buttons in column [code]column[/code]."
+msgstr "[code]bus_idx[/code] ã«ã‚ã‚‹ãƒã‚¹ã®ã‚¨ãƒ•ã‚§ã‚¯ãƒˆæ•°ã‚’è¿”ã—ã¾ã™ã€‚"
#: doc/classes/TreeItem.xml
#, fuzzy
diff --git a/doc/translations/ko.po b/doc/translations/ko.po
index 465371a39f..d4b782b0c0 100644
--- a/doc/translations/ko.po
+++ b/doc/translations/ko.po
@@ -3456,6 +3456,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4967,8 +4976,9 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
-msgstr ""
+#, fuzzy
+msgid "Returns whether the given path is filtered."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ íƒ„ì  íŠ¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -4992,7 +5002,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -5001,7 +5011,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9614,26 +9624,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9791,6 +9785,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12872,6 +12876,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15737,8 +15753,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16495,6 +16512,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23235,7 +23271,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25340,8 +25391,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25611,7 +25663,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -32159,7 +32216,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32539,8 +32601,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34381,6 +34447,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34394,6 +34469,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34436,6 +34523,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34487,6 +34584,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36934,6 +37043,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -37104,6 +37232,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -37204,6 +37347,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37454,6 +37605,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38442,8 +38599,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -39236,7 +39393,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -47101,6 +47270,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -47111,8 +47291,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47625,14 +47807,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47761,8 +47948,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51700,6 +51887,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52953,6 +53147,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54788,7 +54994,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54802,7 +55008,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55477,7 +55683,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55740,7 +55951,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55763,11 +55983,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55816,14 +56049,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55993,8 +56228,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57488,6 +57731,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì½”ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ë°˜ëŒ€ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "ë‘ ë²¡í„°ì˜ ë‚˜ë¨¸ì§€ë¥¼ 반환합니다."
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58526,6 +58779,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58666,6 +58925,18 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr "ë‘ ë²¡í„°ì˜ ë‚˜ë¨¸ì§€ë¥¼ 반환합니다."
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58714,6 +58985,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58809,6 +59086,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60985,7 +61276,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -61027,10 +61318,9 @@ msgid ""
msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
-msgstr ""
+#, fuzzy
+msgid "Returns the number of buttons in column [code]column[/code]."
+msgstr "ë§¤ê°œë³€ìˆ˜ì˜ ì‚¬ì¸ ê°’ì„ ë°˜í™˜í•©ë‹ˆë‹¤."
#: doc/classes/TreeItem.xml
#, fuzzy
diff --git a/doc/translations/lv.po b/doc/translations/lv.po
index a3bff3b9e9..97a0990d75 100644
--- a/doc/translations/lv.po
+++ b/doc/translations/lv.po
@@ -3344,6 +3344,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4854,7 +4863,7 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+msgid "Returns whether the given path is filtered."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4879,7 +4888,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4888,7 +4897,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9499,26 +9508,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9676,6 +9669,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12751,6 +12754,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15587,8 +15602,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16339,6 +16355,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23013,7 +23048,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25115,8 +25165,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25386,7 +25437,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -31921,7 +31977,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32301,8 +32362,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34142,6 +34207,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34155,6 +34229,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34197,6 +34283,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34248,6 +34344,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36545,6 +36653,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36715,6 +36842,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36815,6 +36957,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37065,6 +37215,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38052,8 +38208,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38843,7 +38999,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46685,6 +46853,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46695,8 +46874,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47209,14 +47390,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47345,8 +47531,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51283,6 +51469,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52536,6 +52729,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54371,7 +54576,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54385,7 +54590,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55058,7 +55263,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55321,7 +55531,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55344,11 +55563,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55397,14 +55629,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55574,8 +55808,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57064,6 +57306,14 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+msgid "Returns the total amount of lines that could be drawn."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58101,6 +58351,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58241,6 +58497,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58289,6 +58556,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58384,6 +58657,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60557,7 +60844,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60598,9 +60885,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/mr.po b/doc/translations/mr.po
index 5f8d2afd19..81a14f7e5a 100644
--- a/doc/translations/mr.po
+++ b/doc/translations/mr.po
@@ -3327,6 +3327,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4837,7 +4846,7 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+msgid "Returns whether the given path is filtered."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4862,7 +4871,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4871,7 +4880,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9482,26 +9491,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9659,6 +9652,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12734,6 +12737,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15570,8 +15585,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16322,6 +16338,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -22993,7 +23028,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25095,8 +25145,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25366,7 +25417,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -31901,7 +31957,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32281,8 +32342,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34122,6 +34187,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34135,6 +34209,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34177,6 +34263,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34228,6 +34324,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36525,6 +36633,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36695,6 +36822,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36795,6 +36937,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37045,6 +37195,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38032,8 +38188,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38823,7 +38979,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46665,6 +46833,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46675,8 +46854,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47189,14 +47370,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47325,8 +47511,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51263,6 +51449,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52516,6 +52709,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54351,7 +54556,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54365,7 +54570,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55038,7 +55243,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55301,7 +55511,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55324,11 +55543,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55377,14 +55609,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55554,8 +55788,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57044,6 +57286,14 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+msgid "Returns the total amount of lines that could be drawn."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58081,6 +58331,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58221,6 +58477,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58269,6 +58536,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58364,6 +58637,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60537,7 +60824,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60578,9 +60865,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/nb.po b/doc/translations/nb.po
index 4358fdbfc5..8cd83ba148 100644
--- a/doc/translations/nb.po
+++ b/doc/translations/nb.po
@@ -3339,6 +3339,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4849,7 +4858,7 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+msgid "Returns whether the given path is filtered."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4874,7 +4883,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4883,7 +4892,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9494,26 +9503,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9671,6 +9664,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12746,6 +12749,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15582,8 +15597,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16334,6 +16350,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23005,7 +23040,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25107,8 +25157,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25378,7 +25429,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -31913,7 +31969,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32293,8 +32354,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34134,6 +34199,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34147,6 +34221,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34189,6 +34275,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34240,6 +34336,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36537,6 +36645,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36707,6 +36834,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36807,6 +36949,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37057,6 +37207,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38044,8 +38200,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38835,7 +38991,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46677,6 +46845,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46687,8 +46866,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47201,14 +47382,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47337,8 +47523,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51275,6 +51461,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52528,6 +52721,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54363,7 +54568,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54377,7 +54582,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55050,7 +55255,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55313,7 +55523,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55336,11 +55555,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55389,14 +55621,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55566,8 +55800,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57056,6 +57298,14 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+msgid "Returns the total amount of lines that could be drawn."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58093,6 +58343,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58233,6 +58489,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58281,6 +58548,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58376,6 +58649,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60549,7 +60836,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60590,9 +60877,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/ne.po b/doc/translations/ne.po
index d277e5da73..dcc8e21951 100644
--- a/doc/translations/ne.po
+++ b/doc/translations/ne.po
@@ -3327,6 +3327,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4837,7 +4846,7 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+msgid "Returns whether the given path is filtered."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4862,7 +4871,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4871,7 +4880,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9482,26 +9491,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9659,6 +9652,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12734,6 +12737,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15570,8 +15585,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16322,6 +16338,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -22993,7 +23028,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25095,8 +25145,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25366,7 +25417,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -31901,7 +31957,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32281,8 +32342,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34122,6 +34187,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34135,6 +34209,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34177,6 +34263,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34228,6 +34324,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36525,6 +36633,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36695,6 +36822,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36795,6 +36937,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37045,6 +37195,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38032,8 +38188,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38823,7 +38979,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46665,6 +46833,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46675,8 +46854,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47189,14 +47370,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47325,8 +47511,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51263,6 +51449,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52516,6 +52709,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54351,7 +54556,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54365,7 +54570,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55038,7 +55243,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55301,7 +55511,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55324,11 +55543,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55377,14 +55609,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55554,8 +55788,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57044,6 +57286,14 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+msgid "Returns the total amount of lines that could be drawn."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58081,6 +58331,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58221,6 +58477,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58269,6 +58536,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58364,6 +58637,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60537,7 +60824,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60578,9 +60865,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/nl.po b/doc/translations/nl.po
index d725a7872e..7095944510 100644
--- a/doc/translations/nl.po
+++ b/doc/translations/nl.po
@@ -3378,6 +3378,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4888,7 +4897,7 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+msgid "Returns whether the given path is filtered."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4913,7 +4922,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4922,7 +4931,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9533,26 +9542,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9710,6 +9703,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12785,6 +12788,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15621,8 +15636,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16373,6 +16389,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23047,7 +23082,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25149,8 +25199,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25420,7 +25471,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -31955,7 +32011,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32335,8 +32396,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34176,6 +34241,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34189,6 +34263,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34231,6 +34317,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34282,6 +34378,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36579,6 +36687,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36749,6 +36876,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36849,6 +36991,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37099,6 +37249,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38086,8 +38242,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38877,7 +39033,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46719,6 +46887,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46729,8 +46908,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47243,14 +47424,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47379,8 +47565,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51318,6 +51504,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52571,6 +52764,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54406,7 +54611,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54420,7 +54625,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55093,7 +55298,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55356,7 +55566,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55379,11 +55598,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55432,14 +55664,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55609,8 +55843,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57099,6 +57341,14 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+msgid "Returns the total amount of lines that could be drawn."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58136,6 +58386,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58276,6 +58532,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58324,6 +58591,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58419,6 +58692,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60592,7 +60879,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60633,9 +60920,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/pl.po b/doc/translations/pl.po
index ef534544e1..615d1ff53f 100644
--- a/doc/translations/pl.po
+++ b/doc/translations/pl.po
@@ -11,7 +11,7 @@
# Larix_45 <milarczek2004@gmail.com>, 2020.
# Mateusz Grzonka <alpinus4@gmail.com>, 2020.
# Michał Borowiec <hello@michal-borowiec.pl>, 2021.
-# Suchy Talerz <kacperkubis06@gmail.com>, 2021.
+# Suchy Talerz <kacperkubis06@gmail.com>, 2021, 2022.
# Seppo Day <piszczatowskis@gmail.com>, 2021.
# cerkiewny <mstarzycki@gmail.com>, 2021.
# Dominik Mielcarek <fogbpl@gmail.com>, 2021.
@@ -19,12 +19,14 @@
# Tomasz Piechocki <t.piechocki@yahoo.com>, 2021.
# DeiranZ <jwabik322@gmail.com>, 2022.
# Piotr <promantix@gmail.com>, 2022.
+# lewando54 <lewando54@gmail.com>, 2022.
+# Katarzyna Twardowska <katarina.twardowska@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-01-19 22:07+0000\n"
-"Last-Translator: Piotr <promantix@gmail.com>\n"
+"PO-Revision-Date: 2022-03-08 06:54+0000\n"
+"Last-Translator: Katarzyna Twardowska <katarina.twardowska@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/pl/>\n"
"Language: pl\n"
@@ -33,7 +35,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.11-dev\n"
+"X-Generator: Weblate 4.12-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -98,7 +100,7 @@ msgstr ""
#: doc/tools/make_rst.py
msgid "Setter"
-msgstr ""
+msgstr "Setter"
#: doc/tools/make_rst.py
msgid "value"
@@ -3800,6 +3802,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -5311,8 +5322,9 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
-msgstr ""
+#, fuzzy
+msgid "Returns whether the given path is filtered."
+msgstr "Zwraca tangens parametru."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -5336,7 +5348,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -5345,7 +5357,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5415,9 +5427,8 @@ msgstr ""
#: doc/classes/AnimationNodeOneShot.xml doc/classes/AnimationNodeOutput.xml
#: doc/classes/AnimationNodeTimeScale.xml
#: doc/classes/AnimationNodeTransition.xml
-#, fuzzy
msgid "AnimationTree"
-msgstr "Węzeł Kinematic body 2D."
+msgstr "DrzewoAnimacji"
#: doc/classes/AnimationNodeAdd3.xml doc/classes/AnimationNodeAnimation.xml
#: doc/classes/AnimationNodeBlend2.xml
@@ -9966,26 +9977,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -10143,6 +10138,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -13232,6 +13237,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -16073,8 +16090,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16831,6 +16849,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23516,7 +23553,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25620,8 +25672,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25891,7 +25944,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -32457,7 +32515,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32837,8 +32900,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34679,6 +34746,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34692,6 +34768,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34734,6 +34822,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34785,6 +34883,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36687,7 +36797,7 @@ msgstr ""
#: doc/classes/Node.xml
msgid "Nodes and Scenes"
-msgstr ""
+msgstr "Węzły i Sceny"
#: doc/classes/Node.xml
msgid "All Demos"
@@ -37124,6 +37234,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -37294,6 +37423,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -37394,6 +37538,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37644,6 +37796,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38631,8 +38789,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -39428,7 +39586,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -47312,6 +47482,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -47322,8 +47503,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47836,14 +48019,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47972,8 +48160,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -50077,7 +50265,7 @@ msgstr ""
#: doc/classes/RichTextLabel.xml
msgid "BBCode in RichTextLabel"
-msgstr ""
+msgstr "BBCode w RichTextLabel"
#: doc/classes/RichTextLabel.xml
msgid "GUI Rich Text/BBcode Demo"
@@ -51922,6 +52110,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -53176,6 +53371,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -55014,7 +55221,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55028,7 +55235,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55703,7 +55910,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55966,7 +56178,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55989,11 +56210,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -56042,14 +56276,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -56219,8 +56455,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57715,6 +57959,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr "Zwraca kÄ…t w radianach danego wektora."
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "Zwraca przeciwieństwo parametru."
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "Zwraca resztę z dwóch wektorów."
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58758,6 +59012,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58899,6 +59159,18 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr "Liczy iloczyn wektorowy tego wektora oraz [code]b[/code]."
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58949,6 +59221,13 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr "Liczy iloczyn wektorowy tego wektora oraz [code]with[/code]."
+
+#: doc/classes/Theme.xml
msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
@@ -59045,6 +59324,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -59090,7 +59383,7 @@ msgstr ""
#: doc/classes/Thread.xml
msgid "Using multiple threads"
-msgstr ""
+msgstr "Użyj wielowątkowości"
#: doc/classes/Thread.xml
msgid "Thread-safe APIs"
@@ -61221,7 +61514,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -61263,10 +61556,9 @@ msgid ""
msgstr "Liczy iloczyn wektorowy tego wektora oraz [code]b[/code]."
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
-msgstr ""
+#, fuzzy
+msgid "Returns the number of buttons in column [code]column[/code]."
+msgstr "Liczy iloczyn wektorowy tego wektora oraz [code]b[/code]."
#: doc/classes/TreeItem.xml
#, fuzzy
diff --git a/doc/translations/pt.po b/doc/translations/pt.po
index b81b137493..eb2e648038 100644
--- a/doc/translations/pt.po
+++ b/doc/translations/pt.po
@@ -4092,6 +4092,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -5610,8 +5619,9 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
-msgstr ""
+#, fuzzy
+msgid "Returns whether the given path is filtered."
+msgstr "Retorna o RID do ecrã usada por essa camada."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -5635,7 +5645,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -5644,8 +5654,9 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
-msgstr ""
+#, fuzzy
+msgid "Emitted when the node was removed from the graph."
+msgstr "Emitido cada vez que um nó é removido da [SceneTree]."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -10263,26 +10274,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -10440,6 +10435,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -13537,6 +13542,18 @@ msgstr "Retorna o RID do ecrã usada por essa camada."
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -16393,8 +16410,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -17153,6 +17171,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr "Emitido quando o nó ganha foco do teclado."
@@ -23836,7 +23873,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25940,8 +25992,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -26211,7 +26264,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -32751,7 +32809,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -33131,8 +33194,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34972,6 +35039,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34985,6 +35061,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -35027,6 +35115,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -35078,6 +35176,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -37398,6 +37508,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -37568,6 +37697,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -37668,6 +37812,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37918,6 +38070,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38905,8 +39063,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -39696,7 +39854,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -47542,6 +47712,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -47552,8 +47733,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -48066,14 +48249,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -48202,8 +48390,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -52140,6 +52328,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -53397,6 +53592,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -55250,7 +55457,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55264,7 +55471,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55939,7 +56146,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -56202,7 +56414,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -56225,11 +56446,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -56278,14 +56512,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -56455,8 +56691,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57947,6 +58191,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "Retorna o comprimento atual do braço da mola."
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "Retorna o número de nós nesta [SceneTree]."
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58985,6 +59239,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -59125,6 +59385,18 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr "Retorna o produto cruzado deste vetor e [code]b[/code]."
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -59172,6 +59444,15 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+"Retorna [code]true[/code] se o vetor for normalizado, [code]false[/code] "
+"caso contrário."
+
+#: doc/classes/Theme.xml
msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
@@ -59268,6 +59549,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -61444,7 +61739,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -61485,10 +61780,9 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
-msgstr ""
+#, fuzzy
+msgid "Returns the number of buttons in column [code]column[/code]."
+msgstr "Retorna o nome do nó em [code]idx[/code]."
#: doc/classes/TreeItem.xml
#, fuzzy
diff --git a/doc/translations/pt_BR.po b/doc/translations/pt_BR.po
index ff0825d6a7..fbf4dbeaa6 100644
--- a/doc/translations/pt_BR.po
+++ b/doc/translations/pt_BR.po
@@ -4303,6 +4303,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -5868,8 +5877,9 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
-msgstr ""
+#, fuzzy
+msgid "Returns whether the given path is filtered."
+msgstr "Retorna a tangente do parâmetro."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -5893,7 +5903,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -5902,8 +5912,9 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
-msgstr ""
+#, fuzzy
+msgid "Emitted when the node was removed from the graph."
+msgstr "Emitido cada vez que um nó é removido da [SceneTree]."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -10538,26 +10549,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -10715,6 +10710,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -13820,6 +13825,18 @@ msgstr "Retorna o RID da tela usada por essa camada."
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -16710,8 +16727,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -17470,6 +17488,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr "Emitido quando o nó ganha foco do teclado."
@@ -24165,7 +24202,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -26270,8 +26322,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -26541,7 +26594,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -33120,7 +33178,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -33500,8 +33563,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -35343,6 +35410,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -35356,6 +35432,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -35398,6 +35486,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -35449,6 +35547,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -37788,6 +37898,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -37958,6 +38087,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -38058,6 +38202,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -38308,6 +38460,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -39295,8 +39453,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -40090,7 +40248,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -47980,6 +48150,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -47990,8 +48171,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -48504,14 +48687,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -48640,8 +48828,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -52587,6 +52775,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -53848,6 +54043,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -55704,7 +55911,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55718,7 +55925,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -56393,7 +56600,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -56656,7 +56868,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -56679,11 +56900,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -56732,14 +56966,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -56909,8 +57145,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -58408,6 +58652,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr "Retorna o ângulo para o vetor dado, em radianos."
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "Retorna o valor oposto do parâmetro."
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "Retorna o número de nós nesta [SceneTree]."
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -59459,6 +59713,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -59603,6 +59863,18 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr "Retorna o produto cruzado deste vetor e [code]b[/code]."
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -59651,6 +59923,13 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr "Retorna [code]true[/code] se o script pode ser instanciado."
+
+#: doc/classes/Theme.xml
msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
@@ -59747,6 +60026,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -61925,7 +62218,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -61968,10 +62261,9 @@ msgstr ""
"Retorna a largura em píxeis de [code]wrap_index[/code] em [code]line[/code]."
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
-msgstr ""
+#, fuzzy
+msgid "Returns the number of buttons in column [code]column[/code]."
+msgstr "Retorna o nome do nó em [code]idx[/code]."
#: doc/classes/TreeItem.xml
#, fuzzy
diff --git a/doc/translations/ro.po b/doc/translations/ro.po
index d27baf73b8..e80f0ba009 100644
--- a/doc/translations/ro.po
+++ b/doc/translations/ro.po
@@ -3347,6 +3347,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4857,7 +4866,7 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+msgid "Returns whether the given path is filtered."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4882,7 +4891,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4891,7 +4900,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9502,26 +9511,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9679,6 +9672,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12754,6 +12757,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15590,8 +15605,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16342,6 +16358,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23016,7 +23051,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25118,8 +25168,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25389,7 +25440,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -31924,7 +31980,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32304,8 +32365,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34145,6 +34210,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34158,6 +34232,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34200,6 +34286,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34251,6 +34347,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36548,6 +36656,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36718,6 +36845,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36818,6 +36960,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37068,6 +37218,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38055,8 +38211,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38846,7 +39002,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46688,6 +46856,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46698,8 +46877,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47212,14 +47393,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47348,8 +47534,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51286,6 +51472,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52539,6 +52732,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54374,7 +54579,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54388,7 +54593,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55061,7 +55266,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55324,7 +55534,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55347,11 +55566,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55400,14 +55632,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55577,8 +55811,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57067,6 +57309,14 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+msgid "Returns the total amount of lines that could be drawn."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58104,6 +58354,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58244,6 +58500,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58292,6 +58559,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58387,6 +58660,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60560,7 +60847,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60601,9 +60888,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/ru.po b/doc/translations/ru.po
index dfde3ad01b..419a3bf547 100644
--- a/doc/translations/ru.po
+++ b/doc/translations/ru.po
@@ -26,7 +26,7 @@
# Сергей Волков <zerosar4@gmail.com>, 2021.
# Alexander Sinitsyn <almoig747@gmail.com>, 2021.
# Ð¢Ð¾Ð»Ñ Ð‘Ð¾Ð³Ð¾Ð¼Ð¾Ð»Ð¾Ð² <tolya.bogomolov2004@gmail.com>, 2021.
-# Rustam Alieskerov <rustam.aleskerov7@gmail.com>, 2021.
+# Rustam Alieskerov <rustam.aleskerov7@gmail.com>, 2021, 2022.
# Vladimir Svity <development.openworld@gmail.com>, 2021.
# SuperProCoolName <minzatov.2004@mail.ru>, 2021.
# GameOverCode <thefguyplayeriwbt@gmail.com>, 2021.
@@ -38,12 +38,13 @@
# ÐлекÑей Зотов <ancrad@yandex.ru>, 2022.
# Russkikh Michail <summersay415@gmail.com>, 2022.
# Kirill Slesarenok <s.k.s.10.09.2001@gmail.com>, 2022.
+# Иван Гай <yfrde615@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: Kirill Slesarenok <s.k.s.10.09.2001@gmail.com>\n"
+"PO-Revision-Date: 2022-03-02 18:39+0000\n"
+"Last-Translator: Rustam Alieskerov <rustam.aleskerov7@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/ru/>\n"
"Language: ru\n"
@@ -52,7 +53,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.11-dev\n"
+"X-Generator: Weblate 4.11.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -163,6 +164,8 @@ msgid ""
"This method describes a valid operator to use with this type as left-hand "
"operand."
msgstr ""
+"Этот метод опиÑывает подходÑщий оператор, который необходимо иÑпользовать Ñ "
+"Ñтим типом, как левый операнд."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid "Built-in GDScript functions."
@@ -263,13 +266,12 @@ msgid ""
"s = asin(0.5)\n"
"[/codeblock]"
msgstr ""
-"Возвращает арккоÑÐ¸Ð½ÑƒÑ Ñ‡Ð¸Ñла [code]s[/code] в радианах. ИÑпользуетÑÑ Ð´Ð»Ñ "
-"Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ ÑƒÐ³Ð»Ð°, коÑÐ¸Ð½ÑƒÑ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ равен [code]s[/code]. ЧиÑло [code]s[/code] "
-"должно быть между [code]-1.0[/code] и [code]1.0[/code] (включительно), в "
-"противном Ñлучае [method asin] вернет [constant NAN].\n"
+"Возвращает аркÑÐ¸Ð½ÑƒÑ Ñ‡Ð¸Ñла [code]s[/code] в радианах. ИÑпользуетÑÑ Ð´Ð»Ñ "
+"Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ ÑƒÐ³Ð»Ð°, ÑÐ¸Ð½ÑƒÑ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ равен [code]s[/code]. ЧиÑло [code]s[/code] "
+"должно быть в промежутке между [code]-1.0[/code] и [code]1.0[/code] "
+"(включительно), иначе [method asin] вернет [constant NAN].\n"
"[codeblock]\n"
-"# s равно 0.523599, или 30 градуÑов, еÑли конвертировать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ "
-"rad2deg(s)\n"
+"# s равно 0.523599, или 30 градуÑов, еÑли конвертировать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ rad2deg\n"
"s = asin(0.5)\n"
"[/codeblock]"
@@ -436,16 +438,12 @@ msgid ""
"a = clamp(15, 1, 20) # a is 15\n"
"[/codeblock]"
msgstr ""
-"Ограничивает [code]value[/code], Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ не меньше [code]min[/"
+"Ограничивает [code]value[/code], и возвращает значение не меньше [code]min[/"
"code] и не больше [code]max[/code].\n"
"[codeblock]\n"
-"speed = 1000\n"
-"# a будет 20\n"
-"a = clamp(speed, 1, 20)\n"
-"\n"
-"speed = -10\n"
-"# a будет 1\n"
-"a = clamp(speed, 1, 20)\n"
+"a = clamp(1000, 1, 20) # a будет 20\n"
+"a = clamp(-10, 1, 20) # a будет 1\n"
+"a = clamp(15, 1, 20) # a будет 15\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -566,7 +564,6 @@ msgstr ""
"иÑпользовать [code]deep_equal[/code]."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Converts an angle expressed in degrees to radians.\n"
"[codeblock]\n"
@@ -575,8 +572,7 @@ msgid ""
msgstr ""
"Преобразует угол, выраженный в градуÑах, в радианы.\n"
"[codeblock]\n"
-"# r равно 3.141593\n"
-"r = deg2rad(180)\n"
+"r = deg2rad(180) # r = 3.141593\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4416,6 +4412,15 @@ msgstr ""
"такой как [code]\"Hello,Something,Else\"[/code]."
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
#, fuzzy
msgid ""
"Hints that a float property should be edited via an exponential easing "
@@ -6270,8 +6275,9 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
-msgstr ""
+#, fuzzy
+msgid "Returns whether the given path is filtered."
+msgstr "Возвращает [Texture2D] заданного кадра."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -6295,7 +6301,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -6304,7 +6310,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -11121,26 +11127,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -11298,6 +11288,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -14400,6 +14400,24 @@ msgid "Returns the RID of the canvas used by this layer."
msgstr ""
#: doc/classes/CanvasLayer.xml
+#, fuzzy
+msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+"Очищает маÑÑив. Это Ñквивалентно иÑпользованию [method resize] Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð¼ "
+"[code]0[/code]."
+
+#: doc/classes/CanvasLayer.xml
+#, fuzzy
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+"Очищает маÑÑив. Это Ñквивалентно иÑпользованию [method resize] Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð¼ "
+"[code]0[/code]."
+
+#: doc/classes/CanvasLayer.xml
msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
@@ -17324,8 +17342,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -18106,6 +18125,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -24813,7 +24851,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -26920,8 +26973,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -27191,7 +27245,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -33778,7 +33837,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -34158,8 +34222,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -36003,6 +36071,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -36016,6 +36093,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -36058,6 +36147,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -36109,6 +36208,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -38450,6 +38561,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -38620,6 +38750,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -38720,6 +38865,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -38970,6 +39123,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -39962,8 +40121,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -40761,7 +40920,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -48679,6 +48850,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -48689,8 +48871,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49203,14 +49387,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49339,8 +49528,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53336,6 +53525,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -54596,6 +54792,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -56436,7 +56644,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -56450,7 +56658,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -57147,7 +57355,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57414,7 +57627,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57437,11 +57659,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57490,14 +57725,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -57667,8 +57904,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -59167,6 +59412,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr "Возвращает минимальный угол указанного вектора."
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "Возвращает количеÑтво ключей в данной дорожке."
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "Возвращает количеÑтво раз когда Ñлемент вÑтречаетÑÑ Ð² маÑÑиве."
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -60227,6 +60482,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -60369,6 +60630,18 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr "Возвращает [code]true[/code] еÑли маÑÑив Ñодержит [code]value[/code]."
+
+#: doc/classes/Theme.xml
#, fuzzy
msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
@@ -60424,6 +60697,15 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+"Возвращает [code]true[/code], еÑли в [AnimationPlayer] хранитÑÑ [Animation] "
+"Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ [code]name[/code]."
+
+#: doc/classes/Theme.xml
msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
@@ -60520,6 +60802,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -62702,7 +62998,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -62746,10 +63042,9 @@ msgstr ""
"приблизительно равны друг другу."
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
-msgstr ""
+#, fuzzy
+msgid "Returns the number of buttons in column [code]column[/code]."
+msgstr "Возвращает ÑкалÑрное произведение Ñ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð¾Ð¼ [code]b[/code]."
#: doc/classes/TreeItem.xml
#, fuzzy
diff --git a/doc/translations/sk.po b/doc/translations/sk.po
index 8758caf868..7f5375076e 100644
--- a/doc/translations/sk.po
+++ b/doc/translations/sk.po
@@ -3330,6 +3330,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4840,7 +4849,7 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+msgid "Returns whether the given path is filtered."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4865,7 +4874,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4874,7 +4883,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9485,26 +9494,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9662,6 +9655,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12737,6 +12740,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15573,8 +15588,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16325,6 +16341,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -22999,7 +23034,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25101,8 +25151,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25372,7 +25423,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -31907,7 +31963,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32287,8 +32348,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34128,6 +34193,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34141,6 +34215,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34183,6 +34269,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34234,6 +34330,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36531,6 +36639,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36701,6 +36828,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36801,6 +36943,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37051,6 +37201,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38038,8 +38194,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38829,7 +38985,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46671,6 +46839,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46681,8 +46860,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47195,14 +47376,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47331,8 +47517,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51269,6 +51455,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52522,6 +52715,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54357,7 +54562,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54371,7 +54576,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55044,7 +55249,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55307,7 +55517,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55330,11 +55549,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55383,14 +55615,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55560,8 +55794,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57050,6 +57292,14 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+msgid "Returns the total amount of lines that could be drawn."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58087,6 +58337,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58227,6 +58483,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58275,6 +58542,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58370,6 +58643,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60543,7 +60830,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60584,9 +60871,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/sr_Cyrl.po b/doc/translations/sr_Cyrl.po
index 780b9a451e..fb2ee3eda8 100644
--- a/doc/translations/sr_Cyrl.po
+++ b/doc/translations/sr_Cyrl.po
@@ -3341,6 +3341,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4851,7 +4860,7 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+msgid "Returns whether the given path is filtered."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4876,7 +4885,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4885,7 +4894,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9496,26 +9505,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9673,6 +9666,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12748,6 +12751,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15584,8 +15599,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16336,6 +16352,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23010,7 +23045,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25112,8 +25162,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25383,7 +25434,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -31918,7 +31974,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32298,8 +32359,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34139,6 +34204,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34152,6 +34226,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34194,6 +34280,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34245,6 +34341,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36542,6 +36650,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36712,6 +36839,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36812,6 +36954,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37062,6 +37212,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38049,8 +38205,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38840,7 +38996,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46682,6 +46850,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46692,8 +46871,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47206,14 +47387,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47342,8 +47528,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51280,6 +51466,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52533,6 +52726,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54368,7 +54573,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54382,7 +54587,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55055,7 +55260,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55318,7 +55528,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55341,11 +55560,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55394,14 +55626,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55571,8 +55805,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57061,6 +57303,14 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+msgid "Returns the total amount of lines that could be drawn."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58098,6 +58348,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58238,6 +58494,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58286,6 +58553,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58381,6 +58654,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60554,7 +60841,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60595,9 +60882,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/sv.po b/doc/translations/sv.po
index 7cc04c7527..708b006742 100644
--- a/doc/translations/sv.po
+++ b/doc/translations/sv.po
@@ -3330,6 +3330,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4840,7 +4849,7 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+msgid "Returns whether the given path is filtered."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4865,7 +4874,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4874,7 +4883,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9485,26 +9494,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9662,6 +9655,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12737,6 +12740,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15573,8 +15588,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16325,6 +16341,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -22996,7 +23031,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25098,8 +25148,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25369,7 +25420,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -31904,7 +31960,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32284,8 +32345,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34125,6 +34190,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34138,6 +34212,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34180,6 +34266,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34231,6 +34327,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36528,6 +36636,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36698,6 +36825,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36798,6 +36940,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37048,6 +37198,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38035,8 +38191,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38826,7 +38982,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46668,6 +46836,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46678,8 +46857,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47192,14 +47373,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47328,8 +47514,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51266,6 +51452,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52519,6 +52712,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54354,7 +54559,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54368,7 +54573,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55041,7 +55246,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55304,7 +55514,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55327,11 +55546,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55380,14 +55612,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55557,8 +55791,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57047,6 +57289,14 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+msgid "Returns the total amount of lines that could be drawn."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58084,6 +58334,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58224,6 +58480,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58272,6 +58539,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58367,6 +58640,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60540,7 +60827,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60581,9 +60868,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/th.po b/doc/translations/th.po
index fa12585e9c..684a6a0bc6 100644
--- a/doc/translations/th.po
+++ b/doc/translations/th.po
@@ -3423,6 +3423,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4940,8 +4949,9 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
-msgstr ""
+#, fuzzy
+msgid "Returns whether the given path is filtered."
+msgstr "คืนค่าชื่อของอุปà¸à¸£à¸“์เสียงทั้งหมดที่ตรวจพบในระบบ"
#: doc/classes/AnimationNode.xml
msgid ""
@@ -4965,7 +4975,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4974,7 +4984,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9589,26 +9599,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9766,6 +9760,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12843,6 +12847,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15680,8 +15696,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16432,6 +16449,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23107,7 +23143,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25210,8 +25261,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25481,7 +25533,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -32039,7 +32096,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32419,8 +32481,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34260,6 +34326,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34273,6 +34348,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34315,6 +34402,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34366,6 +34463,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36723,6 +36832,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36893,6 +37021,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36993,6 +37136,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37243,6 +37394,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38230,8 +38387,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -39021,7 +39178,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46876,6 +47045,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46886,8 +47066,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47400,14 +47582,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47536,8 +47723,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51475,6 +51662,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52728,6 +52922,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54564,7 +54770,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54578,7 +54784,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55253,7 +55459,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55516,7 +55727,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55539,11 +55759,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55592,14 +55825,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55769,8 +56004,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57261,6 +57504,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "คืนค่าà¸à¸²à¸£à¸à¸³à¸«à¸™à¸”ค่าของลำโพง"
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "คืนค่าชื่อของอุปà¸à¸£à¸“์เสียงทั้งหมดที่ตรวจพบในระบบ"
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58298,6 +58551,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58438,6 +58697,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58486,6 +58756,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58581,6 +58857,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60755,7 +61045,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60796,9 +61086,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/tl.po b/doc/translations/tl.po
index 95b59e8579..7a9fb2b1f7 100644
--- a/doc/translations/tl.po
+++ b/doc/translations/tl.po
@@ -3,12 +3,12 @@
# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md).
# This file is distributed under the same license as the Godot source code.
#
-# Napstaguy04 <brokenscreen3@gmail.com>, 2021.
+# Napstaguy04 <brokenscreen3@gmail.com>, 2021, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2021-11-15 21:14+0000\n"
+"PO-Revision-Date: 2022-02-26 10:27+0000\n"
"Last-Translator: Napstaguy04 <brokenscreen3@gmail.com>\n"
"Language-Team: Tagalog <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/tl/>\n"
@@ -18,7 +18,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.9.1-dev\n"
+"X-Generator: Weblate 4.11.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -3402,6 +3402,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4912,7 +4921,7 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+msgid "Returns whether the given path is filtered."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4937,7 +4946,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4946,7 +4955,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9431,6 +9440,10 @@ msgid ""
"Simulates the sound of acoustic environments such as rooms, concert halls, "
"caverns, or an open spaces."
msgstr ""
+"Nagdadagdag ng pagaalingayngay o reverberasyon na audio effect sa isang "
+"Audio bus.\n"
+"Ginagaya ang tunog ng mga akustikong kapaligiran gaya ng mga silid, concert "
+"halls, kweba o malawak na lugar."
#: doc/classes/AudioEffectReverb.xml
msgid ""
@@ -9557,26 +9570,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9734,6 +9731,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12812,6 +12819,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15648,8 +15667,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16400,6 +16420,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23071,7 +23110,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25173,8 +25227,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25444,7 +25499,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -31979,7 +32039,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32359,8 +32424,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34200,6 +34269,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34213,6 +34291,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34255,6 +34345,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34306,6 +34406,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36609,6 +36721,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36779,6 +36910,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36879,6 +37025,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37129,6 +37283,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38116,8 +38276,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -38907,7 +39067,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46752,6 +46924,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46762,8 +46945,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47276,14 +47461,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47412,8 +47602,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51350,6 +51540,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52603,6 +52800,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54438,7 +54647,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54452,7 +54661,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55125,7 +55334,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55388,7 +55602,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55411,11 +55634,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55464,14 +55700,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55641,8 +55879,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57131,6 +57377,14 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr ""
#: doc/classes/TextEdit.xml
+msgid "Returns the total amount of lines that could be drawn."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr ""
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58171,6 +58425,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58311,6 +58571,17 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58359,6 +58630,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58454,6 +58731,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60627,7 +60918,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60668,9 +60959,7 @@ msgid ""
msgstr ""
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
+msgid "Returns the number of buttons in column [code]column[/code]."
msgstr ""
#: doc/classes/TreeItem.xml
diff --git a/doc/translations/tr.po b/doc/translations/tr.po
index f08c6a8e63..39cd3b64ef 100644
--- a/doc/translations/tr.po
+++ b/doc/translations/tr.po
@@ -4101,6 +4101,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -5612,8 +5621,9 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
-msgstr ""
+#, fuzzy
+msgid "Returns whether the given path is filtered."
+msgstr "Verilen değerin tanjantını döndürür."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -5637,7 +5647,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -5646,7 +5656,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -10258,26 +10268,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -10435,6 +10429,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -13523,6 +13527,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -16361,8 +16377,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -17119,6 +17136,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23800,7 +23836,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25908,8 +25959,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -26179,7 +26231,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -32726,7 +32783,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -33106,8 +33168,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34948,6 +35014,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34961,6 +35036,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -35003,6 +35090,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -35054,6 +35151,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -37382,6 +37491,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -37552,6 +37680,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -37652,6 +37795,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37902,6 +38053,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38889,8 +39046,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -39683,7 +39840,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -47559,6 +47728,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -47569,8 +47749,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -48083,14 +48265,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -48219,8 +48406,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -52165,6 +52352,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -53418,6 +53612,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -55255,7 +55461,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55269,7 +55475,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55944,7 +56150,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -56207,7 +56418,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -56230,11 +56450,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -56283,14 +56516,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -56460,8 +56695,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57955,6 +58198,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr "Parametrenin kosinüsünü döndürür."
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "Verilen değerin zıt değerini döndürür."
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "İki vektörün kalanını döndürür."
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58995,6 +59248,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -59135,6 +59394,18 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr "İki vektörün kalanını döndürür."
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -59183,6 +59454,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -59278,6 +59555,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -61454,7 +61745,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -61496,10 +61787,9 @@ msgid ""
msgstr "Verilen değerin sinüsünü döndürür."
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
-msgstr ""
+#, fuzzy
+msgid "Returns the number of buttons in column [code]column[/code]."
+msgstr "Verilen değerin sinüsünü döndürür."
#: doc/classes/TreeItem.xml
#, fuzzy
diff --git a/doc/translations/uk.po b/doc/translations/uk.po
index 0eed155e80..9f268b548f 100644
--- a/doc/translations/uk.po
+++ b/doc/translations/uk.po
@@ -15,8 +15,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-01-29 12:53+0000\n"
-"Last-Translator: Vladyslav Anisimov <uniss@ua.fm>\n"
+"PO-Revision-Date: 2022-02-16 16:37+0000\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/uk/>\n"
"Language: uk\n"
@@ -73,7 +73,6 @@ msgid "Theme Property Descriptions"
msgstr "ОпиÑи ВлаÑтивоÑтей Теми"
#: doc/tools/make_rst.py
-#, fuzzy
msgid "Inherits:"
msgstr "УÑпадковує:"
@@ -88,9 +87,8 @@ msgid "(overrides %s)"
msgstr "(перевизначає %s)"
#: doc/tools/make_rst.py
-#, fuzzy
msgid "Default"
-msgstr "За замовчуваннÑм"
+msgstr "Типовий"
#: doc/tools/make_rst.py
#, fuzzy
@@ -3480,6 +3478,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4991,8 +4998,9 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
-msgstr ""
+#, fuzzy
+msgid "Returns whether the given path is filtered."
+msgstr "Повертає Ñ‚Ð°Ð½Ð³ÐµÐ½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -5016,7 +5024,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -5025,7 +5033,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9643,26 +9651,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9820,6 +9812,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12903,6 +12905,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15740,8 +15754,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16498,6 +16513,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23177,7 +23211,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25281,8 +25330,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25552,7 +25602,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -32101,7 +32156,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32481,8 +32541,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34323,6 +34387,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34336,6 +34409,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34378,6 +34463,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34429,6 +34524,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36753,6 +36860,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36923,6 +37049,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -37023,6 +37164,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37273,6 +37422,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38260,8 +38415,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -39054,7 +39209,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46921,6 +47088,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46931,8 +47109,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47445,14 +47625,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47581,8 +47766,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51520,6 +51705,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52774,6 +52966,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54610,7 +54814,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54624,7 +54828,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55299,7 +55503,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55562,7 +55771,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55585,11 +55803,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55638,14 +55869,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55815,8 +56048,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57311,6 +57552,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr "Повертає кут до заданого вектора у радіанах."
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "Повертає значеннÑ, Ñке Ñ” протилежним до Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°."
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "Повертає лишок за двома векторами."
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58349,6 +58600,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58490,6 +58747,18 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr "ОбчиÑлює векторний добуток цього вектора Ñ– [code]b[/code]."
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58537,6 +58806,13 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr "ОбчиÑлює векторний добуток двох векторів та [code]with[/code]."
+
+#: doc/classes/Theme.xml
msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
@@ -58633,6 +58909,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60809,7 +61099,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60851,10 +61141,9 @@ msgid ""
msgstr "ОбчиÑлює векторний добуток цього вектора Ñ– [code]b[/code]."
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
-msgstr ""
+#, fuzzy
+msgid "Returns the number of buttons in column [code]column[/code]."
+msgstr "ОбчиÑлює векторний добуток цього вектора Ñ– [code]b[/code]."
#: doc/classes/TreeItem.xml
#, fuzzy
diff --git a/doc/translations/vi.po b/doc/translations/vi.po
index 1c0c455fec..94b26a92d6 100644
--- a/doc/translations/vi.po
+++ b/doc/translations/vi.po
@@ -4,7 +4,7 @@
# This file is distributed under the same license as the Godot source code.
#
# Rev <revolnoom7801@gmail.com>, 2021.
-# IoeCmcomc <hopdaigia2004@gmail.com>, 2021.
+# IoeCmcomc <hopdaigia2004@gmail.com>, 2021, 2022.
# Hung <hungthitkhia@gmail.com>, 2021.
# Giacat Buile <hatconan20024@gmail.com>, 2021.
# Quinn Le <quinnsgn@gmail.com>, 2021.
@@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2021-11-12 13:49+0000\n"
-"Last-Translator: Quinn Le <quinnsgn@gmail.com>\n"
+"PO-Revision-Date: 2022-02-26 10:27+0000\n"
+"Last-Translator: IoeCmcomc <hopdaigia2004@gmail.com>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/vi/>\n"
"Language: vi\n"
@@ -21,7 +21,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.9.1-dev\n"
+"X-Generator: Weblate 4.11.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -53,7 +53,7 @@ msgstr "Liệt kê"
#: doc/tools/make_rst.py
msgid "Constants"
-msgstr "Hằng số"
+msgstr "Hằng"
#: doc/tools/make_rst.py
msgid "Property Descriptions"
@@ -64,25 +64,24 @@ msgid "Method Descriptions"
msgstr "Mô tả phương thức"
#: doc/tools/make_rst.py
-#, fuzzy
msgid "Theme Property Descriptions"
-msgstr "Nội dung Thuộc tính"
+msgstr "Mô tả thuá»™c tính chủ Ä‘á»"
#: doc/tools/make_rst.py
msgid "Inherits:"
-msgstr ""
+msgstr "Kế thừa:"
#: doc/tools/make_rst.py
msgid "Inherited By:"
-msgstr ""
+msgstr "Äược kế thừa bởi:"
#: doc/tools/make_rst.py
msgid "(overrides %s)"
-msgstr ""
+msgstr "(ghi đè %s)"
#: doc/tools/make_rst.py
msgid "Default"
-msgstr ""
+msgstr "Mặc định"
#: doc/tools/make_rst.py
msgid "Setter"
@@ -90,7 +89,7 @@ msgstr ""
#: doc/tools/make_rst.py
msgid "value"
-msgstr ""
+msgstr "giá trị"
#: doc/tools/make_rst.py
msgid "Getter"
@@ -99,22 +98,26 @@ msgstr ""
#: doc/tools/make_rst.py
msgid ""
"This method should typically be overridden by the user to have any effect."
-msgstr ""
+msgstr "PhÆ°Æ¡ng thức này nên được ngÆ°á»i dùng ghi đè để có tác dụng."
#: doc/tools/make_rst.py
msgid ""
"This method has no side effects. It doesn't modify any of the instance's "
"member variables."
msgstr ""
+"Phương thức này không có tác dụng phụ. Nó không sửa đổi bất cứ biến thành "
+"viên nào của hiện thể cả."
#: doc/tools/make_rst.py
msgid ""
"This method accepts any number of arguments after the ones described here."
msgstr ""
+"Phương thức này chấp nhận bất kì số đối số nào sau những cái đã được mô tả ở "
+"đây."
#: doc/tools/make_rst.py
msgid "This method is used to construct a type."
-msgstr ""
+msgstr "Phương thức này được dùng để tạo một kiểu."
#: doc/tools/make_rst.py
msgid ""
@@ -181,7 +184,6 @@ msgstr ""
"Những tên mày được hỗ trợ giống với các hằng số ở trong [Màu]."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns the absolute value of parameter [code]s[/code] (i.e. positive "
"value).\n"
@@ -189,8 +191,7 @@ msgid ""
"a = abs(-1) # a is 1\n"
"[/codeblock]"
msgstr ""
-"Trả vỠgiá trị tuyệt đối của tham số [code]s[/code] (nghĩa là giá trị "
-"dÆ°Æ¡ng).\n"
+"Trả vỠgiá trị tuyệt đối của tham số [code]s[/code] (v.d. giá trị dương).\n"
"[codeblock]\n"
"# a là 1\n"
"a = abs(-1)\n"
@@ -3756,6 +3757,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -5290,8 +5300,9 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
-msgstr ""
+#, fuzzy
+msgid "Returns whether the given path is filtered."
+msgstr "Trả vỠ[Texture2D] của khung hình được cho."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -5315,7 +5326,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -5324,7 +5335,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9937,26 +9948,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -10114,6 +10109,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -13198,6 +13203,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -16037,8 +16054,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16795,6 +16813,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23475,7 +23512,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25579,8 +25631,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25850,7 +25903,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -32394,7 +32452,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32774,8 +32837,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34616,6 +34683,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34629,6 +34705,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34671,6 +34759,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34722,6 +34820,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -37048,6 +37158,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -37218,6 +37347,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -37318,6 +37462,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37568,6 +37720,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38555,8 +38713,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -39349,7 +39507,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -47227,6 +47397,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -47237,8 +47418,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47751,14 +47934,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47887,8 +48075,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51831,6 +52019,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -53086,6 +53281,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54923,7 +55130,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54937,7 +55144,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55612,7 +55819,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55875,7 +56087,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55898,11 +56119,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55951,14 +56185,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -56128,8 +56364,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57623,6 +57867,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr "Trả vỠcôsin của tham số."
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "Trả vỠgiá trị đối của tham số."
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "Trả vỠphần dư của hai vector."
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58663,6 +58917,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58803,6 +59063,18 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr "Trả vỠphần dư của hai vector."
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58851,6 +59123,12 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
"[b]Note:[/b] This modifies the current theme. If you want to merge two "
@@ -58946,6 +59224,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -61122,7 +61414,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -61164,10 +61456,9 @@ msgid ""
msgstr "Trả vỠsin của tham số."
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
-msgstr ""
+#, fuzzy
+msgid "Returns the number of buttons in column [code]column[/code]."
+msgstr "Trả vỠsin của tham số."
#: doc/classes/TreeItem.xml
#, fuzzy
@@ -70556,11 +70847,11 @@ msgstr ""
#: doc/classes/VisualShaderNodeVectorFunc.xml
msgid "Converts RGB vector to HSV equivalent."
-msgstr "Chuyển vector màu RGB sang HSV tương ứng."
+msgstr "Chuyển véc tơ màu RGB sang HSV tương ứng."
#: doc/classes/VisualShaderNodeVectorFunc.xml
msgid "Converts HSV vector to RGB equivalent."
-msgstr "Chuyển vector màu HSV sang RGB tương ứng."
+msgstr "Chuyển véc tơ màu HSV sang RGB tương ứng."
#: doc/classes/VisualShaderNodeVectorFunc.xml
msgid "Returns the absolute value of the parameter."
diff --git a/doc/translations/zh_CN.po b/doc/translations/zh_CN.po
index fdd36621c7..43706eb180 100644
--- a/doc/translations/zh_CN.po
+++ b/doc/translations/zh_CN.po
@@ -62,7 +62,7 @@ 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"
+"PO-Revision-Date: 2022-03-08 06:54+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"
@@ -71,7 +71,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.11-dev\n"
+"X-Generator: Weblate 4.12-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -4182,6 +4182,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4631,18 +4640,17 @@ msgstr ""
#: doc/classes/Transform.xml doc/classes/Transform2D.xml
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid "Math tutorial index"
-msgstr ""
+msgstr "数学教程索引"
#: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Vector2.xml
#: doc/classes/Vector3.xml
-#, fuzzy
msgid "Vector math"
-msgstr "用于二维数学的å‘é‡ã€‚"
+msgstr "å‘é‡æ•°å­¦"
#: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Vector2.xml
#: doc/classes/Vector3.xml
msgid "Advanced vector math"
-msgstr ""
+msgstr "高等å‘é‡æ•°å­¦"
#: doc/classes/AABB.xml
msgid "Constructs an [AABB] from a position and size."
@@ -5081,7 +5089,7 @@ msgstr ""
#: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
msgid "2D Sprite animation"
-msgstr ""
+msgstr "2D ç²¾çµåŠ¨ç”»"
#: doc/classes/AnimatedSprite.xml doc/classes/Area2D.xml
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
@@ -5091,7 +5099,7 @@ msgstr ""
#: doc/classes/Particles2D.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
-msgstr ""
+msgstr "2D Dodge The Creeps 演示"
#: doc/classes/AnimatedSprite.xml
msgid ""
@@ -5179,7 +5187,7 @@ msgstr ""
#: doc/classes/AnimatedSprite3D.xml
msgid "2D Sprite animation (also applies to 3D)"
-msgstr ""
+msgstr "2D ç²¾çµåŠ¨ç”»ï¼ˆä¹Ÿé€‚用于 3D)"
#: doc/classes/AnimatedSprite3D.xml
msgid "Returns [code]true[/code] if an animation is currently being played."
@@ -5861,7 +5869,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid "Base resource for [AnimationTree] nodes."
-msgstr "[AnimationTree]节点的基础资æºã€‚"
+msgstr "[AnimationTree] 节点的基础资æºã€‚"
#: doc/classes/AnimationNode.xml
msgid ""
@@ -5889,8 +5897,8 @@ msgid ""
"passed, as well as whether [code]seek[/code] happened."
msgstr ""
"按 [code]blend[/code] é‡æ··åˆä¸€ä¸ªåŠ¨ç”»ï¼ˆå称必须在链接的 [AnimationPlayer] 中有"
-"效)。å¯ä»¥é€šè¿‡ [code]time[/code] å’Œ [code]delta[/code],以åŠæ˜¯å¦å‘生 "
-"[code]seek[/code]。"
+"效)。å¯ä»¥ä¼ å…¥æ—¶é—´ [code]time[/code] å’Œå¢žé‡ [code]delta[/code],以åŠè¡¨ç¤ºæ˜¯å¦"
+"å‘生寻é“çš„ [code]seek[/code]。"
#: doc/classes/AnimationNode.xml
msgid ""
@@ -5900,9 +5908,10 @@ msgid ""
"absolute. A filter mode may be optionally passed (see [enum FilterAction] "
"for options)."
msgstr ""
-"æ··åˆä¸€ä¸ªè¾“入。这åªå¯¹ä¸º [AnimationNodeBlendTree] 创建的节点有用。[code]time[/"
-"code] å‚æ•°æ˜¯ä¸€ä¸ªç›¸å¯¹ä¸‰è§’ï¼Œé™¤éž [code]seek[/code] 是 [code]true[/code],在这ç§"
-"情况下,它是ç»å¯¹å€¼ã€‚å¯ä»¥é€‰æ‹©ä¼ é€’过滤模å¼ï¼ˆé€‰é¡¹è¯·å‚阅 [enum FilterAction])。"
+"æ··åˆä¸€ä¸ªè¾“入。这åªå¯¹ä¸º [AnimationNodeBlendTree] 创建的节点有用。时间å‚æ•° "
+"[code]time[/code] 是一个相对的增é‡ï¼Œé™¤éž [code]seek[/code] 是 [code]true[/"
+"code],此时它是ç»å¯¹çš„时间。å¯ä»¥é€‰æ‹©ä¼ é€’过滤模å¼ï¼ˆé€‰é¡¹è¯·å‚阅 [enum "
+"FilterAction])。"
#: doc/classes/AnimationNode.xml
msgid ""
@@ -5911,8 +5920,7 @@ msgid ""
"instead, else editors will not display your node for addition."
msgstr ""
"æ··åˆå¦ä¸€ä¸ªåŠ¨ç”»èŠ‚点(在这个节点包å«å­åŠ¨ç”»èŠ‚点的情况下)。这个函数åªæœ‰åœ¨ä½ ç»§æ‰¿ "
-"[AnimationRootNode] 而ä¸æ˜¯ [AnimationRootNode] æ—¶æ‰æœ‰ç”¨ï¼Œå¦åˆ™ç¼–辑器将ä¸ä¼šæ˜¾ç¤º"
-"你的节点进行添加。"
+"[AnimationRootNode] æ—¶æ‰æœ‰ç”¨ï¼Œå¦åˆ™ç¼–辑器将ä¸ä¼šæ˜¾ç¤ºä½ çš„节点进行添加。"
#: doc/classes/AnimationNode.xml
msgid "Gets the text caption for this node (used by some editors)."
@@ -5936,7 +5944,7 @@ msgstr ""
msgid ""
"Amount of inputs in this node, only useful for nodes that go into "
"[AnimationNodeBlendTree]."
-msgstr "这个节点的输入数é‡ï¼Œåªå¯¹è¿›å…¥[AnimationNodeBlendTree]的节点有用。"
+msgstr "这个节点的输入数é‡ï¼Œåªå¯¹è¿›å…¥ [AnimationNodeBlendTree] 的节点有用。"
#: doc/classes/AnimationNode.xml
msgid "Gets the name of an input by index."
@@ -5974,7 +5982,8 @@ msgid ""
msgstr "返回[code]true[/code],是å¦å¸Œæœ›æ··åˆæ ‘编辑器在此节点上显示过滤器编辑。"
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
+#, fuzzy
+msgid "Returns whether the given path is filtered."
msgstr "返回[code]true[/code]是å¦å¯¹æŒ‡å®šè·¯å¾„进行过滤。"
#: doc/classes/AnimationNode.xml
@@ -5988,12 +5997,11 @@ msgid ""
"This function should return the time left for the current animation to "
"finish (if unsure, pass the value from the main blend being called)."
msgstr ""
-"当一个自定义节点被处ç†æ—¶ï¼Œç”¨æˆ·å®šä¹‰çš„回调被调用。[code]time[/code]å‚数是一个相"
-"对的delta,除éž[code]seek[/code]是[code]true[/code],在这ç§æƒ…况下,它是ç»å¯¹"
-"的。\n"
-"在这里,调用[method blend_input]ã€[method blend_node]或[method "
-"blend_animation]函数。你也å¯ä»¥ä½¿ç”¨[method get_parameter]å’Œ[method "
-"set_parameter]æ¥ä¿®æ”¹æœ¬åœ°å­˜å‚¨ã€‚\n"
+"用户定义的回调,会在处ç†è‡ªå®šä¹‰èŠ‚点时调用。时间å‚æ•° [code]time[/code] 是一个相"
+"对的增é‡ï¼Œé™¤éž [code]seek[/code] 是 [code]true[/code],此时它是ç»å¯¹çš„时间。\n"
+"请在这里调用 [method blend_input]ã€[method blend_node] 或 [method "
+"blend_animation] 函数。你也å¯ä»¥ä½¿ç”¨ [method get_parameter] å’Œ [method "
+"set_parameter] æ¥ä¿®æ”¹æœ¬åœ°å­˜å‚¨ã€‚\n"
"这个函数应该返回当å‰åŠ¨ç”»å®Œæˆçš„剩余时间(如果ä¸ç¡®å®šï¼Œè¯·ä¼ é€’被调用的主混åˆ"
"值)。"
@@ -6006,8 +6014,9 @@ msgid "Adds or removes a path for the filter."
msgstr "添加或删除筛选器的路径。"
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
"设置一个自定义å‚数。这些å‚数被用作本地存储,因为资æºå¯ä»¥åœ¨æ ‘或场景中é‡å¤ä½¿"
@@ -6015,10 +6024,11 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid "If [code]true[/code], filtering is enabled."
-msgstr "如果[code]true[/code],则å¯ç”¨è¿‡æ»¤åŠŸèƒ½ã€‚"
+msgstr "如果为 [code]true[/code],则å¯ç”¨ç­›é€‰åŠŸèƒ½ã€‚"
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+#, fuzzy
+msgid "Emitted when the node was removed from the graph."
msgstr "当该节点从图中删除时调用。"
#: doc/classes/AnimationNode.xml
@@ -6034,23 +6044,23 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid "Do not use filtering."
-msgstr "ä¸è¦ä½¿ç”¨è¿‡æ»¤åŠŸèƒ½ã€‚"
+msgstr "ä¸è¦ä½¿ç”¨ç­›é€‰åŠŸèƒ½ã€‚"
#: doc/classes/AnimationNode.xml
msgid "Paths matching the filter will be allowed to pass."
-msgstr "匹é…过滤器的路径将被å…许通过。"
+msgstr "与筛选器匹é…的路径将被å…许通过。"
#: doc/classes/AnimationNode.xml
msgid "Paths matching the filter will be discarded."
-msgstr "与过滤器匹é…的路径将被丢弃。"
+msgstr "与筛选器匹é…的路径将被丢弃。"
#: doc/classes/AnimationNode.xml
msgid "Paths matching the filter will be blended (by the blend value)."
-msgstr "与滤镜相匹é…的路径将被混åˆï¼ˆæ ¹æ®æ··åˆå€¼ï¼‰ã€‚"
+msgstr "与筛选器匹é…的路径将被混åˆï¼ˆæ ¹æ®æ··åˆå€¼ï¼‰ã€‚"
#: doc/classes/AnimationNodeAdd2.xml
msgid "Blends two animations additively inside of an [AnimationNodeBlendTree]."
-msgstr "在一个[AnimationNodeBlendTree]中加法地混åˆä¸¤ä¸ªåŠ¨ç”»ã€‚"
+msgstr "在 [AnimationNodeBlendTree] 中加法地混åˆä¸¤ä¸ªåŠ¨ç”»ã€‚"
#: doc/classes/AnimationNodeAdd2.xml
msgid ""
@@ -6074,7 +6084,7 @@ msgstr ""
msgid ""
"Blends two of three animations additively inside of an "
"[AnimationNodeBlendTree]."
-msgstr "在[AnimationNodeBlendTree]内部将三个动画中的两个动画相加。"
+msgstr "在 [AnimationNodeBlendTree] 中将三个动画中的两个动画相加。"
#: doc/classes/AnimationNodeAdd3.xml
msgid ""
@@ -6101,9 +6111,8 @@ msgstr ""
#: doc/classes/AnimationNodeOneShot.xml doc/classes/AnimationNodeOutput.xml
#: doc/classes/AnimationNodeTimeScale.xml
#: doc/classes/AnimationNodeTransition.xml
-#, fuzzy
msgid "AnimationTree"
-msgstr "Animation节点。"
+msgstr "AnimationTree"
#: doc/classes/AnimationNodeAdd3.xml doc/classes/AnimationNodeAnimation.xml
#: doc/classes/AnimationNodeBlend2.xml
@@ -6119,11 +6128,11 @@ msgstr "Animation节点。"
#: doc/classes/Quat.xml doc/classes/Skeleton.xml doc/classes/SpotLight.xml
#: doc/classes/StaticBody.xml doc/classes/WorldEnvironment.xml
msgid "Third Person Shooter Demo"
-msgstr ""
+msgstr "第三人称射击演示"
#: doc/classes/AnimationNodeAnimation.xml
msgid "Input animation to use in an [AnimationNodeBlendTree]."
-msgstr "输入è¦åœ¨[AnimationNodeBlendTree]中使用的动画。"
+msgstr "输入è¦åœ¨ [AnimationNodeBlendTree] 中使用的动画。"
#: doc/classes/AnimationNodeAnimation.xml
msgid ""
@@ -6143,7 +6152,7 @@ msgstr ""
#: doc/classes/MeshInstance.xml doc/classes/MeshLibrary.xml
#: doc/classes/ProjectSettings.xml doc/classes/Transform.xml
msgid "3D Platformer Demo"
-msgstr ""
+msgstr "3D å¹³å°è·³è·ƒæ¼”示"
#: doc/classes/AnimationNodeAnimation.xml
msgid ""
@@ -6423,14 +6432,14 @@ msgstr ""
#: doc/classes/AnimationNodeBlendTree.xml
msgid "[AnimationTree] node resource that contains many blend type nodes."
-msgstr "[AnimationTree]节点资æºï¼Œå…¶ä¸­åŒ…å«è®¸å¤šæ··åˆç±»åž‹èŠ‚点。"
+msgstr "[AnimationTree] 节点资æºï¼Œå…¶ä¸­åŒ…å«è®¸å¤šæ··åˆç±»åž‹èŠ‚点。"
#: doc/classes/AnimationNodeBlendTree.xml
msgid ""
"This node may contain a sub-tree of any other blend type nodes, such as mix, "
"blend2, blend3, one shot, etc. This is one of the most commonly used roots."
msgstr ""
-"该节点å¯ä»¥åŒ…å«ä»»ä½•å…¶ä»–æ··åˆç±»åž‹èŠ‚点的å­æ ‘,例如mix,blend2,blend3,一个shot"
+"该节点å¯ä»¥åŒ…å«ä»»ä½•å…¶ä»–æ··åˆç±»åž‹èŠ‚点的å­æ ‘,例如 mixã€blend2ã€blend3ã€one shot "
"等。这是最常用的根之一。"
#: doc/classes/AnimationNodeBlendTree.xml
@@ -6438,7 +6447,7 @@ msgid ""
"Adds an [AnimationNode] at the given [code]position[/code]. The [code]name[/"
"code] is used to identify the created sub-node later."
msgstr ""
-"在给定的 [code]position[/code] 添加一个 [AnimationNode]。[code]name[/code]用"
+"在给定的 [code]position[/code] 添加一个 [AnimationNode]。[code]name[/code] 用"
"于以åŽè¯†åˆ«åˆ›å»ºçš„å­èŠ‚点。"
#: doc/classes/AnimationNodeBlendTree.xml
@@ -6455,18 +6464,18 @@ msgstr "断开连接到指定输入端的节点。"
#: doc/classes/AnimationNodeBlendTree.xml
msgid "Returns the sub-node with the specified [code]name[/code]."
-msgstr "返回带有指定[code]name[/code]çš„å­èŠ‚点。"
+msgstr "返回å称为 [code]name[/code] çš„å­èŠ‚点。"
#: doc/classes/AnimationNodeBlendTree.xml
msgid ""
"Returns the position of the sub-node with the specified [code]name[/code]."
-msgstr "返回指定[code]name[/code]çš„å­èŠ‚点的ä½ç½®ã€‚"
+msgstr "返回å称为 [code]name[/code] çš„å­èŠ‚点的ä½ç½®ã€‚"
#: doc/classes/AnimationNodeBlendTree.xml
msgid ""
"Returns [code]true[/code] if a sub-node with specified [code]name[/code] "
"exists."
-msgstr "如果存在指定[code]name[/code]çš„å­èŠ‚点,返回[code]true[/code]。"
+msgstr "如果存在å称为 [code]name[/code] çš„å­èŠ‚点,则返回 [code]true[/code]。"
#: doc/classes/AnimationNodeBlendTree.xml
msgid "Removes a sub-node."
@@ -6494,7 +6503,7 @@ msgstr "输入节点为 [code]null[/code]。"
#: doc/classes/AnimationNodeBlendTree.xml
msgid "The specified input port is out of range."
-msgstr "指定的输入端å£å·²å‡ºèŒƒå›´ã€‚"
+msgstr "指定的输入端å£è¶…出范围。"
#: doc/classes/AnimationNodeBlendTree.xml
msgid "The output node is [code]null[/code]."
@@ -6502,7 +6511,7 @@ msgstr "输出节点为 [code]null[/code]。"
#: doc/classes/AnimationNodeBlendTree.xml
msgid "Input and output nodes are the same."
-msgstr "输入和输出节点是一样的。"
+msgstr "输入和输出节点相åŒã€‚"
#: doc/classes/AnimationNodeBlendTree.xml
msgid "The specified connection already exists."
@@ -6892,9 +6901,8 @@ msgstr ""
"更新动画的目标属性是在处ç†æ—¶è¿›è¡Œçš„。"
#: doc/classes/AnimationPlayer.xml
-#, fuzzy
msgid "Animation tutorial index"
-msgstr "Animation节点。"
+msgstr "动画教程索引"
#: doc/classes/AnimationPlayer.xml
msgid ""
@@ -7243,9 +7251,8 @@ msgstr ""
"画。"
#: doc/classes/AnimationTree.xml
-#, fuzzy
msgid "Using AnimationTree"
-msgstr "é‡ç½®æ­¤ [AnimationTreePlayer]。"
+msgstr "使用 AnimationTree"
#: doc/classes/AnimationTree.xml
msgid "Manually advance the animations by the specified time (in seconds)."
@@ -7784,7 +7791,7 @@ msgstr ""
#: doc/classes/Area.xml doc/classes/QuadMesh.xml doc/classes/Viewport.xml
#: doc/classes/ViewportTexture.xml
msgid "GUI in 3D Demo"
-msgstr ""
+msgstr "3D GUI 演示"
#: doc/classes/Area.xml
msgid ""
@@ -8101,18 +8108,18 @@ msgstr ""
#: doc/classes/Area2D.xml
msgid "Using Area2D"
-msgstr ""
+msgstr "使用 Area2D"
#: doc/classes/Area2D.xml doc/classes/CollisionShape2D.xml
#: doc/classes/RectangleShape2D.xml
msgid "2D Pong Demo"
-msgstr ""
+msgstr "2D Pong 演示"
#: doc/classes/Area2D.xml doc/classes/Camera2D.xml
#: doc/classes/KinematicBody2D.xml doc/classes/TileMap.xml
#: doc/classes/TileSet.xml
msgid "2D Platformer Demo"
-msgstr ""
+msgstr "2D å¹³å°è·³è·ƒæ¼”示"
#: doc/classes/Area2D.xml
msgid ""
@@ -8684,7 +8691,6 @@ msgstr ""
"[/codeblock]"
#: doc/classes/Array.xml
-#, fuzzy
msgid ""
"Returns a hashed 32-bit integer value representing the array and its "
"contents.\n"
@@ -8693,9 +8699,10 @@ msgid ""
"does [i]not[/i] imply the arrays are equal, because different arrays can "
"have identical hash values due to hash collisions."
msgstr ""
-"返回代表这个数组åŠå…¶å†…容的整数哈希值。\n"
-"[b]注æ„:[/b]仅仅内容相åŒçš„数组会产生ä¸åŒçš„哈希值, å¿…é¡»è¦å®Œå…¨ä¸€è‡´çš„数组æ‰ä¼šäº§"
-"生相åŒçš„哈希值."
+"返回代表该数组åŠå…¶å†…容的 32 ä½æ•´æ•°å“ˆå¸Œå€¼ã€‚\n"
+"[b]注æ„:[/b]内容相åŒçš„ [Array] 会得到一致的哈希值。然而,å之ä¸ç„¶ã€‚返回一致"
+"的哈希值[i]并ä¸[/i]æ„味ç€æ•°ç»„相等,因为ä¸åŒçš„数组å¯èƒ½å› ä¸ºå“ˆå¸Œç¢°æ’žè€Œå¾—到一致的"
+"哈希值。"
#: doc/classes/Array.xml
msgid ""
@@ -10507,7 +10514,7 @@ msgstr "使用二维å‘é‡ä½œä¸ºè¾¹ç¼˜çš„AStar类表示。"
msgid ""
"This is a wrapper for the [AStar] class which uses 2D vectors instead of 3D "
"vectors."
-msgstr "这是[AStar]类的包装,该类使用2Då‘é‡è€Œä¸æ˜¯3Då‘é‡ã€‚"
+msgstr "这是 [AStar] 类的包装,该类使用 2D å‘é‡è€Œä¸æ˜¯ 3D å‘é‡ã€‚"
#: doc/classes/AStar2D.xml
msgid ""
@@ -10780,9 +10787,8 @@ msgstr "音频总线的基础资æºã€‚在该资æºæ‰€åº”用的总线上应用音
#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
#: doc/classes/AudioStreamPlayer.xml
-#, fuzzy
msgid "Audio Mic Record Demo"
-msgstr "音频频谱演示"
+msgstr "音频麦克风录音演示"
#: doc/classes/AudioEffectAmplify.xml
msgid ""
@@ -11120,7 +11126,7 @@ msgstr ""
#: doc/classes/AudioEffectHighShelfFilter.xml
#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
msgid "Audio buses"
-msgstr ""
+msgstr "音频总线"
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
@@ -11606,7 +11612,7 @@ msgstr ""
#: doc/classes/AudioEffectRecord.xml
msgid "Recording with microphone"
-msgstr ""
+msgstr "使用麦克风录音"
#: doc/classes/AudioEffectRecord.xml
msgid "Returns the recorded sample."
@@ -11761,9 +11767,8 @@ msgstr ""
"频)以åŠé€šè¿‡è¯­éŸ³æŽ¥å£è¿›è¡Œæ’­æ”¾ã€‚"
#: doc/classes/AudioServer.xml doc/classes/AudioStreamPlayer.xml
-#, fuzzy
msgid "Audio Device Changer Demo"
-msgstr "音频频谱演示"
+msgstr "音频设备切æ¢æ¼”示"
#: doc/classes/AudioServer.xml
msgid "Adds a bus at [code]at_position[/code]."
@@ -11778,27 +11783,10 @@ msgstr ""
"[AudioEffect] 效果。"
#: doc/classes/AudioServer.xml
-#, fuzzy
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr "当å‰éŸ³é¢‘输入设备的å称(å‚阅[method capture_get_device_list])。"
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr "返回系统上检测到的所有音频输入设备的å称。"
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr "使用å¯ç”¨çš„总线和效果生æˆ[AudioBusLayout]。"
@@ -11972,6 +11960,21 @@ msgid "Number of available audio buses."
msgstr "å¯ç”¨éŸ³é¢‘总线的数é‡ã€‚"
#: doc/classes/AudioServer.xml
+#, fuzzy
+msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+"当å‰éŸ³é¢‘输出设备åç§°ï¼ˆè§ [method get_device_list])。在具有多个音频输出的系统"
+"中(例如模拟ã€USBã€HDMI 音频),å¯ç”¨äºŽé€‰æ‹©éŸ³é¢‘输出设备。将值设为 "
+"[code]\"Default\"[/code] 则会从系统默认的音频输出播放音频。如果设置了无效的设"
+"备å称,该值会被æ¢å¤ä¸º [code]\"Default\"[/code]。"
+
+#: doc/classes/AudioServer.xml
msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
@@ -11980,6 +11983,10 @@ msgid ""
"output. If an invalid device name is set, the value will be reverted back to "
"[code]\"Default\"[/code]."
msgstr ""
+"当å‰éŸ³é¢‘输出设备åç§°ï¼ˆè§ [method get_device_list])。在具有多个音频输出的系统"
+"中(例如模拟ã€USBã€HDMI 音频),å¯ç”¨äºŽé€‰æ‹©éŸ³é¢‘输出设备。将值设为 "
+"[code]\"Default\"[/code] 则会从系统默认的音频输出播放音频。如果设置了无效的设"
+"备å称,该值会被æ¢å¤ä¸º [code]\"Default\"[/code]。"
#: doc/classes/AudioServer.xml
msgid ""
@@ -12022,16 +12029,14 @@ msgstr ""
"[AudioStreamSample])和 OGG(通过[AudioStreamOGGVorbis])文件格å¼ã€‚"
#: doc/classes/AudioStream.xml doc/classes/AudioStreamPlayer.xml
-#, fuzzy
msgid "Audio streams"
-msgstr "音频频谱演示"
+msgstr "音频æµ"
#: doc/classes/AudioStream.xml doc/classes/AudioStreamGenerator.xml
#: doc/classes/AudioStreamGeneratorPlayback.xml
#: doc/classes/AudioStreamPlayback.xml doc/classes/AudioStreamPlayer.xml
-#, fuzzy
msgid "Audio Generator Demo"
-msgstr "音频频谱演示"
+msgstr "音频生æˆå™¨æ¼”示"
#: doc/classes/AudioStream.xml
msgid "Returns the length of the audio stream in seconds."
@@ -12329,6 +12334,9 @@ msgid ""
"\"water\" area so that sounds played in the water are redirected through an "
"audio bus to make them sound like they are being played underwater."
msgstr ""
+"决定对混å“åŠéŸ³é¢‘总线效果有影å“çš„ [Area2D] 层。å¯ä½¿ç”¨åŒºåŸŸå¯¹ [AudioStream] 进行"
+"é‡å®šå‘,使其在特定的音频总线中播放。一个例å­æ˜¯å¯ä»¥ç”¨æ¥åˆ¶ä½œâ€œæ°´åŸŸâ€ï¼Œå°†æ°´ä¸­æ’­æ”¾"
+"的声音é‡å®šå‘至å•ç‹¬çš„音频总线,让声音å¬èµ·æ¥åƒæ˜¯åœ¨æ°´ä¸‹æ’­æ”¾ã€‚"
#: doc/classes/AudioStreamPlayer2D.xml
msgid "Dampens audio over distance with this as an exponent."
@@ -12386,6 +12394,9 @@ msgid ""
"\"water\" area so that sounds played in the water are redirected through an "
"audio bus to make them sound like they are being played underwater."
msgstr ""
+"决定对混å“åŠéŸ³é¢‘总线效果有影å“çš„ [Area] 层。å¯ä½¿ç”¨åŒºåŸŸå¯¹ [AudioStream] 进行é‡"
+"定å‘,使其在特定的音频总线中播放。一个例å­æ˜¯å¯ä»¥ç”¨æ¥åˆ¶ä½œâ€œæ°´åŸŸâ€ï¼Œå°†æ°´ä¸­æ’­æ”¾çš„"
+"声音é‡å®šå‘至å•ç‹¬çš„音频总线,让声音å¬èµ·æ¥åƒæ˜¯åœ¨æ°´ä¸‹æ’­æ”¾ã€‚"
#: doc/classes/AudioStreamPlayer3D.xml
msgid ""
@@ -12854,7 +12865,6 @@ msgstr ""
"象。"
#: doc/classes/BakedLightmap.xml
-#, fuzzy
msgid ""
"Bias value to reduce the amount of light propagation in the captured octree."
msgstr "å置值,用于å‡å°‘æ•èŽ·çš„å…«å‰æ ‘中的光传播é‡ã€‚"
@@ -12934,7 +12944,6 @@ msgid "The calculated light data."
msgstr "计算出的光照数æ®ã€‚"
#: doc/classes/BakedLightmap.xml
-#, fuzzy
msgid ""
"Determines the amount of samples per texel used in indirect light baking. "
"The amount of samples for each quality level can be configured in the "
@@ -13302,17 +13311,16 @@ msgstr ""
#: doc/classes/Basis.xml doc/classes/Transform.xml doc/classes/Transform2D.xml
msgid "Matrices and transforms"
-msgstr ""
+msgstr "矩阵与å˜æ¢"
#: doc/classes/Basis.xml doc/classes/Quat.xml doc/classes/Transform.xml
-#, fuzzy
msgid "Using 3D transforms"
-msgstr "使用 3D å˜æ¢æ—¶ä½¿ç”¨æ­¤é€‰é¡¹ã€‚"
+msgstr "使用 3D å˜æ¢"
#: doc/classes/Basis.xml doc/classes/Line2D.xml doc/classes/Transform.xml
#: doc/classes/Transform2D.xml doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid "Matrix Transform Demo"
-msgstr ""
+msgstr "矩阵å˜æ¢æ¼”示"
#: doc/classes/Basis.xml doc/classes/CylinderShape.xml
#: doc/classes/Dictionary.xml doc/classes/DynamicFont.xml
@@ -13324,12 +13332,12 @@ msgstr ""
#: doc/classes/TextureRect.xml doc/classes/Thread.xml
#: doc/classes/VBoxContainer.xml
msgid "3D Voxel Demo"
-msgstr ""
+msgstr "3D 体素演示"
#: doc/classes/Basis.xml doc/classes/Line2D.xml doc/classes/Transform.xml
#: doc/classes/Transform2D.xml
msgid "2.5D Demo"
-msgstr ""
+msgstr "2.5D 演示"
#: doc/classes/Basis.xml
msgid "Constructs a pure rotation basis matrix from the given quaternion."
@@ -13552,6 +13560,9 @@ msgid ""
"are being converted into white pixels, and [code]false[/code] bits into "
"black."
msgstr ""
+"返回与该ä½å›¾å°ºå¯¸ä¸€è‡´çš„图åƒï¼Œæ ¼å¼ [enum Image.Format] 为 [code]FORMAT_L8[/"
+"code]。该ä½å›¾ä¸­ä¸º [code]true[/code] çš„ä½ä¼šè¢«è½¬ä¸ºç™½è‰²åƒç´ ï¼Œä¸º [code]false[/"
+"code] çš„ä½ä¼šè¢«è½¬ä¸ºé»‘色åƒç´ ã€‚"
#: doc/classes/BitMap.xml
msgid ""
@@ -13596,9 +13607,8 @@ msgstr ""
"grow_mask] å½±å“。"
#: doc/classes/BitMap.xml
-#, fuzzy
msgid "Resizes the image to [code]new_size[/code]."
-msgstr "使用颜色 [code]color[/code] 填充图åƒã€‚"
+msgstr "将图åƒä¿®æ”¹ä¸ºæ–°å°ºå¯¸ [code]new_size[/code]。"
#: doc/classes/BitMap.xml
msgid ""
@@ -13940,14 +13950,14 @@ msgstr "3D ç›’å­å½¢çŠ¶ï¼Œå¯ä»¥æ˜¯ [PhysicsBody] 或 [Area] çš„å­é¡¹ã€‚"
#: doc/classes/RigidBody.xml doc/classes/SphereShape.xml
#: doc/classes/StaticBody.xml
msgid "3D Physics Tests Demo"
-msgstr ""
+msgstr "3D 物ç†æµ‹è¯•æ¼”示"
#: doc/classes/BoxShape.xml doc/classes/CollisionShape.xml
#: modules/gridmap/doc_classes/GridMap.xml doc/classes/KinematicBody.xml
#: doc/classes/Mesh.xml doc/classes/MeshInstance.xml
#: doc/classes/MeshLibrary.xml
msgid "3D Kinematic Character Demo"
-msgstr ""
+msgstr "3D 动力学角色演示"
#: doc/classes/BoxShape.xml
msgid ""
@@ -14008,7 +14018,7 @@ msgstr ""
#: doc/classes/PoolStringArray.xml doc/classes/ProjectSettings.xml
#: doc/classes/ResourceLoader.xml doc/classes/RichTextLabel.xml
msgid "OS Test Demo"
-msgstr ""
+msgstr "æ“作系统测试演示"
#: doc/classes/Button.xml
msgid ""
@@ -14053,6 +14063,8 @@ msgid ""
"button. Uses the same [enum TextAlign] constants as the text alignment. If "
"centered, text will draw on top of the icon."
msgstr ""
+"指定图标应该在按钮上左对é½ã€å³å¯¹é½ã€è¿˜æ˜¯å±…中。请使用与文本对é½ç›¸åŒçš„ [enum "
+"TextAlign] 常é‡ã€‚如果居中,文本将绘制在图标上。"
#: doc/classes/Button.xml doc/classes/LinkButton.xml
msgid "The button's text that will be displayed inside the button's area."
@@ -14555,12 +14567,12 @@ msgstr ""
#: doc/classes/Camera2D.xml doc/classes/TileMap.xml doc/classes/TileSet.xml
msgid "2D Isometric Demo"
-msgstr ""
+msgstr "2D 等轴测演示"
#: doc/classes/Camera2D.xml doc/classes/Environment.xml
#: doc/classes/WorldEnvironment.xml
msgid "2D HDR Demo"
-msgstr ""
+msgstr "2D HDR 演示"
#: doc/classes/Camera2D.xml
msgid "Aligns the camera to the tracked node."
@@ -15064,11 +15076,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml doc/classes/CanvasLayer.xml
#: doc/classes/InputEvent.xml doc/classes/Viewport.xml
msgid "Viewport and canvas transforms"
-msgstr ""
+msgstr "Viewport 和画布å˜æ¢"
#: doc/classes/CanvasItem.xml doc/classes/Control.xml doc/classes/Node2D.xml
msgid "Custom drawing in 2D"
-msgstr ""
+msgstr "2D 中的自定义绘图"
#: doc/classes/CanvasItem.xml
msgid ""
@@ -15330,6 +15342,8 @@ msgid ""
"Returns the mouse's position in the [CanvasLayer] that this [CanvasItem] is "
"in using the coordinate system of the [CanvasLayer]."
msgstr ""
+"返回该 [CanvasItem] 所在的 [CanvasLayer] 中鼠标的ä½ç½®ï¼Œä½¿ç”¨è¯¥ [CanvasLayer] "
+"çš„å标系。"
#: doc/classes/CanvasItem.xml
msgid "Returns the global transform matrix of this item."
@@ -15344,7 +15358,7 @@ msgstr "返回此项目相对于画布的全局å˜æ¢çŸ©é˜µã€‚"
msgid ""
"Returns the mouse's position in this [CanvasItem] using the local coordinate "
"system of this [CanvasItem]."
-msgstr ""
+msgstr "返回该 [CanvasItem] 中鼠标的ä½ç½®ï¼Œä½¿ç”¨è¯¥ [CanvasItem] 的局部å标系。"
#: doc/classes/CanvasItem.xml
msgid "Returns the transform matrix of this item."
@@ -15688,15 +15702,32 @@ msgstr ""
"(在 1+ 层或更高层中)或背景(在 -1 层或更低层中)éžå¸¸æœ‰ç”¨ã€‚"
#: doc/classes/CanvasLayer.xml
-#, fuzzy
msgid "Canvas layers"
-msgstr "画布绘图层。"
+msgstr "画布层"
#: doc/classes/CanvasLayer.xml
msgid "Returns the RID of the canvas used by this layer."
msgstr "返回此层使用的画布的 RID。"
#: doc/classes/CanvasLayer.xml
+#, fuzzy
+msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+"如果该 [CanvasItem] ç›®å‰æ˜¯å¯è§çš„,则将其éšè—。等价于将 [member visible] 设为 "
+"[code]false[/code]。"
+
+#: doc/classes/CanvasLayer.xml
+#, fuzzy
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+"如果该 [CanvasItem] ç›®å‰æ˜¯å¯è§çš„,则将其éšè—。等价于将 [member visible] 设为 "
+"[code]false[/code]。"
+
+#: doc/classes/CanvasLayer.xml
msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
@@ -15750,11 +15781,14 @@ msgid ""
"Unlike [member CanvasItem.visible], visibility of a [CanvasLayer] isn't "
"propagated to underlying layers."
msgstr ""
+"为 [code]false[/code] 时,该 [CanvasLayer] 下的所有 [CanvasItem] 都会被éš"
+"è—。\n"
+"与 [member CanvasItem.visible] ä¸åŒï¼Œ[CanvasLayer] 的显示与å¦ä¸ä¼šä¼ æ’­åˆ°å…¶å†…部"
+"的层。"
#: doc/classes/CanvasLayer.xml
-#, fuzzy
msgid "Emitted when visibility of the layer is changed. See [member visible]."
-msgstr "当VisibilityNotifier退出[Camera]的视图时触å‘。"
+msgstr "当该层的å¯è§æ€§å‘生å˜åŒ–时触å‘。请å‚阅 [member visible]。"
#: doc/classes/CanvasModulate.xml
msgid "Tint the entire canvas."
@@ -16118,49 +16152,49 @@ msgstr "用于[CheckButton]文本的[Font]。"
#: doc/classes/CheckButton.xml
msgid "The icon to display when the [CheckButton] is unchecked."
-msgstr "未选中[CheckButton]时显示的图标。"
+msgstr "当 [CheckButton] 未勾选时,显示的图标。"
#: doc/classes/CheckButton.xml
msgid "The icon to display when the [CheckButton] is unchecked and disabled."
-msgstr "未选中和ç¦ç”¨[CheckButton]时显示的图标。"
+msgstr "当 [CheckButton] 未勾选且被ç¦ç”¨æ—¶ï¼Œæ˜¾ç¤ºçš„图标。"
#: doc/classes/CheckButton.xml
msgid "The icon to display when the [CheckButton] is checked."
-msgstr "选中[CheckButton]时显示的图标。"
+msgstr "当 [CheckButton] 已勾选时,显示的图标。"
#: doc/classes/CheckButton.xml
msgid "The icon to display when the [CheckButton] is checked and disabled."
-msgstr "选中并ç¦ç”¨[CheckButton]时显示的图标。"
+msgstr "当 [CheckButton] 已勾选且被ç¦ç”¨æ—¶ï¼Œæ˜¾ç¤ºçš„图标。"
#: doc/classes/CheckButton.xml
msgid ""
"The [StyleBox] to display as a background when the [CheckButton] is disabled."
-msgstr "当[CheckButton]被ç¦ç”¨æ—¶ï¼Œä½œä¸ºèƒŒæ™¯æ˜¾ç¤ºçš„[StyleBox]。"
+msgstr "当 [CheckButton] 被ç¦ç”¨æ—¶ï¼Œä½œä¸ºèƒŒæ™¯æ˜¾ç¤ºçš„ [StyleBox]。"
#: doc/classes/CheckButton.xml
msgid ""
"The [StyleBox] to display as a background when the [CheckButton] is focused."
-msgstr "当[CheckButton]被èšç„¦æ—¶ä½œä¸ºèƒŒæ™¯æ˜¾ç¤ºçš„[StyleBox]。"
+msgstr "当 [CheckButton] 被èšç„¦æ—¶ï¼Œä½œä¸ºèƒŒæ™¯æ˜¾ç¤ºçš„ [StyleBox]。"
#: doc/classes/CheckButton.xml
msgid ""
"The [StyleBox] to display as a background when the [CheckButton] is hovered."
-msgstr "当[CheckButton]被悬åœæ—¶ä½œä¸ºèƒŒæ™¯æ˜¾ç¤ºçš„[StyleBox]。"
+msgstr "当 [CheckButton] 被悬åœæ—¶ï¼Œä½œä¸ºèƒŒæ™¯æ˜¾ç¤ºçš„ [StyleBox]。"
#: doc/classes/CheckButton.xml
msgid ""
"The [StyleBox] to display as a background when the [CheckButton] is hovered "
"and pressed."
-msgstr "当[CheckButton]被悬åœå’ŒæŒ‰ä¸‹æ—¶ä½œä¸ºèƒŒæ™¯æ˜¾ç¤ºçš„[StyleBox]。"
+msgstr "当 [CheckButton] 被悬åœä¸”被按下时,作为背景显示的 [StyleBox]。"
#: doc/classes/CheckButton.xml
msgid ""
"The [StyleBox] to display as a background when the [CheckButton] is pressed."
-msgstr "当[CheckButton]被按下时作为背景显示的[StyleBox]。"
+msgstr "当 [CheckButton] 被按下时,作为背景显示的 [StyleBox]。"
#: doc/classes/CircleShape2D.xml
msgid "Circular shape for 2D collisions."
-msgstr "用于2D碰撞的圆形。"
+msgstr "用于 2D 碰撞的圆形。"
#: doc/classes/CircleShape2D.xml
msgid ""
@@ -16168,8 +16202,8 @@ msgid ""
"small characters and its collision detection with everything else is very "
"fast."
msgstr ""
-"用于2D碰撞的圆形形状。这ç§å½¢çŠ¶å¯¹å¡‘造çƒæˆ–å°è§’色很有用,它与其他东西的碰撞检测"
-"éžå¸¸å¿«ã€‚"
+"用于 2D 碰撞的圆形形状。这ç§å½¢çŠ¶å¯¹å¡‘造çƒæˆ–å°è§’色很有用,它与其他东西的碰撞检"
+"测éžå¸¸å¿«ã€‚"
#: doc/classes/CircleShape2D.xml
msgid "The circle's radius."
@@ -16622,15 +16656,14 @@ msgstr ""
"件。"
#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml
-#, fuzzy
msgid ""
"If [code]true[/code], this object is pickable. A pickable object can detect "
"the mouse pointer entering/leaving, and if the mouse is inside it, report "
"input events. Requires at least one [member collision_layer] bit to be set."
msgstr ""
-"如果[code]true[/code],这个对象是å¯æ‹¾å–的。一个å¯æ‹¾å–的对象å¯ä»¥æ£€æµ‹é¼ æ ‡æŒ‡é’ˆçš„"
-"进入/离开,如果鼠标在里é¢ï¼Œå°±æŠ¥å‘Šè¾“入事件。è¦æ±‚至少有一个 "
-"[code]collision_layer[/code] ä½è¢«è®¾ç½®ã€‚"
+"如果为 [code]true[/code],则该对象是å¯æ‹¾å–的。å¯æ‹¾å–的对象å¯ä»¥æ£€æµ‹é¼ æ ‡æŒ‡é’ˆçš„"
+"进入/离开,鼠标ä½äºŽå…¶ä¸­æ—¶ï¼Œå°±ä¼šæŠ¥å‘Šè¾“入事件。è¦æ±‚至少设置一个 [member "
+"collision_layer] ä½ã€‚"
#: doc/classes/CollisionObject.xml
msgid ""
@@ -16917,9 +16950,8 @@ msgstr ""
#: doc/classes/Physics2DDirectSpaceState.xml
#: doc/classes/PhysicsDirectBodyState.xml
#: doc/classes/PhysicsDirectSpaceState.xml doc/classes/RigidBody.xml
-#, fuzzy
msgid "Physics introduction"
-msgstr "三次æ’值."
+msgstr "物ç†ä»‹ç»"
#: doc/classes/CollisionShape.xml
msgid ""
@@ -16963,7 +16995,7 @@ msgstr ""
#: doc/classes/RectangleShape2D.xml doc/classes/TileMap.xml
#: doc/classes/TileSet.xml
msgid "2D Kinematic Character Demo"
-msgstr ""
+msgstr "2D è¿åŠ¨å­¦è§’色演示"
#: doc/classes/CollisionShape2D.xml
msgid ""
@@ -17025,15 +17057,15 @@ msgstr ""
#: doc/classes/Color.xml doc/classes/ColorPickerButton.xml
msgid "2D GD Paint Demo"
-msgstr ""
+msgstr "2D GD 画图演示"
#: doc/classes/Color.xml doc/classes/ColorPicker.xml
msgid "Tween Demo"
-msgstr ""
+msgstr "Tween 演示"
#: doc/classes/Color.xml doc/classes/ColorPickerButton.xml
msgid "GUI Drag And Drop Demo"
-msgstr ""
+msgstr "GUI 拖放演示"
#: doc/classes/Color.xml
msgid ""
@@ -18792,16 +18824,15 @@ msgstr ""
#: doc/classes/Control.xml
msgid "GUI tutorial index"
-msgstr ""
+msgstr "GUI 教程索引"
#: doc/classes/Control.xml
-#, fuzzy
msgid "Control node gallery"
-msgstr "Control 键。"
+msgstr "控件节点一览"
#: doc/classes/Control.xml
msgid "All GUI Demos"
-msgstr ""
+msgstr "所有 GUI 演示"
#: doc/classes/Control.xml
msgid ""
@@ -19167,12 +19198,14 @@ msgstr ""
"rect_position]。"
#: doc/classes/Control.xml
+#, fuzzy
msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -20218,6 +20251,25 @@ msgid ""
msgstr "更改此属性将替æ¢è¯¥èŠ‚点åŠå…¶æ‰€æœ‰[Control]å­çº§ä½¿ç”¨çš„当å‰[Theme]资æºã€‚"
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr "在节点获得键盘焦点时å‘出。"
@@ -21866,6 +21918,11 @@ msgid ""
"node also has a significant CPU cost, so it should be avoided during "
"gameplay."
msgstr ""
+"ä½ å¯ä»¥ä½¿ç”¨è¯¥èŠ‚点在 CSG 系统中创建长方体。\n"
+"[b]注æ„:[/b]CSG 节点是为制作关å¡åŽŸåž‹å‡†å¤‡çš„。与创建使用 [PrimitiveMesh] çš„ "
+"[MeshInstance] 相比,创建 CSG 节点对 CPU 资æºçš„消耗更显著。在一个 CSG 节点中"
+"移动å¦ä¸€ä¸ª CSG 节点也会产生显著的 CPU 消耗,所以应当在游æˆè¿‡ç¨‹ä¸­é¿å…进行类似"
+"æ“作。"
#: modules/csg/doc_classes/CSGBox.xml modules/csg/doc_classes/CSGCombiner.xml
#: modules/csg/doc_classes/CSGCylinder.xml modules/csg/doc_classes/CSGMesh.xml
@@ -21874,7 +21931,7 @@ msgstr ""
#: modules/csg/doc_classes/CSGShape.xml modules/csg/doc_classes/CSGSphere.xml
#: modules/csg/doc_classes/CSGTorus.xml
msgid "Prototyping levels with CSG"
-msgstr ""
+msgstr "使用 CSG 设计关å¡åŽŸåž‹"
#: modules/csg/doc_classes/CSGBox.xml
msgid "Depth of the box measured from the center of the box."
@@ -21897,7 +21954,6 @@ msgid "A CSG node that allows you to combine other CSG modifiers."
msgstr "å…许您组åˆå…¶ä»– CSG 修改器的 CSG 节点。"
#: modules/csg/doc_classes/CSGCombiner.xml
-#, fuzzy
msgid ""
"For complex arrangements of shapes, it is sometimes needed to add structure "
"to your CSG nodes. The CSGCombiner node allows you to create this structure. "
@@ -21913,11 +21969,15 @@ msgid ""
"node also has a significant CPU cost, so it should be avoided during "
"gameplay."
msgstr ""
-"对于å¤æ‚的形状排列,有时需è¦å‘CSG节点添加结构体。CSGCombiner节点å…许你创建这"
-"ç§ç»“构体。该节点å°è£…了其å­èŠ‚点的CSGæ“作的结果。通过这ç§æ–¹å¼ï¼Œå¯ä»¥å¯¹ä½œä¸ºä¸€ä¸ª"
-"CSGCombiner节点的å­èŠ‚点的一组形状进行æ“作,并对作为第二个CSGCombiner节点的å­"
-"节点的第二组形状进行å•ç‹¬çš„æ“作,然åŽè¿›è¡Œæ“作,将两个最终结果作为其输入æ¥åˆ›å»º"
-"最终形状。"
+"对于å¤æ‚的形状排列,有时需è¦å‘ CSG 节点添加结构体。CSGCombiner 节点å…许你创建"
+"è¿™ç§ç»“构体。该节点å°è£…了其å­èŠ‚点的 CSG æ“作的结果。通过这ç§æ–¹å¼ï¼Œå¯ä»¥å¯¹ä½œä¸ºä¸€"
+"个 CSGCombiner 节点的å­èŠ‚点的一组形状进行æ“作,并对作为第二个 CSGCombiner 节"
+"点的å­èŠ‚点的第二组形状进行å•ç‹¬çš„æ“作,然åŽè¿›è¡Œæ“作,将两个最终结果作为其输入"
+"æ¥åˆ›å»ºæœ€ç»ˆå½¢çŠ¶ã€‚\n"
+"[b]注æ„:[/b]CSG 节点是为制作关å¡åŽŸåž‹å‡†å¤‡çš„。与创建使用 [PrimitiveMesh] çš„ "
+"[MeshInstance] 相比,创建 CSG 节点对 CPU 资æºçš„消耗更显著。在一个 CSG 节点中"
+"移动å¦ä¸€ä¸ª CSG 节点也会产生显著的 CPU 消耗,所以应当在游æˆè¿‡ç¨‹ä¸­é¿å…进行类似"
+"æ“作。"
#: modules/csg/doc_classes/CSGCylinder.xml
msgid "A CSG Cylinder shape."
@@ -21933,6 +21993,11 @@ msgid ""
"node also has a significant CPU cost, so it should be avoided during "
"gameplay."
msgstr ""
+"ä½ å¯ä»¥ä½¿ç”¨è¯¥èŠ‚点在 CSG 系统中创建圆柱体(或圆锥体)。\n"
+"[b]注æ„:[/b]CSG 节点是为制作关å¡åŽŸåž‹å‡†å¤‡çš„。与创建使用 [PrimitiveMesh] çš„ "
+"[MeshInstance] 相比,创建 CSG 节点对 CPU 资æºçš„消耗更显著。在一个 CSG 节点中"
+"移动å¦ä¸€ä¸ª CSG 节点也会产生显著的 CPU 消耗,所以应当在游æˆè¿‡ç¨‹ä¸­é¿å…进行类似"
+"æ“作。"
#: modules/csg/doc_classes/CSGCylinder.xml
msgid ""
@@ -21983,6 +22048,13 @@ msgid ""
"node also has a significant CPU cost, so it should be avoided during "
"gameplay."
msgstr ""
+"ä½ å¯ä»¥ä½¿ç”¨è¯¥èŠ‚点将任何网格资æºç”¨ä½œ CSG 形状,åªè¦è¯¥ç½‘格是闭åˆçš„ã€æ²¡æœ‰è‡ªæˆ‘è´¯"
+"ç©¿ã€ä¸åŒ…å«å†…部é¢ã€æ¯æ¡è¾¹æ‰€è¿žæŽ¥çš„é¢ä¸è¶…过两个。è¦å°† 2D 多边形挤出用作 CSG 节"
+"点,请å‚阅 [CSGPolygon]。\n"
+"[b]注æ„:[/b]CSG 节点是为制作关å¡åŽŸåž‹å‡†å¤‡çš„。与创建使用 [PrimitiveMesh] çš„ "
+"[MeshInstance] 相比,创建 CSG 节点对 CPU 资æºçš„消耗更显著。在一个 CSG 节点中"
+"移动å¦ä¸€ä¸ª CSG 节点也会产生显著的 CPU 消耗,所以应当在游æˆè¿‡ç¨‹ä¸­é¿å…进行类似"
+"æ“作。"
#: modules/csg/doc_classes/CSGMesh.xml
msgid "The [Material] used in drawing the CSG shape."
@@ -22016,6 +22088,12 @@ msgid ""
"node also has a significant CPU cost, so it should be avoided during "
"gameplay."
msgstr ""
+"å°† 2D 顶点数组快速挤出,创建å„ç§ 3D 网格。è¦å°† 3D 网格用作 CSG 节点,请å‚阅 "
+"[CSGMesh]。\n"
+"[b]注æ„:[/b]CSG 节点是为制作关å¡åŽŸåž‹å‡†å¤‡çš„。与创建使用 [PrimitiveMesh] çš„ "
+"[MeshInstance] 相比,创建 CSG 节点对 CPU 资æºçš„消耗更显著。在一个 CSG 节点中"
+"移动å¦ä¸€ä¸ª CSG 节点也会产生显著的 CPU 消耗,所以应当在游æˆè¿‡ç¨‹ä¸­é¿å…进行类似"
+"æ“作。"
#: modules/csg/doc_classes/CSGPolygon.xml
msgid ""
@@ -22124,6 +22202,11 @@ msgid ""
"[b]Note:[/b] If only 1 or 2 points are defined in [member polygon], no mesh "
"will be generated."
msgstr ""
+"顶点数组,用于定义è¦æŒ¤å‡ºçš„ 2D 多边形。需è¦åŒ…å« 3 个或更多顶点,å¯ä»¥æ˜¯å‡¸å¤šè¾¹å½¢"
+"也å¯ä»¥æ˜¯å‡¹å¤šè¾¹å½¢ã€‚该多边形中[i]ä¸èƒ½[/i]存在相交的边。å¦åˆ™ï¼Œä¸‰è§’形化会失败,ä¸"
+"会生æˆä»»ä½•ç½‘格。\n"
+"[b]注æ„:[/b]如果 [member polygon] 中åªå®šä¹‰äº† 1 个或 2 个顶点,则ä¸ä¼šç”Ÿæˆç½‘"
+"格。"
#: modules/csg/doc_classes/CSGPolygon.xml
msgid "If [code]true[/code], applies smooth shading to the extrusions."
@@ -22213,6 +22296,12 @@ msgid ""
"node also has a significant CPU cost, so it should be avoided during "
"gameplay."
msgstr ""
+"å„ç§ CSG 图元的父类,包å«äº†å®ƒä»¬æ‰€éœ€çš„公共代ç å’ŒåŠŸèƒ½ã€‚无法直接使用这个类,请使"
+"用继承它的å„ç§ç±»ã€‚\n"
+"[b]注æ„:[/b]CSG 节点是为制作关å¡åŽŸåž‹å‡†å¤‡çš„。与创建使用 [PrimitiveMesh] çš„ "
+"[MeshInstance] 相比,创建 CSG 节点对 CPU 资æºçš„消耗更显著。在一个 CSG 节点中"
+"移动å¦ä¸€ä¸ª CSG 节点也会产生显著的 CPU 消耗,所以应当在游æˆè¿‡ç¨‹ä¸­é¿å…进行类似"
+"æ“作。"
#: modules/csg/doc_classes/CSGPrimitive.xml
msgid "Invert the faces of the mesh."
@@ -22232,6 +22321,11 @@ msgid ""
"node also has a significant CPU cost, so it should be avoided during "
"gameplay."
msgstr ""
+"为 Godot 中的å„ç§ CSG 节点æä¾› CSG æ“作支æŒçš„ CSG 基类。\n"
+"[b]注æ„:[/b]CSG 节点是为制作关å¡åŽŸåž‹å‡†å¤‡çš„。与创建使用 [PrimitiveMesh] çš„ "
+"[MeshInstance] 相比,创建 CSG 节点对 CPU 资æºçš„消耗更显著。在一个 CSG 节点中"
+"移动å¦ä¸€ä¸ª CSG 节点也会产生显著的 CPU 消耗,所以应当在游æˆè¿‡ç¨‹ä¸­é¿å…进行类似"
+"æ“作。"
#: modules/csg/doc_classes/CSGShape.xml doc/classes/RayCast2D.xml
#: doc/classes/SoftBody.xml
@@ -22359,6 +22453,11 @@ msgid ""
"node also has a significant CPU cost, so it should be avoided during "
"gameplay."
msgstr ""
+"ä½ å¯ä»¥ä½¿ç”¨è¯¥èŠ‚点在 CSG 系统中创建çƒä½“。\n"
+"[b]注æ„:[/b]CSG 节点是为制作关å¡åŽŸåž‹å‡†å¤‡çš„。与创建使用 [PrimitiveMesh] çš„ "
+"[MeshInstance] 相比,创建 CSG 节点对 CPU 资æºçš„消耗更显著。在一个 CSG 节点中"
+"移动å¦ä¸€ä¸ª CSG 节点也会产生显著的 CPU 消耗,所以应当在游æˆè¿‡ç¨‹ä¸­é¿å…进行类似"
+"æ“作。"
#: modules/csg/doc_classes/CSGSphere.xml
msgid "The material used to render the sphere."
@@ -22398,6 +22497,11 @@ msgid ""
"node also has a significant CPU cost, so it should be avoided during "
"gameplay."
msgstr ""
+"ä½ å¯ä»¥ä½¿ç”¨è¯¥èŠ‚点在 CSG 系统中创建圆环体。\n"
+"[b]注æ„:[/b]CSG 节点是为制作关å¡åŽŸåž‹å‡†å¤‡çš„。与创建使用 [PrimitiveMesh] çš„ "
+"[MeshInstance] 相比,创建 CSG 节点对 CPU 资æºçš„消耗更显著。在一个 CSG 节点中"
+"移动å¦ä¸€ä¸ª CSG 节点也会产生显著的 CPU 消耗,所以应当在游æˆè¿‡ç¨‹ä¸­é¿å…进行类似"
+"æ“作。"
#: modules/csg/doc_classes/CSGTorus.xml
msgid "The inner radius of the torus."
@@ -22639,6 +22743,8 @@ msgid ""
"Setting this option to [code]false[/code] can be used to prevent an instance "
"being merged."
msgstr ""
+"用于对 [RoomManager] 的网格åˆå¹¶åŠŸèƒ½è¿›è¡Œå¾®è°ƒã€‚\n"
+"将该选项设为 [code]false[/code] å¯ä»¥é¿å…实例被åˆå¹¶ã€‚"
#: doc/classes/CullInstance.xml
msgid ""
@@ -23598,7 +23704,7 @@ msgstr ""
#: doc/classes/Dictionary.xml
msgid "GDScript basics: Dictionary"
-msgstr ""
+msgstr "GDScript 基础:字典"
#: doc/classes/Dictionary.xml
msgid "Clear the dictionary, removing all key/value pairs."
@@ -23668,7 +23774,6 @@ msgid ""
msgstr "如果字典具有给定数组中的所有键,则返回 [code]true[/code] 。"
#: doc/classes/Dictionary.xml
-#, fuzzy
msgid ""
"Returns a hashed 32-bit integer value representing the dictionary contents. "
"This can be used to compare dictionaries by value:\n"
@@ -23686,14 +23791,17 @@ msgid ""
"values does [i]not[/i] imply the dictionaries are equal, because different "
"dictionaries can have identical hash values due to hash collisions."
msgstr ""
-"返回一个代表字典内容的哈希整数值。这å¯ä»¥ç”¨æ¥æ¯”较字典的值。\n"
+"返回代表该字典内容的 32 ä½æ•´æ•°å“ˆå¸Œå€¼ã€‚å¯ç”¨äºŽæŒ‰å€¼æ¯”较字典:\n"
"[codeblock]\n"
"var dict1 = {0: 10}\n"
"var dict2 = {0: 10}\n"
"# 下é¢è¿™ä¸€è¡Œä¼šè¾“出 `true`,而如果直接比较这两个å˜é‡å°±ä¼šè¾“出 `false`。\n"
"print(dict1.hash() == dict2.hash())\n"
"[/codeblock]\n"
-"[b]注æ„:[/b]具有相åŒé”®/值但顺åºä¸åŒçš„字典将有ä¸åŒçš„哈希值。"
+"[b]注æ„:[/b]具有相åŒé”®/值但顺åºä¸åŒçš„字典将有ä¸åŒçš„哈希值。\n"
+"[b]注æ„:[/b]内容相åŒçš„字典会得到一致的哈希值。然而,å之ä¸ç„¶ã€‚返回一致的哈希"
+"值[i]并ä¸[/i]æ„味ç€å­—典相等,因为ä¸åŒçš„å­—å…¸å¯èƒ½å› ä¸ºå“ˆå¸Œç¢°æ’žè€Œå¾—到一致的哈希"
+"值。"
#: doc/classes/Dictionary.xml
msgid "Returns the list of keys in the [Dictionary]."
@@ -25474,7 +25582,7 @@ msgstr ""
#: doc/classes/EditorInspectorPlugin.xml
msgid "Inspector plugins"
-msgstr ""
+msgstr "检查器æ’件"
#: doc/classes/EditorInspectorPlugin.xml
msgid "Adds a custom control, which is not necessarily a property editor."
@@ -25804,10 +25912,10 @@ msgid ""
"your custom control with [method remove_control_from_bottom_panel] and free "
"it with [method Node.queue_free]."
msgstr ""
-"将控件添加到底部é¢æ¿ï¼ˆä»¥åŠâ€œè¾“出â€ï¼Œâ€œè°ƒè¯•â€ï¼Œâ€œåŠ¨ç”»â€ç­‰ï¼‰ã€‚返回对添加的按钮的引"
-"用。您å¯ä»¥æ ¹æ®éœ€è¦éšè—/显示按钮。åœç”¨æ’件åŽï¼Œè¯·ç¡®ä¿ä½¿ç”¨[method "
-"remove_control_from_bottom_panel]删除自定义控件,并使用[method Node."
-"queue_free]释放它。"
+"将控件添加到底部é¢æ¿ï¼ˆåŒ…å«â€œè¾“出â€â€œè°ƒè¯•â€â€œåŠ¨ç”»â€ç­‰ï¼‰ã€‚返回对添加的按钮的引用。您"
+"å¯ä»¥æ ¹æ®éœ€è¦éšè—/显示按钮。åœç”¨æ’件åŽï¼Œè¯·ç¡®ä¿ä½¿ç”¨ [method "
+"remove_control_from_bottom_panel] 移除自定义控件,并使用 [method Node."
+"queue_free] 释放。"
#: doc/classes/EditorPlugin.xml
msgid ""
@@ -27915,7 +28023,6 @@ msgstr ""
"code] 是新文件中的行数。"
#: doc/classes/EditorVCSInterface.xml
-#, fuzzy
msgid ""
"Helper function to create a [code]Dictionary[/code] for storing a line diff. "
"[code]new_line_no[/code] is the line number in the new file (can be "
@@ -27927,8 +28034,8 @@ msgstr ""
"创建用于ä¿å­˜è¡Œå·®å¼‚çš„ [code]Dictionary[/code] 的辅助函数。[code]new_line_no[/"
"code] 是新文件中的行å·ï¼ˆè¯¥è¡Œè¢«åˆ é™¤æ—¶å¯ä¸º [code]-1[/code])。"
"[code]old_line_no[/code] 是旧文件中的行å·ï¼ˆè¯¥è¡Œä¸ºæ–°å¢žæ—¶å¯ä¸º [code]-1[/"
-"code])。[code]content[/code] 为差异文本。[code]content[/code] 为差异文本。"
-"[code]status[/code] 为ä¿å­˜è¯¥è¡ŒåŽŸç‚¹çš„å•å­—符字符串。"
+"code])。[code]content[/code] 为差异文本。[code]status[/code] 为ä¿å­˜è¯¥è¡ŒåŽŸç‚¹"
+"çš„å•å­—符字符串。"
#: doc/classes/EditorVCSInterface.xml
msgid ""
@@ -28351,7 +28458,6 @@ msgid ""
msgstr "用于定义多个渲染选项的环境节点(如 [WorldEnvironment])的资æºã€‚"
#: doc/classes/Environment.xml
-#, fuzzy
msgid ""
"Resource for environment nodes (like [WorldEnvironment]) that define "
"multiple environment operations (such as background [Sky] or [Color], "
@@ -28381,24 +28487,29 @@ msgstr ""
"- 辉光\n"
"- 色调映射(自动æ›å…‰ï¼‰\n"
"- 调整\n"
-"这些效果仅在 [Viewport] 的预期使用方法为“3Dâ€æˆ–者“3D Without Effectsâ€æ—¶ç”Ÿæ•ˆã€‚"
+"如果目标 [Viewport] 被设为了“2D Without Samplingâ€ï¼Œåˆ™æ‰€æœ‰çš„åŽå¤„ç†ç‰¹æ•ˆéƒ½ä¸å¯"
+"用。如果是 “3D Without Effectâ€ï¼Œåˆ™ä»¥ä¸‹é€‰é¡¹ä¸å¯ç”¨ï¼š\n"
+"- Ssao(å±å¹•ç©ºé—´çŽ¯å¢ƒå…‰é®è”½ï¼‰\n"
+"- Ss Reflections(å±å¹•ç©ºé—´å射)\n"
"根视窗的预期使用方法å¯ä»¥é€šè¿‡ [member ProjectSettings.rendering/quality/"
"intended_usage/framebuffer_allocation] 调整,其他视窗通过 [member Viewport."
-"usage] 调整。"
+"usage] 调整。\n"
+"请注æ„,[member ProjectSettings.rendering/quality/intended_usage/"
+"framebuffer_allocation] 的移动平å°è¦†ç›–项默认使用“3D Without Effectsâ€ã€‚这样å¯"
+"以æå‡ç§»åŠ¨è®¾å¤‡ä¸Šçš„性能,但åŒæ—¶ä¼šå½±å“移动设备上的å±å¹•æ˜¾ç¤ºã€‚"
#: doc/classes/Environment.xml doc/classes/WorldEnvironment.xml
-#, fuzzy
msgid "Environment and post-processing"
-msgstr "$DOCS_URL/tutorials/3d/environment_and_post_processing.html"
+msgstr "环境和åŽæœŸå¤„ç†"
#: doc/classes/Environment.xml
msgid "Light transport in game engines"
-msgstr ""
+msgstr "游æˆå¼•æ“Žä¸­çš„光传递"
#: doc/classes/Environment.xml doc/classes/Material.xml doc/classes/Mesh.xml
#: doc/classes/MeshInstance.xml doc/classes/WorldEnvironment.xml
msgid "3D Material Testers Demo"
-msgstr ""
+msgstr "3D æ质测试演示"
#: doc/classes/Environment.xml
msgid ""
@@ -28472,7 +28583,6 @@ msgid ""
msgstr "环境光的能é‡ã€‚值越高,光照越强。"
#: doc/classes/Environment.xml
-#, fuzzy
msgid ""
"Defines the amount of light that the sky brings on the scene. A value of "
"[code]0.0[/code] means that the sky's light emission has no effect on the "
@@ -28483,9 +28593,11 @@ msgid ""
"[b]Note:[/b] [member ambient_light_sky_contribution] is internally clamped "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive)."
msgstr ""
-"定义天空给场景带æ¥çš„光照é‡ã€‚值为 0 表示天空的å‘光对场景照明没有影å“,因此所有"
-"的环境照明都由环境光æ供。相å,值为 1 表示所有影å“场景的光线都由天空æ供,因"
-"此环境光å‚数对场景没有影å“。"
+"定义天空给场景带æ¥çš„光照é‡ã€‚值为 [code]0.0[/code] 表示天空的å‘光对场景照明没"
+"有影å“,因此所有的环境照明都由环境光æ供。相å,值为 [code]1.0[/code] 表示[i]"
+"所有[/i]å½±å“场景的光线都由天空æ供,因此环境光å‚数对场景没有影å“。\n"
+"[b]注æ„:[/b]内部会将 [member ambient_light_sky_contribution] é™åˆ¶åœ¨ "
+"[code]0.0[/code] 到 [code]1.0[/code] 之间(闭区间)。"
#: doc/classes/Environment.xml
msgid ""
@@ -28741,8 +28853,23 @@ msgstr ""
"界相机的æˆåƒå·¥ä»¶ã€‚"
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
-msgstr "如果为[code]true[/code],则å¯ç”¨glow效果。"
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
+msgstr ""
#: doc/classes/Environment.xml
msgid ""
@@ -29301,7 +29428,7 @@ msgstr ""
#: doc/classes/File.xml
msgid "File system"
-msgstr ""
+msgstr "文件系统"
#: doc/classes/File.xml
msgid ""
@@ -30076,18 +30203,12 @@ msgstr ""
"code]。"
#: doc/classes/float.xml
-#, fuzzy
msgid "Wikipedia: Double-precision floating-point format"
-msgstr ""
-"https://zh.wikipedia.org/zh-cn/"
-"%E9%9B%99%E7%B2%BE%E5%BA%A6%E6%B5%AE%E9%BB%9E%E6%95%B8"
+msgstr "维基百科:åŒç²¾åº¦æµ®ç‚¹æ•°æ ¼å¼"
#: doc/classes/float.xml
-#, fuzzy
msgid "Wikipedia: Single-precision floating-point format"
-msgstr ""
-"https://zh.wikipedia.org/zh-cn/"
-"%E5%96%AE%E7%B2%BE%E5%BA%A6%E6%B5%AE%E9%BB%9E%E6%95%B8"
+msgstr "维基百科:å•ç²¾åº¦æµ®ç‚¹æ•°æ ¼å¼"
#: doc/classes/float.xml
msgid ""
@@ -30122,9 +30243,8 @@ msgstr ""
"[code]float(\"1e3a2\")[/code] 将返回 1000.0。"
#: doc/classes/FlowContainer.xml
-#, fuzzy
msgid "Base class for flow containers."
-msgstr "ç›’å¼å®¹å™¨çš„基类。"
+msgstr "æµå¼å®¹å™¨çš„基类。"
#: doc/classes/FlowContainer.xml
msgid ""
@@ -30133,11 +30253,13 @@ msgid ""
"A line is filled with [Control] nodes until no more fit on the same line, "
"similar to text in an autowrapped label."
msgstr ""
+"å°†å­ [Control] 节点垂直或水平排列,按照从左到å³æˆ–从上到下的顺åºæ¢è¡Œã€‚\n"
+"åŒä¸€è¡Œä¸­æ— æ³•å†å®¹çº³æ›´å¤š [Control] 节点时会å¦èµ·ä¸€è¡Œï¼Œä¸Žè‡ªåŠ¨æ¢è¡Œæ ‡ç­¾ä¸­çš„文本类"
+"似。"
#: doc/classes/FlowContainer.xml
-#, fuzzy
msgid "Returns the current line count."
-msgstr "返回当å‰çš„滚动ä½ç½®ã€‚"
+msgstr "返回当å‰çš„行数。"
#: doc/classes/Font.xml
msgid "Internationalized font and text drawing support."
@@ -31360,13 +31482,15 @@ msgstr ""
"一个空的 [PoolIntArray]。"
#: doc/classes/Geometry.xml
+#, fuzzy
msgid ""
"Triangulates the polygon specified by the points in [code]polygon[/code]. "
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
"对多边形 [code]polygon[/code] 中的点指定的多边形进行三角化。返回一个 "
"[PoolIntArray],其中æ¯ä¸ªä¸‰è§’形由 [code]polygon[/code] 中三个连续的点索引组æˆ"
@@ -31676,9 +31800,10 @@ msgstr ""
#: doc/classes/GIProbe.xml
msgid "GI probes"
-msgstr ""
+msgstr "GI 探针"
#: doc/classes/GIProbe.xml
+#, fuzzy
msgid ""
"Bakes the effect from all [GeometryInstance]s marked with [member "
"GeometryInstance.use_in_baked_light] and [Light]s marked with either "
@@ -31691,7 +31816,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
"烘焙所有标有 [member GeometryInstance.use_in_baked_light] 的 "
"[GeometryInstance] 和标有 [constant Light.BAKE_INDIRECT] 或 [constant Light."
@@ -32884,7 +33014,7 @@ msgstr ""
#: modules/gridmap/doc_classes/GridMap.xml
msgid "Using gridmaps"
-msgstr ""
+msgstr "使用网格地图"
#: modules/gridmap/doc_classes/GridMap.xml
msgid "Clear all cells."
@@ -32936,11 +33066,10 @@ msgid ""
msgstr "返回一个包å«ç½‘格中éžç©ºå•å…ƒæ ¼å标的 [Vector3] 数组。"
#: 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 "返回所有具有[code]id[/code]中指定的图å—索引的å•å…ƒæ ¼çš„数组。"
+msgstr "返回所有具有 [code]item[/code] 中指定的项目索引的å•å…ƒæ ¼çš„数组。"
#: modules/gridmap/doc_classes/GridMap.xml
msgid ""
@@ -33217,14 +33346,12 @@ msgid ""
msgstr "高度图数æ®çš„宽度。更改此设置将调整 [member map_data] 的大å°ã€‚"
#: doc/classes/HFlowContainer.xml
-#, fuzzy
msgid "Horizontal flow container."
-msgstr "水平盒å¼å®¹å™¨ã€‚"
+msgstr "æ°´å¹³æµå¼å®¹å™¨ã€‚"
#: doc/classes/HFlowContainer.xml
-#, fuzzy
msgid "Horizontal version of [FlowContainer]."
-msgstr "水平拆分容器。"
+msgstr "[FlowContainer] 的水平版本。"
#: doc/classes/HingeJoint.xml
msgid "A hinge between two 3D PhysicsBodies."
@@ -34898,7 +35025,7 @@ msgstr ""
#: doc/classes/Image.xml doc/classes/ImageTexture.xml
msgid "Importing images"
-msgstr ""
+msgstr "导入图åƒ"
#: doc/classes/Image.xml
msgid ""
@@ -35821,9 +35948,8 @@ msgid ""
msgstr "原始纹ç†ï¼ˆåœ¨åŽ‹ç¼©å‰ï¼‰æ˜¯æ³•çº¿çº¹ç†ï¼ˆä¾‹å¦‚,å¯ä»¥åŽ‹ç¼©ä¸ºä¸¤ä¸ªé€šé“)。"
#: doc/classes/Image.xml
-#, fuzzy
msgid "Source texture (before compression) is a [TextureLayered]."
-msgstr "原始纹ç†ï¼ˆåœ¨åŽ‹ç¼©å‰ï¼‰ä½¿ç”¨ sRGB 空间。"
+msgstr "原始纹ç†ï¼ˆåœ¨åŽ‹ç¼©å‰ï¼‰æ˜¯ [TextureLayered]。"
#: doc/classes/ImageTexture.xml
msgid "A [Texture] based on an [Image]."
@@ -36080,7 +36206,7 @@ msgstr ""
#: doc/classes/Input.xml
msgid "Inputs tutorial index"
-msgstr ""
+msgstr "输入教程索引"
#: doc/classes/Input.xml
msgid ""
@@ -36659,6 +36785,9 @@ msgid ""
"limits of the game window if [enum MouseMode] is set to [constant "
"MOUSE_MODE_CONFINED]."
msgstr ""
+"将鼠标ä½ç½®è®¾ä¸ºæŒ‡å®šçš„å‘é‡ï¼Œå•ä½ä¸ºåƒç´ ï¼Œä»¥æ¸¸æˆçª—å£çš„左上角作为原点。\n"
+"é¼ æ ‡ä½ç½®ä¼šè¢«é™åˆ¶åœ¨å±å¹•åˆ†è¾¨çŽ‡å†…,如果 [enum MouseMode] 为 [constant "
+"MOUSE_MODE_CONFINED] 时则是é™åˆ¶åœ¨æ¸¸æˆçª—å£å†…。"
#: doc/classes/Input.xml
msgid "Emitted when a joypad device has been connected or disconnected."
@@ -36812,7 +36941,7 @@ msgstr "å„ç§è¾“入事件的基类。请å‚阅 [method Node._input]。"
#: doc/classes/InputEvent.xml
msgid "InputEvent"
-msgstr ""
+msgstr "InputEvent"
#: doc/classes/InputEvent.xml
msgid ""
@@ -36983,9 +37112,8 @@ msgstr ""
"èœå•ä¸­çš„[b]é”®ä½æ˜ å°„[/b]选项å¡ä¸­åˆ›å»ºã€‚请å‚阅 [method Node._input]。"
#: doc/classes/InputEventAction.xml
-#, fuzzy
msgid "InputEvent: Actions"
-msgstr "动作的输入事件类型。"
+msgstr "InputEvent:动作"
#: doc/classes/InputEventAction.xml
msgid "The action's name. Actions are accessed via this [String]."
@@ -37204,18 +37332,15 @@ msgstr ""
#: doc/classes/InputEventMIDI.xml
msgid "MIDI Message Status Byte List"
-msgstr ""
+msgstr "MIDI 消æ¯çŠ¶æ€å­—节列表"
#: doc/classes/InputEventMIDI.xml
msgid "Wikipedia General MIDI Instrument List"
-msgstr ""
+msgstr "维基百科通用 MIDI ä¹å™¨åˆ—表"
#: doc/classes/InputEventMIDI.xml
-#, fuzzy
msgid "Wikipedia Piano Key Frequencies List"
-msgstr ""
-"https://zh.wikipedia.org/zh-cn/"
-"%E9%8B%BC%E7%90%B4%E9%8D%B5%E9%A0%BB%E7%8E%87#%E5%88%97%E8%A1%A8"
+msgstr "维基百科钢ç´ç´é”®é¢‘率列表"
#: doc/classes/InputEventMIDI.xml
msgid ""
@@ -37327,6 +37452,10 @@ msgid ""
"in the [CanvasLayer] that the [Control] is in using the coordinate system of "
"the [CanvasLayer]."
msgstr ""
+"在 [method Node._input] 或 [method Node._unhandled_input] 中获å–时,返回根 "
+"[Viewport] 中鼠标的ä½ç½®ï¼Œä½¿ç”¨æ ¹ [Viewport] çš„å标系。\n"
+"在 [method Control._gui_input] 中获å–时,返回该 [Control] 所在的 "
+"[CanvasLayer] 中鼠标的ä½ç½®ï¼Œä½¿ç”¨è¯¥ [CanvasLayer] çš„å标系。"
#: doc/classes/InputEventMouse.xml
msgid ""
@@ -37336,6 +37465,10 @@ msgid ""
"When received in [method Control._gui_input], returns the mouse's position "
"in the [Control] using the local coordinate system of the [Control]."
msgstr ""
+"在 [method Node._input] 或 [method Node._unhandled_input] 中获å–时,返回该 "
+"[Node] 所在 [Viewport] 中鼠标的ä½ç½®ï¼Œä½¿ç”¨è¯¥ [Viewport] çš„å标系。\n"
+"在 [method Control._gui_input] 中获å–时,返回该 [Control] 中鼠标的ä½ç½®ï¼Œä½¿ç”¨"
+"该 [Control] çš„å标系。"
#: doc/classes/InputEventMouseButton.xml
msgid "Input event type for mouse button events."
@@ -37390,19 +37523,18 @@ msgid ""
"Bresenham%27s_line_algorithm]Bresenham's line algorithm[/url] as well to "
"avoid visible gaps in lines if the user is moving the mouse quickly."
msgstr ""
-"包å«é¼ æ ‡å’Œç¬”çš„è¿åŠ¨ä¿¡æ¯ã€‚支æŒç›¸å¯¹ã€ç»å¯¹ä½ç½®å’Œé€Ÿåº¦ã€‚å‚阅[method Node."
+"包å«é¼ æ ‡å’Œç¬”çš„è¿åŠ¨ä¿¡æ¯ã€‚支æŒç›¸å¯¹ã€ç»å¯¹ä½ç½®å’Œé€Ÿåº¦ã€‚请å‚阅 [method Node."
"_input]。\n"
"[b]注æ„:[/b]默认情况下,这个事件最多åªèƒ½åœ¨æ¯ä¸€å¸§æ¸²æŸ“中å‘出一次。如果你需è¦æ›´"
-"精确的输入报告,请用[code]false[/code]调用[method Input."
-"set_use_accumulated_input]æ¥ä½¿äº‹ä»¶å°½å¯èƒ½é¢‘ç¹åœ°å‘射。如果你使用"
-"InputEventMouseMotionæ¥ç”»çº¿ï¼Œè¯·è€ƒè™‘åŒæ—¶å®žçŽ°[url=https://en.wikipedia.org/"
-"wiki/Bresenham%27s_line_algorithm]Bresenham的线æ¡ç®—法[/url],以é¿å…在用户快速"
-"移动鼠标时出现å¯è§çš„线æ¡ç©ºéš™ã€‚"
+"精确的输入报告,请用 [code]false[/code] 调用 [method Input."
+"set_use_accumulated_input] æ¥ä½¿äº‹ä»¶å°½å¯èƒ½é¢‘ç¹åœ°å‘射。如果你使用 "
+"InputEventMouseMotion æ¥ç”»çº¿ï¼Œè¯·è€ƒè™‘åŒæ—¶å®žçŽ° [url=https://en.wikipedia.org/"
+"wiki/Bresenham%27s_line_algorithm]Bresenham 的线æ¡ç®—法[/url],以é¿å…在用户快"
+"速移动鼠标时出现å¯è§çš„线æ¡ç©ºéš™ã€‚"
#: doc/classes/InputEventMouseMotion.xml
-#, fuzzy
msgid "Mouse and input coordinates"
-msgstr "X å标上的åŠå移。"
+msgstr "鼠标和输入åæ ‡"
#: doc/classes/InputEventMouseMotion.xml
msgid ""
@@ -38502,6 +38634,8 @@ msgid ""
"waiting to be activated.\n"
"[b]Note:[/b] Only relevant when exported as a Progressive Web App."
msgstr ""
+"如果该æ¸è¿›å¼ç½‘络应用程åºæœ‰æ–°ç‰ˆæœ¬ç­‰å¾…激活,则返回 [code]true[/code]。\n"
+"[b]注æ„:[/b]åªåœ¨å¯¼å‡ºä¸ºæ¸è¿›å¼ç½‘络应用程åºï¼ˆProgressive Web App)时相关。"
#: doc/classes/JavaScript.xml
msgid ""
@@ -38511,6 +38645,10 @@ msgid ""
"[b]Note:[/b] Only relevant when exported as a Progressive Web App and "
"[method pwa_needs_update] returns [code]true[/code]."
msgstr ""
+"执行该æ¸è¿›å¼ç½‘络应用程åºçš„在线更新。强制安装新版本并é‡æ–°è½½å…¥è¯¥é¡µé¢ã€‚\n"
+"[b]注æ„:[/b]你的应用程åºå°†[b]在所有æµè§ˆå™¨æ ‡ç­¾é¡µä¸­é‡æ–°è½½å…¥[/b]。\n"
+"[b]注æ„:[/b]åªåœ¨å¯¼å‡ºä¸ºæ¸è¿›å¼ç½‘络应用程åºï¼ˆProgressive Web App)且 [method "
+"pwa_needs_update] 返回 [code]true[/code] 时相关。"
#: doc/classes/JavaScript.xml
msgid ""
@@ -38518,6 +38656,8 @@ msgid ""
"waiting to be activated because a previous version is active. See [method "
"pwa_update] to force the update to take place immediately."
msgstr ""
+"在检测到该æ¸è¿›å¼ç½‘络应用程åºçš„更新,但因为存在活动的较早版本而等待激活时触"
+"å‘。è¦å¼ºåˆ¶ç«‹å³æ‰§è¡Œæ›´æ–°ï¼Œè¯·å‚阅 [method pwa_update]。"
#: doc/classes/JavaScriptObject.xml
msgid "A wrapper class for native JavaScript objects."
@@ -38620,7 +38760,7 @@ msgstr ""
#: doc/classes/JNISingleton.xml
msgid "Creating Android plugins"
-msgstr ""
+msgstr "创建 Android æ’件"
#: doc/classes/Joint.xml
msgid "Base class for all 3D joints."
@@ -38638,7 +38778,7 @@ msgstr ""
#: doc/classes/Joint.xml doc/classes/RigidBody.xml doc/classes/VehicleBody.xml
#: doc/classes/VehicleWheel.xml
msgid "3D Truck Town Demo"
-msgstr ""
+msgstr "3D 货车镇演示"
#: doc/classes/Joint.xml
msgid ""
@@ -38715,7 +38855,6 @@ msgid ""
msgstr "解æžä¸€ä¸ªJSONç¼–ç çš„字符串并返回一个包å«ç»“果的[JSONParseResult]。"
#: doc/classes/JSON.xml
-#, fuzzy
msgid ""
"Converts a [Variant] var to JSON text and returns the result. Useful for "
"serializing data to store or send over the network.\n"
@@ -38767,12 +38906,14 @@ msgid ""
"}\n"
"[/codeblock]"
msgstr ""
-"å°† [Variant] var 转æ¢ä¸º JSON 文本并返回结果。用于åºåˆ—化数æ®ä»¥é€šè¿‡ç½‘络存储或å‘"
-"é€ã€‚\n"
-"[b]注:[/b] JSON 规范没有定义 integer 或 float 类型,而åªå®šä¹‰äº† [i]number[/"
-"i] 类型。因此,将 Variant 转æ¢ä¸º JSON 文本会将所有数值转æ¢ä¸º [float] 类型。\n"
-"使用 [code]indent[/code] å‚æ•°æ¥ç¾Žè§‚地打å°è¾“出。\n"
-"[b]示例输出:[/b]\n"
+"å°† [Variant] å˜é‡è½¬æ¢ä¸º JSON 文本并返回结果。å¯ç”¨äºŽå°†æ•°æ®è¿›è¡Œåºåˆ—化ä¿å­˜æˆ–通过"
+"网络å‘é€ã€‚\n"
+"[b]注æ„:[/b]JSON 规范没有定义整数和浮点数类型,åªæœ‰ä¸€ä¸ª[i]æ•°å­—[/i]类型。因"
+"此,将 Variant 转æ¢ä¸º JSON 文本会将所有数字值转æ¢ä¸º [float] 类型。\n"
+"å‚æ•° [code]indent[/code] 控制是å¦ä»¥åŠå¦‚何缩进,输出时需è¦è¿›è¡Œä¸€çº§ç¼©è¿›æ—¶ä¼šä½¿ç”¨"
+"该字符串å‚数,甚至å¯ä»¥ä½¿ç”¨ç©ºæ ¼ [code]\" \"[/code]。也å¯ä»¥ä½¿ç”¨ [code]\\t[/"
+"code] å’Œ [code]\\n[/code] æ¥è¿›è¡Œåˆ¶è¡¨ç¬¦ç¼©è¿›ï¼Œæˆ–者将æ¯æ¬¡ç¼©è¿›è½¬æ¢ä¸ºæ¢è¡Œã€‚\n"
+"[b]Example output:[/b]\n"
"[codeblock]\n"
"## JSON.print(my_dictionary)\n"
"{\"name\":\"my_dictionary\",\"version\":\"1.0.0\",\"entities\":[{\"name\":"
@@ -38781,18 +38922,34 @@ msgstr ""
"\n"
"## JSON.print(my_dictionary, \"\\t\")\n"
"{\n"
-" \"name\": \"my_dictionary\",\n"
-" \"version\": \"1.0.0\",\n"
-" \"entities\": [\n"
-" {\n"
-" \"name\": \"entity_0\",\n"
-" \"value\": \"value_0\"\n"
-" },\n"
-" {\n"
-" \"name\": \"entity_1\",\n"
-" \"value\": \"value_1\"\n"
-" }\n"
-" ]\n"
+" \"name\": \"my_dictionary\",\n"
+" \"version\": \"1.0.0\",\n"
+" \"entities\": [\n"
+" {\n"
+" \"name\": \"entity_0\",\n"
+" \"value\": \"value_0\"\n"
+" },\n"
+" {\n"
+" \"name\": \"entity_1\",\n"
+" \"value\": \"value_1\"\n"
+" }\n"
+" ]\n"
+"}\n"
+"\n"
+"## JSON.print(my_dictionary, \"...\")\n"
+"{\n"
+"...\"name\": \"my_dictionary\",\n"
+"...\"version\": \"1.0.0\",\n"
+"...\"entities\": [\n"
+"......{\n"
+".........\"name\": \"entity_0\",\n"
+".........\"value\": \"value_0\"\n"
+"......},\n"
+"......{\n"
+".........\"name\": \"entity_1\",\n"
+".........\"value\": \"value_1\"\n"
+"......}\n"
+"...]\n"
"}\n"
"[/codeblock]"
@@ -38999,7 +39156,7 @@ msgstr ""
#: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml
msgid "Kinematic character (2D)"
-msgstr ""
+msgstr "è¿åŠ¨å­¦è§’色(2D)"
#: doc/classes/KinematicBody.xml
msgid ""
@@ -39173,8 +39330,9 @@ msgstr ""
"如果 [code]infinite_inertia[/code] 是 [code]true[/code],物体将能够推动 "
"[RigidBody] 节点,但它也ä¸ä¼šæ£€æµ‹åˆ°ä»»ä½•ä¸Žå®ƒä»¬çš„碰撞。如果 [code]false[/code],"
"它将与 [RigidBody] èŠ‚ç‚¹åƒ [StaticBody] 一样交互。\n"
-"返回 [code]linear_velocity[/code] å‘é‡ï¼Œå¦‚æžœå‘生滑动碰撞,则旋转和/或缩放。è¦"
-"获得å‘生碰撞的详细信æ¯ï¼Œè¯·ä½¿ç”¨ [method get_slide_collision]。\n"
+"返回 [code]linear_velocity[/code] å‘é‡ï¼Œå¦‚æžœå‘生滑动碰撞,则返回的å‘é‡æ˜¯ç»è¿‡"
+"了旋转和/或缩放的。è¦èŽ·å¾—å‘生碰撞的详细信æ¯ï¼Œè¯·ä½¿ç”¨ [method "
+"get_slide_collision]。\n"
"当物体接触到一个移动的平å°æ—¶ï¼Œå¹³å°çš„速度会自动加入到物体的è¿åŠ¨ä¸­ã€‚如果由于平"
"å°çš„è¿åŠ¨è€Œå‘生碰撞,它将始终是滑动碰撞中的第一个。"
@@ -39337,9 +39495,8 @@ msgstr ""
"们在实现对世界进行碰撞,但ä¸éœ€è¦é«˜çº§ç‰©ç†çš„角色时éžå¸¸æœ‰ç”¨ã€‚"
#: doc/classes/KinematicBody2D.xml
-#, fuzzy
msgid "Using KinematicBody2D"
-msgstr "2D è¿åŠ¨ä½“节点。"
+msgstr "使用 KinematicBody2D"
#: doc/classes/KinematicBody2D.xml
msgid ""
@@ -39448,19 +39605,20 @@ msgstr ""
"move_and_collide] ä¸åŒçš„是,你[i]ä¸åº”该[/i]将它乘以 [code]delta[/code]——物ç†"
"引擎会处ç†åº”用速度。\n"
"[code]up_direction[/code] 是å‘上的方å‘,用æ¥ç¡®å®šä»€ä¹ˆæ˜¯å¢™ï¼Œä»€ä¹ˆæ˜¯åœ°æ¿æˆ–天花"
-"æ¿ã€‚如果设置为默认值 [code]Vector2(0, 0)[/code],一切都被认为是墙。这对于自上"
-"而下的游æˆå¾ˆæœ‰ç”¨ã€‚\n"
+"æ¿ã€‚如果设置为默认值 [code]Vector2(0, 0)[/code],一切都被认为是墙。这对于俯视"
+"角的游æˆå¾ˆæœ‰ç”¨ã€‚\n"
"如果 [code]stop_on_slope[/code] 是 [code]true[/code],当你在 "
"[code]linear_velocity[/code] 中包å«é‡åŠ›å¹¶ä¸”物体é™æ­¢æ—¶ï¼Œç‰©ä½“å°±ä¸ä¼šåœ¨æ–œå¡ä¸Šæ»‘"
"动。\n"
"如果物体å‘生碰撞,它最多会改å˜æ–¹å‘ [code]max_slides[/code] 次æ‰ä¼šåœæ­¢ã€‚\n"
"[code]floor_max_angle[/code] 是一个最大的角度(弧度),在这个角度下,一个斜å¡"
"ä»ç„¶è¢«è®¤ä¸ºæ˜¯åœ°æ¿æˆ–天花æ¿ï¼Œè€Œä¸æ˜¯å¢™ã€‚默认值等于45度。\n"
-"如果 [code]infinite_inertia[/code] 是 [code]true[/code],物体将能够推动"
-"[RigidBody2D]节点,但它也ä¸ä¼šæ£€æµ‹åˆ°ä»»ä½•ä¸Žå®ƒä»¬çš„碰撞。如果 [code]false[/"
+"如果 [code]infinite_inertia[/code] 是 [code]true[/code],物体将能够推动 "
+"[RigidBody2D] 节点,但它也ä¸ä¼šæ£€æµ‹åˆ°ä»»ä½•ä¸Žå®ƒä»¬çš„碰撞。如果 [code]false[/"
"code],它将与 [RigidBody2D] èŠ‚ç‚¹åƒ [StaticBody2D] 一样交互。\n"
-"返回 [code]linear_velocity[/code] å‘é‡ï¼Œå¦‚æžœå‘生滑动碰撞,则旋转和/或缩放。è¦"
-"获得å‘生碰撞的详细信æ¯ï¼Œè¯·ä½¿ç”¨ [method get_slide_collision]。\n"
+"返回 [code]linear_velocity[/code] å‘é‡ï¼Œå¦‚æžœå‘生滑动碰撞,则返回的å‘é‡æ˜¯ç»è¿‡"
+"了旋转和/或缩放的。è¦èŽ·å¾—å‘生碰撞的详细信æ¯ï¼Œè¯·ä½¿ç”¨ [method "
+"get_slide_collision]。\n"
"当物体接触到一个移动的平å°æ—¶ï¼Œå¹³å°çš„速度会自动加入到物体的è¿åŠ¨ä¸­ã€‚如果由于平"
"å°çš„è¿åŠ¨è€Œå‘生碰撞,它将始终是滑动碰撞中的第一个。"
@@ -39864,7 +40022,7 @@ msgstr ""
#: doc/classes/Light.xml doc/classes/SpotLight.xml
msgid "3D lights and shadows"
-msgstr ""
+msgstr "3D ç¯å…‰å’Œé˜´å½±"
#: doc/classes/Light.xml
msgid "Returns the value of the specified [enum Light.Param] parameter."
@@ -39955,8 +40113,13 @@ msgid "The color of shadows cast by this light."
msgstr "光线投射的阴影的颜色。"
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
-msgstr "å°è¯•å‡å°‘ [member shadow_bias] å·®è·ã€‚"
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
+msgstr ""
#: doc/classes/Light.xml
msgid "If [code]true[/code], the light will cast shadows."
@@ -40374,9 +40537,13 @@ msgstr "æž„æˆçº¿æ¡çš„点。在此数组中设置的æ¯ä¸ªç‚¹ä¹‹é—´ç»˜åˆ¶çº¿ã€‚
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
-msgstr "圆形接头和盖å­çš„平滑度。仅当盖å­æˆ–接头设置为圆形时æ‰ä½¿ç”¨æ­¤é€‰é¡¹ã€‚"
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
+msgstr ""
#: doc/classes/Line2D.xml
msgid ""
@@ -42590,6 +42757,15 @@ msgstr "返回特定实例的 [Transform2D]。"
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -42610,6 +42786,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -42660,6 +42848,16 @@ msgid "Mesh to be drawn."
msgstr "å°†è¦ç»˜åˆ¶çš„网格。"
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr "用于å˜æ¢ç½‘格的å˜æ¢æ ¼å¼ï¼Œå¯ä»¥æ˜¯2D或3D。"
@@ -42721,6 +42919,18 @@ msgstr ""
"传递给 [method set_instance_custom_data] 的 [Color] 将使用 4 个浮点数。使用它"
"以获得最高精度。"
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr "实例化 [MultiMesh] 的节点。"
@@ -43148,7 +43358,7 @@ msgstr ""
#: doc/classes/Navigation.xml doc/classes/NavigationMesh.xml
#: doc/classes/NavigationServer.xml
msgid "3D Navmesh Demo"
-msgstr ""
+msgstr "3D 导航网格演示"
#: doc/classes/Navigation.xml doc/classes/Navigation2D.xml
msgid ""
@@ -43190,18 +43400,17 @@ msgid ""
"agent properties associated with each [NavigationMesh] (radius, height, "
"etc.) are considered in the path calculation, otherwise they are ignored."
msgstr ""
-"返回两个给定点之间的路径。点是在局部å标空间中。如果 [code]optimize[/code] "
-"是 [code]true[/code](默认),与æ¯ä¸ª [NavigationMesh] 相关的代ç†å±žæ€§ï¼ˆåŠå¾„ã€"
-"高度等)在路径计算中被考虑,å¦åˆ™å…¶è¢«å¿½ç•¥ã€‚"
+"返回两个给定点之间的路径。点都是在局部å标空间中的。如果 [code]optimize[/"
+"code] 为 [code]true[/code](默认),则计算路径时会考虑æ¯ä¸ª [NavigationMesh] "
+"所关è”的代ç†çš„属性(åŠå¾„ã€é«˜åº¦ç­‰ï¼‰ï¼Œå¦åˆ™ä¼šè¢«å¿½ç•¥ã€‚"
#: doc/classes/Navigation.xml
-#, fuzzy
msgid "The cell height to use for fields."
-msgstr "用于字段Yè½´å•å…ƒçš„尺寸。"
+msgstr "用于字段的 Y è½´å•å…ƒçš„尺寸。"
#: doc/classes/Navigation.xml doc/classes/NavigationMesh.xml
msgid "The XZ plane cell size to use for fields."
-msgstr "用于字段的XZå¹³é¢å•å…ƒå°ºå¯¸ã€‚"
+msgstr "用于字段的 XZ å¹³é¢å•å…ƒå°ºå¯¸ã€‚"
#: doc/classes/Navigation.xml doc/classes/Navigation2D.xml
msgid ""
@@ -43233,7 +43442,7 @@ msgstr ""
#: doc/classes/Navigation2D.xml doc/classes/Navigation2DServer.xml
#: doc/classes/NavigationPolygon.xml
msgid "2D Navigation Demo"
-msgstr ""
+msgstr "2D 导航演示"
#: doc/classes/Navigation2D.xml
msgid ""
@@ -43250,7 +43459,7 @@ msgid ""
"space. If [code]optimize[/code] is [code]true[/code] (the default), the path "
"is smoothed by merging path segments where possible."
msgstr ""
-"返回两个给定点之间的路径。点是在局部å标空间中。如果 [code]optimize[/code] "
+"返回两个给定点之间的路径。点是在局部å标空间中的。如果 [code]optimize[/code] "
"为 [code]true[/code](默认值),路径将尽å¯èƒ½åœ°åˆå¹¶è·¯å¾„段,从而平滑。"
#: doc/classes/Navigation2D.xml
@@ -43588,7 +43797,6 @@ msgstr ""
"å¯ã€‚"
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
-#, fuzzy
msgid ""
"The minimal amount of time for which this agent's velocities, that are "
"computed with the collision avoidance algorithm, are safe with respect to "
@@ -44255,9 +44463,8 @@ msgstr ""
"程中请求对地图进行任何修改。"
#: doc/classes/NavigationServer.xml
-#, fuzzy
msgid "Returns the map cell height."
-msgstr "返回地图的å•å…ƒæ ¼å¤§å°ã€‚"
+msgstr "返回地图的å•å…ƒæ ¼é«˜åº¦ã€‚"
#: doc/classes/NavigationServer.xml
msgid ""
@@ -44281,9 +44488,8 @@ msgid "Returns the map's up direction."
msgstr "返回地图的上方å‘。"
#: doc/classes/NavigationServer.xml
-#, fuzzy
msgid "Set the map cell height used to weld the navigation mesh polygons."
-msgstr "设置用于焊接导航网格多边形的地图å•å…ƒæ ¼å¤§å°ã€‚"
+msgstr "设置用于焊接导航网格多边形的地图å•å…ƒæ ¼é«˜åº¦ã€‚"
#: doc/classes/NavigationServer.xml
msgid "Sets the map up direction."
@@ -44659,13 +44865,12 @@ msgstr ""
"使用。改å˜æ—¶æ•ä¸å¦è¡Œé€šçŸ¥ã€‚"
#: doc/classes/NetworkedMultiplayerPeer.xml
-#, fuzzy
msgid "High-level multiplayer"
-msgstr "高级多人游æˆAPI。"
+msgstr "高级多人游æˆ"
#: doc/classes/NetworkedMultiplayerPeer.xml
msgid "WebRTC Signaling Demo"
-msgstr ""
+msgstr "WebRTC ä¿¡å·æ¼”示"
#: doc/classes/NetworkedMultiplayerPeer.xml
msgid ""
@@ -45042,11 +45247,11 @@ msgstr ""
#: doc/classes/Node.xml
msgid "Nodes and Scenes"
-msgstr ""
+msgstr "节点与场景"
#: doc/classes/Node.xml
msgid "All Demos"
-msgstr ""
+msgstr "所有演示"
#: doc/classes/Node.xml
msgid ""
@@ -45095,7 +45300,6 @@ msgstr ""
"当需è¦æ›´æ–°è¿™ä¸ªèŠ‚点的警告时,调用[method update_configuration_warning]。"
#: doc/classes/Node.xml
-#, fuzzy
msgid ""
"Called when there is an input event. The input event propagates up through "
"the node tree until a node consumes it.\n"
@@ -45121,7 +45325,6 @@ msgstr ""
"éžâ€œå­¤å„¿â€ï¼‰ã€‚"
#: doc/classes/Node.xml
-#, fuzzy
msgid ""
"Called during the physics processing step of the main loop. Physics "
"processing means that the frame rate is synced to the physics, i.e. the "
@@ -45145,7 +45348,6 @@ msgstr ""
"是“孤儿â€ï¼‰ã€‚"
#: doc/classes/Node.xml
-#, fuzzy
msgid ""
"Called during the processing step of the main loop. Processing happens at "
"every frame and as fast as possible, so the [code]delta[/code] time since "
@@ -45167,7 +45369,6 @@ msgstr ""
"是“孤儿â€ï¼‰ã€‚"
#: doc/classes/Node.xml
-#, fuzzy
msgid ""
"Called when the node is \"ready\", i.e. when both the node and its children "
"have entered the scene tree. If the node has children, their [method _ready] "
@@ -45184,18 +45385,17 @@ msgid ""
"call with [method request_ready], which may be called anywhere before adding "
"the node again."
msgstr ""
-"当节点 \"就绪 \"时被调用。å­èŠ‚点的[method _ready]回调会首先被触å‘,而父节点会"
-"在之åŽæ”¶åˆ°å°±ç»ªé€šçŸ¥ã€‚\n"
-"对应于[method Object._notification]中的[constant NOTIFICATION_READY]通知。也"
-"请å‚阅å˜é‡çš„[code]onready[/code]关键字。\n"
-"通常用于åˆå§‹åŒ–。对于更早的åˆå§‹åŒ–,å¯ä»¥ä½¿ç”¨[method Object._init]。也请å‚阅"
+"当节点“就绪â€æ—¶è¢«è°ƒç”¨ã€‚å­èŠ‚点的 [method _ready] 回调会首先被触å‘,而父节点会在"
+"之åŽæ”¶åˆ°å°±ç»ªé€šçŸ¥ã€‚\n"
+"对应于 [method Object._notification] 中的 [constant NOTIFICATION_READY] 通"
+"知。也请å‚阅å˜é‡çš„ [code]onready[/code] 关键字。\n"
+"通常用于åˆå§‹åŒ–。对于更早的åˆå§‹åŒ–,å¯ä»¥ä½¿ç”¨ [method Object._init]。也请å‚阅 "
"[method _enter_tree]。\n"
-"[b]注æ„:[/b] [method _ready] 对于æ¯ä¸ªèŠ‚点åªèƒ½è°ƒç”¨ä¸€æ¬¡ã€‚在从场景树中删除一个"
-"节点并å†æ¬¡æ·»åŠ åŽï¼Œ[code]_ready[/code]å°†ä¸ä¼šè¢«ç¬¬äºŒæ¬¡è°ƒç”¨ã€‚è¿™å¯ä»¥é€šè¿‡è¯·æ±‚å†æ¬¡è°ƒ"
-"用[method request_ready]æ¥ç»•è¿‡ï¼Œå®ƒå¯ä»¥åœ¨å†æ¬¡æ·»åŠ èŠ‚点之å‰çš„任何地方调用。"
+"[b]注æ„:[/b][method _ready] 对于æ¯ä¸ªèŠ‚点åªä¼šè°ƒç”¨ä¸€æ¬¡ã€‚在从场景树中删除一个节"
+"点并å†æ¬¡æ·»åŠ åŽï¼Œ[code]_ready[/code] å°†ä¸ä¼šè¢«ç¬¬äºŒæ¬¡è°ƒç”¨ã€‚è¿™å¯ä»¥é€šè¿‡è¯·æ±‚å†æ¬¡è°ƒ"
+"用 [method request_ready] æ¥ç»•è¿‡ï¼Œå®ƒå¯ä»¥åœ¨å†æ¬¡æ·»åŠ èŠ‚点之å‰çš„任何地方调用。"
#: doc/classes/Node.xml
-#, fuzzy
msgid ""
"Called when an [InputEvent] hasn't been consumed by [method _input] or any "
"GUI [Control] item. The input event propagates up through the node tree "
@@ -45211,8 +45411,8 @@ msgid ""
"[b]Note:[/b] This method is only called if the node is present in the scene "
"tree (i.e. if it's not an orphan)."
msgstr ""
-"当 [InputEvent] 还未被 [method _input] 或任何 GUI 消耗时调用。输入事件通过节"
-"点树å‘上传播,直到一个节点消耗它。\n"
+"当 [InputEvent] 还未被 [method _input] 或任何 GUI [Control] 项目消耗时调用。"
+"输入事件通过节点树å‘上传播,直到一个节点消耗它。\n"
"åªæœ‰åœ¨å¯ç”¨äº†æœªå¤„ç†çš„输入处ç†æ—¶æ‰ä¼šè¢«è°ƒç”¨ï¼Œå¦‚果这个方法被é‡å†™ï¼Œå®ƒå°±ä¼šè‡ªåŠ¨å®Œ"
"æˆï¼Œå¹¶ä¸”å¯ä»¥ç”¨ [method set_process_unhandled_input] æ¥åˆ‡æ¢ã€‚\n"
"è¦æ¶ˆè€—输入事件并阻止它进一步传播到其他节点,å¯ä»¥è°ƒç”¨ [method SceneTree."
@@ -45223,7 +45423,6 @@ msgstr ""
"是“孤儿â€ï¼‰ã€‚"
#: doc/classes/Node.xml
-#, fuzzy
msgid ""
"Called when an [InputEventKey] hasn't been consumed by [method _input] or "
"any GUI [Control] item. The input event propagates up through the node tree "
@@ -45239,8 +45438,8 @@ msgid ""
"[b]Note:[/b] This method is only called if the node is present in the scene "
"tree (i.e. if it's not an orphan)."
msgstr ""
-"当 [InputEventKey] 没有被 [method _input] 或任何 GUI 消耗时被调用。输入事件通"
-"过节点树å‘上传播,直到一个节点消耗它。\n"
+"当 [InputEventKey] 没有被 [method _input] 或任何 GUI [Control] 项目消耗时被调"
+"用。输入事件通过节点树å‘上传播,直到一个节点消耗它。\n"
"åªæœ‰åœ¨å¯ç”¨äº†æœªå¤„ç†çš„键输入处ç†æ—¶æ‰ä¼šè¢«è°ƒç”¨ï¼Œå¦‚果这个方法被é‡å†™ï¼Œå®ƒå°±ä¼šè‡ªåŠ¨å®Œ"
"æˆï¼Œå¹¶ä¸”å¯ä»¥ç”¨ [method set_process_unhandled_key_input] æ¥åˆ‡æ¢ã€‚\n"
"è¦æ¶ˆè€—输入事件并阻止它进一步传播到其他节点,å¯ä»¥è°ƒç”¨ [method SceneTree."
@@ -45683,6 +45882,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -45919,6 +46137,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -46057,6 +46290,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -46242,12 +46483,16 @@ msgid ""
"Emitted when a child node enters the scene tree, either because it entered "
"on its own or because this node entered with it."
msgstr ""
+"在å­èŠ‚点进入场景树时触å‘,å¯ä»¥æ˜¯å› ä¸ºè¯¥å­èŠ‚点自行进入,也å¯ä»¥æ˜¯å› ä¸ºæœ¬èŠ‚点带ç€"
+"该å­èŠ‚点一起进入。"
#: doc/classes/Node.xml
msgid ""
"Emitted when a child node exits the scene tree, either because it exited on "
"its own or because this node exited."
msgstr ""
+"在å­èŠ‚点离开场景树时触å‘,å¯ä»¥æ˜¯å› ä¸ºè¯¥å­èŠ‚点自行离开,也å¯ä»¥æ˜¯å› ä¸ºæœ¬èŠ‚点离"
+"开。"
#: doc/classes/Node.xml
msgid "Emitted when the node is ready."
@@ -46367,6 +46612,13 @@ msgstr ""
"åŒï¼Œå®ƒæ¯æ¬¡èŠ‚点进入树时都会å‘é€ï¼Œè€Œä¸æ˜¯åªå‘é€ä¸€æ¬¡ã€‚"
#: doc/classes/Node.xml
+#, fuzzy
+msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr "在父节点中移动节点时收到该通知。"
+
+#: doc/classes/Node.xml
msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
@@ -46422,7 +46674,7 @@ msgstr ""
#: doc/classes/Node2D.xml doc/classes/Vector2.xml
msgid "All 2D Demos"
-msgstr ""
+msgstr "所有 2D 演示"
#: doc/classes/Node2D.xml
msgid "Multiplies the current scale by the [code]ratio[/code] vector."
@@ -46634,7 +46886,7 @@ msgstr ""
#: doc/classes/PanelContainer.xml doc/classes/TileMap.xml
#: doc/classes/TileSet.xml
msgid "2D Role Playing Game Demo"
-msgstr ""
+msgstr "2D 角色扮演游æˆæ¼”示"
#: doc/classes/NodePath.xml
msgid ""
@@ -46954,11 +47206,11 @@ msgstr ""
#: doc/classes/Object.xml doc/classes/Reference.xml doc/classes/Resource.xml
msgid "When and how to avoid using nodes for everything"
-msgstr ""
+msgstr "何时以åŠå¦‚何é¿å…为任何事情使用节点"
#: doc/classes/Object.xml
msgid "Advanced exports using _get_property_list()"
-msgstr ""
+msgstr "使用 _get_property_list() 进行高级导出"
#: doc/classes/Object.xml
msgid ""
@@ -47418,7 +47670,6 @@ msgid ""
msgstr "从对象的元数æ®ä¸­åˆ é™¤ç»™å®šæ¡ç›®ã€‚å¦è§ [method set_meta]。"
#: doc/classes/Object.xml
-#, fuzzy
msgid ""
"Assigns a new value to the given property. If the [code]property[/code] does "
"not exist or the given value's type doesn't match, nothing will happen.\n"
@@ -47427,8 +47678,8 @@ msgid ""
"properties where you should use the same convention as in the C# source "
"(typically PascalCase)."
msgstr ""
-"为给定的属性赋一个新值。如果 [code]property[/code] ä¸å­˜åœ¨ï¼Œåˆ™ä¸ä¼šå‘生任何事"
-"情。\n"
+"为给定的属性赋一个新值。如果 [code]property[/code] ä¸å­˜åœ¨ï¼Œæˆ–者给定的值的类型"
+"与之ä¸åŒ¹é…时,则ä¸ä¼šå‘生任何事情。\n"
"[b]注æ„:[/b]在 C# 中,如果属性å由内置的 Godot 节点定义,则必须将其指定为 "
"snake_case。这ä¸é€‚用于用户定义的属性,在这些属性中,您应该使用与 C# æºä¸­ç›¸åŒ"
"的约定(通常是 PascalCase)。"
@@ -47661,12 +47912,11 @@ msgstr "用于[Occluder]节点进行é®æŒ¡å‰”除的形状的基类。"
#: doc/classes/OccluderShape.xml
msgid "[Occluder]s can use any primitive shape derived from [OccluderShape]."
-msgstr "[Occluder] å¯ä»¥ä½¿ç”¨ä»Ž [OccluderShape] 派生的任何原始形状。"
+msgstr "[Occluder] å¯ä»¥ä½¿ç”¨ä»Ž [OccluderShape] 派生的任何图元。"
#: doc/classes/OccluderShapePolygon.xml
-#, fuzzy
msgid "Polygon occlusion primitive for use with the [Occluder] node."
-msgstr "与 [Occluder] 节点一起使用的çƒå½¢é®æŒ¡åŸºæœ¬å•å…ƒã€‚"
+msgstr "用于 [Occluder] 节点的多边形é®æŒ¡å›¾å…ƒã€‚"
#: doc/classes/OccluderShapePolygon.xml
msgid ""
@@ -47683,32 +47933,37 @@ msgid ""
"the system will operate at runtime, so in most cases you will want to use 4 "
"points for each."
msgstr ""
+"[OccluderShape] 是 [Occluder] 节点所使用的资æºï¼Œç”¨äºŽå‡ ä½•é®æŒ¡å‰”除。\n"
+"该多边形必须是凸多边形。多边形顶点的创建与删除å¯ä»¥åœ¨ç¼–辑器的检查器中进行,也"
+"å¯ä»¥é€šè¿‡è°ƒç”¨ [code]set_polygon_points[/code] 实现。æ¯ä¸€æ¡è¾¹çš„顶点都å¯ä»¥é€šè¿‡åœ¨"
+"编辑器视窗中拖拽å¥æŸ„设置。\n"
+"å¦å¤–,æ¯ä¸€ä¸ªå¤šè¾¹å½¢é®æŒ¡å™¨éƒ½å¯ä»¥æ”¯æŒå•ä¸ªç©ºæ´žã€‚如果你在编辑器的检查器中为空洞添"
+"加至少三个顶点,就å¯ä»¥åœ¨ç¼–辑器视窗中拖拽空洞边缘顶点的å¥æŸ„。\n"
+"一般而言,多边形以åŠç©ºæ´žçš„边数越少,è¿è¡Œæ—¶ç³»ç»Ÿçš„处ç†é€Ÿåº¦å°±è¶Šå¿«ï¼Œæ‰€ä»¥åœ¨å¤§å¤šæ•°"
+"情况下你都åªä¼šè®¾ç½® 4 个顶点。"
#: doc/classes/OccluderShapePolygon.xml
-#, fuzzy
msgid "Sets an individual hole point position."
-msgstr "设置å•ä¸ªçƒä½“çš„ä½ç½®ã€‚"
+msgstr "设置å•ç‹¬çš„空洞顶点ä½ç½®ã€‚"
#: doc/classes/OccluderShapePolygon.xml
-#, fuzzy
msgid "Sets an individual polygon point position."
-msgstr "设置å•ä¸ªçƒä½“çš„ä½ç½®ã€‚"
+msgstr "设置å•ç‹¬çš„多边形顶点ä½ç½®ã€‚"
#: doc/classes/OccluderShapePolygon.xml
-#, fuzzy
msgid "Allows changing the hole geometry from code."
-msgstr "通过代ç ç»˜åˆ¶ç®€å•çš„几何形状。"
+msgstr "å…许通过代ç ä¿®æ”¹ç©ºæ´žå½¢çŠ¶ã€‚"
#: doc/classes/OccluderShapePolygon.xml
-#, fuzzy
msgid "Allows changing the polygon geometry from code."
-msgstr "通过代ç ç»˜åˆ¶ç®€å•çš„几何形状。"
+msgstr "å…许通过代ç ä¿®æ”¹å¤šè¾¹å½¢å½¢çŠ¶ã€‚"
#: doc/classes/OccluderShapePolygon.xml
+#, fuzzy
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
-msgstr ""
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
+msgstr "指定该é®æŒ¡å™¨æ˜¯åº”该为å•å‘还是åŒå‘。"
#: doc/classes/OccluderShapeSphere.xml
msgid "Spherical occlusion primitive for use with the [Occluder] node."
@@ -48306,7 +48561,6 @@ msgstr ""
"在文件的末尾是所有已使用资æºç±»åž‹çš„统计数æ®ã€‚"
#: doc/classes/OS.xml
-#, fuzzy
msgid ""
"Execute the file at the given path with the arguments passed as an array of "
"strings. Platform path resolution will take place. The resolved file must "
@@ -48393,7 +48647,16 @@ msgstr ""
"[codeblock]\n"
"OS.execute(\"CMD.exe\", [\"/C\", \"cd %TEMP% && dir\"], true, output)\n"
"[/codeblock]\n"
-"[b]注æ„:[/b]此方法仅在 Androidã€iOSã€Linuxã€macOS å’Œ Windows 上实现。"
+"[b]注æ„:[/b]此方法仅在 Androidã€iOSã€Linuxã€macOS å’Œ Windows 上实现。\n"
+"[b]注æ„:[/b]如果è¦æ‰§è¡Œ Windows 命令解释器的内置命令,请将 [code]path[/code] "
+"指定为 [code]cmd.exe[/code],将第一个å‚数设为 [code]/c[/code],第二个å‚数设为"
+"想è¦çš„命令。\n"
+"[b]注æ„:[/b]如果è¦æ‰§è¡Œ PowerShell 的内置命令,请将 [code]path[/code] 指定为 "
+"[code]powershell.exe[/code],将第一个å‚数设为 [code]-Command[/code],第二个å‚"
+"数设为想è¦çš„命令。\n"
+"[b]注æ„:[/b]如果è¦æ‰§è¡Œ Unix Shell 的内置命令,请将 [code]path[/code] 指定为 "
+"Shell å¯æ‰§è¡Œæ–‡ä»¶çš„å称,将第一个å‚数设为 [code]-c[/code],第二个å‚数设为想è¦"
+"的命令。"
#: doc/classes/OS.xml
msgid "Returns the scancode of the given string (e.g. \"Escape\")."
@@ -48751,8 +49014,20 @@ msgstr ""
"[b]注æ„:[/b]此方法在Androidã€iOSã€Linuxã€macOSå’ŒWindows上实现。"
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
-msgstr "返回宿主机上å¯ç”¨çš„线程数。"
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
+msgstr ""
#: doc/classes/OS.xml
msgid "Returns the window size including decorations like window borders."
@@ -48881,10 +49156,10 @@ msgid ""
"differentiate between app specific and shared directories. Shared "
"directories have additional restrictions on Android."
msgstr ""
-"返回ä¸åŒå¹³å°ä¸Šå¸¸ç”¨æ–‡ä»¶å¤¹çš„实际路径。å¯ç”¨çš„ä½ç½®åœ¨[enum SystemDir]中指定。\n"
-"[b]注æ„:[/b] 这个方法在Androidã€Linuxã€macOSå’ŒWindows上实现。\n"
-"[b]注æ„:[/b] 共享存储在Android上实现,并å…许区分应用程åºç‰¹å®šç›®å½•å’Œå…±äº«ç›®å½•ã€‚"
-"共享目录在Android上有é¢å¤–çš„é™åˆ¶ã€‚"
+"返回ä¸åŒå¹³å°ä¸Šå¸¸ç”¨æ–‡ä»¶å¤¹çš„实际路径。å¯ç”¨çš„ä½ç½®åœ¨ [enum SystemDir] 中指定。\n"
+"[b]注æ„:[/b]这个方法在 Androidã€Linuxã€macOS å’Œ Windows 上实现。\n"
+"[b]注æ„:[/b]共享存储在 Android 上实现,并å…许区分应用程åºç‰¹å®šç›®å½•å’Œå…±äº«ç›®"
+"录。共享目录在 Android 上有é¢å¤–çš„é™åˆ¶ã€‚"
#: doc/classes/OS.xml
msgid "Returns the epoch time of the operating system in milliseconds."
@@ -49105,9 +49380,8 @@ msgstr ""
"[b]注æ„:[/b] 这个方法在macOS上实现。"
#: doc/classes/OS.xml
-#, fuzzy
msgid "Returns [code]true[/code] if there is content on the clipboard."
-msgstr "如果文件当å‰è¢«æ‰“开,返回[code]true[/code]。"
+msgstr "如果剪贴æ¿ä¸Šå­˜åœ¨å†…容,则返回 [code]true[/code]。"
#: doc/classes/OS.xml
msgid ""
@@ -49252,14 +49526,14 @@ msgstr ""
"[b]注æ„:[/b] 本方法å¯åœ¨Linuxã€macOSå’ŒWindows上实现。"
#: doc/classes/OS.xml
-#, fuzzy
msgid ""
"Converts a physical (US QWERTY) [code]scancode[/code] to one in the active "
"keyboard layout.\n"
"[b]Note:[/b] This method is implemented on Linux, macOS and Windows."
msgstr ""
-"设置活动键盘布局。\n"
-"[b]注:[/b]此方法å¯åœ¨Linuxã€macOSå’ŒWindows上实现。"
+"将物ç†ï¼ˆç¾Žå¼ QWERTY)扫æç  [code]scancode[/code] 转æ¢ä¸ºå½“å‰æ´»åŠ¨é”®ç›˜å¸ƒå±€çš„扫"
+"æç ã€‚\n"
+"[b]注æ„:[/b]此方法在 Linuxã€macOS å’Œ Windows 上实现。"
#: doc/classes/OS.xml
msgid ""
@@ -50500,11 +50774,11 @@ msgstr ""
#: doc/classes/Panel.xml
msgid "2D Finite State Machine Demo"
-msgstr ""
+msgstr "2D 有é™çŠ¶æ€æœºæ¼”示"
#: doc/classes/Panel.xml doc/classes/Skeleton.xml doc/classes/SkeletonIK.xml
msgid "3D Inverse Kinematics Demo"
-msgstr ""
+msgstr "3D 逆è¿åŠ¨å­¦æ¼”示"
#: doc/classes/Panel.xml
msgid "The style of this [Panel]."
@@ -50697,7 +50971,7 @@ msgstr ""
#: doc/classes/Particles.xml
msgid "Controlling thousands of fish with Particles"
-msgstr ""
+msgstr "用粒å­æŽ§åˆ¶æ•°åƒæ¡é±¼"
#: doc/classes/Particles.xml
msgid ""
@@ -50844,7 +51118,7 @@ msgstr ""
#: doc/classes/Particles2D.xml
msgid "Particle systems (2D)"
-msgstr ""
+msgstr "ç²’å­ç³»ç»Ÿï¼ˆ2D)"
#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
@@ -51736,7 +52010,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."
@@ -54735,7 +55009,7 @@ msgstr ""
#: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml
#: doc/classes/TileSet.xml
msgid "2D Navigation Astar Demo"
-msgstr ""
+msgstr "2D A 星导航演示"
#: doc/classes/PoolVector2Array.xml
msgid ""
@@ -55267,9 +55541,8 @@ msgstr ""
"[b]注:[/b]被移除项åŽçš„项的索引将被移ä½1。"
#: doc/classes/PopupMenu.xml
-#, fuzzy
msgid "Sets the currently focused item as the given [code]index[/code]."
-msgstr "设置在索引[code]idx[/code]处项的图标。"
+msgstr "将当å‰èšç„¦é¡¹ç›®è®¾ç½®ä¸ºç»™å®šçš„索引 [code]index[/code]。"
#: doc/classes/PopupMenu.xml
msgid "Hides the [PopupMenu] when the window loses focus."
@@ -58369,6 +58642,18 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+#, fuzzy
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -58379,8 +58664,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
"控制物ç†æ—¶é’Ÿå®žæ—¶åŒæ­¥çš„程度。如果是0或更少,时钟是åŒæ­¥çš„。这样的值建议用于网络"
"游æˆï¼Œå› ä¸ºæ—¶é’Ÿçš„åŒæ­¥æ€§å¾ˆé‡è¦ã€‚较高的值会导致游æˆä¸­çš„时钟和真实时钟的å差较"
@@ -58831,7 +59118,6 @@ msgstr ""
"义。"
#: doc/classes/ProjectSettings.xml
-#, fuzzy
msgid ""
"If set to [code]Asynchronous[/code] and available on the target device, "
"asynchronous compilation of shaders is enabled (in contrast to "
@@ -58867,10 +59153,12 @@ msgstr ""
"超级ç€è‰²å™¨æ˜¯ä¸€ä¸ªéžå¸¸å¤æ‚çš„ç€è‰²å™¨ï¼Œè™½ç„¶æ…¢ä½†æ˜¯å¯ä»¥ç”¨äºŽä»»ä½•æ¸²æŸ“环境。引擎会在内"
"部生æˆè¿™ä¸ªç€è‰²å™¨ï¼Œè¿™æ ·åœ¨ä¸€å¼€å§‹å°±èƒ½ä½¿ç”¨ï¼Œè€Œä¼ ç»Ÿçš„æ ¹æ®ä¸åŒæ¡ä»¶ä¼˜åŒ–的版本则需è¦"
"进行编译。\n"
-"为了节çœåŠ è½½æ—¶é—´ï¼Œä½ å¯ä»¥ä½¿ç”¨ [code]Asynchronous + Cache[/code],会让超级ç€è‰²"
-"器也被缓存到存储之中,这样下一次使用时准备起æ¥å°±ä¼šæ›´å¿«ï¼ˆå‰æ是平å°æ”¯æŒè¿™ä¹ˆ"
-"åšï¼‰ã€‚\n"
-"[b]警告:[/b] 异步编译目å‰åªæ”¯æŒç©ºé—´å’Œç²’å­æè´¨/ç€è‰²å™¨ã€‚"
+"如果想è¦åœ¨é¡¹ç›®è¿è¡Œè‡³å°‘一次åŽå‡å°‘加载时间,你å¯ä»¥ä½¿ç”¨ [code]Asynchronous + "
+"Cache[/code]。这样会让超级ç€è‰²å™¨ä¹Ÿè¢«ç¼“存到存储之中,这样下一次使用时准备起æ¥"
+"就会更快(å‰æ是平å°æ”¯æŒè¿™ä¹ˆåšï¼‰ã€‚\n"
+"[b]注æ„:[/b] 异步编译目å‰åªæ”¯æŒç©ºé—´ï¼ˆ3D)和粒å­æè´¨/ç€è‰²å™¨ã€‚å³ä½¿è¯¥è®¾ç½®ä¸º "
+"[code]Asynchronous[/code] 或 [code]Asynchronous + Cache[/code],画布项(2D)"
+"ç€è‰²å™¨ä¹Ÿä¸ä¼šä½¿ç”¨å¼‚步编译。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -58987,7 +59275,6 @@ msgstr ""
"用于交错属性数æ®ã€‚如果用于移动设备,建议å¯ç”¨ã€‚切æ¢åŽéœ€è¦æ‰‹åŠ¨é‡æ–°å¯¼å…¥ç½‘格。"
#: doc/classes/ProjectSettings.xml
-#, fuzzy
msgid ""
"Determines the maximum number of polygon occluders that will be used at any "
"one time.\n"
@@ -58999,7 +59286,8 @@ msgid ""
msgstr ""
"确定将在任何时候使用的çƒä½“é®æŒ¡å™¨çš„最大数é‡ã€‚\n"
"尽管一个场景中å¯ä»¥æœ‰è®¸å¤šé®æŒ¡ç‰©ï¼Œä½†ç³»ç»Ÿä¼šæ ¹æ®å±å¹•ç©ºé—´åº¦é‡ä»Žè¿™äº›é®æŒ¡ç‰©ä¸­é€‰æ‹©æœ€"
-"相关的æ¯ä¸€å¸§ï¼Œä»¥æ供最佳的整体性能。"
+"相关的æ¯ä¸€å¸§ï¼Œä»¥æ供最佳的整体性能。\n"
+"大é‡çš„多边形å¯èƒ½å‰”除更多的对象,但是剔除计算的消耗也会éšé®æŒ¡ç‰©çš„æ•°é‡å¢žåŠ ã€‚"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -59080,10 +59368,13 @@ msgstr ""
"时,æ‰åº”该使用该选项。"
#: doc/classes/ProjectSettings.xml
+#, fuzzy
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
"如果为 [code]true[/code],分é…æ ¹ [Viewport] 的帧缓冲时将使用高动æ€èŒƒå›´ã€‚高动"
@@ -59093,10 +59384,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
-"由于性能问题或驱动支æŒï¼Œç§»åŠ¨è®¾å¤‡ä¸Šçš„ [member rendering/quality/depth/hdr] çš„"
-"低端覆盖。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -59135,7 +59427,6 @@ msgstr ""
"和照明时,这会æ高高é€æ”¯åœºæ™¯çš„性能。"
#: doc/classes/ProjectSettings.xml
-#, fuzzy
msgid ""
"The directional shadow's size in pixels. Higher values will result in "
"sharper shadows, at the cost of performance. The value will be rounded up to "
@@ -59143,7 +59434,8 @@ msgid ""
"will be applied immediately."
msgstr ""
"æ–¹å‘性阴影的大å°ï¼Œä»¥åƒç´ ä¸ºå•ä½ã€‚更高的值会导致更清晰的阴影,但会以性能为代"
-"价。该值将被四èˆäº”入到最接近的2次方。"
+"价。该值将被四èˆäº”入到最接近的 2 次方。该设置å¯ä»¥åœ¨è¿è¡Œæ—¶ä¿®æ”¹ï¼›ä¿®æ”¹ä¼šç«‹å³ç”Ÿ"
+"效。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -59268,13 +59560,14 @@ msgstr ""
"称为“三线性过滤â€ï¼‰ã€‚"
#: doc/classes/ProjectSettings.xml
+#, fuzzy
msgid ""
"Strategy used for framebuffer allocation. The simpler it is, the less "
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
"用于帧缓冲区的分é…策略。它越简å•ï¼Œä½¿ç”¨çš„资æºå°±è¶Šå°‘(但支æŒçš„功能也越少)。如"
"果设置为“2D Without Samplingâ€ï¼ˆ2D 无采样)或“3D Without Effectsâ€ï¼ˆ3D 无特"
@@ -59714,7 +60007,7 @@ msgstr ""
msgid ""
"Objects can use this signal to restrict reading of settings only to "
"situations where a change has been made."
-msgstr ""
+msgstr "对象å¯ä»¥åˆ©ç”¨è¯¥ä¿¡å·ï¼Œåªåœ¨å‘生修改时æ‰è¯»å–设置。"
#: doc/classes/ProximityGroup.xml
msgid "General-purpose proximity detection node."
@@ -59738,7 +60031,7 @@ msgstr ""
#: doc/classes/QuadMesh.xml doc/classes/Viewport.xml
#: doc/classes/ViewportTexture.xml
msgid "2D in 3D Demo"
-msgstr ""
+msgstr "3D 中的 2D 演示"
#: doc/classes/QuadMesh.xml
msgid "Offset of the generated Quad. Useful for particles."
@@ -59978,9 +60271,8 @@ msgstr ""
"ä¸æ˜¯å®žé™…的默认ç§å­ã€‚"
#: doc/classes/RandomNumberGenerator.xml
-#, fuzzy
msgid "Random number generation"
-msgstr "设置éšæœºæ•°ç”Ÿæˆå™¨çš„ç§å­ã€‚"
+msgstr "éšæœºæ•°ç”Ÿæˆ"
#: doc/classes/RandomNumberGenerator.xml
msgid ""
@@ -60324,7 +60616,7 @@ msgstr ""
#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml
msgid ""
"The ray's destination point, relative to the RayCast's [code]position[/code]."
-msgstr "光线相对于光线投射的 [code]position[/code]的目标点,。"
+msgstr "光线的目标点,相对于该 RayCast 的 [code]position[/code]。"
#: doc/classes/RayCast.xml
msgid "If [code]true[/code], collision with [Area]s will be reported."
@@ -60528,9 +60820,8 @@ msgstr ""
"[/codeblock]"
#: doc/classes/Rect2.xml
-#, fuzzy
msgid "Returns the area of the [Rect2]. See also [method has_no_area]."
-msgstr "返回 [Rect2] é¢ç§¯ã€‚"
+msgstr "返回该 [Rect2] çš„é¢ç§¯ã€‚å¦è¯·å‚阅 [method has_no_area]。"
#: doc/classes/Rect2.xml
msgid ""
@@ -60557,18 +60848,16 @@ msgid ""
msgstr "返回[Rect2]å‘[enum Margin]æ–¹å‘增长给定数é‡å•ä½çš„副本。"
#: doc/classes/Rect2.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if the [Rect2] is flat or empty, [code]false[/"
"code] otherwise. See also [method get_area].\n"
"[b]Note:[/b] If the [Rect2] has a negative size and is not flat or empty, "
"[method has_no_area] will return [code]true[/code]."
msgstr ""
-"如果对象从给定的 [code]class[/code] 中继承,则返回 [code]true[/code]。å¦è¯·å‚"
-"阅 [method get_class]。\n"
-"[b]注:[/b] [method is_class] 没有考虑 [code]class_name[/code] 声明。如果对象"
-"有 [code]class_name[/code] 定义,[method is_class] 将为该å称返回 "
-"[code]false[/code] 。"
+"如果该 [Rect2] 为线段或为空,则返回 [code]true[/code],å¦åˆ™è¿”回 [code]false[/"
+"code]。å¦è¯·å‚阅 [method get_area]。\n"
+"[b]注æ„:[/b]如果该 [Rect2] 的大å°ä¸ºè´Ÿæ•°ï¼Œä¸”æ—¢ä¸æ˜¯çº¿æ®µä¹Ÿä¸ä¸ºç©ºï¼Œåˆ™ [method "
+"has_no_area] 会返回 [code]true[/code]。"
#: doc/classes/Rect2.xml
msgid ""
@@ -60848,7 +61137,6 @@ msgstr ""
"[code]internal_ambient_*[/code]属性控制。"
#: doc/classes/ReflectionProbe.xml
-#, fuzzy
msgid ""
"The maximum distance away from the [ReflectionProbe] an object can be before "
"it is culled. Decrease this to improve performance, especially when using "
@@ -60859,7 +61147,10 @@ msgid ""
"[member extents] are already large."
msgstr ""
"设置对象在被剔除å‰ä¸Žè¯¥ [ReflectionProbe] 的最大è·ç¦»ã€‚调低å¯ä»¥æå‡æ€§èƒ½ï¼Œå°¤å…¶æ˜¯"
-"使用 [constant UPDATE_ALWAYS] 作为 [member update_mode] 时。"
+"使用 [constant UPDATE_ALWAYS] 作为 [member update_mode] 时。\n"
+"[b]注æ„:[/b]最大åå°„è·ç¦»æ€»æ˜¯è‡³å°‘等于 [member extents] 的。这æ„味ç€å‡å° "
+"[member max_distance] 并ä¸æ€»èƒ½å°†å¯¹è±¡å‰”除出å射,尤其是在å射探针的 [member "
+"extents] 相当大时。"
#: doc/classes/ReflectionProbe.xml
msgid ""
@@ -61297,7 +61588,7 @@ msgstr ""
#: doc/classes/Resource.xml
msgid "Resources"
-msgstr ""
+msgstr "资æº"
#: doc/classes/Resource.xml
msgid ""
@@ -61599,7 +61890,7 @@ msgstr ""
#: doc/classes/ResourceImporter.xml
msgid "Import plugins"
-msgstr ""
+msgstr "导入æ’件"
#: doc/classes/ResourceImporter.xml
msgid "The default import order."
@@ -62007,11 +62298,11 @@ msgstr ""
#: doc/classes/RichTextLabel.xml
msgid "BBCode in RichTextLabel"
-msgstr ""
+msgstr "RichTextLabel 中的 BBCode"
#: doc/classes/RichTextLabel.xml
msgid "GUI Rich Text/BBcode Demo"
-msgstr ""
+msgstr "GUI 富文本/BBcode 演示"
#: doc/classes/RichTextLabel.xml
msgid ""
@@ -62240,7 +62531,6 @@ msgstr ""
"置为 [code]false[/code]。改用 [method append_bbcode] æ¥ä¿ç•™ BBCode æ ¼å¼ã€‚"
#: doc/classes/RichTextLabel.xml
-#, fuzzy
msgid ""
"The label's text in BBCode format. Is not representative of manual "
"modifications to the internal tag stack. Erases changes made by other "
@@ -62254,10 +62544,11 @@ msgid ""
msgstr ""
"BBCode æ ¼å¼çš„标签文本。ä¸ä»£è¡¨å¯¹å†…部标签栈的手动修改。编辑时擦除通过其他方法所"
"åšçš„更改。\n"
-"[b]注æ„:[/b] ä¸å»ºè®®å°† [code]+=[/code] è¿ç®—符与 [code]bbcode_text[/code] 一起"
+"[b]注æ„:[/b]ä¸å»ºè®®å°† [code]+=[/code] è¿ç®—符与 [code]bbcode_text[/code] 一起"
"使用(例如 [code]bbcode_text += \"some string\"[/code]),因为它会替æ¢æ•´ä¸ªæ–‡"
-"本并å¯èƒ½å¯¼è‡´é€Ÿåº¦å˜æ…¢ã€‚使用 [method append_bbcode] 代替添加文本,除éžä½ å¿…须关"
-"闭在先å‰æ–¹æ³•è°ƒç”¨ä¸­æ‰“开的标签。"
+"本并å¯èƒ½å¯¼è‡´é€Ÿåº¦å˜æ…¢ã€‚它还会清除所有使用 [code]push_*[/code] 方法入栈的 "
+"BBCode。使用 [method append_bbcode] 代替添加文本,除éžä½ å¿…须关闭在先å‰æ–¹æ³•è°ƒ"
+"用中打开的标签。"
#: doc/classes/RichTextLabel.xml
msgid ""
@@ -63012,11 +63303,11 @@ msgstr ""
#: doc/classes/RigidBody2D.xml
msgid "2D Physics Platformer Demo"
-msgstr ""
+msgstr "2D 物ç†å¹³å°è·³è·ƒæ¼”示"
#: doc/classes/RigidBody2D.xml doc/classes/Sprite.xml
msgid "Instancing Demo"
-msgstr ""
+msgstr "实例化演示"
#: doc/classes/RigidBody2D.xml
msgid ""
@@ -63866,7 +64157,7 @@ msgstr ""
#: doc/classes/RootMotionView.xml
msgid "Using AnimationTree - Root motion"
-msgstr ""
+msgstr "使用 AnimationTree - æ ¹è¿åŠ¨"
#: doc/classes/RootMotionView.xml
msgid "Path to an [AnimationTree] node to use as a basis for root motion."
@@ -64454,6 +64745,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -65873,6 +66171,9 @@ msgid ""
"recommended to use them for things that can affect gameplay (such as a "
"player character made entirely out of soft bodies)."
msgstr ""
+"å¯å‘生形å˜çš„物ç†ä½“。用于创建布料ã€æ©¡èƒ¶ç­‰æŸ”性æ质的å¯æ‹‰ä¼¸æˆ–å˜å½¢çš„对象。\n"
+"[b]注æ„:[/b][SoftBody] 存在很多已知的问题。因此,建议ä¸è¦ç”¨äºŽå¯¹æ¸¸æˆæ€§æœ‰å½±å“"
+"的地方(例如完全由柔体制作的玩家角色)。"
#: doc/classes/SoftBody.xml
msgid "Returns local translation of a vertex in the surface array."
@@ -65981,10 +66282,22 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid "Introduction to 3D"
-msgstr ""
+msgstr "3D 简介"
#: doc/classes/Spatial.xml doc/classes/Vector3.xml
msgid "All 3D Demos"
+msgstr "所有 3D 演示"
+
+#: doc/classes/Spatial.xml
+msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
msgstr ""
#: doc/classes/Spatial.xml
@@ -66068,6 +66381,14 @@ msgid ""
"[code]up[/code] vector.\n"
"Operations take place in global space."
msgstr ""
+"旋转该节点,让å‘å‰çš„局部å标轴(-Z)指å‘目标ä½ç½® [code]target[/code]。\n"
+"å‘上的局部å标轴(+Y)在与å‘å‰çš„局部å标轴ä¿æŒåž‚ç›´çš„å‰æ下,指å‘å°½é‡æŽ¥è¿‘ "
+"[code]up[/code] å‘é‡çš„æ–¹å‘。最终的å˜æ¢æ˜¯æ­£äº¤çš„,ä½ç½®åŽŸæœ‰ç¼©æ”¾ã€‚如果是éžç»Ÿä¸€ç¼©"
+"放,å¯èƒ½æ— æ³•æ­£å¸¸å·¥ä½œã€‚\n"
+"目标ä½ç½® [code]target[/code] ä¸èƒ½ä¸Žè¯¥èŠ‚点的ä½ç½®ç›¸åŒï¼Œ[code]up[/code] å‘é‡ä¸èƒ½"
+"是零,从该节点的ä½ç½®åˆ° [code]target[/code] å‘é‡çš„æ–¹å‘ä¸èƒ½ä¸Ž [code]up[/code] "
+"平行。\n"
+"æ“作å‘生在全局空间。"
#: doc/classes/Spatial.xml
msgid ""
@@ -68141,7 +68462,7 @@ msgstr "返回表示此精çµçš„矩形。"
#: doc/classes/SpriteBase3D.xml
msgid "If [code]true[/code], the specified flag will be enabled."
-msgstr "如果[code]true[/code],指定的标志将被å¯ç”¨ã€‚"
+msgstr "如果为 [code]true[/code],指定的标志将被å¯ç”¨ã€‚"
#: doc/classes/SpriteBase3D.xml
msgid "The direction in which the front of the texture faces."
@@ -68152,10 +68473,11 @@ msgid ""
"If [code]true[/code], texture can be seen from the back as well, if "
"[code]false[/code], it is invisible when looking at it from behind."
msgstr ""
-"如果[code]true[/code],从åŽé¢ä¹Ÿå¯ä»¥çœ‹åˆ°çº¹ç†ï¼Œå¦‚æžœ[code]false[/code],从åŽé¢çœ‹"
-"它是ä¸å¯è§çš„。"
+"如果为 [code]true[/code],则从åŽé¢ä¹Ÿå¯ä»¥çœ‹åˆ°çº¹ç†ï¼Œå¦‚果为 [code]false[/code],"
+"则从åŽé¢çœ‹å®ƒæ˜¯ä¸å¯è§çš„。"
#: doc/classes/SpriteBase3D.xml
+#, fuzzy
msgid ""
"A color value used to [i]multiply[/i] the texture's colors. Can be used for "
"mood-coloring or to simulate the color of light.\n"
@@ -68164,11 +68486,19 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
+"用于与该纹ç†é¢œè‰²[i]相乘[/i]的颜色值。å¯ç”¨äºŽæ¸²æŸ“情绪,或者模拟ç¯å…‰çš„颜色。\n"
+"[b]注æ„:[/b]如果 [SpriteBase3D] 定义了 [member GeometryInstance."
+"material_override],则必须对该æ质覆盖项进行é…置,让其在å照率中考虑顶点颜"
+"色。å¦åˆ™ä¼šå¿½ç•¥ [member modulate] 中所定义的颜色。对于 [SpatialMaterial],必须"
+"让 [member SpatialMaterial.vertex_color_use_as_albedo] 为 [code]true[/code]。"
+"对于 [ShaderMaterial],ç€è‰²å™¨çš„ [code]fragment()[/code] 函数中必须æ’å…¥ "
+"[code]ALBEDO *= COLOR.rgb;[/color]。"
#: doc/classes/SpriteBase3D.xml
+#, fuzzy
msgid ""
"The texture's visibility on a scale from [code]0[/code] (fully invisible) to "
"[code]1[/code] (fully visible). [member opacity] is a multiplier for the "
@@ -68178,9 +68508,17 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
+"该纹ç†çš„å¯è§æ€§ï¼Œä»Ž [code]0[/code](完全ä¸å¯è§ï¼‰åˆ° [code]1[/code](完全å¯"
+"è§ï¼‰ã€‚[member opacity] 是 [member modulate] 颜色的 Alpha 通é“。\n"
+"[b]注æ„:[/b]如果 [SpriteBase3D] 定义了 [member GeometryInstance."
+"material_override],则必须对该æ质覆盖项进行é…置,让其在å照率中考虑顶点颜"
+"色。å¦åˆ™ä¼šå¿½ç•¥ [member opacity] 中所定义的ä¸é€æ˜Žåº¦ã€‚对于 [SpatialMaterial],"
+"必须让 [member SpatialMaterial.vertex_color_use_as_albedo] 为 [code]true[/"
+"code]。对于 [ShaderMaterial],ç€è‰²å™¨çš„ [code]fragment()[/code] 函数中必须æ’"
+"入 [code]ALPHA *= COLOR.a;[/color]。"
#: doc/classes/SpriteBase3D.xml
msgid "The size of one pixel's width on the sprite to scale it in 3D."
@@ -68622,9 +68960,8 @@ msgid ""
msgstr "为 [code]true[/code] 时,该 [StreamPeer] 进行编解ç æ—¶ä¼šä½¿ç”¨å¤§ç«¯æ ¼å¼ã€‚"
#: doc/classes/StreamPeerBuffer.xml
-#, fuzzy
msgid "Data buffer stream peer."
-msgstr "SSLæµå¯¹ç­‰ä½“。"
+msgstr "æ•°æ®ç¼“冲区æµå¯¹ç­‰ä½“。"
#: doc/classes/StreamPeerBuffer.xml
msgid ""
@@ -68635,43 +68972,47 @@ msgid ""
"bytes to the start of the buffer. Get and put operations are performed at "
"the cursor position and will move the cursor accordingly."
msgstr ""
+"使用字节数组作为æµçš„æ•°æ®ç¼“冲区æµå¯¹ç­‰ä½“。该对象å¯ç”¨äºŽå¤„ç†æ¥è‡ªç½‘络会è¯çš„二进制"
+"æ•°æ®ã€‚è¦å¤„ç†ä¿å­˜åœ¨æ–‡ä»¶ä¸­çš„二进制数æ®ï¼Œå¯ä»¥ç›´æŽ¥ä½¿ç”¨ [File]。\n"
+"[StreamPeerBuffer] 对象会ä¿å­˜ä¸€ä¸ªå†…部指针,是è·ç¦»è¯¥ç¼“冲区开头的字节å移é‡ã€‚"
+"Get å’Œ put æ“作都在该指针处进行,并会将其进行对应的移动。"
#: doc/classes/StreamPeerBuffer.xml
msgid "Clears the [member data_array] and resets the cursor."
-msgstr ""
+msgstr "清除 [member data_array] 并é‡ç½®æŒ‡é’ˆã€‚"
#: doc/classes/StreamPeerBuffer.xml
msgid ""
"Returns a new [StreamPeerBuffer] with the same [member data_array] content."
-msgstr ""
+msgstr "返回新的 [StreamPeerBuffer],具有相åŒçš„ [member data_array] 内容。"
#: doc/classes/StreamPeerBuffer.xml
-#, fuzzy
msgid "Returns the current cursor position."
-msgstr "返回当å‰çš„滚动ä½ç½®ã€‚"
+msgstr "返回当å‰çš„指针ä½ç½®ã€‚"
#: doc/classes/StreamPeerBuffer.xml
-#, fuzzy
msgid "Returns the size of [member data_array]."
-msgstr "返回å‚数的正弦值。"
+msgstr "返回 [member data_array] 的大å°ã€‚"
#: doc/classes/StreamPeerBuffer.xml
msgid "Resizes the [member data_array]. This [i]doesn't[/i] update the cursor."
-msgstr ""
+msgstr "调整 [member data_array] 的大å°ã€‚[i]ä¸ä¼š[/i]更新指针。"
#: doc/classes/StreamPeerBuffer.xml
msgid ""
"Moves the cursor to the specified position. [code]position[/code] must be a "
"valid index of [member data_array]."
msgstr ""
+"将指针移动到指定的ä½ç½®ã€‚[code]position[/code] 必须是 [member data_array] 的有"
+"效索引。"
#: doc/classes/StreamPeerBuffer.xml
msgid "The underlying data buffer. Setting this value resets the cursor."
-msgstr ""
+msgstr "内部的数æ®ç¼“冲。设置该值会é‡ç½®æŒ‡é’ˆã€‚"
#: doc/classes/StreamPeerSSL.xml
msgid "SSL stream peer."
-msgstr "SSLæµå¯¹ç­‰ä½“。"
+msgstr "SSL æµå¯¹ç­‰ä½“。"
#: doc/classes/StreamPeerSSL.xml
msgid ""
@@ -68945,8 +69286,13 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr "该字符串以指定字符串开头时,返回 [code]true[/code]。"
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
-msgstr "返回此字符串的二元组(连续字æ¯å¯¹ï¼‰ã€‚"
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
+msgstr ""
#: doc/classes/String.xml
msgid ""
@@ -69182,6 +69528,10 @@ msgid ""
"does [i]not[/i] imply the strings are equal, because different strings can "
"have identical hash values due to hash collisions."
msgstr ""
+"返回代表该字符串内容的 32 ä½å“ˆå¸Œå€¼ã€‚\n"
+"[b]注æ„:[/b]内容相åŒçš„ [String] 会得到一致的哈希值。然而,å之ä¸ç„¶ã€‚返回一致"
+"的哈希值[i]并ä¸[/i]æ„味ç€å­—符串相等,因为ä¸åŒçš„字符串å¯èƒ½å› ä¸ºå“ˆå¸Œç¢°æ’žè€Œå¾—到一"
+"致的哈希值。"
#: doc/classes/String.xml
msgid ""
@@ -69308,8 +69658,17 @@ msgstr ""
"[code]: / \\ ? * \" | % < >[/code]"
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
-msgstr "该字符串包å«æœ‰æ•ˆæµ®ç‚¹æ•°æ—¶ï¼Œè¿”回 [code]true[/code]。"
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
+msgstr ""
#: doc/classes/String.xml
msgid ""
@@ -69334,17 +69693,31 @@ msgstr ""
"[code]false[/code]。"
#: doc/classes/String.xml
+#, fuzzy
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
"该字符串为有效标识符时,返回 [code]true[/code]。有效标识符仅能够包å«å­—æ¯ã€æ•°"
"å­—ã€ä¸‹åˆ’线([code]_[/code]),并且ä¸èƒ½ä»¥æ•°å­—开头。"
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
-msgstr "该字符串包å«æœ‰æ•ˆæ•´æ•°æ—¶ï¼Œè¿”回 [code]true[/code]。"
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
+msgstr ""
#: doc/classes/String.xml
msgid ""
@@ -69402,19 +69775,23 @@ msgstr ""
"一的å‰ç¼€å­—符串,请å‚阅 [method trim_prefix]。"
#: doc/classes/String.xml
+#, fuzzy
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
"判断表达å¼æ˜¯å¦åŒ¹é…(区分大å°å†™),其中 [code]\"*\"[/code] 匹é…零个或多个任æ„å­—"
"符并且 [code]\"?\"[/code] 匹é…除å¥ç‚¹( [code]\".\"[/code] )外的任æ„字符。"
#: doc/classes/String.xml
+#, fuzzy
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
"判断表达å¼æ˜¯å¦åŒ¹é…(ä¸åŒºåˆ†å¤§å°å†™),其中 [code]\"*\"[/code] 匹é…零个或多个任æ„"
"字符并且 [code]\"?\"[/code] 匹é…除å¥ç‚¹( [code]\".\"[/code] )外的任æ„字符。"
@@ -69637,9 +70014,17 @@ msgstr "以字符串形å¼è¿”回字符串的 SHA-256 哈希值。"
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
-msgstr "返回与此字符串相比的文本的相似度指数。 1表示完全相似,0表示完全ä¸åŒã€‚"
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
+msgstr ""
#: doc/classes/String.xml
msgid "Returns a simplified canonical path."
@@ -69743,6 +70128,15 @@ msgid ""
"print(\"1e3\".to_float()) # 1000\n"
"[/codeblock]"
msgstr ""
+"将包å«å进制数字的字符串转æ¢ä¸º [code]float[/code]。该方法会在首个éžæ•°å­—字符处"
+"åœæ­¢ï¼Œé™¤éžæ˜¯é¦–次é‡åˆ° [code].[/code](å°æ•°ç‚¹ï¼‰ä»¥åŠè¡¨ç¤ºæŒ‡æ•°çš„ [code]e[/"
+"code]。\n"
+"[codeblock]\n"
+"print(\"12.3\".to_float()) # 12.3\n"
+"print(\"1.2.3\".to_float()) # 1.2\n"
+"print(\"12ab3\".to_float()) # 12\n"
+"print(\"1e3\".to_float()) # 1000\n"
+"[/codeblock]"
#: doc/classes/String.xml
msgid ""
@@ -69755,6 +70149,13 @@ msgid ""
"print(\"1.2.3\".to_int()) # 1\n"
"[/codeblock]"
msgstr ""
+"将包å«è¯ä¹¦çš„字符串转æ¢ä¸º [code]int[/code]。该方法会删除任何éžæ•°å­—字符,并在é‡"
+"到 [code].[/code] åŽåœæ­¢ã€‚\n"
+"[codeblock]\n"
+"print(\"123\".to_int()) # 123\n"
+"print(\"a1b2c3\".to_int()) # 123\n"
+"print(\"1.2.3\".to_int()) # 1\n"
+"[/codeblock]"
#: doc/classes/String.xml
msgid "Returns the string converted to lowercase."
@@ -71440,6 +71841,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr "返回所有æ ä½åŠå†…部边è·çš„总宽度。"
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "返回该 Label 的文本行数。"
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "返回å¯è§è¡Œæ•°ã€‚"
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr "返回一个 [String] 文本,该文本中的å•è¯ä½äºŽ caret(文本光标)的ä½ç½®ã€‚"
@@ -72674,6 +73085,12 @@ msgstr ""
"[code]data_type[/code] 主题项。"
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr "将主题的å–值设置为默认主题的副本。"
@@ -72728,14 +73145,14 @@ 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]node_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]old_name[/code]çš„[Font]é‡å‘½å为"
-"[code]name[/code]。如果[code]name[/code]å·²ç»è¢«å ç”¨ï¼Œåˆ™æ­¤æ–¹æ³•å¤±è´¥ã€‚"
+"如果主题有 [code]node_type[/code],则返回å为 [code]name[/code] çš„ [Font]。如"
+"æžœä¸å­˜åœ¨è¿™æ ·çš„项目,而该主题设置了 [member default_font],则会返回该默认字"
+"体。"
#: doc/classes/Theme.xml
msgid ""
@@ -72857,6 +73274,19 @@ msgstr ""
"[b]注æ„:[/b][code]node_type[/code]没有生效,在未æ¥çš„版本中会被删除。"
#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr "返回正在播放的场景å称。如果当å‰æ²¡æœ‰åœºæ™¯æ­£åœ¨æ’­æ”¾ï¼Œè¿”回一个空字符串。"
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr "返回给定[code]signal[/code]的连接的[Array]。"
+
+#: doc/classes/Theme.xml
msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
@@ -72924,6 +73354,14 @@ msgstr ""
"如果该主题没有[code]node_type[/code],则返回[code]false[/code]。"
#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr ""
+"如果预加载器包å«ä¸€ä¸ªä¸Ž[code]name[/code]相关的资æºï¼Œåˆ™è¿”回[code]true[/code]。"
+
+#: doc/classes/Theme.xml
msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
@@ -73055,6 +73493,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -73107,11 +73559,11 @@ msgstr ""
#: doc/classes/Thread.xml
msgid "Using multiple threads"
-msgstr ""
+msgstr "使用多线程"
#: doc/classes/Thread.xml
msgid "Thread-safe APIs"
-msgstr ""
+msgstr "线程安全的 API"
#: doc/classes/Thread.xml
msgid ""
@@ -73213,11 +73665,11 @@ msgstr ""
#: doc/classes/TileMap.xml doc/classes/TileSet.xml
msgid "Using Tilemaps"
-msgstr ""
+msgstr "使用图å—地图"
#: doc/classes/TileMap.xml doc/classes/TileSet.xml
msgid "2D Hexagonal Demo"
-msgstr ""
+msgstr "2D 六边形演示"
#: doc/classes/TileMap.xml
msgid "Clears all cells."
@@ -73922,6 +74374,10 @@ msgid ""
"code] (which instead accesses the [TileMap]'s [member CanvasItem.modulate] "
"property)."
msgstr ""
+"设置该图å—的调制颜色。\n"
+"[b]注æ„:[/b]调制是通过设置该图å—的顶点颜色实现的。è¦åœ¨ç€è‰²å™¨ä¸­è®¿é—®ï¼Œè¯·ä½¿ç”¨ "
+"[code]COLOR[/code] 而ä¸æ˜¯ [code]MODULATE[/code](访问的是 [TileMap] çš„ "
+"[member CanvasItem.modulate] 属性)。"
#: doc/classes/TileSet.xml
msgid "Sets the tile's name."
@@ -75063,7 +75519,6 @@ msgid "Clears the tree. This removes all items."
msgstr "清除树。这将删除所有项目。"
#: doc/classes/Tree.xml
-#, fuzzy
msgid ""
"Creates an item in the tree and adds it as a child of [code]parent[/code], "
"which can be either a valid [TreeItem] or [code]null[/code].\n"
@@ -75072,11 +75527,12 @@ msgid ""
"The new item will be the [code]idx[/code]th child of parent, or it will be "
"the last child if there are not enough siblings."
msgstr ""
-"在树中创建一个项目,并将其作为[code]parent[/code]的一个å­é¡¹ã€‚\n"
-"如果[code]parent[/code]是[code]null[/code],根项将是父项,如果树是空的,新项"
-"将是根本身。\n"
-"新项将是父项的[code]idx[/code]个å­é¡¶ï¼Œå¦‚果没有足够的兄弟å§å¦¹ï¼Œå®ƒå°†æ˜¯æœ€åŽä¸€ä¸ª"
-"å­é¡¹ã€‚"
+"在树中创建一个项目,并将其作为父项 [code]parent[/code] çš„å­é¡¹ã€‚该父项å¯ä»¥æ˜¯æœ‰"
+"效的 [TreeItem] 或 [code]null[/code]。\n"
+"如果 [code]parent[/code] 是 [code]null[/code],将使用根项作为父项,如果树是空"
+"的,新项将是根本身。\n"
+"新项将是父项的第 [code]idx[/code] 个å­é¡¹ç›®ï¼Œå¦‚果没有足够的兄弟å§å¦¹ï¼Œå®ƒå°†æ˜¯æœ€"
+"åŽä¸€ä¸ªå­é¡¹ã€‚"
#: doc/classes/Tree.xml
msgid ""
@@ -75103,15 +75559,14 @@ msgstr ""
"SELECT_MULTI] 模å¼ä¸‹å¯è§ã€‚"
#: doc/classes/Tree.xml
-#, fuzzy
msgid ""
"Returns the button id at [code]position[/code], or -1 if no button is there."
-msgstr "返回在[code]position[/code]的列索引,如果那里没有项目,则返回-1。"
+msgstr "返回在 [code]position[/code] 的按钮 ID,如果那里没有按钮,则返回 -1。"
#: doc/classes/Tree.xml
msgid ""
"Returns the column index at [code]position[/code], or -1 if no item is there."
-msgstr "返回在[code]position[/code]的列索引,如果那里没有项目,则返回-1。"
+msgstr "返回在 [code]position[/code] 的列索引,如果那里没有项目,则返回 -1。"
#: doc/classes/Tree.xml
msgid "Returns the column's title."
@@ -75170,14 +75625,13 @@ msgid "Returns the column for the currently edited item."
msgstr "返回当å‰ç¼–辑项的列。"
#: doc/classes/Tree.xml
-#, fuzzy
msgid ""
"Returns the rectangle area for the specified [TreeItem]. If [code]column[/"
"code] is specified, only get the position and size of that column, otherwise "
"get the rectangle containing all columns."
msgstr ""
-"返回指定项目的矩形区域。如果[code]column[/code]被指定,åªå¾—到该列的ä½ç½®å’Œå¤§"
-"å°ï¼Œå¦åˆ™å¾—到包å«æ‰€æœ‰åˆ—的矩形。"
+"返回指定 [TreeItem] 的矩形区域。如果指定了 [code]column[/code],则åªå¾—到该列"
+"çš„ä½ç½®å’Œå¤§å°ï¼Œå¦åˆ™ä¼šå¾—到包å«æ‰€æœ‰åˆ—的矩形。"
#: doc/classes/Tree.xml
msgid ""
@@ -75186,15 +75640,15 @@ msgid ""
msgstr "返回指定ä½ç½®ï¼Œå³ç›¸å¯¹äºŽæ ‘的原点ä½ç½®çš„树中项。"
#: doc/classes/Tree.xml
-#, fuzzy
msgid ""
"Returns the next selected [TreeItem] after the given one, or [code]null[/"
"code] if the end is reached.\n"
"If [code]from[/code] is [code]null[/code], this returns the first selected "
"item."
msgstr ""
-"返回指定项åŽçš„下一个选择项,如果到达终点则返回[code]null[/code]。\n"
-"如果[code]from[/code]是[code]null[/code],将返回第一个被选中的项。"
+"返回指定的 [TreeItem] 之åŽçš„下一个选中项,如果到达终点则返回 [code]null[/"
+"code]。\n"
+"如果 [code]from[/code] 是 [code]null[/code],将返回第一个被选中的项。"
#: doc/classes/Tree.xml
msgid "Returns the last pressed button's index."
@@ -75240,9 +75694,8 @@ msgstr ""
"è¦åˆ¤æ–­ä¸€ä¸ªé¡¹çš„æŸä¸€åˆ—是å¦è¢«é€‰ä¸­ï¼Œè¯·ä½¿ç”¨[method TreeItem.is_selected]。"
#: doc/classes/Tree.xml
-#, fuzzy
msgid "Causes the [Tree] to jump to the specified [TreeItem]."
-msgstr "使 [Tree] 跳转到指定的项。"
+msgstr "使 [Tree] 跳转到指定的 [TreeItem]。"
#: doc/classes/Tree.xml
msgid ""
@@ -75661,13 +76114,13 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
"在 [code]column[/code] 列添加一个带有 [Texture] [code]button[/code] 的按钮。 "
-"[code]button_idx[/code] 索引用于在调用其他方法时标识按钮。如果未指定,则使用"
-"下一个å¯ç”¨ç´¢å¼•ï¼Œå¯ä»¥é€šè¿‡åœ¨æ­¤æ–¹æ³•ä¹‹åŽè°ƒç”¨ [method get_button_count] æ¥æ£€ç´¢è¯¥ç´¢"
-"引。å¯é€‰ï¼Œè¯¥æŒ‰é’®å¯ä»¥ [code]disabled[/code] 和具有 [code]tooltip[/code]。"
+"[code]id[/code] 用于标识按钮。如果未指定,则使用下一个å¯ç”¨ç´¢å¼•ï¼Œå¯ä»¥é€šè¿‡åœ¨æ­¤"
+"方法之åŽè°ƒç”¨ [method get_button_count] æ¥æ£€ç´¢è¯¥ç´¢å¼•ã€‚å¯é€‰ï¼Œè¯¥æŒ‰é’®å¯ä»¥ "
+"[code]disabled[/code] 和具有 [code]tooltip[/code]。"
#: doc/classes/TreeItem.xml
msgid ""
@@ -75700,38 +76153,36 @@ msgid ""
"Returns the [Texture] of the button at index [code]button_idx[/code] in "
"column [code]column[/code]."
msgstr ""
-"返回在[code]column[/code]中索引[code]button_idx[/code]按钮的[Texture]。"
+"返回在 [code]column[/code] 列中索引为 [code]button_idx[/code] 的按钮的 "
+"[Texture]。"
#: doc/classes/TreeItem.xml
-#, fuzzy
msgid ""
"Returns the button index if there is a button with id [code]id[/code] in "
"column [code]column[/code], otherwise returns -1."
msgstr ""
-"返回在[code]column[/code]中索引[code]button_idx[/code]按钮的æ示信æ¯å­—符串。"
+"如果在 [code]column[/code] 列中存在 ID 为 [code]id[/code] 的按钮,则返回其索"
+"引å·ï¼Œå¦åˆ™è¿”回 -1。"
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
-msgstr ""
-"返回[code]column[/code]中按钮的数é‡ã€‚如果没有指定索引,å¯ä»¥ç”¨æ¥èŽ·å–最近添加的"
-"按钮的索引。"
+#, fuzzy
+msgid "Returns the number of buttons in column [code]column[/code]."
+msgstr "返回列[code]column[/code]的自定义颜色。"
#: doc/classes/TreeItem.xml
-#, fuzzy
msgid ""
"Returns the id for the button at index [code]button_idx[/code] in column "
"[code]column[/code]."
msgstr ""
-"返回在[code]column[/code]中索引[code]button_idx[/code]按钮的æ示信æ¯å­—符串。"
+"返回在 [code]column[/code] 列中索引为 [code]button_idx[/code] 的按钮的 ID。"
#: doc/classes/TreeItem.xml
msgid ""
"Returns the tooltip string for the button at index [code]button_idx[/code] "
"in column [code]column[/code]."
msgstr ""
-"返回在[code]column[/code]中索引[code]button_idx[/code]按钮的æ示信æ¯å­—符串。"
+"返回在 [code]column[/code] 列中索引为 [code]button_idx[/code] 的按钮的æ示信"
+"æ¯å­—符串。"
#: doc/classes/TreeItem.xml
msgid "Returns the column's cell mode."
@@ -75740,7 +76191,7 @@ msgstr "返回该列的å•å…ƒæ ¼æ¨¡å¼ã€‚"
#: doc/classes/TreeItem.xml
msgid ""
"Returns the TreeItem's first child item or a null object if there is none."
-msgstr "返回TreeItem树项的第一个å­é¡¹ï¼Œå¦‚果没有,则返回一个空对象。"
+msgstr "返回 TreeItem 树项的第一个å­é¡¹ï¼Œå¦‚果没有,则返回一个空对象。"
#: doc/classes/TreeItem.xml
msgid "Returns the custom background color of column [code]column[/code]."
@@ -77497,7 +77948,7 @@ msgstr ""
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid "3Blue1Brown Essence of Linear Algebra"
-msgstr ""
+msgstr "3Blue1Brown《线性代数的本质》"
#: doc/classes/Vector2.xml
msgid ""
@@ -77858,7 +78309,7 @@ msgid ""
"will always evaluate to [code]true[/code]."
msgstr ""
"å¯ç”¨äºŽè¡¨ç¤º 3D 空间中的ä½ç½®æˆ–任何其他数值对的 3 元素结构。\n"
-"[b]注æ„:[/b] 在布尔上下文中,如果 Vector3 等于 [code]Vector3(0, 0, 0)[/"
+"[b]注æ„:[/b]在布尔上下文中,如果 Vector3 等于 [code]Vector3(0, 0, 0)[/"
"code],将评估为 [code]false[/code]。å¦åˆ™ï¼Œ Vector3 将始终评估为 [code]true[/"
"code]。"
@@ -78305,14 +78756,12 @@ msgstr ""
"阻止车身侧倾。"
#: doc/classes/VFlowContainer.xml
-#, fuzzy
msgid "Vertical flow container."
-msgstr "åž‚ç›´ç›’å¼å®¹å™¨ã€‚"
+msgstr "åž‚ç›´æµå¼å®¹å™¨ã€‚"
#: doc/classes/VFlowContainer.xml
-#, fuzzy
msgid "Vertical version of [FlowContainer]."
-msgstr "[Separator]的垂直版本。"
+msgstr "[FlowContainer] 的垂直版本。"
#: doc/classes/VideoPlayer.xml
msgid "Control for playing video streams."
@@ -78580,23 +79029,23 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid "Viewports tutorial index"
-msgstr ""
+msgstr "视窗教程索引"
#: doc/classes/Viewport.xml doc/classes/ViewportTexture.xml
msgid "3D in 2D Demo"
-msgstr ""
+msgstr "2D 中的 3D 演示"
#: doc/classes/Viewport.xml
msgid "Screen Capture Demo"
-msgstr ""
+msgstr "å±å¹•æ•æ‰æ¼”示"
#: doc/classes/Viewport.xml
msgid "Dynamic Split Screen Demo"
-msgstr ""
+msgstr "动æ€åˆ†å±æ¼”示"
#: doc/classes/Viewport.xml doc/classes/ViewportTexture.xml
msgid "3D Viewport Scaling Demo"
-msgstr ""
+msgstr "3D Viewport 缩放演示"
#: doc/classes/Viewport.xml
msgid ""
@@ -78627,11 +79076,10 @@ msgid "Returns the topmost modal in the stack."
msgstr "返回堆栈中最顶层的模型。"
#: doc/classes/Viewport.xml
-#, fuzzy
msgid ""
"Returns the mouse's position in this [Viewport] using the coordinate system "
"of this [Viewport]."
-msgstr "返回相对于视窗的鼠标ä½ç½®ã€‚"
+msgstr "返回该 [Viewport] 中鼠标的ä½ç½®ï¼Œä½¿ç”¨è¯¥ [Viewport] çš„å标系。"
#: doc/classes/Viewport.xml
msgid "Returns information about the viewport from the rendering pipeline."
@@ -78743,6 +79191,7 @@ msgid ""
"Moves the mouse pointer to the specified position in this [Viewport] using "
"the coordinate system of this [Viewport]."
msgstr ""
+"将鼠标指针移动到该 [Viewport] 中的指定ä½ç½®ï¼Œä½¿ç”¨è¯¥ [Viewport] çš„å标系。"
#: doc/classes/Viewport.xml
msgid "If [code]true[/code], the viewport will be used in AR/VR process."
@@ -82408,6 +82857,10 @@ msgid ""
"shaders), this function takes an optional argument to query either low or "
"high priority changes, or any changes."
msgstr ""
+"如果 VisualServer çš„æ•°æ®å­˜åœ¨ä¿®æ”¹ï¼Œåˆ™è¿”回 [code]true[/code]。å‘生该情况时,通"
+"常会调用 [method draw]。\n"
+"因为修改会被注册为高优先级或低优先级(例如动æ€ç€è‰²å™¨ï¼‰ï¼Œè¯¥å‡½æ•°æŽ¥å—å¯é€‰çš„å‚"
+"数,用于查询低优先级或高优先级的修改,或者任何修改。"
#: doc/classes/VisualServer.xml
msgid "Not yet implemented. Always returns [code]false[/code]."
@@ -85043,7 +85496,7 @@ msgstr "对SSAO输出执行3x3模糊。使用它å¯ä»¥èŽ·å¾—最平滑的SSAO。"
#: doc/classes/VisualServer.xml
msgid ""
"Used to query for any changes that request a redraw, whatever the priority."
-msgstr ""
+msgstr "用于查询任何è¦æ±‚é‡ç»˜çš„修改,无论优先级。"
#: doc/classes/VisualServer.xml
msgid ""
@@ -85051,10 +85504,12 @@ msgid ""
"causing editor redraws. Examples might include dynamic shaders (typically "
"using the [code]TIME[/code] built-in)."
msgstr ""
+"注册为低优先级的修改,å¯ä»¥è¢«å±è”½é˜²æ­¢é€ æˆç¼–辑器é‡ç»˜ã€‚例如动æ€ç€è‰²å™¨ï¼ˆä¸€èˆ¬ä¼šä½¿"
+"用 [code]TIME[/code] 内置å˜é‡ï¼‰ã€‚"
#: doc/classes/VisualServer.xml
msgid "Registered changes which can cause a redraw default to high priority."
-msgstr ""
+msgstr "注册为高优先级的修改,会引起é‡ç»˜ã€‚"
#: doc/classes/VisualShader.xml
msgid "A custom shader program with a visual editor."
@@ -87817,8 +88272,8 @@ msgid ""
"[b]Note:[/b] This signal is [i]not[/i] emitted when used as high-level "
"multiplayer peer."
msgstr ""
-"当收到WebSocket消æ¯æ—¶è§¦å‘。\n"
-"[b]注æ„:[/b]当作为高级别的多人对等体使用时,这个信å·[i]not[/i]ä¸å‘射。"
+"当收到 WebSocket 消æ¯æ—¶è§¦å‘。\n"
+"[b]注æ„:[/b]当被用作高级多人对等体使用时,[i]ä¸ä¼š[/i]触å‘这个信å·ã€‚"
#: modules/websocket/doc_classes/WebSocketClient.xml
msgid ""
@@ -87832,19 +88287,20 @@ msgstr ""
#: modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml
msgid "Base class for WebSocket server and client."
-msgstr "WebSocketæœåŠ¡å™¨å’Œå®¢æˆ·ç«¯çš„基类。"
+msgstr "WebSocket æœåŠ¡å™¨å’Œå®¢æˆ·ç«¯çš„基类。"
#: modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml
msgid ""
"Base class for WebSocket server and client, allowing them to be used as "
"network peer for the [MultiplayerAPI]."
msgstr ""
-"WebSocketæœåŠ¡å™¨å’Œå®¢æˆ·ç«¯çš„基类,å…许它们作为[MultiplayerAPI]的网络对等体使用。"
+"WebSocket æœåŠ¡å™¨å’Œå®¢æˆ·ç«¯çš„基类,å…许它们作为 [MultiplayerAPI] 的网络对等体使"
+"用。"
#: modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml
msgid ""
"Returns the [WebSocketPeer] associated to the given [code]peer_id[/code]."
-msgstr "返回与给定[code]peer_id[/code]å…³è”çš„[WebSocketPeer]。"
+msgstr "返回与给定 [code]peer_id[/code] å…³è”çš„ [WebSocketPeer]。"
#: modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml
msgid ""
@@ -88128,7 +88584,6 @@ msgid "AR/VR interface using WebXR."
msgstr "使用 WebXR çš„ AR/VR 接å£ã€‚"
#: modules/webxr/doc_classes/WebXRInterface.xml
-#, fuzzy
msgid ""
"WebXR is an open standard that allows creating VR and AR applications that "
"run in the web browser.\n"
@@ -88253,15 +88708,15 @@ 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"
+"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"
"[codeblock]\n"
"extends Spatial\n"
"\n"
@@ -88344,27 +88799,28 @@ msgstr ""
"func _webxr_session_failed(message):\n"
" OS.alert(\"Failed to initialize: \" + message)\n"
"[/codeblock]\n"
-"有几ç§æ–¹æ³•æ¥å¤„ç† \"controller\" 控制器的输入。\n"
-"- 使用[ARVRController]节点和它们的[signal ARVRController.button_pressed]和"
-"[signal ARVRController.button_release]ä¿¡å·ã€‚这是Godotçš„AR/VR应用中通常处ç†æŽ§"
-"制器的方å¼ï¼Œç„¶è€Œï¼Œè¿™åªé€‚用于高级VR控制器,例如Oculus Touch或Index控制器。按钮"
-"代ç ç”±[url=https://immersive-web.github.io/webxr-gamepads-module/#xr-"
-"standard-gamepad-mapping]WebXR Gamepads模å—[/url]çš„3.3节定义。\n"
-"- 使用[method Node._unhandled_input]和[InputEventJoypadButton]或"
-"[InputEventJoypadMotion]。这和普通的游æˆæ‰‹æŸ„工作原ç†ä¸€æ ·ï¼Œåªæ˜¯[member "
-"InputEvent.device]从100开始,所以左边的控制器是100,å³è¾¹çš„控制器是101,按钮代"
-"ç ç”±[url=https://immersive-web.github.io/webxr-gamepads-module/#xr-standard-"
-"gamepad-mapping]WebXR Gamepads模å—[/url]çš„3.3节定义。\n"
-"- 使用[signal select]ã€[signal squeeze]和相关信å·ã€‚è¿™ç§æ–¹æ³•æ—¢é€‚用于高级的VR控"
-"制器,也适用于éžä¼ ç»Ÿçš„ \"controller\" 控制器,如在å±å¹•ä¸Šçš„点击ã€å£è¯­åŒ–的语音"
-"命令或设备本身的按键。传递给这些信å·çš„[code]controller_id[/code]是与[member "
-"ARVRController.controller_id]中使用的id相åŒã€‚\n"
+"有几ç§æ–¹æ³•æ¥å¤„ç†â€œcontrollerâ€æŽ§åˆ¶å™¨çš„输入。\n"
+"- 使用 [ARVRController] 节点和它们的 [signal ARVRController.button_pressed] "
+"å’Œ [signal ARVRController.button_release] ä¿¡å·ã€‚这是 Godot çš„ AR/VR 应用中通"
+"常处ç†æŽ§åˆ¶å™¨çš„æ–¹å¼ï¼Œç„¶è€Œï¼Œè¿™åªé€‚用于高级 VR 控制器,例如 Oculus Touch 或 "
+"Index 控制器。按钮代ç ç”± [url=https://immersive-web.github.io/webxr-gamepads-"
+"module/#xr-standard-gamepad-mapping]WebXR Gamepads 模å—[/url]çš„ 3.3 节定"
+"义。\n"
+"- 使用 [method Node._unhandled_input]和[InputEventJoypadButton]或"
+"[InputEventJoypadMotion]。这和普通的游æˆæ‰‹æŸ„工作原ç†ä¸€æ ·ï¼Œåªæ˜¯ [member "
+"InputEvent.device] 从 100 开始,所以左边的控制器是 100,å³è¾¹çš„控制器是 101,"
+"按钮代ç ç”± [url=https://immersive-web.github.io/webxr-gamepads-module/#xr-"
+"standard-gamepad-mapping]WebXR Gamepads模å—[/url]çš„ 3.3 节定义。\n"
+"- 使用 [signal select]ã€[signal squeeze] 和相关信å·ã€‚è¿™ç§æ–¹æ³•æ—¢é€‚用于高级的VR"
+"控制器,也适用于éžä¼ ç»Ÿçš„“controllerâ€æŽ§åˆ¶å™¨ï¼Œå¦‚在å±å¹•ä¸Šçš„点击ã€å£è¯­åŒ–的语音命"
+"令或设备本身的按键。传递给这些信å·çš„ [code]controller_id[/code] 是与 [member "
+"ARVRController.controller_id] 中使用的 id 相åŒã€‚\n"
"ä½ å¯ä»¥ä½¿ç”¨è¿™äº›æ–¹æ³•ä¸­çš„一个或全部,让你的游æˆæˆ–应用程åºæ”¯æŒæ›´å¹¿æ³›æˆ–更窄的设备"
"和输入方法,或者å…许与更高级的设备进行更高级的交互。"
#: modules/webxr/doc_classes/WebXRInterface.xml
msgid "How to make a VR game for WebXR with Godot"
-msgstr ""
+msgstr "如何使用 Godot 制作 WebXR çš„ VR 游æˆ"
#: modules/webxr/doc_classes/WebXRInterface.xml
msgid ""
@@ -88404,6 +88860,10 @@ msgid ""
"[url=https://developer.mozilla.org/en-US/docs/Web/API/XRInputSource/"
"targetRayMode]XRInputSource.targetRayMode[/url] for more information."
msgstr ""
+"返回给定的 [code]controller_id[/code] 控制器的目标射线模å¼ã€‚\n"
+"å¯ç”¨äºŽå¸®åŠ©è§£æžæ¥è‡ªè¯¥æŽ§åˆ¶å™¨çš„输入。详情请å‚阅 [url=https://developer.mozilla."
+"org/en-US/docs/Web/API/XRInputSource/targetRayMode]XRInputSource."
+"targetRayMode[/url]。"
#: modules/webxr/doc_classes/WebXRInterface.xml
msgid ""
@@ -88669,21 +89129,21 @@ msgstr "当[member visibility_state]已更改时触å‘。"
#: modules/webxr/doc_classes/WebXRInterface.xml
msgid "We don't know the the target ray mode."
-msgstr ""
+msgstr "ä¸çŸ¥é“目标射线的模å¼ã€‚"
#: modules/webxr/doc_classes/WebXRInterface.xml
msgid ""
"Target ray originates at the viewer's eyes and points in the direction they "
"are looking."
-msgstr ""
+msgstr "目标射线从观察者的眼ç›å‡ºå‘,指å‘所观察的方å‘。"
#: modules/webxr/doc_classes/WebXRInterface.xml
msgid "Target ray from a handheld pointer, most likely a VR touch controller."
-msgstr ""
+msgstr "目标射线由手æŒæŒ‡ç¤ºå™¨å‘射,很å¯èƒ½æ˜¯ VR 触摸控制器。"
#: modules/webxr/doc_classes/WebXRInterface.xml
msgid "Target ray from touch screen, mouse or other tactile input device."
-msgstr ""
+msgstr "目标射线由触摸å±ã€é¼ æ ‡ç­‰è§¦è§‰è¾“入设备å‘射。"
#: doc/classes/WindowDialog.xml
msgid "Base class for window dialogs."
diff --git a/doc/translations/zh_TW.po b/doc/translations/zh_TW.po
index 6fb4ff9eb2..9a4f44af62 100644
--- a/doc/translations/zh_TW.po
+++ b/doc/translations/zh_TW.po
@@ -3435,6 +3435,15 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid ""
+"Hints that a string property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM] a property with this hint still accepts "
+"arbitrary values and can be empty. The list of values serves to suggest "
+"possible values."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
+msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
@@ -4946,8 +4955,9 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Returns [code]true[/code] whether a given path is filtered."
-msgstr ""
+#, fuzzy
+msgid "Returns whether the given path is filtered."
+msgstr "回傳åƒæ•¸çš„正切值。"
#: doc/classes/AnimationNode.xml
msgid ""
@@ -4971,7 +4981,7 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Sets a custom parameter. These are used as local storage, because resources "
+"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -4980,7 +4990,7 @@ msgid "If [code]true[/code], filtering is enabled."
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Called when the node was removed from the graph."
+msgid "Emitted when the node was removed from the graph."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -9595,26 +9605,10 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method "
-"capture_get_device_list]). The value [code]\"Default\"[/code] means that the "
-"system-wide default audio input is currently used."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Returns the names of all audio input devices detected on the system."
msgstr ""
#: doc/classes/AudioServer.xml
-msgid ""
-"Sets which audio input device is used for audio capture. On systems with "
-"multiple audio inputs (such as analog and USB), this can be used to select "
-"the audio input device. Setting the value [code]\"Default\"[/code] will "
-"record audio from the system-wide default audio input. If an invalid device "
-"name is set, the value will be reverted back to [code]\"Default\"[/code]."
-msgstr ""
-
-#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr ""
@@ -9772,6 +9766,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
+"Name of the current device for audio input (see [method get_device_list]). "
+"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
+"this can be used to select the audio input device. The value "
+"[code]\"Default\"[/code] will record audio on the system-wide default audio "
+"input. If an invalid device name is set, the value will be reverted back to "
+"[code]\"Default\"[/code]."
+msgstr ""
+
+#: doc/classes/AudioServer.xml
+msgid ""
"Name of the current device for audio output (see [method get_device_list]). "
"On systems with multiple audio outputs (such as analog, USB and HDMI audio), "
"this can be used to select the audio output device. The value "
@@ -12855,6 +12859,18 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
+"Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]false[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
+"Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to "
+"setting [member visible] to [code]true[/code]."
+msgstr ""
+
+#: doc/classes/CanvasLayer.xml
+msgid ""
"The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/"
"code], uses the default viewport instead."
msgstr ""
@@ -15692,8 +15708,9 @@ msgid ""
"Returns a [Color] from the first matching [Theme] in the tree if that "
"[Theme] has a color item with the specified [code]name[/code] and "
"[code]theme_type[/code]. If [code]theme_type[/code] is omitted the class "
-"name of the current control is used as the type. If the type is a class name "
-"its parent classes are also checked, in order of inheritance.\n"
+"name of the current control is used as the type, or [member "
+"theme_type_variation] if it is defined. If the type is a class name its "
+"parent classes are also checked, in order of inheritance.\n"
"For the current control its local overrides are considered first (see "
"[method add_color_override]), then its assigned [member theme]. After the "
"current control, each parent control and its assigned [member theme] are "
@@ -16450,6 +16467,25 @@ msgid ""
msgstr ""
#: doc/classes/Control.xml
+msgid ""
+"The name of a theme type variation used by this [Control] to look up its own "
+"theme items. When empty, the class name of the node is used (e.g. "
+"[code]Button[/code] for the [Button] control), as well as the class names of "
+"all parent classes (in order of inheritance).\n"
+"When set, this property gives the highest priority to the type of the "
+"specified name. This type can in turn extend another type, forming a "
+"dependency chain. See [method Theme.set_type_variation]. If the theme item "
+"cannot be found using this type or its base types, lookup falls back on the "
+"class names.\n"
+"[b]Note:[/b] To look up [Control]'s own items use various [code]get_*[/code] "
+"methods without specifying [code]theme_type[/code].\n"
+"[b]Note:[/b] Theme items are looked for in the tree order, from branch to "
+"root, where each [Control] node is checked for its [member theme] property. "
+"The earliest match against any type/class name is returned. The project-"
+"level Theme and the default Theme are checked last."
+msgstr ""
+
+#: doc/classes/Control.xml
msgid "Emitted when the node gains keyboard focus."
msgstr ""
@@ -23129,7 +23165,22 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-msgid "If [code]true[/code], the glow effect is enabled."
+msgid ""
+"If [code]true[/code], the glow effect is enabled.\n"
+"[b]Note:[/b] Only effective if [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] is [b]3D[/b] ([i]not[/i] [b]3D "
+"Without Effects[/b]). On mobile, [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] defaults to [b]3D Without Effects[/b] "
+"by default, so its [code].mobile[/code] override needs to be changed to "
+"[b]3D[/b].\n"
+"[b]Note:[/b] When using GLES3 on mobile, HDR rendering is disabled by "
+"default for performance reasons. This means glow will only be visible if "
+"[member glow_hdr_threshold] is decreased below [code]1.0[/code] or if "
+"[member glow_bloom] is increased above [code]0.0[/code]. Also consider "
+"increasing [member glow_intensity] to [code]1.5[/code]. If you want glow to "
+"behave on mobile like it does on desktop (at a performance cost), enable "
+"[member ProjectSettings.rendering/quality/depth/hdr]'s [code].mobile[/code] "
+"override."
msgstr ""
#: doc/classes/Environment.xml
@@ -25233,8 +25284,9 @@ msgid ""
"Returns a [PoolIntArray] where each triangle consists of three consecutive "
"point indices into [code]polygon[/code] (i.e. the returned array will have "
"[code]n * 3[/code] elements, with [code]n[/code] being the number of found "
-"triangles). If the triangulation did not succeed, an empty [PoolIntArray] is "
-"returned."
+"triangles). Output triangles will always be counter clockwise, and the "
+"contour will be flipped if it's clockwise. If the triangulation did not "
+"succeed, an empty [PoolIntArray] is returned."
msgstr ""
#: doc/classes/Geometry.xml
@@ -25504,7 +25556,12 @@ msgid ""
"[b]Note:[/b] [method bake] works from the editor and in exported projects. "
"This makes it suitable for procedurally generated or user-built levels. "
"Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. "
-"Reducing [member subdiv] can speed up baking."
+"Reducing [member subdiv] can speed up baking.\n"
+"[b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before "
+"[method bake] is called. If you are procedurally creating those and some "
+"meshes or lights are missing from your baked [GIProbe], use "
+"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
+"directly."
msgstr ""
#: doc/classes/GIProbe.xml
@@ -32053,7 +32110,12 @@ msgid "The color of shadows cast by this light."
msgstr ""
#: doc/classes/Light.xml
-msgid "Attempts to reduce [member shadow_bias] gap."
+msgid ""
+"Attempts to reduce [member shadow_bias] gap by rendering screen-space "
+"contact shadows. This has a performance impact, especially at higher "
+"values.\n"
+"[b]Note:[/b] Contact shadows can look broken, so leaving this property to "
+"[code]0.0[/code] is recommended."
msgstr ""
#: doc/classes/Light.xml
@@ -32433,8 +32495,12 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"The smoothness of the rounded joints and caps. This is only used if a cap or "
-"joint is set as round."
+"The smoothness of the rounded joints and caps. Higher values result in "
+"smoother corners, but are more demanding to render and update. This is only "
+"used if a cap or joint is set as round.\n"
+"[b]Note:[/b] The default value is tuned for lines with the default [member "
+"width]. For thin lines, this value should be reduced to a number between "
+"[code]2[/code] and [code]4[/code] to improve performance."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34275,6 +34341,15 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"When using [i]physics interpolation[/i], this function allows you to prevent "
+"interpolation on an instance in the current physics tick.\n"
+"This allows you to move instances instantaneously, and should usually be "
+"used when initially placing an instance such as a bullet to prevent "
+"graphical glitches."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets all data related to the instances in one go. This is especially useful "
"when loading the data from disk or preparing the data from GDNative.\n"
"All data is packed in one large float array. An array may look like this: "
@@ -34288,6 +34363,18 @@ msgstr ""
#: doc/classes/MultiMesh.xml
msgid ""
+"An alternative version of [method MultiMesh.set_as_bulk_array] which can be "
+"used with [i]physics interpolation[/i]. This method takes two arrays, and "
+"can set the data for the current and previous tick in one go. The renderer "
+"will automatically interpolate the data at each frame.\n"
+"This is useful for situations where the order of instances may change from "
+"physics tick to tick, such as particle systems.\n"
+"When the order of instances is coherent, the simpler [method MultiMesh."
+"set_as_bulk_array] can still be used with interpolation."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
@@ -34330,6 +34417,16 @@ msgid "Mesh to be drawn."
msgstr ""
#: doc/classes/MultiMesh.xml
+msgid ""
+"Choose whether to use an interpolation method that favors speed or quality.\n"
+"When using low physics tick rates (typically below 20) or high rates of "
+"object rotation, you may get better results from the high quality setting.\n"
+"[b]Note:[/b] Fast quality does not equate to low quality. Except in the "
+"special cases mentioned above, the quality should be comparable to high "
+"quality."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr ""
@@ -34381,6 +34478,18 @@ msgid ""
"Use this for highest precision."
msgstr ""
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Always interpolate using Basis lerping, which can produce warping artifacts "
+"in some situations."
+msgstr ""
+
+#: doc/classes/MultiMesh.xml
+msgid ""
+"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
+"where possible, otherwise fall back to lerping."
+msgstr ""
+
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
msgstr ""
@@ -36704,6 +36813,25 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Returns [code]true[/code] if the physics interpolated flag is set for this "
+"Node (see [method set_physics_interpolated]).\n"
+"[b]Note:[/b] Interpolation will only be active is both the flag is set "
+"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
+"be tested using [method is_physics_interpolated_and_enabled]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
+"Returns [code]true[/code] if physics interpolation is enabled (see [method "
+"set_physics_interpolated]) [b]and[/b] enabled in the [SceneTree].\n"
+"This is a convenience version of [method is_physics_interpolated] that also "
+"checks whether physics interpolation is enabled globally.\n"
+"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
+"physics/common/physics_interpolation]."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Returns [code]true[/code] if physics processing is enabled (see [method "
"set_physics_process])."
msgstr ""
@@ -36874,6 +37002,21 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"When physics interpolation is active, moving a node to a radically different "
+"transform (such as placement within a level) can result in a visible glitch "
+"as the object is rendered moving from the old to new position over the "
+"physics tick.\n"
+"This glitch can be prevented by calling [code]reset_physics_interpolation[/"
+"code], which temporarily turns off interpolation until the physics tick is "
+"complete.\n"
+"[constant NOTIFICATION_RESET_PHYSICS_INTERPOLATION] will be received by the "
+"node and all children recursively.\n"
+"[b]Note:[/b] This function should be called [b]after[/b] moving the node, "
+"rather than before."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
"arguments as arguments to the method called by the RPC. The call request "
@@ -36974,6 +37117,14 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Enables or disables physics interpolation per node, offering a finer grain "
+"of control than turning physics interpolation on and off globally.\n"
+"[b]Note:[/b] This can be especially useful for [Camera]s, where custom "
+"interpolation can sometimes give superior results."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Enables or disables physics (i.e. fixed framerate) processing. When a node "
"is being processed, it will receive a [constant "
"NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine."
@@ -37224,6 +37375,12 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
+"Notification received when [method reset_physics_interpolation] is called on "
+"the node or parent nodes."
+msgstr ""
+
+#: doc/classes/Node.xml
+msgid ""
"Inherits pause mode from the node's parent. For the root node, it is "
"equivalent to [constant PAUSE_MODE_STOP]. Default."
msgstr ""
@@ -38211,8 +38368,8 @@ msgstr ""
#: doc/classes/OccluderShapePolygon.xml
msgid ""
-"Specifies whether the occluder should operate one way only, or from both "
-"sides."
+"Specifies whether the occluder should operate from both sides. If "
+"[code]false[/code], the occluder will operate one way only."
msgstr ""
#: doc/classes/OccluderShapeSphere.xml
@@ -39005,7 +39162,19 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
-msgid "Returns the number of threads available on the host machine."
+msgid ""
+"Returns the number of [i]logical[/i] CPU cores available on the host "
+"machine. On CPUs with HyperThreading enabled, this number will be greater "
+"than the number of [i]physical[/i] CPU cores."
+msgstr ""
+
+#: doc/classes/OS.xml
+msgid ""
+"Returns the name of the CPU model on the host machine (e.g. \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note:[/b] This method is only implemented on Windows, macOS, Linux and "
+"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
+"string."
msgstr ""
#: doc/classes/OS.xml
@@ -46870,6 +47039,17 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
+"If [code]true[/code], the renderer will interpolate the transforms of "
+"physics objects between the last two transforms, such that smooth motion is "
+"seen when physics ticks do not coincide with rendered frames.\n"
+"[b]Note:[/b] When moving objects to new positions (rather than the usual "
+"physics motion) you may want to temporarily turn off interpolation to "
+"prevent a visible glitch. You can do this using the [method Node."
+"reset_physics_interpolation] function."
+msgstr ""
+
+#: doc/classes/ProjectSettings.xml
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -46880,8 +47060,10 @@ msgid ""
"[b]Note:[/b] For best results, when using a custom physics interpolation "
"solution, the physics jitter fix should be disabled by setting [member "
"physics/common/physics_jitter_fix] to [code]0[/code].\n"
+"[b]Note:[/b] Jitter fix is automatically disabled at runtime when [member "
+"physics/common/physics_interpolation] is enabled.\n"
"[b]Note:[/b] This property is only read when the project starts. To change "
-"the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead."
+"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47394,14 +47576,19 @@ msgstr ""
msgid ""
"If [code]true[/code], allocates the root [Viewport]'s framebuffer with high "
"dynamic range. High dynamic range allows the use of [Color] values greater "
-"than 1.\n"
+"than 1. This must be set to [code]true[/code] for glow rendering to work if "
+"[member Environment.glow_hdr_threshold] is greater than or equal to "
+"[code]1.0[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"Lower-end override for [member rendering/quality/depth/hdr] on mobile "
-"devices, due to performance concerns or driver support."
+"devices, due to performance concerns or driver support. This must be set to "
+"[code]true[/code] for glow rendering to work if [member Environment."
+"glow_hdr_threshold] is greater than or equal to [code]1.0[/code].\n"
+"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -47530,8 +47717,8 @@ msgid ""
"resources it uses (but the less features it supports). If set to \"2D "
"Without Sampling\" or \"3D Without Effects\", sample buffers will not be "
"allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/"
-"code] will not be available in shaders and post-processing effects will not "
-"be available in the [Environment]."
+"code] will not be available in shaders and post-processing effects such as "
+"glow will not be available in [Environment]."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51469,6 +51656,13 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
+"Although physics interpolation would normally be globally turned on and off "
+"using [member ProjectSettings.physics/common/physics_interpolation], this "
+"property allows control over interpolation at runtime."
+msgstr ""
+
+#: doc/classes/SceneTree.xml
+msgid ""
"If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new "
"incoming connections."
msgstr ""
@@ -52723,6 +52917,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"When using physics interpolation, there will be circumstances in which you "
+"want to know the interpolated (displayed) transform of a node rather than "
+"the standard transform (which may only be accurate to the most recent "
+"physics tick).\n"
+"This is particularly important for frame-based operations that take place in "
+"[method Node._process], rather than [method Node._physics_process]. Examples "
+"include [Camera]s focusing on a node, or finding where to fire lasers from "
+"on a frame rather than physics tick."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
@@ -54559,7 +54765,7 @@ msgid ""
"colors into account for albedo. Otherwise, the color defined in [member "
"modulate] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -54573,7 +54779,7 @@ msgid ""
"colors into account for albedo. Otherwise, the opacity defined in [member "
"opacity] will be ignored. For a [SpatialMaterial], [member SpatialMaterial."
"vertex_color_use_as_albedo] must be [code]true[/code]. For a "
-"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/color] must be inserted in the "
+"[ShaderMaterial], [code]ALPHA *= COLOR.a;[/code] must be inserted in the "
"shader's [code]fragment()[/code] function."
msgstr ""
@@ -55248,7 +55454,12 @@ msgid "Returns [code]true[/code] if the string begins with the given string."
msgstr ""
#: doc/classes/String.xml
-msgid "Returns the bigrams (pairs of consecutive letters) of this string."
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive letters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Bigrams\".bigrams()) # Prints \"[Bi, ig, gr, ra, am, ms]\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55511,7 +55722,16 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid float."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid float. This is "
+"inclusive of integers, and also supports exponents:\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"7e3\".is_valid_float()) # Prints \"true\"\n"
+"print(\"24\".is_valid_float()) # Prints \"true\"\n"
+"print(\"Hello\".is_valid_float()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55534,11 +55754,24 @@ msgstr ""
msgid ""
"Returns [code]true[/code] if this string is a valid identifier. A valid "
"identifier may contain only letters, digits and underscores ([code]_[/code]) "
-"and the first character may not be a digit."
+"and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Prints \"true\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Prints \"false\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"false\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
-msgid "Returns [code]true[/code] if this string contains a valid integer."
+msgid ""
+"Returns [code]true[/code] if this string contains a valid integer.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints \"true\"\n"
+"print(\"14.6\".is_valid_int()) # Prints \"false\"\n"
+"print(\"L\".is_valid_int()) # Prints \"false\"\n"
+"print(\"+3\".is_valid_int()) # Prints \"true\"\n"
+"print(\"-12\".is_valid_int()) # Prints \"true\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -55587,14 +55820,16 @@ msgstr ""
msgid ""
"Does a simple case-sensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
msgid ""
"Does a simple case-insensitive expression match, where [code]\"*\"[/code] "
"matches zero or more arbitrary characters and [code]\"?\"[/code] matches any "
-"single character except a period ([code]\".\"[/code])."
+"single character except a period ([code]\".\"[/code]). An empty string or "
+"empty expression always evaluates to [code]false[/code]."
msgstr ""
#: doc/classes/String.xml
@@ -55764,8 +55999,16 @@ msgstr ""
#: doc/classes/String.xml
msgid ""
-"Returns the similarity index of the text compared to this string. 1 means "
-"totally similar and 0 means totally dissimilar."
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this "
+"string compared to another. 1.0 means totally similar and 0.0 means totally "
+"dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints \"1\"\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints \"0\"\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints \"0.8\"\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints \"0.4\"\n"
+"[/codeblock]"
msgstr ""
#: doc/classes/String.xml
@@ -57260,6 +57503,16 @@ msgid "Returns the total width of all gutters and internal padding."
msgstr "回傳åƒæ•¸çš„正切值。"
#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the total amount of lines that could be drawn."
+msgstr "回傳åƒæ•¸çš„相å值。"
+
+#: doc/classes/TextEdit.xml
+#, fuzzy
+msgid "Returns the number of visible lines, including wrapped text."
+msgstr "回傳åƒæ•¸çš„正弦值。"
+
+#: doc/classes/TextEdit.xml
msgid ""
"Returns a [String] text with the word under the caret (text cursor) location."
msgstr ""
@@ -58298,6 +58551,12 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+msgid ""
+"Unmarks [code]theme_type[/code] as being a variation of another theme type. "
+"See [method set_type_variation]."
+msgstr ""
+
+#: doc/classes/Theme.xml
msgid "Sets the theme's values to a copy of the default theme values."
msgstr ""
@@ -58439,6 +58698,18 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Returns the name of the base theme type if [code]theme_type[/code] is a "
+"valid variation type. Returns an empty string otherwise."
+msgstr ""
+
+#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns a list of all type variations for the given [code]base_type[/code]."
+msgstr "計算兩個å‘é‡çš„外ç©ã€‚"
+
+#: doc/classes/Theme.xml
+msgid ""
"Returns [code]true[/code] if [Color] with [code]name[/code] is in "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
@@ -58486,6 +58757,13 @@ msgid ""
msgstr ""
#: doc/classes/Theme.xml
+#, fuzzy
+msgid ""
+"Returns [code]true[/code] if [code]theme_type[/code] is marked as a "
+"variation of [code]base_type[/code]."
+msgstr "計算兩個å‘é‡çš„外ç©ã€‚"
+
+#: doc/classes/Theme.xml
msgid ""
"Adds missing and overrides existing definitions with values from the "
"[code]other[/code] [Theme].\n"
@@ -58582,6 +58860,20 @@ msgstr ""
#: doc/classes/Theme.xml
msgid ""
+"Marks [code]theme_type[/code] as a variation of [code]base_type[/code].\n"
+"This adds [code]theme_type[/code] as a suggested option for [member Control."
+"theme_type_variation] on a [Control] that is of the [code]base_type[/code] "
+"class.\n"
+"Variations can also be nested, i.e. [code]base_type[/code] can be another "
+"variation. If a chain of variations ends with a [code]base_type[/code] "
+"matching the class of the [Control], the whole chain is going to be "
+"suggested as options.\n"
+"[b]Note:[/b] Suggestions only show up if this theme resource is set as the "
+"project default theme. See [member ProjectSettings.gui/theme/custom]."
+msgstr ""
+
+#: doc/classes/Theme.xml
+msgid ""
"The default font of this [Theme] resource. Used as a fallback value for font "
"items defined in this theme, but having invalid values. If this value is "
"also invalid, the global default value is used.\n"
@@ -60758,7 +61050,7 @@ msgid ""
"Adds a button with [Texture] [code]button[/code] at column [code]column[/"
"code]. The [code]id[/code] is used to identify the button. If not specified, "
"the next available index is used, which may be retrieved by calling [method "
-"get_button_count] immediately after this method. Optionally, the button can "
+"get_button_count] immediately before this method. Optionally, the button can "
"be [code]disabled[/code] and have a [code]tooltip[/code]."
msgstr ""
@@ -60800,10 +61092,9 @@ msgid ""
msgstr "計算兩個å‘é‡çš„外ç©ã€‚"
#: doc/classes/TreeItem.xml
-msgid ""
-"Returns the number of buttons in column [code]column[/code]. May be used to "
-"get the most recently added button's index, if no index was specified."
-msgstr ""
+#, fuzzy
+msgid "Returns the number of buttons in column [code]column[/code]."
+msgstr "計算兩個å‘é‡çš„外ç©ã€‚"
#: doc/classes/TreeItem.xml
#, fuzzy
diff --git a/editor/SCsub b/editor/SCsub
index 87153f3b2b..35c215b663 100644
--- a/editor/SCsub
+++ b/editor/SCsub
@@ -76,7 +76,7 @@ if env["tools"]:
# Editor translations
to_include = (
- "ar,bg,bn,ca,cs,de,el,eo,es_AR,es,fi,fr,gl,he,hu,id,it,ja,ko,lv,ms,nb,nl,pl,pt_BR,pt,ro,ru,sk,sv,th,tr,uk,vi,zh_CN,zh_TW"
+ "ar,bg,bn,ca,cs,de,el,eo,es_AR,es,fi,fr,gl,he,hu,id,it,ja,ko,lv,ms,nb,nl,pl,pt_BR,pt,ro,ru,sk,sv,th,tl,tr,uk,vi,zh_CN,zh_TW"
).split(",")
tlist = [env.Dir("#editor/translations").abspath + "/" + f + ".po" for f in to_include]
env.Depends("#editor/editor_translations.gen.h", tlist)
diff --git a/editor/editor_autoload_settings.cpp b/editor/editor_autoload_settings.cpp
index 281d614ea9..829948d3cb 100644
--- a/editor/editor_autoload_settings.cpp
+++ b/editor/editor_autoload_settings.cpp
@@ -52,7 +52,7 @@ void EditorAutoloadSettings::_notification(int p_what) {
file_dialog->add_filter("*." + E);
}
- for (const AutoLoadInfo &info : autoload_cache) {
+ for (const AutoloadInfo &info : autoload_cache) {
if (info.node && info.in_editor) {
get_tree()->get_root()->call_deferred(SNAME("add_child"), info.node);
}
@@ -122,7 +122,7 @@ bool EditorAutoloadSettings::_autoload_name_is_valid(const String &p_name, Strin
for (const String &E : keywords) {
if (E == p_name) {
if (r_error) {
- *r_error = TTR("Invalid name.") + " " + TTR("Keyword cannot be used as an AutoLoad name.");
+ *r_error = TTR("Invalid name.") + " " + TTR("Keyword cannot be used as an Autoload name.");
}
return false;
@@ -227,7 +227,7 @@ void EditorAutoloadSettings::_autoload_edited() {
path = "*" + path;
}
- undo_redo->create_action(TTR("Toggle AutoLoad Globals"));
+ undo_redo->create_action(TTR("Toggle Autoload Globals"));
undo_redo->add_do_property(ProjectSettings::get_singleton(), base, path);
undo_redo->add_undo_property(ProjectSettings::get_singleton(), base, ProjectSettings::get_singleton()->get(base));
@@ -378,13 +378,13 @@ Node *EditorAutoloadSettings::_create_autoload(const String &p_path) {
Object *obj = ClassDB::instantiate(ibt);
- ERR_FAIL_COND_V_MSG(!obj, nullptr, "Cannot instance script for AutoLoad, expected 'Node' inheritance, got: " + String(ibt) + ".");
+ ERR_FAIL_COND_V_MSG(!obj, nullptr, "Cannot instance script for Autoload, expected 'Node' inheritance, got: " + String(ibt) + ".");
n = Object::cast_to<Node>(obj);
n->set_script(script);
}
- ERR_FAIL_COND_V_MSG(!n, nullptr, "Path in AutoLoad not a node or script: " + p_path + ".");
+ ERR_FAIL_COND_V_MSG(!n, nullptr, "Path in Autoload not a node or script: " + p_path + ".");
return n;
}
@@ -396,10 +396,10 @@ void EditorAutoloadSettings::update_autoload() {
updating_autoload = true;
- Map<String, AutoLoadInfo> to_remove;
- List<AutoLoadInfo *> to_add;
+ Map<String, AutoloadInfo> to_remove;
+ List<AutoloadInfo *> to_add;
- for (const AutoLoadInfo &info : autoload_cache) {
+ for (const AutoloadInfo &info : autoload_cache) {
to_remove.insert(info.name, info);
}
@@ -423,7 +423,7 @@ void EditorAutoloadSettings::update_autoload() {
continue;
}
- AutoLoadInfo info;
+ AutoloadInfo info;
info.is_singleton = path.begins_with("*");
if (info.is_singleton) {
@@ -436,7 +436,7 @@ void EditorAutoloadSettings::update_autoload() {
bool need_to_add = true;
if (to_remove.has(name)) {
- AutoLoadInfo &old_info = to_remove[name];
+ AutoloadInfo &old_info = to_remove[name];
if (old_info.path == info.path) {
// Still the same resource, check status
info.node = old_info.node;
@@ -478,8 +478,8 @@ void EditorAutoloadSettings::update_autoload() {
}
// Remove deleted/changed autoloads
- for (KeyValue<String, AutoLoadInfo> &E : to_remove) {
- AutoLoadInfo &info = E.value;
+ for (KeyValue<String, AutoloadInfo> &E : to_remove) {
+ AutoloadInfo &info = E.value;
if (info.is_singleton) {
for (int i = 0; i < ScriptServer::get_language_count(); i++) {
ScriptServer::get_language(i)->remove_named_global_constant(info.name);
@@ -500,7 +500,7 @@ void EditorAutoloadSettings::update_autoload() {
// Load new/changed autoloads
List<Node *> nodes_to_add;
- for (AutoLoadInfo *info : to_add) {
+ for (AutoloadInfo *info : to_add) {
info->node = _create_autoload(info->path);
ERR_CONTINUE(!info->node);
@@ -632,8 +632,8 @@ void EditorAutoloadSettings::drop_data_fw(const Point2 &p_point, const Variant &
int order = ProjectSettings::get_singleton()->get_order("autoload/" + name);
- AutoLoadInfo aux;
- List<AutoLoadInfo>::Element *E = nullptr;
+ AutoloadInfo aux;
+ List<AutoloadInfo>::Element *E = nullptr;
if (!move_to_back) {
aux.order = order;
@@ -649,7 +649,7 @@ void EditorAutoloadSettings::drop_data_fw(const Point2 &p_point, const Variant &
for (int i = 0; i < autoloads.size(); i++) {
aux.order = ProjectSettings::get_singleton()->get_order("autoload/" + autoloads[i]);
- List<AutoLoadInfo>::Element *I = autoload_cache.find(aux);
+ List<AutoloadInfo>::Element *I = autoload_cache.find(aux);
if (move_to_back) {
autoload_cache.move_to_back(I);
@@ -664,7 +664,7 @@ void EditorAutoloadSettings::drop_data_fw(const Point2 &p_point, const Variant &
int i = 0;
- for (const AutoLoadInfo &F : autoload_cache) {
+ for (const AutoloadInfo &F : autoload_cache) {
orders.write[i++] = F.order;
}
@@ -676,7 +676,7 @@ void EditorAutoloadSettings::drop_data_fw(const Point2 &p_point, const Variant &
i = 0;
- for (const AutoLoadInfo &F : autoload_cache) {
+ for (const AutoloadInfo &F : autoload_cache) {
undo_redo->add_do_method(ProjectSettings::get_singleton(), "set_order", "autoload/" + F.name, orders[i++]);
undo_redo->add_undo_method(ProjectSettings::get_singleton(), "set_order", "autoload/" + F.name, F.order);
}
@@ -697,18 +697,18 @@ bool EditorAutoloadSettings::autoload_add(const String &p_name, const String &p_
String error;
if (!_autoload_name_is_valid(name, &error)) {
- EditorNode::get_singleton()->show_warning(TTR("Can't add AutoLoad:") + "\n" + error);
+ EditorNode::get_singleton()->show_warning(TTR("Can't add Autoload:") + "\n" + error);
return false;
}
const String &path = p_path;
if (!FileAccess::exists(path)) {
- EditorNode::get_singleton()->show_warning(TTR("Can't add AutoLoad:") + "\n" + vformat(TTR("%s is an invalid path. File does not exist."), path));
+ EditorNode::get_singleton()->show_warning(TTR("Can't add Autoload:") + "\n" + vformat(TTR("%s is an invalid path. File does not exist."), path));
return false;
}
if (!path.begins_with("res://")) {
- EditorNode::get_singleton()->show_warning(TTR("Can't add AutoLoad:") + "\n" + vformat(TTR("%s is an invalid path. Not in resource path (res://)."), path));
+ EditorNode::get_singleton()->show_warning(TTR("Can't add Autoload:") + "\n" + vformat(TTR("%s is an invalid path. Not in resource path (res://)."), path));
return false;
}
@@ -716,7 +716,7 @@ bool EditorAutoloadSettings::autoload_add(const String &p_name, const String &p_
UndoRedo *undo_redo = EditorNode::get_undo_redo();
- undo_redo->create_action(TTR("Add AutoLoad"));
+ undo_redo->create_action(TTR("Add Autoload"));
// Singleton autoloads are represented with a leading "*" in their path.
undo_redo->add_do_property(ProjectSettings::get_singleton(), name, "*" + path);
@@ -791,7 +791,7 @@ EditorAutoloadSettings::EditorAutoloadSettings() {
continue;
}
- AutoLoadInfo info;
+ AutoloadInfo info;
info.is_singleton = path.begins_with("*");
if (info.is_singleton) {
@@ -812,7 +812,7 @@ EditorAutoloadSettings::EditorAutoloadSettings() {
autoload_cache.push_back(info);
}
- for (AutoLoadInfo &info : autoload_cache) {
+ for (AutoloadInfo &info : autoload_cache) {
info.node = _create_autoload(info.path);
if (info.node) {
@@ -921,7 +921,7 @@ EditorAutoloadSettings::EditorAutoloadSettings() {
}
EditorAutoloadSettings::~EditorAutoloadSettings() {
- for (const AutoLoadInfo &info : autoload_cache) {
+ for (const AutoloadInfo &info : autoload_cache) {
if (info.node && !info.in_editor) {
memdelete(info.node);
}
diff --git a/editor/editor_autoload_settings.h b/editor/editor_autoload_settings.h
index 135ff48a0c..044eea4245 100644
--- a/editor/editor_autoload_settings.h
+++ b/editor/editor_autoload_settings.h
@@ -49,7 +49,7 @@ class EditorAutoloadSettings : public VBoxContainer {
String autoload_changed;
- struct AutoLoadInfo {
+ struct AutoloadInfo {
String name;
String path;
bool is_singleton = false;
@@ -57,12 +57,12 @@ class EditorAutoloadSettings : public VBoxContainer {
int order = 0;
Node *node = nullptr;
- bool operator==(const AutoLoadInfo &p_info) const {
+ bool operator==(const AutoloadInfo &p_info) const {
return order == p_info.order;
}
};
- List<AutoLoadInfo> autoload_cache;
+ List<AutoloadInfo> autoload_cache;
bool updating_autoload;
int number_of_autoloads;
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp
index 42eaf8bd89..9f3d083bf1 100644
--- a/editor/editor_node.cpp
+++ b/editor/editor_node.cpp
@@ -725,11 +725,7 @@ void EditorNode::_notification(int p_what) {
help_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
}
- if (EDITOR_GET("interface/scene_tabs/resize_if_many_tabs")) {
- scene_tabs->set_min_width(int(EDITOR_GET("interface/scene_tabs/minimum_width")) * EDSCALE);
- } else {
- scene_tabs->set_min_width(0);
- }
+ scene_tabs->set_max_tab_width(int(EDITOR_GET("interface/scene_tabs/maximum_width")) * EDSCALE);
_update_scene_tabs();
recent_scenes->reset_size();
@@ -807,10 +803,6 @@ void EditorNode::_notification(int p_what) {
_update_update_spinner();
} break;
-
- case Control::NOTIFICATION_RESIZED: {
- _update_scene_tabs();
- } break;
}
}
@@ -6255,7 +6247,7 @@ EditorNode::EditorNode() {
scene_tabs->add_tab("unsaved");
scene_tabs->set_tab_alignment(TabBar::ALIGNMENT_LEFT);
scene_tabs->set_tab_close_display_policy((bool(EDITOR_GET("interface/scene_tabs/always_show_close_button")) ? TabBar::CLOSE_BUTTON_SHOW_ALWAYS : TabBar::CLOSE_BUTTON_SHOW_ACTIVE_ONLY));
- scene_tabs->set_min_width(int(EDITOR_GET("interface/scene_tabs/minimum_width")) * EDSCALE);
+ scene_tabs->set_max_tab_width(int(EDITOR_GET("interface/scene_tabs/maximum_width")) * EDSCALE);
scene_tabs->set_drag_to_rearrange_enabled(true);
scene_tabs->connect("tab_changed", callable_mp(this, &EditorNode::_scene_tab_changed));
scene_tabs->connect("tab_button_pressed", callable_mp(this, &EditorNode::_scene_tab_script_edited));
diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp
index 52ff7e3c19..45685b8fb2 100644
--- a/editor/editor_settings.cpp
+++ b/editor/editor_settings.cpp
@@ -461,8 +461,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
// Scene tabs
_initial_set("interface/scene_tabs/show_thumbnail_on_hover", true);
- _initial_set("interface/scene_tabs/resize_if_many_tabs", true);
- EDITOR_SETTING_USAGE(Variant::INT, PROPERTY_HINT_RANGE, "interface/scene_tabs/minimum_width", 50, "50,500,1", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED)
+ EDITOR_SETTING_USAGE(Variant::INT, PROPERTY_HINT_RANGE, "interface/scene_tabs/maximum_width", 350, "0,9999,1", PROPERTY_USAGE_DEFAULT)
_initial_set("interface/scene_tabs/show_script_button", false);
/* Filesystem */
diff --git a/editor/editor_toaster.cpp b/editor/editor_toaster.cpp
index 319b4709fe..7ca88bd2a2 100644
--- a/editor/editor_toaster.cpp
+++ b/editor/editor_toaster.cpp
@@ -385,12 +385,19 @@ Control *EditorToaster::popup(Control *p_control, Severity p_severity, double p_
}
void EditorToaster::popup_str(String p_message, Severity p_severity, String p_tooltip) {
+ if (is_processing_error) {
+ return;
+ }
+
// Since "_popup_str" adds nodes to the tree, and since the "add_child" method is not
// thread-safe, it's better to defer the call to the next cycle to be thread-safe.
+ is_processing_error = true;
call_deferred(SNAME("_popup_str"), p_message, p_severity, p_tooltip);
+ is_processing_error = false;
}
void EditorToaster::_popup_str(String p_message, Severity p_severity, String p_tooltip) {
+ is_processing_error = true;
// Check if we already have a popup with the given message.
Control *control = nullptr;
for (KeyValue<Control *, Toast> element : toasts) {
@@ -432,6 +439,7 @@ void EditorToaster::_popup_str(String p_message, Severity p_severity, String p_t
} else {
label->set_text(vformat("%s (%d)", p_message, toasts[control].count));
}
+ is_processing_error = false;
}
void EditorToaster::close(Control *p_control) {
diff --git a/editor/editor_toaster.h b/editor/editor_toaster.h
index 2ad8752bee..059245ce66 100644
--- a/editor/editor_toaster.h
+++ b/editor/editor_toaster.h
@@ -82,6 +82,8 @@ private:
};
Map<Control *, Toast> toasts;
+ bool is_processing_error = false; // Makes sure that we don't handle errors that are triggered within the EditorToaster error processing.
+
const double default_message_duration = 5.0;
static void _error_handler(void *p_self, const char *p_func, const char *p_file, int p_line, const char *p_error, const char *p_errorexp, bool p_editor_notify, ErrorHandlerType p_type);
diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp
index e43d1feb08..75f97efdbc 100644
--- a/editor/plugins/canvas_item_editor_plugin.cpp
+++ b/editor/plugins/canvas_item_editor_plugin.cpp
@@ -3580,7 +3580,7 @@ void CanvasItemEditor::_draw_locks_and_groups(Node *p_node, const Transform2D &p
return;
}
CanvasItem *canvas_item = Object::cast_to<CanvasItem>(p_node);
- if (canvas_item && !canvas_item->is_visible()) {
+ if (canvas_item && !canvas_item->is_visible_in_tree()) {
return;
}
diff --git a/editor/plugins/skeleton_3d_editor_plugin.cpp b/editor/plugins/skeleton_3d_editor_plugin.cpp
index aec1a09e48..aadc7a2e66 100644
--- a/editor/plugins/skeleton_3d_editor_plugin.cpp
+++ b/editor/plugins/skeleton_3d_editor_plugin.cpp
@@ -528,22 +528,25 @@ void Skeleton3DEditor::move_skeleton_bone(NodePath p_skeleton_path, int32_t p_se
void Skeleton3DEditor::_joint_tree_selection_changed() {
TreeItem *selected = joint_tree->get_selected();
- if (!selected) {
- return;
- }
- const String path = selected->get_metadata(0);
- if (!path.begins_with("bones/")) {
- return;
+ if (selected) {
+ const String path = selected->get_metadata(0);
+ if (!path.begins_with("bones/")) {
+ return;
+ }
+ const int b_idx = path.get_slicec('/', 1).to_int();
+ selected_bone = b_idx;
+ if (pose_editor) {
+ const String bone_path = "bones/" + itos(b_idx) + "/";
+ pose_editor->set_target(bone_path);
+ pose_editor->set_keyable(keyable);
+ }
}
- const int b_idx = path.get_slicec('/', 1).to_int();
- selected_bone = b_idx;
- if (pose_editor) {
- const String bone_path = "bones/" + itos(b_idx) + "/";
- pose_editor->set_target(bone_path);
- pose_editor->set_keyable(keyable);
+
+ if (pose_editor && pose_editor->is_inside_tree()) {
pose_editor->set_visible(selected);
}
set_bone_options_enabled(selected);
+
_update_properties();
_update_gizmo_visible();
}
diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp
index 94906acb63..7f30dd91e5 100644
--- a/editor/plugins/visual_shader_editor_plugin.cpp
+++ b/editor/plugins/visual_shader_editor_plugin.cpp
@@ -1082,6 +1082,10 @@ void VisualShaderEditor::edit(VisualShader *p_visual_shader) {
}
}
+void VisualShaderEditor::update_nodes() {
+ _update_nodes();
+}
+
void VisualShaderEditor::add_plugin(const Ref<VisualShaderNodePlugin> &p_plugin) {
if (plugins.has(p_plugin)) {
return;
@@ -1165,10 +1169,7 @@ bool VisualShaderEditor::_is_available(int p_mode) {
return (p_mode == -1 || (p_mode & current_mode) != 0);
}
-void VisualShaderEditor::update_custom_nodes() {
- if (members_dialog->is_visible()) {
- return;
- }
+void VisualShaderEditor::_update_nodes() {
clear_custom_types();
List<StringName> class_list;
ScriptServer::get_global_class_list(&class_list);
@@ -1184,6 +1185,9 @@ void VisualShaderEditor::update_custom_nodes() {
Ref<VisualShaderNodeCustom> ref;
ref.instantiate();
ref->set_script(script);
+ if (!ref->is_available(visual_shader->get_mode(), visual_shader->get_shader_type())) {
+ continue;
+ }
String name;
if (ref->has_method("_get_name")) {
@@ -1240,6 +1244,32 @@ void VisualShaderEditor::update_custom_nodes() {
}
}
+ // Disables not-supported copied items.
+ {
+ for (CopyItem &item : copy_items_buffer) {
+ Ref<VisualShaderNodeCustom> custom = Object::cast_to<VisualShaderNodeCustom>(item.node.ptr());
+
+ if (custom.is_valid()) {
+ if (!custom->is_available(visual_shader->get_mode(), visual_shader->get_shader_type())) {
+ item.disabled = true;
+ } else {
+ item.disabled = false;
+ }
+ } else {
+ for (int i = 0; i < add_options.size(); i++) {
+ if (add_options[i].type == item.node->get_class_name()) {
+ if ((add_options[i].func != visual_shader->get_mode() && add_options[i].func != -1) || !_is_available(add_options[i].mode)) {
+ item.disabled = true;
+ } else {
+ item.disabled = false;
+ }
+ break;
+ }
+ }
+ }
+ }
+ }
+
Array keys = added.keys();
keys.sort();
@@ -3370,15 +3400,23 @@ void VisualShaderEditor::_graph_gui_input(const Ref<InputEvent> &p_event) {
selected_float_constant = -1;
}
- if (to_change.is_empty() && copy_items_buffer.is_empty()) {
+ bool copy_buffer_empty = true;
+ for (const CopyItem &item : copy_items_buffer) {
+ if (!item.disabled) {
+ copy_buffer_empty = false;
+ break;
+ }
+ }
+
+ if (to_change.is_empty() && copy_buffer_empty) {
_show_members_dialog(true);
} else {
popup_menu->set_item_disabled(NodeMenuOptions::CUT, to_change.is_empty());
popup_menu->set_item_disabled(NodeMenuOptions::COPY, to_change.is_empty());
- popup_menu->set_item_disabled(NodeMenuOptions::PASTE, copy_items_buffer.is_empty());
+ popup_menu->set_item_disabled(NodeMenuOptions::PASTE, copy_buffer_empty);
popup_menu->set_item_disabled(NodeMenuOptions::DELETE, to_change.is_empty());
popup_menu->set_item_disabled(NodeMenuOptions::DUPLICATE, to_change.is_empty());
- popup_menu->set_item_disabled(NodeMenuOptions::CLEAR_COPY_BUFFER, copy_items_buffer.is_empty());
+ popup_menu->set_item_disabled(NodeMenuOptions::CLEAR_COPY_BUFFER, copy_buffer_empty);
int temp = popup_menu->get_item_index(NodeMenuOptions::SEPARATOR2);
if (temp != -1) {
@@ -3715,6 +3753,17 @@ void VisualShaderEditor::_dup_paste_nodes(int p_type, List<CopyItem> &r_items, c
if (p_duplicate) {
undo_redo->create_action(TTR("Duplicate VisualShader Node(s)"));
} else {
+ bool copy_buffer_empty = true;
+ for (const CopyItem &item : copy_items_buffer) {
+ if (!item.disabled) {
+ copy_buffer_empty = false;
+ break;
+ }
+ }
+ if (copy_buffer_empty) {
+ return;
+ }
+
undo_redo->create_action(TTR("Paste VisualShader Node(s)"));
}
@@ -3727,16 +3776,7 @@ void VisualShaderEditor::_dup_paste_nodes(int p_type, List<CopyItem> &r_items, c
Set<int> added_set;
for (CopyItem &item : r_items) {
- bool unsupported = false;
- for (int i = 0; i < add_options.size(); i++) {
- if (add_options[i].type == item.node->get_class_name()) {
- if (!_is_available(add_options[i].mode)) {
- unsupported = true;
- }
- break;
- }
- }
- if (unsupported) {
+ if (item.disabled) {
unsupported_set.insert(item.id);
continue;
}
@@ -3777,7 +3817,10 @@ void VisualShaderEditor::_dup_paste_nodes(int p_type, List<CopyItem> &r_items, c
}
id_from = base_id;
- for (int i = 0; i < r_items.size(); i++) {
+ for (const CopyItem &item : r_items) {
+ if (item.disabled) {
+ continue;
+ }
undo_redo->add_undo_method(visual_shader.ptr(), "remove_node", type, id_from);
undo_redo->add_undo_method(graph_plugin.ptr(), "remove_node", type, id_from);
id_from++;
@@ -3878,7 +3921,7 @@ void VisualShaderEditor::_mode_selected(int p_id) {
}
visual_shader->set_shader_type(VisualShader::Type(p_id + offset));
- _update_options_menu();
+ _update_nodes();
_update_graph();
graph->grab_focus();
@@ -4465,8 +4508,8 @@ void VisualShaderEditor::_visibility_changed() {
}
void VisualShaderEditor::_bind_methods() {
+ ClassDB::bind_method("_update_nodes", &VisualShaderEditor::_update_nodes);
ClassDB::bind_method("_update_graph", &VisualShaderEditor::_update_graph);
- ClassDB::bind_method("_update_options_menu", &VisualShaderEditor::_update_options_menu);
ClassDB::bind_method("_add_node", &VisualShaderEditor::_add_node);
ClassDB::bind_method("_node_changed", &VisualShaderEditor::_node_changed);
ClassDB::bind_method("_input_select_item", &VisualShaderEditor::_input_select_item);
@@ -5439,7 +5482,7 @@ void VisualShaderEditorPlugin::make_visible(bool p_visible) {
//editor->animation_panel_make_visible(true);
button->show();
EditorNode::get_singleton()->make_bottom_panel_item_visible(visual_shader_editor);
- visual_shader_editor->update_custom_nodes();
+ visual_shader_editor->update_nodes();
visual_shader_editor->set_process_input(true);
//visual_shader_editor->set_process(true);
} else {
@@ -5919,8 +5962,8 @@ void EditorPropertyShaderMode::_option_selected(int p_which) {
}
}
- undo_redo->add_do_method(editor, "_update_options_menu");
- undo_redo->add_undo_method(editor, "_update_options_menu");
+ undo_redo->add_do_method(editor, "_update_nodes");
+ undo_redo->add_undo_method(editor, "_update_nodes");
undo_redo->add_do_method(editor, "_update_graph");
undo_redo->add_undo_method(editor, "_update_graph");
diff --git a/editor/plugins/visual_shader_editor_plugin.h b/editor/plugins/visual_shader_editor_plugin.h
index e26b606397..4087fc583c 100644
--- a/editor/plugins/visual_shader_editor_plugin.h
+++ b/editor/plugins/visual_shader_editor_plugin.h
@@ -262,6 +262,7 @@ class VisualShaderEditor : public VBoxContainer {
void _show_add_varying_dialog();
void _show_remove_varying_dialog();
+ void _update_nodes();
void _update_graph();
struct AddOption {
@@ -394,6 +395,7 @@ class VisualShaderEditor : public VBoxContainer {
String group_inputs;
String group_outputs;
String expression;
+ bool disabled = false;
};
void _dup_copy_nodes(int p_type, List<CopyItem> &r_nodes, List<VisualShader::Connection> &r_connections);
@@ -476,7 +478,7 @@ protected:
static void _bind_methods();
public:
- void update_custom_nodes();
+ void update_nodes();
void add_plugin(const Ref<VisualShaderNodePlugin> &p_plugin);
void remove_plugin(const Ref<VisualShaderNodePlugin> &p_plugin);
diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp
index 7059509e72..c4019bc22d 100644
--- a/editor/project_settings_editor.cpp
+++ b/editor/project_settings_editor.cpp
@@ -663,7 +663,7 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) {
tab_container->add_child(localization_editor);
autoload_settings = memnew(EditorAutoloadSettings);
- autoload_settings->set_name(TTR("AutoLoad"));
+ autoload_settings->set_name(TTR("Autoload"));
autoload_settings->connect("autoload_changed", callable_mp(this, &ProjectSettingsEditor::queue_save));
tab_container->add_child(autoload_settings);
diff --git a/editor/translations/af.po b/editor/translations/af.po
index ad1b7ef436..86ed70ec3a 100644
--- a/editor/translations/af.po
+++ b/editor/translations/af.po
@@ -1529,6 +1529,11 @@ msgstr "Laai die verstek Bus Uitleg."
msgid "Create a new Bus Layout."
msgstr "Skep 'n nuwe Bus Uitleg."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Oop Oudio-Bus Uitleg"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Ongeldige naam."
@@ -2953,7 +2958,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5727,6 +5732,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "Skep Vouer"
@@ -8265,7 +8274,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9197,6 +9211,11 @@ msgstr "Soek Vervanging Hulpbron:"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "Hulpbron"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "Lede"
@@ -9247,6 +9266,20 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Verander Skikking Waarde-Soort"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Verander Skikking Waarde-Soort"
+
+#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Show Default"
msgstr "Laai Verstek"
@@ -9264,7 +9297,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "Verander Skikking Waarde-Soort"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9992,18 +10036,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Passendes:"
@@ -12654,6 +12686,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Eienskappe"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13994,6 +14031,9 @@ msgstr "Ongeldige naam."
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/ar.po b/editor/translations/ar.po
index 29efa92a54..4bccc25d91 100644
--- a/editor/translations/ar.po
+++ b/editor/translations/ar.po
@@ -44,10 +44,10 @@
# أحمد مصطÙÙ‰ الطبراني <eltabaraniahmed@gmail.com>, 2020.
# ChemicalInk <aladdinalkhafaji@gmail.com>, 2020.
# Musab Alasaifer <mousablasefer@gmail.com>, 2020.
-# Yassine Oudjana <y.oudjana@protonmail.com>, 2020.
+# Yassine Oudjana <y.oudjana@protonmail.com>, 2020, 2022.
# bruvzg <bruvzg13@gmail.com>, 2020.
# StarlkYT <mrsstarlkps4@gmail.com>, 2020, 2021.
-# Games Toon <xxtvgoodxx@gmail.com>, 2021.
+# Games Toon <xxtvgoodxx@gmail.com>, 2021, 2022.
# Kareem Abduljaleel <karemjaleel34@gmail.com>, 2021.
# ILG - Game <moegypt277@gmail.com>, 2021.
# Hatim Jamal <hatimjamal8@gmail.com>, 2021.
@@ -55,7 +55,7 @@
# abubakrAlsaab <madeinsudan19@gmail.com>, 2021.
# Hafid Talbi <atalbiie@gmail.com>, 2021.
# Hareth Mohammed <harethpy@gmail.com>, 2021.
-# Mohammed Mubarak <modymu9@gmail.com>, 2021.
+# Mohammed Mubarak <modymu9@gmail.com>, 2021, 2022.
# Spirit <i8bou3@gmail.com>, 2021, 2022.
# TURKYM7MD <turkytb7700@gmail.com>, 2022.
# zeyad majed <zmajd62@gmail.com>, 2022.
@@ -66,7 +66,7 @@ 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-02-16 08:44+0000\n"
+"PO-Revision-Date: 2022-02-28 15:48+0000\n"
"Last-Translator: Mr.k <mineshtine28546271@gmail.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/"
"godot/ar/>\n"
@@ -76,7 +76,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.11-dev\n"
+"X-Generator: Weblate 4.11.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -85,13 +85,13 @@ msgstr "معامل خاطئ لدالة ()ConvertØŒ استخدم احدى الثÙ
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
msgid "Expected a string of length 1 (a character)."
-msgstr "كان يتوقع سلسلة من الطول 1 (حرÙ)."
+msgstr "كانت الدالة تتوقع سلسلة-حرو٠طولها 1 (حر٠واحد)."
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/mono/glue/gd_glue.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "لا يوجد ما يكÙÙŠ من البايتات من أجل ÙÙƒ البايتات، أو صيغة غير صحيحة."
+msgstr "ليس هنالك بايتات كاÙية من أجل ÙÙƒ البايتات، أو الصيغة غير صحيحة."
#: core/math/expression.cpp
msgid "Invalid input %i (not passed) in expression"
@@ -103,7 +103,7 @@ msgstr "لا يمكن استخدام self لأن النموذج Ùارغ (لم Ù
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
-msgstr "معاملات غير صالحة للمشغل â€â¨%sâ©ØŒ â¨%sâ©â€ Ùˆ â¨%sâ©."
+msgstr "معاملات غير صالحة للمشغل %s, %s و %s."
#: core/math/expression.cpp
msgid "Invalid index of type %s for base type %s"
@@ -111,11 +111,11 @@ msgstr "Ùهرس غير صحيح للنوع %s التابع للنوع الأسØ
#: core/math/expression.cpp
msgid "Invalid named index '%s' for base type %s"
-msgstr "أسم Ùهرس غير صحيح '%s' للنوع الأساسي %s"
+msgstr "أسم Ùهرس غير صالح '%s' للنوع الأساسي %s"
#: core/math/expression.cpp
msgid "Invalid arguments to construct '%s'"
-msgstr "معامل غير صالح للإنشاء '%s'"
+msgstr "معامل غير صالح لإنشاء '%s'"
#: core/math/expression.cpp
msgid "On call to '%s':"
@@ -131,23 +131,23 @@ msgstr "كيلوبايت"
#: core/ustring.cpp
msgid "MiB"
-msgstr "ميجابايت"
+msgstr "ميبي بايت (MiB)"
#: core/ustring.cpp
msgid "GiB"
-msgstr "جيجابايت"
+msgstr "جيبي بايت (GiB)"
#: core/ustring.cpp
msgid "TiB"
-msgstr "تيرابايت"
+msgstr "تيبي بايت (TiB)"
#: core/ustring.cpp
msgid "PiB"
-msgstr "بيتابايت"
+msgstr "بيبي بايت (PiB)"
#: core/ustring.cpp
msgid "EiB"
-msgstr "إكسابايت"
+msgstr "إكسي بايت (EiB)"
#: editor/animation_bezier_editor.cpp
msgid "Free"
@@ -191,72 +191,72 @@ msgstr "تحريك نقاط بيزية"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Duplicate Keys"
-msgstr "تكرار Ù…Ùاتيح التحريك"
+msgstr "Anim تكرار Ù…Ùاتيح التحريك"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Delete Keys"
-msgstr "أزل Ù…Ùاتيح التحريك"
+msgstr "Anim أزل Ù…Ùاتيح التحريك"
#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
-msgstr "تغيير وقت الإطار الرئيسي للحركة"
+msgstr "Anim تغيير وقت الإطار الرئيسي"
#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
-msgstr "تغيير إنتقالية الرسوم المتحركة"
+msgstr "Anim تغيير إنتقالية الرسوم المتحركة"
#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
-msgstr "تحويل تغيير التحريك"
+msgstr "Anim تغيير التحويل"
#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
-msgstr "تغيير قيمة الإطار الأساسي للحركة"
+msgstr "Anim تغيير قيمة الإطار الرئيسي"
#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
-msgstr "نداء تغيير التحريك"
+msgstr "Anim تغيير النداء (Call)"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Keyframe Time"
-msgstr "وقت الإطار متعدد التغييرات للرسم المتحرك"
+msgstr "Anim تغييرات متعددة لوقت الإطار الرئيسي"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Transition"
-msgstr "المراحل الانتقالية للرسم المتحرك متعدد التغييرات"
+msgstr "Anim تغييرات متعددة للمراحل الانتقالية"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Transform"
-msgstr "التَحَوّل متعدد التغيير للرسوم المتحركة"
+msgstr "Anim تغييرات متعددة للتحويلات"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Keyframe Value"
-msgstr "قيمة الإطار متعدد التغييرات للرسم المتحرك"
+msgstr "Anim تغييرات متعددة لقيمة الإطار(ات) الرئيسية"
#: editor/animation_track_editor.cpp
msgid "Anim Multi Change Call"
-msgstr "استدعاء الرسوم المتحركة متعددة التغيير"
+msgstr "Anime تغييرات متعددة نداء(ات)"
#: editor/animation_track_editor.cpp
msgid "Change Animation Length"
-msgstr "تعديل طول عرض الحركة"
+msgstr "تعديل مدة الرسم المتحرك"
#: editor/animation_track_editor.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Change Animation Loop"
-msgstr "تعديل رباط عرض الحركة"
+msgstr "تعديل رباط (Loop) الرسم المتحرك"
#: editor/animation_track_editor.cpp
msgid "Property Track"
-msgstr "خط الخاصية"
+msgstr "مسار خاصية"
#: editor/animation_track_editor.cpp
msgid "3D Transform Track"
-msgstr "خط التحريك ثلاثي الأبعاد"
+msgstr "مسار التحويل (تحريك ÙÙŠ الأبعاد)"
#: editor/animation_track_editor.cpp
msgid "Call Method Track"
-msgstr "استدعاء أسلوب المسار"
+msgstr "مسار لاستدعاء دالة"
#: editor/animation_track_editor.cpp
msgid "Bezier Curve Track"
@@ -264,19 +264,19 @@ msgstr "مسار منحنى بيزيه"
#: editor/animation_track_editor.cpp
msgid "Audio Playback Track"
-msgstr "شريط صبط الصوت"
+msgstr "شريط ضبط الصوت"
#: editor/animation_track_editor.cpp
msgid "Animation Playback Track"
-msgstr "شريط ضبط الحركة"
+msgstr "شريط ضبط حركة الرسم المتحرك (Animation)"
#: editor/animation_track_editor.cpp
msgid "Animation length (frames)"
-msgstr "مدة الحركة (بالإطارات)"
+msgstr "مدة الرسم المتحرك (بالإطارات)"
#: editor/animation_track_editor.cpp
msgid "Animation length (seconds)"
-msgstr "مدة الحركة (بالثواني)"
+msgstr "مدة الرسم المتحرك (بالثواني)"
#: editor/animation_track_editor.cpp
msgid "Add Track"
@@ -300,6 +300,7 @@ msgid "Anim Clips:"
msgstr "مقاطع الرسوم المتحركة:"
#: editor/animation_track_editor.cpp
+#, fuzzy
msgid "Change Track Path"
msgstr "تغيير مسار الطريق"
@@ -309,13 +310,14 @@ msgstr "تمكين/إيقا٠هذا المسار."
#: editor/animation_track_editor.cpp
msgid "Update Mode (How this property is set)"
-msgstr "وضع التحديث (كي٠يتم تعيين هذه الخاصية)"
+msgstr "وضع التحديث (كيÙية تعيين هذه الخاصية)"
#: editor/animation_track_editor.cpp
msgid "Interpolation Mode"
msgstr "وضعية الأستيÙاء"
#: editor/animation_track_editor.cpp
+#, fuzzy
msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
msgstr "وضع التÙا٠الحلقة (نهاية العشوائية مع بداية الحلقة)"
@@ -341,7 +343,7 @@ msgstr "متقطع"
#: editor/animation_track_editor.cpp
msgid "Trigger"
-msgstr "Ù…Ùطلق"
+msgstr "تÙعيل/أطلاق"
#: editor/animation_track_editor.cpp
msgid "Capture"
@@ -358,7 +360,7 @@ msgstr "خطي"
#: editor/animation_track_editor.cpp
msgid "Cubic"
-msgstr "مكعب"
+msgstr "مكعبي"
#: editor/animation_track_editor.cpp
msgid "Clamp Loop Interp"
@@ -371,36 +373,35 @@ msgstr "التÙا٠الحلقة المثبتة"
#: editor/animation_track_editor.cpp
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key"
-msgstr "أدخل المÙتاح"
+msgstr "أدخل Ù…Ùتاح"
#: editor/animation_track_editor.cpp
msgid "Duplicate Key(s)"
-msgstr "Ù…Ùتاح (Ù…Ùاتيح) المكررة"
+msgstr "تكرار المÙتاح (المÙاتيح)"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Add RESET Value(s)"
-msgstr "إضاÙØ© %d إطار(ات)"
+msgstr "أضÙÙ’ قيمة(قيم) إعادة تعيين (RESET)"
#: editor/animation_track_editor.cpp
msgid "Delete Key(s)"
-msgstr "Ù…Ùتاح الحذÙ()"
+msgstr "حذ٠المÙتاح (المÙاتيح)"
#: editor/animation_track_editor.cpp
msgid "Change Animation Update Mode"
-msgstr "تغيير وضع تحديث الحركة"
+msgstr "تغيير وضع التحديث للرسم المتحرك"
#: editor/animation_track_editor.cpp
msgid "Change Animation Interpolation Mode"
-msgstr "تغيير وضع عقدة الحركة"
+msgstr "تغيير وضع التÙسير (Interpolation) للرسم المتحرك"
#: editor/animation_track_editor.cpp
msgid "Change Animation Loop Mode"
-msgstr "تغيير وضع عقدة الحركة"
+msgstr "تغيير وضع عقدة الرسم المتحرك"
#: editor/animation_track_editor.cpp
msgid "Remove Anim Track"
-msgstr "حذ٠مسار التحريك"
+msgstr "إزالة مسار التحريك"
#. TRANSLATORS: %s will be replaced by a phrase describing the target of track.
#: editor/animation_track_editor.cpp
@@ -426,21 +427,22 @@ msgstr "أنشئ"
#: editor/animation_track_editor.cpp
msgid "Anim Insert"
-msgstr "إدخال حركة"
+msgstr "Anim إدخال حركة"
#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
#: editor/animation_track_editor.cpp
msgid "node '%s'"
-msgstr "وحدة '%s'"
+msgstr "الوحدة '%s'"
#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
#: editor/animation_track_editor.cpp
msgid "animation"
-msgstr "رسوم متحركة"
+msgstr "رسم متحرك"
#: editor/animation_track_editor.cpp
msgid "AnimationPlayer can't animate itself, only other players."
-msgstr "اللأعب المتحرك لا يستطيع تحريك Ù†Ùسه ,Ùقط اللاعبين الآخرين."
+msgstr ""
+"لاعب-التحريك (AnimationPlayer) لا يستطيع تحريك Ù†Ùسه ,Ùقط اللاعبين الآخرين."
#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
#: editor/animation_track_editor.cpp
@@ -449,15 +451,15 @@ msgstr "الخاصية '%s'"
#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
-msgstr "أنشي حركة وأدخلها"
+msgstr "Anim أنشئ وأضÙÙ’"
#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
-msgstr "أنشي مسار حركة Ùˆ Ù…Ùتاح"
+msgstr "Anim أضÙÙ’ مسار حركة Ùˆ Ù…Ùتاح"
#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
-msgstr "أض٠مÙتاح الحركة"
+msgstr "Anim أضÙÙ’ Ù…Ùتاح الحركة"
#: editor/animation_track_editor.cpp
msgid "Change Animation Step"
@@ -469,7 +471,7 @@ msgstr "إعادة ترتيب المسارات"
#: editor/animation_track_editor.cpp
msgid "Transform tracks only apply to Spatial-based nodes."
-msgstr "تنطبق مسارات التحويل Ùقط على الحيز المكاني."
+msgstr "تنطبق مسارات التحويل Ùقط على وحدات الحيز المكاني."
#: editor/animation_track_editor.cpp
msgid ""
@@ -478,18 +480,18 @@ msgid ""
"-AudioStreamPlayer2D\n"
"-AudioStreamPlayer3D"
msgstr ""
-"يمكن للمسارات الصوتية أن تشير Ùقط إلى حيز الكتابة:\n"
-"-الصوت الجاري للأعب\n"
-"-الصوت الجاري للأعب ثنائي الأبعاد\n"
-"-الصوت الجاري للأعب ثلاثي الأبعاد"
+"يمكن للمسارات الصوتية Ùقط أن تشير إلى وحدات بنوع:\n"
+"-لاعب الصوت الجاري\n"
+"-لاعب الصوت الجاري للحيز ثنائي الأبعاد\n"
+"-لاعب الصوت الجاري للحيز ثلاثي الأبعاد"
#: editor/animation_track_editor.cpp
msgid "Animation tracks can only point to AnimationPlayer nodes."
-msgstr "مسارات الحركة يمكنها Ùقط أن تشير إلى عÙقد مشغّل الحركة."
+msgstr "مسارات الحركة يمكنها Ùقط أن تشير إلى وحدات مشغّل الرسوم المتحركة."
#: editor/animation_track_editor.cpp
msgid "Not possible to add a new track without a root"
-msgstr "لا يمكن إضاÙØ© مقطع جديد بدون جذر"
+msgstr "لا يمكن إضاÙØ© مقطع جديد بدون جذر (root)"
#: editor/animation_track_editor.cpp
msgid "Invalid track for Bezier (no suitable sub-properties)"
@@ -509,11 +511,11 @@ msgstr "المقطع ليس من نوع مكاني (Spatial), لا يمكن إض
#: editor/animation_track_editor.cpp
msgid "Add Transform Track Key"
-msgstr "أض٠مÙتاح مقطع المتحول (Transform)"
+msgstr "أضÙÙ’ Ù…Ùتاح لمقطع التحويل (Transform Track)"
#: editor/animation_track_editor.cpp
msgid "Add Track Key"
-msgstr "أض٠مÙتاح المقطع"
+msgstr "أضÙÙ’ Ù…Ùتاح المقطع"
#: editor/animation_track_editor.cpp
msgid "Track path is invalid, so can't add a method key."
@@ -521,15 +523,15 @@ msgstr "مسار المقطع غير صالح, إذن لا يمكن إضاÙØ© Ø
#: editor/animation_track_editor.cpp
msgid "Add Method Track Key"
-msgstr "أض٠مÙتاح مقطع الدالة"
+msgstr "أضْ٠مÙتاح لمقطع الدالة (Method Track)"
#: editor/animation_track_editor.cpp
msgid "Method not found in object: "
-msgstr "دالة لم توجد ÙÙŠ شيئ: "
+msgstr "دالة لم توجد ÙÙŠ الكائن: "
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
-msgstr "Ù…Ùتاح حركة التحريك"
+msgstr "Anim تحريك المÙاتيح"
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
@@ -542,7 +544,7 @@ msgstr "لصق المقاطع"
#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
-msgstr "Ù…Ùتاح تكبير حركة"
+msgstr "Anim تكبير المÙاتيح"
#: editor/animation_track_editor.cpp
msgid ""
@@ -550,9 +552,8 @@ msgid ""
msgstr "هذا الخيار لا يعمل لتعديل منحنى بيزر (Bezier), لأنه Ùقط مقطع واحد."
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Add RESET Keys"
-msgstr "Ù…Ùتاح تكبير حركة"
+msgstr "Anim إضاÙØ© Ù…Ùاتيح إعادة تعيين (RESET Keys)"
#: editor/animation_track_editor.cpp
msgid ""
@@ -566,13 +567,13 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
-"هذه الحركة (رسوم متحركة) تنتمي الى مشهد مستورد، لذا Ùإن أي تغييرات ÙÙŠ "
-"المسارات المستوردة لن يتم Ø­Ùظها.\n"
+"هذه الرسوم المتحركة تنتمي الى مشهد مستورد، لذا Ùإن أي تغييرات ÙÙŠ المسارات "
+"المستوردة لن يتم Ø­Ùظها.\n"
"\n"
"لتشغيل الامكانية لإضاÙØ© مسارات خاصة، انتقل إلى إعدادات استيراد المشهد واضبط "
"\"رسوم متحركة > تخزين\" إلى \"ملÙات\"ØŒ\n"
"شغل \"رسوم متحركة > أحتÙظ بالمقاطع (المسارات) المخصصة\"ØŒ ثم اعد الاستيراد.\n"
-"يمكنك ايضاً استخدام إعدادات استيراد مسبقة تقوم باستيراد الرسم المتحرك الى "
+"يمكنك ايضاً استخدام إعدادات استيراد مسبقة تقوم باستيراد الرسوم المتحركة الى "
"ملÙات متÙرقة."
#: editor/animation_track_editor.cpp
@@ -584,6 +585,7 @@ msgid "Select an AnimationPlayer node to create and edit animations."
msgstr "اختر مشغل الرسم المتحرك من شجرة المشهد لكي تنشئ أو تعدل الحركة."
#: editor/animation_track_editor.cpp
+#, fuzzy
msgid "Only show tracks from nodes selected in tree."
msgstr "Ùقط قم بتبين المقاطع من العقد (Nodes) المحددة ÙÙŠ الشجرة."
@@ -678,7 +680,7 @@ msgstr "إستعمل منحنيات بيزر"
#: editor/animation_track_editor.cpp
msgid "Create RESET Track(s)"
-msgstr "إنشاء مسار/ات إعادة التعيين (RESET)"
+msgstr "إنشاء مسار(ات) إعادة التعيين (RESET)"
#: editor/animation_track_editor.cpp
msgid "Anim. Optimizer"
@@ -1127,8 +1129,8 @@ msgid ""
"Depending on your filesystem configuration, the files will either be moved "
"to the system trash or deleted permanently."
msgstr ""
-"هل تريد حذ٠الملÙات المحددة من المشروع؟ (لا يمكن التراجع.)\n"
-"إستنادًا إلى نظام تشغيل جهازك, قد يتم نقل الملÙات إلى سلة المهملات أو حذÙها "
+"هل تريد حذ٠الملÙات المحددة من المشروع؟ (لا يمكن استعادتها.)\n"
+"حسب Ø¥Ùعدادات Ù…Ùدير ملÙات نظام تشغيلك, سيتم نقلها إلى سلة المهملات أو ستحذ٠"
"نهائيًا."
#: editor/dependency_editor.cpp
@@ -1139,10 +1141,10 @@ msgid ""
"Depending on your filesystem configuration, the files will either be moved "
"to the system trash or deleted permanently."
msgstr ""
-"الملÙات التي يتم إزالتها مطلوبة من قبل موارد أخرى من اجل Ø£ÙŽÙ† تعمل.\n"
-"هل تريد إزالتها على أي حال؟ (لا تراجع).\n"
-"حسب Ø¥Ùعدادات Ù…Ùدير ملÙاتÙÙƒ, Ø¥Ùما سيتم نقل الملقات Ø¥Ùلى سلة المÙهملات Ø£ÙŽÙˆ سيتم حذÙها "
-"نهائياً."
+"الملÙات التي يتم إزالتها هي مطلوبة من قبل موارد أخرى لكي تعمل.\n"
+"هل تريد إزالتها على أي حال؟ (لا يمكن التراجع).\n"
+"اعتماداً على Ø¥Ùعدادات Ù…Ùدير ملÙات نظام تشغيلك, سيتم نقلها Ø¥Ùلى سلة المÙهملات Ø£ÙŽÙˆ "
+"سيتم حذÙها نهائياً."
#: editor/dependency_editor.cpp
msgid "Cannot remove:"
@@ -1313,7 +1315,7 @@ msgstr "تراخيص"
#: editor/editor_asset_installer.cpp
msgid "Error opening asset file for \"%s\" (not in ZIP format)."
-msgstr "حدث خطأ عندÙتح مل٠%s الحزمة بسبب أن المل٠ليس ÙÙŠ صيغة \"ZIP\"."
+msgstr "حدث خطأ عند Ùتح مل٠الحزمة لـ \"%s\" (لأنه ليس بصيغة ZIP) ."
#: editor/editor_asset_installer.cpp
msgid "%s (already exists)"
@@ -1527,6 +1529,11 @@ msgstr "تحميل نسق المسار الإÙتراضي."
msgid "Create a new Bus Layout."
msgstr "أنشئ نسق مسار جديد."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Ø¥Ùتح نسق مسار الصوت"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "اسم غير صالح."
@@ -1787,7 +1794,7 @@ msgstr "رصي٠العÙقد"
#: editor/editor_feature_profile.cpp
msgid "FileSystem Dock"
-msgstr "إرساء نظام الملÙات"
+msgstr "رصي٠نظام الملÙات"
#: editor/editor_feature_profile.cpp
msgid "Import Dock"
@@ -2150,12 +2157,11 @@ msgstr "التعليمات على الإنترنت"
#: editor/editor_help.cpp
msgid "Properties"
-msgstr "خاصيات"
+msgstr "خصائص"
#: editor/editor_help.cpp
-#, fuzzy
msgid "overrides %s:"
-msgstr "يتجاوز s%:"
+msgstr "يتجاوز %s:"
#: editor/editor_help.cpp
msgid "default:"
@@ -2163,7 +2169,7 @@ msgstr "الاÙتراضي:"
#: editor/editor_help.cpp
msgid "Methods"
-msgstr "طرق"
+msgstr "دوال"
#: editor/editor_help.cpp
msgid "Theme Properties"
@@ -2296,14 +2302,13 @@ msgid "Property:"
msgstr "خاصية:"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Pin value"
-msgstr "(القيمة)"
+msgstr "القيمة المثبتة"
#: editor/editor_inspector.cpp
msgid ""
"Pinning a value forces it to be saved even if it's equal to the default."
-msgstr "تثبيت القيمةيجْبرَهٌ حتي لو كانت تساوي القيمة الإÙتراضية."
+msgstr "تثبيت القيمة يجْبÙرَه٠على Ø­Ùظها حتى لو كانت تساوي القيمة الإÙتراضية."
#: editor/editor_inspector.cpp
msgid "Pin value [Disabled because '%s' is editor-only]"
@@ -2337,9 +2342,8 @@ msgid "Paste Property"
msgstr "لصق ال"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Copy Property Path"
-msgstr "نسخ مسار النص البرمجي"
+msgstr "نسخ مسار الخاصية"
#: editor/editor_log.cpp
msgid "Output:"
@@ -2495,7 +2499,7 @@ msgstr "ينشئ الصورة المصغرة"
#: editor/editor_node.cpp
msgid "This operation can't be done without a tree root."
-msgstr "هذه العملية لا يمكنها الإكتمال من غير شجرة رئيسة."
+msgstr "هذه العميلة لا يمكن إجرائها من غير جذر رئيسي."
#: editor/editor_node.cpp
msgid ""
@@ -2554,17 +2558,16 @@ msgid ""
"option and delete the Default layout."
msgstr ""
"تم تجاوز اعدادات المحرر الاساسيه.\n"
-"لإستعادة اعدادات المحرر, اذهب إلى خيار 'Delete Layout' من ثم إحÙظ الاعدادات "
-"الاساسيه."
+"لإستعادة اعدادات المحررالأساسية, اذهب إلى خيار 'Delete Layout' من ثم أزل "
+"الاعدادات الاساسيه."
#: editor/editor_node.cpp
msgid "Layout name not found!"
msgstr "إسم النسق غير موجود!"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Restored the Default layout to its base settings."
-msgstr "إسترجاع النسق الإÙتراضي إلي الإعدادات الأساسية."
+msgstr "تم إسترجاع النسق الإÙتراضي (Default layout) لاعدادته٠الأساسية."
#: editor/editor_node.cpp
msgid ""
@@ -2667,11 +2670,12 @@ msgstr ""
"عموما."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"A root node is required to save the scene. You can add a root node using the "
"Scene tree dock."
-msgstr "يتطلب Ø­Ùظ المشهد تواÙر عÙقدة رئيسة."
+msgstr ""
+"يتطلب Ø­Ùظ المشهد تواÙر وحدة رئيسة. يمكنك إضاÙØ© وحدة رئيسية من خلال رصي٠شجرة "
+"المشهد."
#: editor/editor_node.cpp
msgid "Save Scene As..."
@@ -2815,7 +2819,7 @@ msgid ""
msgstr ""
"غير قادر علي تحميل النص البرمجي للإضاÙØ© من المسار: '%s'. يبدو أنه يوجد خطأ "
"ÙÙŠ ذلك النص البرمجي.\n"
-"تعطيل الإضاÙØ© ÙÙŠ '%s' كي لا تحصل أخطاء."
+"تعطيل الإضاÙØ© ÙÙŠ '%s' لتجنب الأخطاء لاحقاً."
#: editor/editor_node.cpp
msgid ""
@@ -2955,7 +2959,7 @@ msgstr "تمكين/إيقا٠الوضع الخالي من الإلهاء."
msgid "Add a new scene."
msgstr "إضاÙØ© مشهد جديد."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "مشهد"
@@ -3040,15 +3044,15 @@ msgstr "إعدادات المشروع..."
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Version Control"
-msgstr "التحكم بالإصدار"
+msgstr "إدارة الإصدارات (Version Control)"
#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
msgid "Set Up Version Control"
-msgstr "إعداد التحكم بالنسخة"
+msgstr "إعداد إدارة الإصدارات (Version Control)"
#: editor/editor_node.cpp
msgid "Shut Down Version Control"
-msgstr "إطÙاء التحكم بالنسخة Version Control"
+msgstr "إطÙاء إدارة الإصدارات (Version Control)"
#: editor/editor_node.cpp
msgid "Export..."
@@ -3059,9 +3063,8 @@ msgid "Install Android Build Template..."
msgstr "تحميل قالب البناء للأندرويد..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Open User Data Folder"
-msgstr "Ùتح مجلّد بيانات المحرّر"
+msgstr "Ø¥Ùتح مجلّد بيانات المستخدم"
#: editor/editor_node.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Tools"
@@ -3069,12 +3072,11 @@ msgstr "أدوات"
#: editor/editor_node.cpp
msgid "Orphan Resource Explorer..."
-msgstr "متصÙØ­ الموارد أورÙان..."
+msgstr "متصÙØ­ الموارد اليتيمة..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Reload Current Project"
-msgstr "إعادة تسمية المشروع"
+msgstr "إعادة تحميل/تشغيل المشروع الحالي"
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -3107,7 +3109,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Small Deploy with Network Filesystem"
-msgstr "نشر مصغر مع نظام ملÙات الشبكة"
+msgstr "نشر صغير مع نظام ملÙات الشبكة"
#: editor/editor_node.cpp
msgid ""
@@ -3183,7 +3185,6 @@ msgid "Synchronize Script Changes"
msgstr "مزامنة تغييرات النص البرمجي"
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"When this option is enabled, any script that is saved will be reloaded in "
"the running project.\n"
@@ -3192,8 +3193,8 @@ msgid ""
msgstr ""
"حينما يكون هذا الإعداد Ù…ÙÙعل، أي نص برمجي يتم Ø­Ùظه سيتم إعادة تحميله ÙÙŠ "
"اللعبة العاملة.\n"
-"حينما يتم إستخدامه عن بÙعد على جهاز، سيكون هذا أكثر Ùعالية مع نظام شبكات "
-"الملÙات."
+"حينما يتم إستخدامه عن بÙعد على جهاز، سيكون أكثر ÙƒÙاءتاً عند تÙعيل إعداد نظام "
+"ملÙات الشبكة."
#: editor/editor_node.cpp editor/script_create_dialog.cpp
msgid "Editor"
@@ -3244,9 +3245,8 @@ msgid "Help"
msgstr "مساعدة"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Online Documentation"
-msgstr "Ùتح الوثائق"
+msgstr "الوثائق الإلكترونية"
#: editor/editor_node.cpp
msgid "Questions & Answers"
@@ -3269,9 +3269,8 @@ msgid "Community"
msgstr "المجتمع"
#: editor/editor_node.cpp
-#, fuzzy
msgid "About Godot"
-msgstr "حول"
+msgstr "حول غو-دوت"
#: editor/editor_node.cpp
msgid "Support Godot Development"
@@ -3287,7 +3286,7 @@ msgstr "تشغيل"
#: editor/editor_node.cpp
msgid "Pause the scene execution for debugging."
-msgstr "إيقا٠المشهد الحالي من أجل المعالجة البرمجية."
+msgstr "إيقا٠المشهد من أجل تنقيح الكبوات البرمجية (debugging)."
#: editor/editor_node.cpp
msgid "Pause Scene"
@@ -3334,7 +3333,7 @@ msgstr "تحديث عند التغيير"
#: editor/editor_node.cpp
#, fuzzy
msgid "Update Vital Changes"
-msgstr "تغيرات المادة:"
+msgstr "تغيرات المادة"
#: editor/editor_node.cpp
msgid "Hide Update Spinner"
@@ -3424,7 +3423,7 @@ msgstr "دمج مع الموجود"
#: editor/editor_node.cpp
#, fuzzy
msgid "Apply MeshInstance Transforms"
-msgstr "تحويل تغيير التحريك"
+msgstr "تطبيق التحويلات ل MeshInstance"
#: editor/editor_node.cpp
msgid "Open & Run a Script"
@@ -3530,7 +3529,6 @@ msgid "Version"
msgstr "الإصدار"
#: editor/editor_plugin_settings.cpp
-#, fuzzy
msgid "Author"
msgstr "المالك"
@@ -3544,14 +3542,12 @@ msgid "Measure:"
msgstr "قياس:"
#: editor/editor_profiler.cpp
-#, fuzzy
msgid "Frame Time (ms)"
-msgstr "وقت الاطار (ميلي ثانية)"
+msgstr "وقت الإطار (مللي ثانية)"
#: editor/editor_profiler.cpp
-#, fuzzy
msgid "Average Time (ms)"
-msgstr "متوسط الوقت (ميلي ثانية)"
+msgstr "متوسط الوقت (مللي ثانية)"
#: editor/editor_profiler.cpp
msgid "Frame %"
@@ -3725,7 +3721,7 @@ msgid ""
"as runnable."
msgstr ""
"لا يوجد إعداد تصدير مسبق عامل لهذه المنصة.\n"
-"من Ùضلك أض٠إعداد تصدير عامل ÙÙŠ قائمة التصدير."
+"من Ùضلك أضÙÙ’ إعداد تصدير عامل ÙÙŠ قائمة التصدير أو عر٠إعداد تصدير موجود كعامل."
#: editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
@@ -3775,9 +3771,8 @@ 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."
@@ -3792,9 +3787,8 @@ msgid "There are no mirrors available."
msgstr "لا يوجد مرايا متوÙرة."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Retrieving the mirror list..."
-msgstr "يستقبل المرايا، من Ùضلك إنتظر..."
+msgstr "يتم استرداد قائمة المرايا، من Ùضلك إنتظر..."
#: editor/export_template_manager.cpp
msgid "Starting the download..."
@@ -3806,7 +3800,7 @@ msgstr "خطأ ÙÙŠ طلب الرابط:"
#: editor/export_template_manager.cpp
msgid "Connecting to the mirror..."
-msgstr "يتم الاتصال بالمرآة..."
+msgstr "يتم الاتصال بالمÙضي٠(المرآة)..."
#: editor/export_template_manager.cpp
msgid "Can't resolve the requested address."
@@ -3857,8 +3851,8 @@ msgstr "هناك خطأ ÙÙŠ جلب قائمة المرايا mirrors."
#, fuzzy
msgid "Error parsing JSON with the list of mirrors. Please report this issue!"
msgstr ""
-"حدث خطأ ÙÙŠ ÙÙƒ (تÙسير parsing) مل٠JSON الخاص بقائمة المرايا. من Ùضلك بلّغ عن "
-"هذه المشكلة!"
+"حدث خطأ ÙÙŠ تÙسير/تحليل (parsing) مل٠JSON الخاص بقائمة المرايا. من Ùضلك بلّغ "
+"عن هذه المشكلة!"
#: editor/export_template_manager.cpp
msgid "Best available mirror"
@@ -3917,7 +3911,7 @@ msgstr "خطأ مطابقة ssl"
#: editor/export_template_manager.cpp
#, fuzzy
msgid "Can't open the export templates file."
-msgstr "لم نستطع Ùتح المل٠المضغوط المÙورد."
+msgstr "لا نستطيع Ùتح مل٠القوالب."
#: editor/export_template_manager.cpp
msgid "Invalid version.txt format inside the export templates file: %s."
@@ -3926,12 +3920,12 @@ msgstr "صيغة غير صالحة ل version.txt داخل مل٠القالب:
#: editor/export_template_manager.cpp
#, fuzzy
msgid "No version.txt found inside the export templates file."
-msgstr "لا مل٠version.txt تم إيجاده داخل القالب."
+msgstr "لم يتم إيجاد مل٠version.txt ÙÙŠ داخل مل٠القالب."
#: editor/export_template_manager.cpp
#, fuzzy
msgid "Error creating path for extracting templates:"
-msgstr "خطأ ÙÙŠ إنشاء المسار للقوالب:"
+msgstr "خطأ ÙÙŠ إنشاء المسار لاستخراج القوالب:"
#: editor/export_template_manager.cpp
msgid "Extracting Export Templates"
@@ -3966,9 +3960,8 @@ msgid "Export templates are installed and ready to be used."
msgstr "تم تنصيب قوالب التصدير وهي جاهزة للاستعمال."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Open Folder"
-msgstr "اÙتح الملÙ"
+msgstr "اÙتح المجلد"
#: editor/export_template_manager.cpp
msgid "Open the folder containing installed templates for the current version."
@@ -3989,12 +3982,11 @@ msgstr "التحميل من:"
#: editor/export_template_manager.cpp
#, fuzzy
msgid "Open in Web Browser"
-msgstr "تشغيل ÙÙŠ المتصÙØ­"
+msgstr "Ø£Ùتحه٠ÙÙŠ المتصÙØ­"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Copy Mirror URL"
-msgstr "خطأ ÙÙŠ نسخ"
+msgstr "انسخ عنوان URL المرآة"
#: editor/export_template_manager.cpp
msgid "Download and Install"
@@ -4025,19 +4017,16 @@ msgid "Cancel"
msgstr "إلغاء"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Cancel the download of the templates."
-msgstr "لم نستطع Ùتح المل٠المضغوط المÙورد."
+msgstr "إلغاء تحميل القوالب."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Other Installed Versions:"
-msgstr "النسخة المÙثبتة:"
+msgstr "نسخ Ù…Ùثبتة اخرى:"
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Uninstall Template"
-msgstr "إلغاء التثبيت"
+msgstr "إلغاء تثبيت القالب"
#: editor/export_template_manager.cpp
msgid "Select Template File"
@@ -4111,6 +4100,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 ""
@@ -4204,9 +4196,8 @@ msgid "Collapse All"
msgstr "طوي الكل"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Sort files"
-msgstr "بحث الملÙات"
+msgstr "رتبْ الملÙات"
#: editor/filesystem_dock.cpp
msgid "Sort by Name (Ascending)"
@@ -4225,9 +4216,8 @@ msgid "Sort by Type (Descending)"
msgstr "صنّ٠وÙقاً للنوع (تنازلياً)"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Sort by Last Modified"
-msgstr "آخر ما تم تعديله"
+msgstr "رتب من آخر ما تم تعديله"
#: editor/filesystem_dock.cpp
msgid "Sort by First Modified"
@@ -4313,6 +4303,7 @@ msgid "Folder:"
msgstr "مجلد:"
#: editor/find_in_files.cpp
+#, fuzzy
msgid "Filters:"
msgstr "تنقيات:"
@@ -4334,22 +4325,20 @@ 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
msgid "Find: "
-msgstr "إيجاد: "
+msgstr "جدْ: "
#: editor/find_in_files.cpp
msgid "Replace: "
msgstr "إستبدال: "
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Replace All (NO UNDO)"
-msgstr "إستبدال الكل"
+msgstr "إستبدال الكل (لا رجوع)"
#: editor/find_in_files.cpp
msgid "Searching..."
@@ -4531,7 +4520,7 @@ msgstr "إخلاء الإÙتراضي Ù„ '%s'"
#: editor/import_dock.cpp
msgid "Reimport"
-msgstr "إعادة إستيراد"
+msgstr "إعادة الاستيراد"
#: editor/import_dock.cpp
msgid ""
@@ -4540,6 +4529,10 @@ msgid ""
"Selecting another resource in the FileSystem dock without clicking Reimport "
"first will discard changes made in the Import dock."
msgstr ""
+"لديك تغييرات معلقة لم تطبقها حتى الآن. اضغط على إعادة الاستيراد لتطبيق "
+"التغييرات التي تم اجراؤها من خيارات الاستيراد.\n"
+"اختيار مورد آخر ÙÙŠ رصي٠نظام-الملÙات من دون الضغط على إعادة الاستيراد أولاً "
+"سيؤدي إلى اهمال التغييرات التي تم اجراؤها ÙÙŠ رصي٠الاستيراد."
#: editor/import_dock.cpp
msgid "Import As:"
@@ -4566,21 +4559,19 @@ msgstr "تحذير: هناك Ù…Ùلحقات تستخدم هذا المورد، Ø
msgid ""
"Select a resource file in the filesystem or in the inspector to adjust "
"import settings."
-msgstr ""
+msgstr "إختر مل٠مورد ÙÙŠ نظام الملÙات أو ÙÙŠ المÙتÙحص لضبط إعدادت الاستيراد."
#: editor/inspector_dock.cpp
msgid "Failed to load resource."
msgstr "Ùشل تحميل المورد."
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Copy Properties"
-msgstr "خاصيات"
+msgstr "إنسخ الخاصيات"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Paste Properties"
-msgstr "خاصيات"
+msgstr "إلصق الخاصيات"
#: editor/inspector_dock.cpp
msgid "Make Sub-Resources Unique"
@@ -4605,23 +4596,21 @@ msgid "Save As..."
msgstr "Ø­Ùظ باسم..."
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Extra resource options."
-msgstr "ليس ÙÙŠ مسار الموارد."
+msgstr "أختيارات اضاÙية للمورد."
#: editor/inspector_dock.cpp
#, fuzzy
msgid "Edit Resource from Clipboard"
-msgstr "تحرير حاÙظة الموارد"
+msgstr "تحرير المورد من الحاÙظة (Clipboard)"
#: editor/inspector_dock.cpp
msgid "Copy Resource"
msgstr "نسخ الموارد"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Make Resource Built-In"
-msgstr "إجعله Ù…Ùدمج"
+msgstr "إجعل المورد Ù…Ùدمج"
#: editor/inspector_dock.cpp
msgid "Go to the previous edited object in history."
@@ -4648,9 +4637,8 @@ msgid "Filter properties"
msgstr "خصائص التصÙية"
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Manage object properties."
-msgstr "خصائص العنصر."
+msgstr "إدارة خصائص الكائن."
#: editor/inspector_dock.cpp
msgid "Changes may be lost!"
@@ -4806,8 +4794,8 @@ msgid ""
"Activate to enable playback, check node warnings if activation fails."
msgstr ""
"شجرة الرسومات المتحركة غير Ùعالة.\n"
-"Ùعلها لتتمكن من التشغيل playbackØŒ تÙقد التنبيه الذي تصدره العÙقدة إن Ùشل "
-"التÙعيل."
+"Ùعلها لتتمكن من التشغيل playbackØŒ تÙقد تنبيهات/تحذيرات التي تصدرها الوحدة "
+"إذا Ùشل التÙعيل."
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
@@ -4867,6 +4855,7 @@ msgid "Remove BlendSpace2D Triangle"
msgstr "إزالة مثلث الدمج الÙضائي ثنائي البÙعد BlendSpace2D"
#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
msgid "BlendSpace2D does not belong to an AnimationTree node."
msgstr ""
"إن BlendSpace2D لا ينتمي إلى عÙقدة شجرة الرسومات المتحركة AnimationTree."
@@ -4907,11 +4896,11 @@ msgstr "تعديل المÙرشحات"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Output node can't be added to the blend tree."
-msgstr "لا يمكن إضاÙØ© عÙقدة المخرجات إلى شجرة الدمج."
+msgstr "لا يمكن إضاÙØ© مخرجات الوحدة إلى شجرة الدمج."
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Add Node to BlendTree"
-msgstr "إضاÙØ© عÙقدة إلى شجرة الدمج BlendTree"
+msgstr "أضÙÙ’ وحدة إلى شجرة الدمج"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Node Moved"
@@ -5266,7 +5255,7 @@ msgstr "تمت إزالة الكائن"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Transition Removed"
-msgstr "تمت إزالة النقل"
+msgstr "تمت إزالة الانتقال"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Set Start Node (Autoplay)"
@@ -5284,11 +5273,11 @@ msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Create new nodes."
-msgstr "إنشاء عÙقد جديدة."
+msgstr "إنشاء وحدات جديدة."
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Connect nodes."
-msgstr "توصيل عقد."
+msgstr "ربط الوحدات."
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Remove selected node or transition."
@@ -5311,7 +5300,7 @@ msgstr "الانتقال: "
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
-msgstr "وضع اللعب:"
+msgstr "وضع التشغيل:"
#: editor/plugins/animation_tree_editor_plugin.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
@@ -5325,7 +5314,7 @@ msgstr "إسم جديد:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
-msgstr "تكبير/تصغير:"
+msgstr "تغيير الأبعاد:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
@@ -5400,11 +5389,11 @@ msgstr "مسح المدخله"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
-msgstr "شجرة الحركة صحيحة."
+msgstr "شجرة التحريك صالحةٌ."
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
-msgstr "شجرة الحركة خاطئة."
+msgstr "شجرة التحريك غير صالحة."
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
@@ -5500,7 +5489,7 @@ msgstr "Ùشل إتمام الطلب٫ الرمز الذي تم إرجاعه:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Cannot save response to:"
-msgstr "لا يمكن الحÙظ بسبب:"
+msgstr "لا يمكن Ø­Ùظ الرد الى:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
@@ -5512,11 +5501,11 @@ msgstr "Ùشل الطلب٫ السبب هو اعادة التحويل مرات Ø
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Redirect loop."
-msgstr "اعادة توجيه حلقة التكرار."
+msgstr "حلقة إعادة التوجيه."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, timeout"
-msgstr "Ùشل الطلب ØŒ انتهت المهلة"
+msgstr "Ùشل الطلب، انتهت المهلة"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Timeout."
@@ -5548,7 +5537,7 @@ msgstr "خطأ ÙÙŠ تنزيل الأصول:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Downloading (%s / %s)..."
-msgstr "جاري التنزيل (%s / %s)..."
+msgstr "جاري تنزيل (%s / %s)..."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Downloading..."
@@ -5679,14 +5668,12 @@ msgid "Audio Preview Play/Pause"
msgstr "معاينة الصوت شغّل/أوقÙ"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
-#, fuzzy
msgid ""
"Can't determine a save path for lightmap images.\n"
"Save your scene and try again."
msgstr ""
-"لا يمكن تحديد مسار Ø­Ùظ لصور خرائط الضوء.\n"
-"احÙظ مشهدك (لكي تحÙظ الصور ÙÙŠ المسار ذاته), او اختر مسار Ø­Ùظ لخصائص خرائط "
-"الضوء المعدة مسبقا."
+"لا يمكن تحديد مسار الحÙظ لصور خرائط الضوء.\n"
+"احÙظ مشهدك ثم حاول مجدداً."
#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
@@ -5694,12 +5681,12 @@ msgid ""
"No meshes to bake. Make sure they contain an UV2 channel and that the 'Use "
"In Baked Light' and 'Generate Lightmap' flags are on."
msgstr ""
-"لايوجد ميش لكي يتم تجهيزة. تاكد من انه يحتوي على منÙØ° UV2 Ùˆ ان زر الضوء "
-"'المعد' Ù…Ùعل."
+"لا يوجد ميش ليتم تجهيزهÙ. تأكد أنه٠يحتوي على منÙØ° UV2 Ùˆ أن علامتا 'الأستخدام "
+"ÙÙŠ الضوء المخبوز ' Ùˆ 'أنتج خريطة ضوئية' Ù…Ùعلتان."
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Failed creating lightmap images, make sure path is writable."
-msgstr "لا يمكن انشاء خرائط الضوء, تاكد من ان المسار صحيح."
+msgstr "لا يمكن انشاء خرائط الضوء, تاكد من ان المسار صحيح و قابل للكتابه."
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Failed determining lightmap size. Maximum lightmap size too small?"
@@ -5710,22 +5697,26 @@ msgid ""
"Some mesh is invalid. Make sure the UV2 channel values are contained within "
"the [0.0,1.0] square region."
msgstr ""
-"بعض الشبكات غير صالحة. تأكد من احتواء قيم قناة UV2 داخل منطقة مربعة "
+"بعض المجسمات غير صالحة. تأكد من احتواء قيم قنوات UV2 ÙÙŠ داخل منطقة مربعة "
"[0.0،1.0]."
#: editor/plugins/baked_lightmap_editor_plugin.cpp
-#, fuzzy
msgid ""
"Godot editor was built without ray tracing support, lightmaps can't be baked."
-msgstr "تم تجميع محرر Godot دون دعم لتتبع الأشعة. لا يمكن بناء خرائط الإضاءة."
+msgstr ""
+"تم تجميع محرر غو-دوت بدون دعم لتتبع الأشعة. لذلك لا يمكن بناء خرائط ضوئية."
#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Bake Lightmaps"
msgstr "إعداد خرائط الضوء"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
-msgstr "حدد مل٠الخريطة الضوئية:"
+msgstr "حدد مل٠الخريطة الضوئية (lightmap):"
#: editor/plugins/camera_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5738,7 +5729,7 @@ msgstr "تعديل اللقطة"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Grid Offset:"
-msgstr "معادل الشبكة:"
+msgstr "مقدار إزاحة الشبكة:"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Grid Step:"
@@ -5746,7 +5737,7 @@ msgstr "خطوة الشبكة:"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Primary Line Every:"
-msgstr "الأخط الأولي ÙƒÙÙ„:"
+msgstr "الخط الأساسي عند:"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "steps"
@@ -5754,7 +5745,7 @@ msgstr "خطوات"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotation Offset:"
-msgstr "معادل الدوران:"
+msgstr "مقدار إزاحة الدوران:"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotation Step:"
@@ -5774,7 +5765,7 @@ msgstr "إنشاء موجه عمودي جديد"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Remove Vertical Guide"
-msgstr "مسح الموجه العمودي"
+msgstr "ازالة الموجه العمودي"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move Horizontal Guide"
@@ -5797,19 +5788,16 @@ msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)"
msgstr "تعيين إزاحة \"CanvasItem \"%s المحورية إلى (%d, %d)"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Rotate %d CanvasItems"
-msgstr "تدوير العنصر القماشي"
+msgstr "تدوير%d من عناصر-اللوحة"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Rotate CanvasItem \"%s\" to %d degrees"
-msgstr "تدوير العنصر القماشي"
+msgstr "تدوير عنصر-اللوحة \"%s\" الى %d درجة"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Move CanvasItem \"%s\" Anchor"
-msgstr "تحريك العنصر القماشي"
+msgstr "تحريك مرساة عنصر-اللوحة \"%s\""
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Scale Node2D \"%s\" to (%s, %s)"
@@ -5820,24 +5808,20 @@ msgid "Resize Control \"%s\" to (%d, %d)"
msgstr "تغيير حجم عنصر التحكم \"٪ s\" إلى (٪ d،٪ d)"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Scale %d CanvasItems"
-msgstr "مقياس العنصر القماشي"
+msgstr "تغيير حجم عناصر-اللوحة %d"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Scale CanvasItem \"%s\" to (%s, %s)"
-msgstr "مقياس العنصر القماشي"
+msgstr "تغيير حجم عنصر-اللوحة \"%s\" الى (%s, %s)"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Move %d CanvasItems"
-msgstr "تحريك العنصر القماشي"
+msgstr "تحريك %d من عناصر-اللوحات"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Move CanvasItem \"%s\" to (%d, %d)"
-msgstr "تحريك العنصر القماشي"
+msgstr "تحريك عنصر-اللوحة \"%s\" الى (%d, %d)"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5849,7 +5833,7 @@ msgstr "Ø­Ùدد القÙÙ„"
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Grouped"
-msgstr "المجموعات"
+msgstr "Ù…Ùجَمعَ"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid ""
@@ -5951,24 +5935,23 @@ msgstr "تغيير المرتكزات"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid ""
"Project Camera Override\n"
"Overrides the running project's camera with the editor viewport camera."
msgstr ""
-"تجاوز كاميرا اللعبة.\n"
-"تجاوز كاميرا اللعبة عن طريق كاميرا إطار العرض ÙÙŠ المحرر."
+"تجاوز كاميرا المشروع.\n"
+"يتجاوز كاميرا المشروع Ùˆ يستخدم بدلها كاميرا إطار العرض ÙÙŠ المحرر."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid ""
"Project Camera Override\n"
"No project instance running. Run the project from the editor to use this "
"feature."
msgstr ""
"تجاوز كاميرا المشروع.\n"
-"ليس هناك مشروع يعمل حالياً. شغل المشروع من المحرر لاستعمال هذه الميزة."
+"ليس هناك نسخة من المشروع قيد التشغيل حالياً. قم بتشغيل المشروع من المحرر "
+"لاستعمال هذه الميزة."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -6034,9 +6017,8 @@ msgstr "تحديد الوضع"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Drag: Rotate selected node around pivot."
-msgstr "ازالة الكائن المحدد او الإنتقال المحدد."
+msgstr "أسحبْ: تدوير الوحدة المحددة حول النقطة المحورية."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Alt+Drag: Move selected node."
@@ -6047,15 +6029,14 @@ msgid "Alt+Drag: Scale selected node."
msgstr "Alt+سحب: لتغيير حجم الوحدة المحددة."
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "V: Set selected node's pivot position."
-msgstr "ازالة الكائن المحدد او الإنتقال المحدد."
+msgstr "V: تعيين نقطة المحور للوحدة المحددة."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Alt+RMB: Show list of all nodes at position clicked, including locked."
msgstr ""
-"Alt + زر الÙأرة الأيمن: أظهر قائمة لكل الوحدات ÙÙŠ المنطقة المضغوطة، متضمنة "
+"Alt + زر-الÙأرة-الأيمن: أظهر قائمة لكل الوحدات ÙÙŠ المنطقة المضغوطة، متضمنة "
"المقÙلة منها."
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -6079,7 +6060,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
@@ -6180,7 +6161,7 @@ msgstr "Ù‚ÙÙ„ العنصر المحدد ÙÙŠ هذا المكان (لا يمكن
#: 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
@@ -6191,7 +6172,7 @@ msgstr "إلغاء القÙÙ„ عن هذا العنصر (يمكن تحريكه ا
#: 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
@@ -6202,7 +6183,7 @@ msgstr "تأكد من أن الطÙÙ„ للعنصر غير قابل للتحديØ
#: 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
@@ -6213,7 +6194,7 @@ msgstr "إرجاع مقدرة تحديد الطÙÙ„ للعنصر."
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Ungroup Selected Node(s)"
-msgstr "Ø­Ùدد إلغاء التجميع"
+msgstr "إلغاء جمعْ الوحدة(الوحدات) المحددة"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Skeleton Options"
@@ -6325,9 +6306,8 @@ msgid "Clear Pose"
msgstr "إخلاء الوضع"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Add Node Here"
-msgstr "إضاÙØ© عÙقدة"
+msgstr "أضÙÙ’ وحدة هنا"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
@@ -6402,7 +6382,7 @@ msgstr "لا يمكن إضاÙØ© وحدات متعددة بدون الوحدةا
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Create Node"
-msgstr "إنشاء عقدة"
+msgstr "إنشاء وحدة"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
@@ -6472,8 +6452,9 @@ msgstr "قناع الانبعاث"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
+#, fuzzy
msgid "Solid Pixels"
-msgstr "البكسيلات الأساسية Solid Pixels"
+msgstr "البكسيلات الأساسية (Solid Pixels)"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
@@ -6630,9 +6611,8 @@ msgid "Couldn't create a single convex collision shape."
msgstr "لم يتم إنشاء شكل محدب تصادمي وحيد."
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Simplified Convex Shape"
-msgstr "أنشئ شكل محدب وحيد"
+msgstr "إنشاء شكل Ù…Ùحدب مبسط"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Single Convex Shape"
@@ -6732,9 +6712,8 @@ msgstr ""
"هذا هو الخيار الأسرع (لكنه الأقل دقة) للكش٠عن وقوع التصادم."
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "Create Simplified Convex Collision Sibling"
-msgstr "إنشاء شقيق تصادم محدب Ù…Ùرد"
+msgstr "إنشاء شقيق تصادم Ù…Ùحدب مبسط"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid ""
@@ -6751,14 +6730,13 @@ msgid "Create Multiple Convex Collision Siblings"
msgstr "إنشاء أشقاء تصادم محدب متعددة"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid ""
"Creates a polygon-based collision shape.\n"
"This is a performance middle-ground between a single convex collision and a "
"polygon-based collision."
msgstr ""
-"إنشاء شكل تصادمي Ù…Ùضلعي الهيئة.\n"
-"هذا الخيار \\Ù…Ùتوسط الأداء بين الخيارين أعلاه."
+"ينشئ شكل تصادم قائم على المضلع.\n"
+"هذا الخيار Ù…Ùتوسط الأداء بين التصادم Ù…Ùحدب مبسط وحيد Ùˆ تصادم قائم على المضلع."
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh..."
@@ -6825,14 +6803,12 @@ msgid "Remove Selected Item"
msgstr "مسح العنصر المحدد"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "Import from Scene (Ignore Transforms)"
-msgstr "إستيراد من المشهد"
+msgstr "إستيراد من المشهد (تجاهل التحويلات)"
#: editor/plugins/mesh_library_editor_plugin.cpp
-#, fuzzy
msgid "Import from Scene (Apply Transforms)"
-msgstr "إستيراد من المشهد"
+msgstr "إستيراد من المشهد (مع وضع التحويلات)"
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Update from Scene"
@@ -6950,12 +6926,11 @@ msgstr "توليد Rect الرؤية"
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Can only set point into a ParticlesMaterial process material"
-msgstr "لا يمكن إنشاء سوى نقطة وحيدة داخل ParticlesMaterial معالج المواد"
+msgstr "لا يمكن إنشاء سوى نقطة وحيدة داخل معالج المواد لـ ParticlesMaterial"
#: editor/plugins/particles_2d_editor_plugin.cpp
-#, fuzzy
msgid "Convert to CPUParticles2D"
-msgstr "تحويل إلى %s"
+msgstr "حولْ إلى جسيمات-ثنائية-البÙعد-لوحدة-المعالجة-المركزية (CPUParticles2D)"
#: editor/plugins/particles_2d_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
@@ -7020,7 +6995,7 @@ msgstr "ولد رؤية AABB"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Remove Point from Curve"
-msgstr "إزالة نقطة من المنحنى"
+msgstr "إزالة النقطة من المنحنى"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Remove Out-Control from Curve"
@@ -7247,18 +7222,16 @@ msgid "Move Points"
msgstr "تحريك النقاط"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Command: Rotate"
-msgstr "سحب: للتدوير"
+msgstr "Command: استدارة"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Shift: Move All"
msgstr "Shift: تحريك الكÙÙ„"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Shift+Command: Scale"
-msgstr "Shift+Ctrl: تحجيم"
+msgstr "Shift+Command: تغيير الحجم"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Ctrl: Rotate"
@@ -7304,14 +7277,12 @@ msgid "Radius:"
msgstr "نص٠القطر:"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Copy Polygon to UV"
-msgstr "إنشاء Ù…Ùضلع ÙˆUV"
+msgstr "إنسخ المÙضلع إلى UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Copy UV to Polygon"
-msgstr "تحويل إلى Ù…Ùضلع ثنائي الأبعاد"
+msgstr "إنسخ ال UV إلى المÙضلع"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Clear UV"
@@ -7412,38 +7383,32 @@ msgid "ResourcePreloader"
msgstr "مورد محمل سلÙاً"
#: editor/plugins/room_manager_editor_plugin.cpp
-#, fuzzy
msgid "Flip Portals"
-msgstr "القلب Ø£Ùقياً"
+msgstr "إقلبْ البوابات"
#: editor/plugins/room_manager_editor_plugin.cpp
-#, fuzzy
msgid "Room Generate Points"
-msgstr "عدد النقاط المولدة"
+msgstr "تم توليد نقاط للغرÙØ©"
#: editor/plugins/room_manager_editor_plugin.cpp
-#, fuzzy
msgid "Generate Points"
-msgstr "عدد النقاط المولدة"
+msgstr "قم بتوليد نقاط"
#: editor/plugins/room_manager_editor_plugin.cpp
-#, fuzzy
msgid "Flip Portal"
-msgstr "القلب Ø£Ùقياً"
+msgstr "إقلبْ البوابة"
#: editor/plugins/room_manager_editor_plugin.cpp
-#, fuzzy
msgid "Occluder Set Transform"
-msgstr "محو التَحَوّل"
+msgstr "تم تغيير تحويل ال Occluder"
#: editor/plugins/room_manager_editor_plugin.cpp
-#, fuzzy
msgid "Center Node"
-msgstr "إنشاء عقدة"
+msgstr "حركْ الوحدة للمنتصÙ"
#: editor/plugins/root_motion_editor_plugin.cpp
msgid "AnimationTree has no path set to an AnimationPlayer"
-msgstr "لا تملك شجرة الرسومات المتحركة مساراً لمشغل الرسومات المتحركة"
+msgstr "لا تملك شجرة التحريك مساراً لمشغل الرسومات المتحركة"
#: editor/plugins/root_motion_editor_plugin.cpp
msgid "Path to AnimationPlayer is invalid"
@@ -7871,9 +7836,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"
@@ -7949,14 +7913,12 @@ msgid "Skeleton2D"
msgstr "هيكل ثنائي البÙعد"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
-#, fuzzy
msgid "Reset to Rest Pose"
-msgstr "تحديد العظام لتكون ÙÙŠ وضعية الراحة"
+msgstr "إعادة تعيين العظام للوضعية الاÙتراضية (Rest Pose)"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
-#, fuzzy
msgid "Overwrite Rest Pose"
-msgstr "الكتابة المÙتراكبة Overwrite"
+msgstr "الكتابة Ùوق الوضعية الاÙتراضية (Rest Pose)"
#: editor/plugins/skeleton_editor_plugin.cpp
msgid "Create physical bones"
@@ -8252,7 +8214,13 @@ msgid "Cinematic Preview"
msgstr "معاينة سينمائية"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "غير متواÙر عند استخدام الخرج البصري GLES2 ."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8288,9 +8256,8 @@ msgid "Freelook Slow Modifier"
msgstr "Ù…Ùعدّل تباطؤ الرؤية الحÙرة"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Camera Preview"
-msgstr "غيّر حجم الكاميرا"
+msgstr "تÙعيل/تعطيل العرض المسبق للكاميرا"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Rotation Locked"
@@ -8300,7 +8267,8 @@ msgstr "تدوير الرؤية مقÙول"
msgid ""
"To zoom further, change the camera's clipping planes (View -> Settings...)"
msgstr ""
-"للتكبير بشكل أكبر ، قم بتغيير مستويات اقتصاص الكاميرا (عرض -> الإعدادات ...)"
+"للتكبير بشكل أكبر ، قم بتغيير مستويات اقتصاص (clipping planes) للكاميرا (عرض "
+"-> الإعدادات ...)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid ""
@@ -8335,9 +8303,8 @@ msgstr ""
"السينية\")."
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Snap Nodes to Floor"
-msgstr "محاذاة العÙقد إلى الأرضية"
+msgstr "محاذاة الوحدات إلى الأرضية"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Couldn't find a solid floor to snap the selection to."
@@ -8429,9 +8396,8 @@ msgid "Increase Field of View"
msgstr "زدْ مجال الرؤية"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Reset Field of View to Default"
-msgstr "إعادة التعيين إلى الاÙتراضي"
+msgstr "إعادة تعيين مجال الرؤية إلى الاÙتراضي"
#: editor/plugins/spatial_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8713,9 +8679,8 @@ msgid "New Animation"
msgstr "رسومية متحركة جديدة"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Speed:"
-msgstr "السرعة (إطار Ù. Ø«. FPS):"
+msgstr "السرعة:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Loop"
@@ -8806,9 +8771,8 @@ msgid "Step:"
msgstr "الخطوة:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Separation:"
-msgstr "التعدادات:"
+msgstr "التباعÙدات:"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "TextureRegion"
@@ -8888,12 +8852,11 @@ msgstr "تحديث المحرر"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Finalizing"
-msgstr "جاري التحليل"
+msgstr "جاري إنهاء الاستيراد"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Filter:"
-msgstr "تنقيات:"
+msgstr "تصÙية:"
#: editor/plugins/theme_editor_plugin.cpp
msgid "With Data"
@@ -9188,6 +9151,11 @@ msgstr "حذ٠المورد:"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "إعادة تسمية المورد"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "استيراد الموضوع Theme"
@@ -9200,9 +9168,8 @@ msgid "Filter the list of types or create a new custom type:"
msgstr "قم بتصÙية قائمة الأنواع أو قم بأنشاء نوع جديد:"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Available Node-based types:"
-msgstr "الملÙات المتواÙرة:"
+msgstr "أنواع المستندة-إلى-الوحدات المتواÙرة:"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Type name is empty!"
@@ -9237,6 +9204,20 @@ msgstr ""
"المشابهة ÙÙŠ جميع صناديق المظهر من هذا النوع."
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr "إضاÙØ© نوع للعنصر"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "تحيد نوع المتغير"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "تعديل النوع الأساس"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "أظهر الإÙتراضي"
@@ -9253,8 +9234,19 @@ msgid "Override all default type items."
msgstr "تجاوز جميع أنواع العناصر الاÙتراضية."
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr "إضاÙØ© نوع للعنصر"
+#, fuzzy
+msgid "Base Type"
+msgstr "تعديل النوع الأساس"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -9263,16 +9255,15 @@ msgstr "الموضوع:"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Manage Items..."
-msgstr "إدارة الأنواع..."
+msgstr "إدارة العناصر..."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Add, remove, organize and import Theme items."
-msgstr "أضÙØŒ أزل، رتّب واستورد عناصر القالب."
+msgstr "أضÙÙ’ØŒ أزلْ، رتّبْ واستوردْ عناصر القالب."
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Add Preview"
-msgstr "عرض"
+msgstr "إضاÙØ© عرض مسبق"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -9611,7 +9602,7 @@ msgstr "نسخ قناع-البÙت."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Paste bitmask."
-msgstr "لصق قناع البÙت"
+msgstr "لصق قناع-البÙت."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Erase bitmask."
@@ -9977,30 +9968,16 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr "Ùروع"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Create New Branch"
-msgstr "إنشاء مشروع جديد"
+msgstr "إنشاء Ùرع جديد"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remove Branch"
-msgstr "حذ٠مسار التحريك"
+msgstr "إزالة Ùرع"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branch Name"
@@ -11284,7 +11261,7 @@ msgstr "Ù…Ùحرك الإخراج البصري:"
#: editor/project_manager.cpp
msgid "OpenGL ES 3.0"
-msgstr "OpenGL ES 3.0"
+msgstr "خلÙية بدعم OpenGL ES 3.0"
#: editor/project_manager.cpp
msgid "Not supported by your GPU drivers."
@@ -11304,7 +11281,7 @@ msgstr ""
#: editor/project_manager.cpp
msgid "OpenGL ES 2.0"
-msgstr "OpenGL ES 2.0"
+msgstr "خلÙية بدعم OpenGL ES 2.0"
#: editor/project_manager.cpp
msgid ""
@@ -11412,12 +11389,10 @@ msgid "Are you sure to run %d projects at once?"
msgstr "هل أنت متأكد من Ùتح %d مشاريع مرّة واحدة؟"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Remove %d projects from the list?"
-msgstr "أتريد إزالة %d من المشاريع من القائمة؟"
+msgstr "أتريد إزالة %d مشروع من القائمة؟"
#: editor/project_manager.cpp
-#, fuzzy
msgid "Remove this project from the list?"
msgstr "أتريد إزالة هذا المشروع من القائمة؟"
@@ -12151,7 +12126,7 @@ msgstr "Ùصل النص البرمجي"
#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
-msgstr "لا يمكن إجراء هذه العملية على جذر الشجرة."
+msgstr "لا يمكن إجراء هذه العملية على الجذر الرئيسي."
#: editor/scene_tree_dock.cpp
msgid "Move Node In Parent"
@@ -12433,9 +12408,9 @@ msgid ""
"every time it updates.\n"
"Switch back to the Local scene tree dock to improve performance."
msgstr ""
-"إذا تم تحديده ØŒ Ùسيؤدي شجرة المشهد إلى توق٠المشروع ÙÙŠ كل مرة يتم Ùيها "
-"تحديثه.\n"
-"قم بالتبديل مرة أخرى إلى رصي٠شجرة المشهد المحلي لتحسين الأداء."
+"إذا تم تحديده ØŒ Ùسيؤدي شجرة المشهد البعيده (Remote) إلى توق٠المشروع ÙÙŠ كل "
+"مرة يتم تحديث المشروع.\n"
+"قمْ بالتبديل مرة أخرى إلى رصي٠شجرة المشهد المحلي لتحسين الأداء."
#: editor/scene_tree_dock.cpp
msgid "Local"
@@ -12750,6 +12725,11 @@ msgid "Stack Frames"
msgstr "حزم الإطارات Stack Frames"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "تنقية البلاطات"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Ù…Ùنشئ الملÙات التعريÙية Profiler"
@@ -13007,7 +12987,7 @@ msgstr "مكتبات: "
#: modules/gdnative/register_types.cpp
msgid "GDNative"
-msgstr "GDNative"
+msgstr "لغة البرمجة GDNative"
#: modules/gdscript/gdscript_functions.cpp
msgid "Step argument is zero!"
@@ -13491,7 +13471,7 @@ msgstr "إضاÙØ© عÙقدة"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Node(s) From Tree"
-msgstr "إضاÙØ© عÙقدة (عÙقد) من الشجرة"
+msgstr "أضÙÙ’ وحدة(وحدات) من الشجرة"
#: modules/visual_script/visual_script_editor.cpp
msgid ""
@@ -14008,9 +13988,8 @@ msgid "Running on %s"
msgstr "يعمل على %s"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Exporting APK..."
-msgstr "تصدير APK..."
+msgstr "جاري تصدير APK..."
#: platform/android/export/export_plugin.cpp
msgid "Uninstalling..."
@@ -14022,9 +14001,8 @@ msgid "Installing to device, please wait..."
msgstr "يستقبل المرايا، من Ùضلك إنتظر..."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Could not install to device: %s"
-msgstr "لم يتمكن من التثبيت على الجهاز: %s"
+msgstr "لم نتمكن من التثبيت على الجهاز: %s"
#: platform/android/export/export_plugin.cpp
#, fuzzy
@@ -14088,7 +14066,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid "Missing 'platform-tools' directory!"
-msgstr "دليل ملÙات \"أدوات-المنصة platform-tools\" Ù…Ùقود!"
+msgstr "المجلد 'أدوات-المنصة (platform-tools)' Ù…Ùقود!"
#: platform/android/export/export_plugin.cpp
msgid "Unable to find Android SDK platform-tools' adb command."
@@ -14122,9 +14100,10 @@ msgstr "اسم رÙزمة غير صالح:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"وحدة \"GodotPaymentV3\" المضمنة ÙÙŠ إعدادات المشروع \"android / modules\" غير "
-"صالحة (تم تغييره ÙÙŠ Godot 3.2.2).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
@@ -14205,9 +14184,8 @@ msgid "'apksigner' returned with error #%d"
msgstr "أعاد 'apksigner' الخطأ التالي #%d"
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Verifying %s..."
-msgstr "التأكيد من %s..."
+msgstr "جاري التحقق من %s..."
#: platform/android/export/export_plugin.cpp
msgid "'apksigner' verification of %s failed."
@@ -14228,9 +14206,8 @@ msgid "APK Expansion not compatible with Android App Bundle."
msgstr "توسيع APK غير متواÙÙ‚ مع حزمة تطبيق الأندرويد Android App Bundle."
#: platform/android/export/export_plugin.cpp
-#, fuzzy
msgid "Invalid filename! Android APK requires the *.apk extension."
-msgstr "إسم مل٠غير صالح! يتطلب مل٠اندرويد APK اللاحقة ‭.*.apk"
+msgstr "أسم المل٠غير صالح! يتطلب مل٠اندرويد APK أمتداد *.apk لتعمل."
#: platform/android/export/export_plugin.cpp
msgid "Unsupported export format!\n"
@@ -14328,9 +14305,8 @@ msgid "Adding files..."
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..."
@@ -14512,9 +14488,7 @@ msgstr "ينشئ الصورة المصغرة"
#: platform/osx/export/export.cpp
#, fuzzy
msgid "Could not find template app to export:"
-msgstr ""
-"لم يتم إيجاد قالب APK للتصدير:\n"
-"%s"
+msgstr "لم يتم إيجاد تطبيق القالب (Template app) للتصدير:"
#: platform/osx/export/export.cpp
msgid ""
@@ -14730,19 +14704,16 @@ msgid ""
msgstr ""
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid icon path:"
-msgstr "مسار غير صالح."
+msgstr "مسار الأيقونة غير صالح:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid file version:"
-msgstr "صيغة غير صالحة."
+msgstr "إصدار المل٠غير صالح:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid product version:"
-msgstr "Ù…Ùعر٠GUID (المÙعرّ٠الÙريد العالمي) للمنتج غير صالح."
+msgstr "Ù…Ùعر٠GUID (المÙعرّ٠الÙريد العالمي) للمنتج غير صالح:"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -15268,7 +15239,7 @@ msgstr ""
#: scene/3d/physics_joint.cpp
msgid "Joint is not connected to any PhysicsBodies"
-msgstr ""
+msgstr "المÙصل غير متصل لأي الاجسام الÙيزيائية (PhysicsBodies)"
#: scene/3d/physics_joint.cpp
msgid "Node A and Node B must be different PhysicsBodies"
@@ -15332,7 +15303,7 @@ msgstr ""
#: scene/3d/room_manager.cpp
msgid "There should only be one RoomManager in the SceneTree."
-msgstr ""
+msgstr "يجب تواÙر مدير-غر٠(RoomManager) واحد Ùقط ÙÙŠ شجرة المشهد."
#: scene/3d/room_manager.cpp
msgid ""
@@ -15423,9 +15394,11 @@ msgstr ""
"اضبط وضع الخلÙية لهذه البيئة على لوحة (Canvas) (للمشاهد ثنائية البÙعد)."
#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
msgid "On BlendTree node '%s', animation not found: '%s'"
msgstr ""
-"ÙÙŠ عقدة خليط-الشجرة (BlendTree) '%s'ØŒ لم يتم العثور على الرسوم المتحركة:'%s '"
+"ÙÙŠ عقدة خليط-الشجرة (BlendTree) '%s'ØŒ لم يتم العثور على الرسوم المتحركة: '%s "
+"'"
#: scene/animation/animation_blend_tree.cpp
msgid "Animation not found: '%s'"
@@ -15467,8 +15440,8 @@ msgstr "العÙقدة الرئيسة لمÙشغل الرسومات المتحر
#: scene/animation/animation_tree_player.cpp
msgid "This node has been deprecated. Use AnimationTree instead."
msgstr ""
-"لقد تم إهمال هذه العÙقدةز استخدم شجرة الرسومات المتحركة AnimationTree بدلاً عن "
-"ذلك."
+"لقد تم إهمال هذه الوحدة, أستخدم شجرة الرسومات المتحركة (AnimationTree) بدلاً "
+"عنها."
#: scene/gui/color_picker.cpp
#, fuzzy
@@ -15569,7 +15542,7 @@ msgstr ""
#: scene/gui/tree.cpp
msgid "(Other)"
-msgstr "(أخرى)"
+msgstr "(آخر)"
#: scene/main/scene_tree.cpp
msgid ""
diff --git a/editor/translations/az.po b/editor/translations/az.po
index 46738301a9..c958bc1f45 100644
--- a/editor/translations/az.po
+++ b/editor/translations/az.po
@@ -1519,6 +1519,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2873,7 +2877,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5525,6 +5529,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7966,7 +7974,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8845,6 +8858,11 @@ msgid "Select Another Theme Resource:"
msgstr "ÆvÉ™zetmÉ™ mÉ™nbÉ™yini axtarın:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Mənbə"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8893,6 +8911,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -8909,7 +8939,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "%s növünü dəyişdirin"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9589,18 +9630,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "UyÄŸunlaÅŸmalar:"
@@ -12163,6 +12192,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Siqnalları filtirlə"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13455,6 +13489,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/bg.po b/editor/translations/bg.po
index 7bb426d010..a91ee554b6 100644
--- a/editor/translations/bg.po
+++ b/editor/translations/bg.po
@@ -1471,6 +1471,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Ðеправилно име."
@@ -2843,7 +2847,7 @@ msgstr ""
msgid "Add a new scene."
msgstr "ДобавÑне на нови нова Ñцена."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Сцена"
@@ -5530,6 +5534,10 @@ msgid "Bake Lightmaps"
msgstr "Изпичане на карти на оÑветеноÑÑ‚"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Изберете файл за изпичане на карта на оÑветеноÑÑ‚:"
@@ -7984,7 +7992,13 @@ msgid "Cinematic Preview"
msgstr "КинематографÑки предварителен преглед"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "Ðе е налично при използване на изчертаване чрез GLES2."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8872,6 +8886,11 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "РеÑурÑ"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr "Друга тема"
@@ -8918,6 +8937,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr "ДобавÑне на тип елемент"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "Показване на Ñтандартните"
@@ -8934,8 +8965,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr "ДобавÑне на тип елемент"
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9620,18 +9661,6 @@ msgid "Commit list size"
msgstr "Размер на ÑпиÑъка Ñ Ð¿Ð¾Ð´Ð°Ð²Ð°Ð½Ð¸Ñ"
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr "10"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr "20"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr "30"
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr "Клони"
@@ -12198,6 +12227,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Филтриране на плочките"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13498,9 +13532,10 @@ msgstr "Ðеправилно име на пакет:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"Ð’ наÑтройките на проекта, раздел „android/modules“, приÑÑŠÑтва неправилен "
-"модул „GodotPaymentV3“ (това е променено във Godot 3.2.2).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
diff --git a/editor/translations/bn.po b/editor/translations/bn.po
index b8b8ccbf84..514a488c1f 100644
--- a/editor/translations/bn.po
+++ b/editor/translations/bn.po
@@ -1526,6 +1526,11 @@ msgstr "ডিফলà§à¦Ÿ বাস লেআউট লোড করà§à¦¨à¥¤"
msgid "Create a new Bus Layout."
msgstr "নতà§à¦¨ বাস লেআউট তৈরি করà§à¦¨à¥¤"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "অডিও বাস লেআউট ওপেন করà§à¦¨"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯ নাম।"
@@ -3050,7 +3055,7 @@ msgstr "বিকà§à¦·à§‡à¦ª-হীন মোড"
msgid "Add a new scene."
msgstr "নতà§à¦¨ টà§à¦°à§à¦¯à¦¾à¦•/পথ-সমূহ যোগ করà§à¦¨à¥¤"
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "দৃশà§à¦¯"
@@ -6022,6 +6027,10 @@ msgid "Bake Lightmaps"
msgstr "লাইটà§à¦®à§à¦¯à¦¾à¦ªà§‡ হসà§à¦¤à¦¾à¦¨à§à¦¤à¦° করà§à¦¨:"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "লাইটমà§à¦¯à¦¾à¦ª বেক ফাইলটি নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨:"
@@ -8730,7 +8739,12 @@ msgid "Cinematic Preview"
msgstr "মেস লাইবà§à¦°à§‡à¦°à¦¿ তৈরি হচà§à¦›à§‡"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9717,6 +9731,11 @@ msgstr "রিসোরà§à¦¸ অপসারণ করà§à¦¨"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "রিসোরà§à¦¸ পà§à¦¨à¦ƒà¦¨à¦¾à¦®à¦•à¦°à¦£ করà§à¦¨"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "থিম ইমà§à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨"
@@ -9771,6 +9790,21 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Add Item Type"
+msgstr "বসà§à¦¤à§ যোগ করà§à¦¨"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "চলক/ভেরিয়েবল সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨:"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "ধরণ পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Show Default"
msgstr "লোড ডিফলà§à¦Ÿ"
@@ -9789,8 +9823,18 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
-msgid "Add Item Type"
-msgstr "বসà§à¦¤à§ যোগ করà§à¦¨"
+msgid "Base Type"
+msgstr "ধরণ পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -10567,18 +10611,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "মিলসমূহ:"
@@ -13405,6 +13437,11 @@ msgid "Stack Frames"
msgstr "ফà§à¦°à§‡à¦®à¦¸à¦®à§‚হ সà§à¦¤à§‚প করà§à¦¨"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "দà§à¦°à§à¦¤ ফাইলসমূহ ফিলà§à¦Ÿà¦¾à¦° করà§à¦¨..."
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "পà§à¦°à§‹à¦«à¦¾à¦‡à¦²à¦¾à¦°"
@@ -14852,6 +14889,9 @@ msgstr "অগà§à¦°à¦¹à¦£à¦¯à§‹à¦—à§à¦¯ কà§à¦²à¦¾à¦¸ নাম"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/br.po b/editor/translations/br.po
index 574adeb121..325635fe0e 100644
--- a/editor/translations/br.po
+++ b/editor/translations/br.po
@@ -1454,6 +1454,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2805,7 +2809,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5449,6 +5453,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7881,7 +7889,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8756,6 +8769,10 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme Resource"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8802,6 +8819,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -8818,7 +8847,17 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9494,18 +9533,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12060,6 +12087,10 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Filter stack variables"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13348,6 +13379,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/ca.po b/editor/translations/ca.po
index 144cbbad2e..c4208b23c4 100644
--- a/editor/translations/ca.po
+++ b/editor/translations/ca.po
@@ -1505,6 +1505,11 @@ msgstr "Carrega el disseny del Bus predeterminat."
msgid "Create a new Bus Layout."
msgstr "Crea un nou Disseny de Bus."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Obre un Disseny de Bus d'Àudio"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Nom no vàlid."
@@ -2970,7 +2975,7 @@ msgstr "Commutar el Mode Lliure de Distraccions."
msgid "Add a new scene."
msgstr "Afegeix una escena nova."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Escena"
@@ -5795,6 +5800,10 @@ msgid "Bake Lightmaps"
msgstr "Precalcular Lightmaps"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "Seleccioneu un Fitxer de Plantilla:"
@@ -8365,7 +8374,13 @@ msgid "Cinematic Preview"
msgstr "Previsualització Cinemàtica"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "No disponible quan s'utilitza el renderitzador GLES2."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9311,6 +9326,11 @@ msgstr "Elimina el Recurs:"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "Reanomena el Recurs"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "Importa un Tema"
@@ -9365,6 +9385,21 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Add Item Type"
+msgstr "Afegeix un Element"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Estableix el Tipus de Variable"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Modifica el Tipus de Base"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Show Default"
msgstr "Carrega Valors predeterminats"
@@ -9383,8 +9418,18 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
-msgid "Add Item Type"
-msgstr "Afegeix un Element"
+msgid "Base Type"
+msgstr "Modifica el Tipus de Base"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -10135,18 +10180,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Coincidències:"
@@ -12991,6 +13024,11 @@ msgid "Stack Frames"
msgstr "Fotogrames de la Pila"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtrar tiles"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Perfilador"
@@ -14406,6 +14444,9 @@ msgstr "El nom del paquet no és vàlid:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/cs.po b/editor/translations/cs.po
index 3908694615..9094006744 100644
--- a/editor/translations/cs.po
+++ b/editor/translations/cs.po
@@ -34,7 +34,7 @@ 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-02-10 07:50+0000\n"
+"PO-Revision-Date: 2022-03-08 08:59+0000\n"
"Last-Translator: Zbyněk <zbynek.fiala@gmail.com>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/godot-engine/godot/"
"cs/>\n"
@@ -43,7 +43,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: Weblate 4.11-dev\n"
+"X-Generator: Weblate 4.12-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -1503,6 +1503,11 @@ msgstr "NaÄíst výchozí rozvržení sbÄ›rnice."
msgid "Create a new Bus Layout."
msgstr "Vytvořit nové rozvržení sběrnice."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Otevřít rozložení audio sběrnice"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Neplatný název."
@@ -2936,7 +2941,7 @@ msgstr "Zapnout nerozptylující režim."
msgid "Add a new scene."
msgstr "Přidat novou scénu."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Scéna"
@@ -4721,7 +4726,7 @@ msgstr "Odstranit polygon a bod"
#: editor/plugins/animation_state_machine_editor.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Animation"
-msgstr "Přidat animaci"
+msgstr "Přidání animace"
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
@@ -5690,6 +5695,10 @@ msgid "Bake Lightmaps"
msgstr "Zapéct lightmapy"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Vybrat soubor pro zapeÄení svÄ›telných map:"
@@ -8186,7 +8195,13 @@ msgid "Cinematic Preview"
msgstr "Filmový náhled"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "Není k dispozici při použití vykreslovacího modulu GLES2."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9104,6 +9119,11 @@ msgstr "Vybrerte jiný zdroj motivu:"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "Přejmenovat zdroj"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "Importovat motiv"
@@ -9155,6 +9175,21 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Add Item Type"
+msgstr "Přidat položku"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Nastavit typ proměnné"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Změnit základní typ"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "Zobrazit výchozí"
@@ -9172,8 +9207,18 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
-msgid "Add Item Type"
-msgstr "Přidat položku"
+msgid "Base Type"
+msgstr "Změnit základní typ"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9889,18 +9934,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Shody:"
@@ -12628,6 +12661,11 @@ msgid "Stack Frames"
msgstr "Rámce zásobníku"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtrovat dlaždice"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Profiler"
@@ -13543,7 +13581,7 @@ msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
msgid "While"
-msgstr ""
+msgstr "While"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "while (cond):"
@@ -13977,9 +14015,10 @@ msgstr "Neplatné jméno balíÄku:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"Neplatný modul \"GodotPaymentV3\" v nastavení projektu \"Android / "
-"moduly\" (změněno v Godot 3.2.2).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
diff --git a/editor/translations/da.po b/editor/translations/da.po
index 0fe9e67693..fa49368276 100644
--- a/editor/translations/da.po
+++ b/editor/translations/da.po
@@ -1543,6 +1543,11 @@ msgstr "Indlæs standard Bus Layout."
msgid "Create a new Bus Layout."
msgstr "Opret et nyt Bus Layout."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Ã…ben Audio Bus Layout"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Ugyldigt navn."
@@ -3027,7 +3032,7 @@ msgstr "Skift distraktions-fri modus."
msgid "Add a new scene."
msgstr "Tilføj en ny scene."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Scene"
@@ -5897,6 +5902,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "Vælg template fil"
@@ -8478,7 +8487,12 @@ msgid "Cinematic Preview"
msgstr "Opretter Maske Forhåndsvisninger"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9428,6 +9442,11 @@ msgstr "Søg Erstatnings Ressource:"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "Ressource"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "Medlemmer"
@@ -9480,6 +9499,20 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Sæt Variabel Type"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Skift Base Type"
+
+#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Show Default"
msgstr "Indlæs Default"
@@ -9497,7 +9530,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "Skift Base Type"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -10253,18 +10297,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Matches:"
@@ -12972,6 +13004,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtrer filer..."
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -14353,6 +14390,9 @@ msgstr "Ugyldigt navn."
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/de.po b/editor/translations/de.po
index 88904ba7d7..aeb8000e85 100644
--- a/editor/translations/de.po
+++ b/editor/translations/de.po
@@ -76,13 +76,14 @@
# Tim <tim14speckenwirth@gmail.com>, 2021.
# Antonio Noack <corperateraider@gmail.com>, 2022.
# ‎ <artism90@googlemail.com>, 2022.
+# Coxcopi70f00b67b61542fe <hn_vogel@gmx.net>, 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-02-16 08:44+0000\n"
-"Last-Translator: ‎ <artism90@googlemail.com>\n"
+"PO-Revision-Date: 2022-03-02 18:39+0000\n"
+"Last-Translator: Coxcopi70f00b67b61542fe <hn_vogel@gmx.net>\n"
"Language-Team: German <https://hosted.weblate.org/projects/godot-engine/"
"godot/de/>\n"
"Language: de\n"
@@ -90,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.11-dev\n"
+"X-Generator: Weblate 4.11.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -1556,6 +1557,11 @@ msgstr "Standard Bus-Layout laden."
msgid "Create a new Bus Layout."
msgstr "Neues Audiobus-Layout erstellen."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Öffne Audiobus-Layout"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Ungültiger Name."
@@ -2235,7 +2241,7 @@ msgstr "Stile"
#: editor/editor_help.cpp
msgid "Enumerations"
-msgstr "Aufzählungstypen"
+msgstr "Aufzählungen"
#: editor/editor_help.cpp
msgid "Property Descriptions"
@@ -3020,7 +3026,7 @@ msgstr "Ablenkungsfreien Modus umschalten."
msgid "Add a new scene."
msgstr "Eine neue Szene hinzufügen."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Szene"
@@ -3396,14 +3402,12 @@ msgid "Update Continuously"
msgstr "Fortlaufend aktualisieren"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update All Changes"
-msgstr "Bei Änderungen aktualisieren"
+msgstr "Bei allen Änderungen aktualisieren"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Changes"
-msgstr "Materialänderungen:"
+msgstr "Nur bei wichtigen Änderungen aktualisieren"
#: editor/editor_node.cpp
msgid "Hide Update Spinner"
@@ -4181,6 +4185,11 @@ msgid ""
"After renaming to an unknown extension, the file won't be shown in the "
"editor anymore."
msgstr ""
+"Diese Dateiendung wird nicht vom Editor erkannt.\n"
+"Zum Durchführen der Umbenennung muss ein anderer Dateimanager genutzt "
+"werden.\n"
+"Dateien mit unbekannten Dateiendungen werden daraufhin nicht mehr im Editor "
+"angezeigt."
#: editor/filesystem_dock.cpp
msgid ""
@@ -5802,6 +5811,10 @@ msgid "Bake Lightmaps"
msgstr "Lightmaps vorrendern"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Lightmap-Bake-Datei auswählen:"
@@ -8299,7 +8312,13 @@ msgid "Cinematic Preview"
msgstr "Cinematische Vorschau"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "Nicht verfügbar wenn der GLES2–Renderer genutzt wird."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9199,6 +9218,11 @@ msgid "Select Another Theme Resource:"
msgstr "Andere Thema-Ressource auswählen:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Ressource umbenennen"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr "Anderes Design"
@@ -9247,6 +9271,20 @@ msgstr ""
"StyleBox werden ebenfalls in allen StyleBoxen des gleichen Typs geändert."
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr "Elementtyp hinzufügen"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Variablentyp festlegen"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Basistyp ändern"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "Standard anzeigen"
@@ -9263,8 +9301,19 @@ msgid "Override all default type items."
msgstr "Alle Standard-Typelemente überbrücken."
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr "Elementtyp hinzufügen"
+#, fuzzy
+msgid "Base Type"
+msgstr "Basistyp ändern"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9972,18 +10021,6 @@ msgid "Commit list size"
msgstr "Größe der Commit-Liste"
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr "10"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr "20"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr "30"
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr "Zweige"
@@ -12745,6 +12782,11 @@ msgid "Stack Frames"
msgstr "Aufrufsverlauf"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Kacheln filtern"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Profiler"
@@ -12918,14 +12960,12 @@ msgid "Set Occluder Sphere Position"
msgstr "Occluder-Sphärenposition festlegen"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Polygon Point Position"
-msgstr "Portal-Point-Position festlegen"
+msgstr "Position von Occluder-Polygon-Punkt festlegen"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Hole Point Position"
-msgstr "Kurvenpunktposition festlegen"
+msgstr "Position von Occluder-Loch-Punkt festlegen"
#: modules/csg/csg_gizmos.cpp
msgid "Change Cylinder Radius"
@@ -14072,9 +14112,10 @@ msgstr "Ungültiger Paketname:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"Ungültiges „GodotPaymentV3“-Modul eingebunden in den „android/modules“-"
-"Projekteinstellungen (wurde in Godot 3.2.2 geändert).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
@@ -14341,166 +14382,167 @@ msgstr "Fehler beim Starten des HTTP-Servers:"
#: platform/osx/export/codesign.cpp
msgid "Can't get filesystem access."
-msgstr ""
+msgstr "Dateisystemzugriff fehlgeschlagen."
#: platform/osx/export/codesign.cpp
msgid "Failed to get Info.plist hash."
-msgstr ""
+msgstr "Lesen von Info.plist-Hash fehlgeschlagen."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, no exe name."
-msgstr "Ungültiger Projektname."
+msgstr "Ungültige Info.plist, kein exe-Name."
#: platform/osx/export/codesign.cpp
msgid "Invalid Info.plist, no bundle id."
-msgstr ""
+msgstr "Ungültige Info.plist, keine bundle-id."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, can't load."
-msgstr "Ungültige Geometrie, Polygon kann nicht erzeugt werden."
+msgstr "Ungültige Info.plist, kann nicht geladen werden."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to create \"%s\" subfolder."
-msgstr "Ordner konnte nicht erstellt werden."
+msgstr "Erzeugen von Unterordner „%s“ fehlgeschlagen."
#: platform/osx/export/codesign.cpp
msgid "Failed to extract thin binary."
-msgstr ""
+msgstr "Entpacken von thin binary fehlgeschlagen."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid binary format."
-msgstr "Ungültiger Basispfad."
+msgstr "Ungültiges Binärformat."
#: platform/osx/export/codesign.cpp
msgid "Already signed!"
-msgstr ""
+msgstr "Bereits signiert!"
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to process nested resources."
-msgstr "Laden der Ressource gescheitert."
+msgstr "Verarbeiten verschachtelter Ressourcen fehlgeschlagen."
#: platform/osx/export/codesign.cpp
msgid "Failed to create _CodeSignature subfolder."
-msgstr ""
+msgstr "Erzeugen von _CodeSignature-Unterordner fehlgeschlagen."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to get CodeResources hash."
-msgstr "Laden der Ressource gescheitert."
+msgstr "Erhalten von CodeResources-Hash fehlgeschlagen."
#: platform/osx/export/codesign.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Invalid entitlements file."
-msgstr "Ungültige Dateiendung."
+msgstr "Ungültige entitlements-Datei."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid executable file."
-msgstr "Ungültige Dateiendung."
+msgstr "Ungültige ausführbare Datei."
#: platform/osx/export/codesign.cpp
msgid "Can't resize signature load command."
-msgstr ""
+msgstr "Signatur-Lade-Kommando kann nicht vergrößert/verkleinert werden."
#: platform/osx/export/codesign.cpp
msgid "Failed to create fat binary."
-msgstr ""
+msgstr "Erstellen von fat binary fehlgeschlagen."
#: platform/osx/export/codesign.cpp
msgid "Unknown bundle type."
-msgstr ""
+msgstr "Unbekannter bundle-Typ."
#: platform/osx/export/codesign.cpp
msgid "Unknown object type."
-msgstr ""
+msgstr "Unbekannter Objekttyp."
#: platform/osx/export/export.cpp
msgid ""
"Note: The notarization process generally takes less than an hour. When the "
"process is completed, you'll receive an email."
msgstr ""
+"Hinweis: Der Beglaubigungsprozess dauert gewöhnlich weniger als eine Stunde. "
+"Nach Ablauf wird eine Bestätigungsmail versandt."
#: platform/osx/export/export.cpp
msgid ""
"You can check progress manually by opening a Terminal and running the "
"following command:"
msgstr ""
+"Der Fortschritt kann manuell mithilfe des folgenden Befehls in der Konsole "
+"überprüft werden:"
#: platform/osx/export/export.cpp
msgid ""
"Run the following command to staple the notarization ticket to the exported "
"application (optional):"
msgstr ""
+"Mit folgendem Befehl kann die Beglaubigungsbescheinigung an die exportierte "
+"Anwendung geheftet werden (optional):"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "No identity found."
-msgstr "Keine Symbole gefunden."
+msgstr "Keine Identität gefunden."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Creating app bundle"
-msgstr "Erzeuge Miniaturansicht"
+msgstr "Erzeuge App-Bundle"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Could not find template app to export:"
-msgstr ""
-"Konnte keine APK-Vorlage zum Exportieren finden:\n"
-"%s"
+msgstr "Es konnte keine Vorlagen-App zum Exportieren gefunden werden:"
#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
msgstr ""
+"Relative symbolische Links werden von diesem Betriebssystem nicht "
+"unterstützt, das exportierte Projekt könnte fehlerhaft sein!"
#: platform/osx/export/export.cpp
msgid ""
"Requested template binary '%s' not found. It might be missing from your "
"template archive."
msgstr ""
+"Benötigte Vorlagen-Binary ‚%s‘ nicht gefunden. Es könnte im Vorlagen-Archiv "
+"fehlen."
#: platform/osx/export/export.cpp
msgid "Making PKG"
-msgstr ""
+msgstr "Erzeuge PKG"
#: platform/osx/export/export.cpp
msgid ""
"Ad-hoc signed applications require the 'Disable Library Validation' "
"entitlement to load dynamic libraries."
msgstr ""
+"Ad-hoc signierte Anwendungen benötigen die ‚Disable Library Validation‘-"
+"Berechtigung um dynamische Bibliotheken zu laden."
#: platform/osx/export/export.cpp
msgid "Code signing bundle"
-msgstr ""
+msgstr "Codesignierungs-Bundle"
#: platform/osx/export/export.cpp
msgid "Making DMG"
-msgstr ""
+msgstr "Erstelle DMG"
#: platform/osx/export/export.cpp
msgid "Code signing DMG"
-msgstr ""
+msgstr "Codesignierendes DMG"
#: platform/osx/export/export.cpp
msgid "Making ZIP"
-msgstr ""
+msgstr "Erstelle ZIP"
#: platform/osx/export/export.cpp
msgid ""
"Notarization requires the app to be archived first, select the DMG or ZIP "
"export format instead."
msgstr ""
+"Der Beglaubigungsprozess setzt voraus dass die Anwendung archiviert wurde. "
+"Das DMG- oder ZIP-Exportformat sollte stattdessen ausgewählt werden."
#: platform/osx/export/export.cpp
msgid "Sending archive for notarization"
-msgstr ""
+msgstr "Sende Archiv zur Beglaubigung"
#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
@@ -14511,31 +14553,36 @@ msgid ""
"Warning: Built-in \"codesign\" is selected in the Editor Settings. Code "
"signing is limited to ad-hoc signature only."
msgstr ""
+"Warnung: Das eingebettete „codesign“ ist in den Editoreinstellungen "
+"ausgewählt. Codesignierung ist eingeschränkt auf Ad-hoc-Signaturen."
#: 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 ""
+"Warnung: Die Xcode-Kommandozeilenprogramme sind nicht installiert, verwende "
+"eingebautes „codesign“. Codesignierung ist eingeschränkt auf Ad-hoc-"
+"Signaturen."
#: platform/osx/export/export.cpp
msgid "Notarization: Notarization with an ad-hoc signature is not supported."
msgstr ""
+"Beglaubigung: Beglaubigungen von Ad-hoc-Signaturen werden nicht erstellt."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Code signing is required for notarization."
-msgstr "Beglaubigung: Code-Signierung wird benötigt."
+msgstr "Beglaubigung: Code-Signierung wird zur Beglaubigung benötigt."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Hardened runtime is required for notarization."
-msgstr "Beglaubigung: Abgehärtete Ausführungsumgebung wird benötigt."
+msgstr ""
+"Beglaubigung: Abgehärtete Ausführungsumgebung wird zur Beglaubigung benötigt."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Timestamp runtime is required for notarization."
-msgstr "Beglaubigung: Abgehärtete Ausführungsumgebung wird benötigt."
+msgstr ""
+"Beglaubigung: Zeitstempel-Ausführungsumgebung wird für Beglaubigung benötigt."
#: platform/osx/export/export.cpp
msgid "Notarization: Apple ID name not specified."
@@ -14550,63 +14597,87 @@ msgid ""
"Warning: Notarization is disabled. The exported project will be blocked by "
"Gatekeeper if it's downloaded from an unknown source."
msgstr ""
+"Warnung: Beglaubigungen sind deaktiviert. Das exportierte Projekt wird von "
+"Gatekeeper geblockt werden, falls es von einer unbekannten Quelle "
+"heruntergeladen wird."
#: 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 ""
+"Code-Signierung ist deaktiviert. Das exportierte Projekt wird sich nicht auf "
+"Macs mit aktiviertem Gatekeeper oder Apple-Silicon-Macs ausführen lassen."
#: platform/osx/export/export.cpp
msgid ""
"Hardened Runtime is not compatible with ad-hoc signature, and will be "
"disabled!"
msgstr ""
+"Die abgehärtete Laufzeitumgebung ist nicht mit Ad-hoc-Signaturen kompatibel, "
+"und wird deaktiviert!"
#: platform/osx/export/export.cpp
msgid ""
"Timestamping is not compatible with ad-hoc signature, and will be disabled!"
msgstr ""
+"Zeitstempel sind nicht mit Ad-hoc-Signaturen kompatibel, und werden "
+"deaktiviert!"
#: 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 ""
+"Warnung: Beglaubigungen werden von diesem Betriebssystem nicht unterstützt. "
+"Das exportierte Projekt wird von Gatekeeper blockiert, falls es aus einer "
+"unbekannten Quelle geladen wurde."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Microphone access is enabled, but usage description is not "
"specified."
msgstr ""
+"Privatsphäre: Mikrophonzugriff ist aktiviert, aber keine "
+"Nutzungsbeschreibung angegeben."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Camera access is enabled, but usage description is not specified."
msgstr ""
+"Privatsphäre: Kamerazugriff ist aktiviert, aber keine Nutzungsbeschreibung "
+"angegeben."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Location information access is enabled, but usage description is "
"not specified."
msgstr ""
+"Privatsphäre: Standortzugriff ist aktiviert, aber keine Nutzungsbeschreibung "
+"angegeben."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Address book access is enabled, but usage description is not "
"specified."
msgstr ""
+"Privatsphäre: Adressbuchzugriff ist aktiviert, aber keine "
+"Nutzungsbeschreibung angegeben."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Calendar access is enabled, but usage description is not specified."
msgstr ""
+"Privatsphäre: Kalenderzugriff ist aktiviert, aber keine Nutzungsbeschreibung "
+"angegeben."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Photo library access is enabled, but usage description is not "
"specified."
msgstr ""
+"Privatsphäre: Photobibliothekszugriff ist aktiviert, aber keine "
+"Nutzungsbeschreibung angegeben."
#: platform/uwp/export/export.cpp
msgid "Invalid package short name."
@@ -14665,21 +14736,21 @@ msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
msgstr ""
+"Das Rcedit-Werkzeug muss in den Editoreinstellungen (Export > Windows > "
+"Rcedit) festgelegt werden um Icon- oder Anwendungsinformation festlegen zu "
+"können."
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid icon path:"
-msgstr "Ungültiger Pfad."
+msgstr "Ungültiger Icon-Pfad:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid file version:"
-msgstr "Ungültige Dateiendung."
+msgstr "Ungültige Dateiversion:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid product version:"
-msgstr "Ungültige Produkt-GUID."
+msgstr "Ungültige Produktversion:"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -15443,14 +15514,13 @@ msgstr ""
"AnimationTree."
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid ""
"Color: #%s\n"
"LMB: Apply color\n"
"RMB: Remove preset"
msgstr ""
"Farbe: #%s\n"
-"LMT: Farbe festlegen\n"
+"LMT: Farbe anwenden\n"
"RMT: Voreinstellung entfernen"
#: scene/gui/color_picker.cpp
diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot
index f9d1c47b88..ae2e0321ff 100644
--- a/editor/translations/editor.pot
+++ b/editor/translations/editor.pot
@@ -1432,6 +1432,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2781,7 +2785,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5423,6 +5427,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7848,7 +7856,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8723,6 +8736,10 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme Resource"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8769,6 +8786,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -8785,7 +8814,17 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9461,18 +9500,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12026,6 +12053,10 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Filter stack variables"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13309,6 +13340,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/el.po b/editor/translations/el.po
index d3cbb4b072..ebfb007a9d 100644
--- a/editor/translations/el.po
+++ b/editor/translations/el.po
@@ -1511,6 +1511,11 @@ msgstr "ΦόÏτωση Ï€Ïοεπιλεγμένης διάταξης διαÏλÏ
msgid "Create a new Bus Layout."
msgstr "ΔημιουÏγία νέας διάταξης διαÏλων ήχου."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Άνοιγμα διάταξης διαÏλων ήχου"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Μη έγκυÏο όνομα."
@@ -2976,7 +2981,7 @@ msgstr "Εναλλαγή λειτουÏγίας χωÏίς πεÏισπασμοÏ
msgid "Add a new scene."
msgstr "ΠÏοσθήκη νέας σκηνής."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Σκηνή"
@@ -5792,6 +5797,10 @@ msgid "Bake Lightmaps"
msgstr "ΠÏοετοιμασία Lightmaps"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Επιλογή ΑÏχείου ΠÏοτÏπων:"
@@ -8356,7 +8365,13 @@ msgid "Cinematic Preview"
msgstr "ΚινηματογÏαφική ΠÏοεπισκόπηση"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "Δεν είναι διαθέσιμο στην απόδοση GLES2."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9304,6 +9319,11 @@ msgstr "ΔιαγÏαφή πόÏου"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "Μετονομασία πόÏου"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "Εισαγωγή θέματος"
@@ -9358,6 +9378,21 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Add Item Type"
+msgstr "ΠÏοσθήκη στοιχείου"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "ΟÏισμός Ï„Ïπου μεταβλητής"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Αλλαγή Î²Î±ÏƒÎ¹ÎºÎ¿Ï Ï„Ïπου"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Show Default"
msgstr "ΦόÏτωση Ï€Ïοεπιλογής"
@@ -9376,8 +9411,18 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
-msgid "Add Item Type"
-msgstr "ΠÏοσθήκη στοιχείου"
+msgid "Base Type"
+msgstr "Αλλαγή Î²Î±ÏƒÎ¹ÎºÎ¿Ï Ï„Ïπου"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -10105,18 +10150,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Αντιστοιχίες:"
@@ -12882,6 +12915,11 @@ msgid "Stack Frames"
msgstr "Στοίβαξη καÏέ"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "ΦιλτÏάÏισμα πλακιδίων"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "ΠÏόγÏαμμα ΔημιουÏγίας ΠÏοφίλ"
@@ -14270,9 +14308,10 @@ msgstr "ΆκυÏο όνομα πακέτου:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"Εσφαλμένη λειτουÏγική μονάδα «GodotPaymentV3» στην ÏÏθμιση εÏγου «Android/"
-"Modules» (άλλαξε στην Godot 3.2.2).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
diff --git a/editor/translations/en_Shaw.po b/editor/translations/en_Shaw.po
new file mode 100644
index 0000000000..1251476928
--- /dev/null
+++ b/editor/translations/en_Shaw.po
@@ -0,0 +1,14652 @@
+# English (Shavian) translation of the Godot Engine editor.
+# 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.
+#
+# haley <haleyhalcyon@gmail.com>, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: Godot Engine editor\n"
+"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
+"PO-Revision-Date: 2022-02-26 10:27+0000\n"
+"Last-Translator: haley <haleyhalcyon@gmail.com>\n"
+"Language-Team: English (Shavian) <https://hosted.weblate.org/projects/godot-"
+"engine/godot/en-Shaw/>\n"
+"Language: en-Shaw\n"
+"MIME-Version: 1.0\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.11.1-dev\n"
+
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr "ð‘¦ð‘¯ð‘ð‘¨ð‘¤ð‘¦ð‘› ð‘‘ð‘²ð‘ ð‘¸ð‘œð‘˜ð‘©ð‘¥ð‘©ð‘¯ð‘‘ ð‘‘ convert(), ð‘¿ð‘Ÿ TYPE_* ð‘’ð‘ªð‘¯ð‘•ð‘‘ð‘©ð‘’ð‘‘ð‘•."
+
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+msgid "Expected a string of length 1 (a character)."
+msgstr "ð‘¦ð‘’ð‘•ð‘ð‘§ð‘’ð‘‘ð‘©ð‘› ð‘© ð‘•ð‘‘ð‘®ð‘¦ð‘™ ð‘ ð‘¤ð‘§ð‘™ð‘” 1 (ð‘© ð‘’ð‘¨ð‘®ð‘©ð‘’ð‘‘ð‘¼)."
+
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/gd_glue.cpp
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr "ð‘¯ð‘ªð‘‘ ð‘¦ð‘¯ð‘³ð‘“ ð‘šð‘²ð‘‘ð‘• ð‘“ ð‘›ð‘°ð‘’ð‘´ð‘›ð‘¦ð‘™ ð‘šð‘²ð‘‘ð‘•, 𑹠ð‘¦ð‘¯ð‘ð‘¨ð‘¤ð‘¦ð‘› ð‘“ð‘¹ð‘¥ð‘¨ð‘‘."
+
+#: core/math/expression.cpp
+msgid "Invalid input %i (not passed) in expression"
+msgstr "ð‘¦ð‘¯ð‘ð‘¨ð‘¤ð‘¦ð‘› ð‘¦ð‘¯ð‘ð‘«ð‘‘ %i (ð‘¯ð‘ªð‘‘ ð‘ð‘­ð‘•ð‘‘) ð‘¦ð‘¯ ð‘¦ð‘’ð‘•ð‘ð‘®ð‘§ð‘–ð‘©ð‘¯"
+
+#: core/math/expression.cpp
+msgid "self can't be used because instance is null (not passed)"
+msgstr "self ð‘’ð‘­ð‘¯ð‘‘ ð‘šð‘° ð‘¿ð‘Ÿð‘› ð‘šð‘¦ð‘’ð‘ªð‘Ÿ ð‘¦ð‘¯ð‘•ð‘‘ð‘©ð‘¯ð‘• ð‘¦ð‘Ÿ ð‘¯ð‘³ð‘¤ (ð‘¯ð‘ªð‘‘ ð‘ð‘­ð‘•ð‘‘)"
+
+#: core/math/expression.cpp
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "ð‘¦ð‘¯ð‘ð‘¨ð‘¤ð‘¦ð‘› ð‘ªð‘ð‘¼ð‘¨ð‘¯ð‘›ð‘Ÿ ð‘‘ ð‘ªð‘ð‘¼ð‘±ð‘‘𑼠%s, %s 𑯠%s."
+
+#: core/math/expression.cpp
+msgid "Invalid index of type %s for base type %s"
+msgstr "ð‘¦ð‘¯ð‘ð‘¨ð‘¤ð‘¦ð‘› ð‘¦ð‘¯ð‘›ð‘§ð‘’ð‘• ð‘ ð‘‘ð‘²ð‘ %s ð‘“ ð‘šð‘±ð‘• ð‘‘ð‘²ð‘ %s"
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr "ð‘¦ð‘¯ð‘ð‘¨ð‘¤ð‘¦ð‘› ð‘¯ð‘±ð‘¥ð‘› ð‘¦ð‘¯ð‘›ð‘§ð‘’ð‘• '%s' ð‘“ ð‘šð‘±ð‘• ð‘‘ð‘²ð‘ %s"
+
+#: core/math/expression.cpp
+msgid "Invalid arguments to construct '%s'"
+msgstr "ð‘¦ð‘¯ð‘ð‘¨ð‘¤ð‘¦ð‘› ð‘¸ð‘œð‘˜ð‘©ð‘¥ð‘©ð‘¯ð‘‘ð‘• ð‘‘ ð‘’ð‘©ð‘¯ð‘•ð‘‘ð‘®ð‘³ð‘’ð‘‘ '%s'"
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr "ð‘ªð‘¯ ð‘’ð‘·ð‘¤ ð‘‘ '%s':"
+
+#: core/ustring.cpp
+msgid "B"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "KiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "MiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "GiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "TiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "PiB"
+msgstr ""
+
+#: core/ustring.cpp
+msgid "EiB"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+msgid "Free"
+msgstr "ð‘“ð‘®ð‘°"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr "ð‘šð‘¨ð‘®ð‘©ð‘¯ð‘•ð‘‘"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Mirror"
+msgstr "ð‘¥ð‘¦ð‘®ð‘¼"
+
+#: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp
+msgid "Time:"
+msgstr "ð‘‘ð‘²ð‘¥:"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Value:"
+msgstr "ð‘ð‘¨ð‘¤ð‘¿:"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Insert Key Here"
+msgstr "ð‘¦ð‘¯ð‘•ð‘»ð‘‘ ð‘’ð‘° ð‘£ð‘½"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Duplicate Selected Key(s)"
+msgstr "ð‘›ð‘¿ð‘ð‘¤ð‘¦ð‘’ð‘±ð‘‘ ð‘•ð‘¦ð‘¤ð‘§ð‘’ð‘‘ð‘©ð‘› ð‘’ð‘°(ð‘Ÿ)"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Delete Selected Key(s)"
+msgstr "ð‘›ð‘¦ð‘¤ð‘°ð‘‘ ð‘•ð‘¦ð‘¤ð‘§ð‘’ð‘‘ð‘©ð‘› ð‘’ð‘°(ð‘Ÿ)"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Add Bezier Point"
+msgstr "ð‘¨ð‘› ð‘šð‘§ð‘Ÿð‘¦ð‘± ð‘ð‘¶ð‘¯ð‘‘"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Move Bezier Points"
+msgstr "ð‘¥ð‘µð‘ ð‘šð‘§ð‘Ÿð‘¦ð‘± ð‘ð‘¶ð‘¯ð‘‘ð‘•"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "ð‘›ð‘¿ð‘ð‘¤ð‘¦ð‘’ð‘±ð‘‘ ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘’ð‘°ð‘Ÿ"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "ð‘›ð‘¦ð‘¤ð‘°ð‘‘ ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘’ð‘°ð‘Ÿ"
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Keyframe Time"
+msgstr "ð‘—ð‘±ð‘¯ð‘¡ ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘’ð‘°ð‘“ð‘®ð‘±ð‘¥ ð‘‘ð‘²ð‘¥"
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Transition"
+msgstr "ð‘—ð‘±ð‘¯ð‘¡ ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘‘ð‘®ð‘¨ð‘¯ð‘Ÿð‘¦ð‘–ð‘©ð‘¯"
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Transform"
+msgstr "ð‘—ð‘±ð‘¯ð‘¡ ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘‘ð‘®ð‘¨ð‘¯ð‘•ð‘“ð‘¹ð‘¥"
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Keyframe Value"
+msgstr "ð‘—ð‘±ð‘¯ð‘¡ ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘’ð‘°ð‘“ð‘®ð‘±ð‘¥ ð‘ð‘¨ð‘¤ð‘¿"
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Call"
+msgstr "ð‘—ð‘±ð‘¯ð‘¡ ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘’ð‘·ð‘¤"
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Multi Change Keyframe Time"
+msgstr "ð‘—ð‘±ð‘¯ð‘¡ ð‘¥ð‘³ð‘¤ð‘‘ð‘¦ð‘ð‘©ð‘¤ ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘’ð‘°ð‘“ð‘®ð‘±ð‘¥ ð‘‘ð‘²ð‘¥ð‘Ÿ"
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Multi Change Transition"
+msgstr "ð‘—ð‘±ð‘¯ð‘¡ ð‘¥ð‘³ð‘¤ð‘‘ð‘¦ð‘ð‘©ð‘¤ ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘’ð‘°ð‘“ð‘®ð‘±ð‘¥ ð‘‘ð‘®ð‘¨ð‘¯ð‘Ÿð‘¦ð‘–ð‘©ð‘¯ð‘Ÿ"
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Multi Change Transform"
+msgstr "ð‘—ð‘±ð‘¯ð‘¡ ð‘¥ð‘³ð‘¤ð‘‘ð‘¦ð‘ð‘©ð‘¤ ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘’ð‘°ð‘“ð‘®ð‘±ð‘¥ ð‘‘ð‘®ð‘¨ð‘¯ð‘•ð‘“ð‘¹ð‘¥"
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Multi Change Keyframe Value"
+msgstr "ð‘—ð‘±ð‘¯ð‘¡ ð‘¥ð‘³ð‘¤ð‘‘ð‘¦ð‘ð‘©ð‘¤ ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘’ð‘°ð‘“ð‘®ð‘±ð‘¥ ð‘ð‘¨ð‘¤ð‘¿ð‘Ÿ"
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Multi Change Call"
+msgstr "ð‘—ð‘±ð‘¯ð‘¡ ð‘¥ð‘³ð‘¤ð‘‘ð‘¦ð‘ð‘©ð‘¤ ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘’ð‘°ð‘“ð‘®ð‘±ð‘¥ ð‘’ð‘·ð‘¤ð‘Ÿ"
+
+#: editor/animation_track_editor.cpp
+msgid "Change Animation Length"
+msgstr "ð‘—ð‘±ð‘¯ð‘¡ ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘¤ð‘§ð‘™ð‘’ð‘”"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Change Animation Loop"
+msgstr "ð‘—ð‘±ð‘¯ð‘¡ ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘¤ð‘µð‘"
+
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr "ð‘ð‘®ð‘ªð‘ð‘¼ð‘‘𑦠ð‘‘ð‘®ð‘¨ð‘’"
+
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
+msgstr "3-ð‘› ð‘‘ð‘®ð‘¨ð‘¯ð‘•ð‘“ð‘¹ð‘¥ ð‘‘ð‘®ð‘¨ð‘’"
+
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr "ð‘’ð‘·ð‘¤ ð‘¥ð‘§ð‘”ð‘©ð‘› ð‘‘ð‘®ð‘¨ð‘’"
+
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr "ð‘šð‘§ð‘Ÿð‘¦ð‘± ð‘’ð‘»ð‘ ð‘‘ð‘®ð‘¨ð‘’"
+
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr "ð‘·ð‘›ð‘¦ð‘´ ð‘ð‘®ð‘±ð‘šð‘¨ð‘’ ð‘‘ð‘®ð‘¨ð‘’"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Playback Track"
+msgstr "ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘ð‘¤ð‘±ð‘šð‘¨ð‘’ ð‘‘ð‘®ð‘¨ð‘’"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation length (frames)"
+msgstr "ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘¤ð‘§ð‘™ð‘’ð‘” (ð‘“ð‘®ð‘±ð‘¥ð‘Ÿ)"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation length (seconds)"
+msgstr "ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘¤ð‘§ð‘™ð‘’ð‘” (ð‘•ð‘§ð‘’ð‘©ð‘¯ð‘›ð‘Ÿ)"
+
+#: editor/animation_track_editor.cpp
+msgid "Add Track"
+msgstr "ð‘¨ð‘› ð‘‘ð‘®ð‘¨ð‘’"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Looping"
+msgstr "ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘¤ð‘µð‘ð‘¦ð‘™"
+
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "ð‘“ð‘³ð‘™ð‘’ð‘–ð‘©ð‘¯ð‘Ÿ:"
+
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
+msgstr "ð‘·ð‘›ð‘¦ð‘´ ð‘’ð‘¤ð‘¦ð‘ð‘•:"
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr "ð‘¨ð‘¯ð‘¦ð‘¥ð‘±ð‘–ð‘©ð‘¯ ð‘’ð‘¤ð‘¦ð‘ð‘•:"
+
+#: editor/animation_track_editor.cpp
+msgid "Change Track Path"
+msgstr "ð‘—ð‘±ð‘¯ð‘¡ ð‘‘ð‘®ð‘¨ð‘’ ð‘ð‘­ð‘”"
+
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
+msgstr "ð‘‘ð‘ªð‘œð‘©ð‘¤ ð‘žð‘¦ð‘• ð‘‘ð‘®ð‘¨ð‘’ ð‘ªð‘¯/ð‘ªð‘“."
+
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr "ð‘³ð‘ð‘›ð‘±ð‘‘ ð‘¥ð‘´ð‘› (ð‘£ð‘¬ ð‘žð‘¦ð‘• ð‘ð‘®ð‘ªð‘ð‘¼ð‘‘𑦠ð‘¦ð‘Ÿ ð‘•ð‘§ð‘‘)"
+
+#: editor/animation_track_editor.cpp
+msgid "Interpolation Mode"
+msgstr "ð‘¦ð‘¯ð‘‘ð‘»ð‘ð‘©ð‘¤ð‘±ð‘–ð‘©ð‘¯ ð‘¥ð‘´ð‘›"
+
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr "ð‘¤ð‘µð‘ ð‘®ð‘¨ð‘ ð‘¥ð‘´ð‘› (ð‘¦ð‘¯ð‘‘ð‘»ð‘ð‘©ð‘¤ð‘±ð‘‘ ð‘§ð‘¯ð‘› ð‘¢ð‘¦ð‘ž ð‘šð‘¦ð‘œð‘¦ð‘¯ð‘¦ð‘™ ð‘ªð‘¯ ð‘¤ð‘µð‘)"
+
+#: editor/animation_track_editor.cpp
+msgid "Remove this track."
+msgstr "ð‘®ð‘¦ð‘¥ð‘µð‘ ð‘žð‘¦ð‘• ð‘‘ð‘®ð‘¨ð‘’."
+
+#: editor/animation_track_editor.cpp
+msgid "Time (s): "
+msgstr "ð‘‘ð‘²ð‘¥(ð‘Ÿ): "
+
+#: editor/animation_track_editor.cpp
+msgid "Toggle Track Enabled"
+msgstr "ð‘‘ð‘ªð‘œð‘©ð‘¤ ð‘‘ð‘®ð‘¨ð‘’ ð‘¦ð‘¯ð‘±ð‘šð‘©ð‘¤ð‘›"
+
+#: editor/animation_track_editor.cpp
+msgid "Continuous"
+msgstr "ð‘’ð‘©ð‘¯ð‘‘ð‘¦ð‘¯ð‘˜ð‘«ð‘©ð‘•"
+
+#: editor/animation_track_editor.cpp
+msgid "Discrete"
+msgstr "ð‘›ð‘¦ð‘•ð‘’ð‘®ð‘°ð‘‘"
+
+#: editor/animation_track_editor.cpp
+msgid "Trigger"
+msgstr "ð‘‘ð‘®ð‘¦ð‘œð‘¼"
+
+#: editor/animation_track_editor.cpp
+msgid "Capture"
+msgstr "ð‘’ð‘¨ð‘ð‘—ð‘¼"
+
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr "ð‘¯ð‘½ð‘©ð‘•ð‘‘"
+
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "Linear"
+msgstr "ð‘¤ð‘¦ð‘¯ð‘½"
+
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr "ð‘’ð‘¿ð‘šð‘¦ð‘’"
+
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr "ð‘’ð‘¤ð‘¨ð‘¥ð‘ ð‘¤ð‘µð‘ ð‘¦ð‘¯ð‘‘ð‘»ð‘"
+
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr "ð‘®ð‘¨ð‘ ð‘¤ð‘µð‘ ð‘¦ð‘¯ð‘‘ð‘»ð‘"
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Key(s)"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Add RESET Value(s)"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Delete Key(s)"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Change Animation Update Mode"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Change Animation Interpolation Mode"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Change Animation Loop Mode"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr ""
+
+#. 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 ""
+
+#: editor/animation_track_editor.cpp
+msgid "Create %d NEW tracks and insert keys?"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_feature_profile.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#: editor/script_create_dialog.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Create"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr ""
+
+#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
+#: editor/animation_track_editor.cpp
+msgid "node '%s'"
+msgstr ""
+
+#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
+#: editor/animation_track_editor.cpp
+msgid "animation"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
+#: editor/animation_track_editor.cpp
+msgid "property '%s'"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Create & Insert"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert Track & Key"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert Key"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Change Animation Step"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Rearrange Tracks"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Invalid track for Bezier (no suitable sub-properties)"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Add Bezier Track"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert key"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Add Transform Track Key"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Add Track Key"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Add Method Track Key"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Method not found in object: "
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Clipboard is empty!"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Paste Tracks"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Scale Keys"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Add RESET Keys"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid ""
+"This animation belongs to an imported scene, so changes to imported tracks "
+"will not be saved.\n"
+"\n"
+"To enable the ability to add custom tracks, navigate to the scene's import "
+"settings and set\n"
+"\"Animation > Storage\" to \"Files\", enable \"Animation > Keep Custom "
+"Tracks\", then re-import.\n"
+"Alternatively, use an import preset that imports animations to separate "
+"files."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Warning: Editing imported animation"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Select an AnimationPlayer node to create and edit animations."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Snap:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Animation step value."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Seconds"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "FPS"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_plugin_settings.cpp
+#: editor/editor_resource_picker.cpp
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp editor/project_manager.cpp
+#: editor/project_settings_editor.cpp editor/property_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Animation properties."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Copy Tracks"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/plugins/script_text_editor.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Delete Selection"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Go to Next Step"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Go to Previous Step"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Apply Reset"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Pick the node that will be animated:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Create RESET Track(s)"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Anim. Optimizer"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Max. Linear Error:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Max. Angular Error:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Max Optimizable Angle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Remove invalid keys"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Remove unresolved and empty tracks"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-up all animations"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation(s) (NO UNDO!)"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Select Tracks to Copy"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_log.cpp
+#: editor/editor_resource_picker.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
+#: editor/scene_tree_dock.cpp scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Select All/None"
+msgstr ""
+
+#: editor/animation_track_editor_plugins.cpp
+msgid "Add Audio Track Clip"
+msgstr ""
+
+#: editor/animation_track_editor_plugins.cpp
+msgid "Change Audio Track Clip Start Offset"
+msgstr ""
+
+#: editor/animation_track_editor_plugins.cpp
+msgid "Change Audio Track Clip End Offset"
+msgstr ""
+
+#: editor/array_property_edit.cpp
+msgid "Resize Array"
+msgstr ""
+
+#: editor/array_property_edit.cpp
+msgid "Change Array Value Type"
+msgstr ""
+
+#: editor/array_property_edit.cpp
+msgid "Change Array Value"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Go to Line"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Line Number:"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "%d replaced."
+msgstr ""
+
+#: editor/code_editor.cpp editor/editor_help.cpp
+msgid "%d match."
+msgstr ""
+
+#: editor/code_editor.cpp editor/editor_help.cpp
+msgid "%d matches."
+msgstr ""
+
+#: editor/code_editor.cpp editor/find_in_files.cpp
+msgid "Match Case"
+msgstr ""
+
+#: editor/code_editor.cpp editor/find_in_files.cpp
+msgid "Whole Words"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Replace"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Replace All"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Selection Only"
+msgstr ""
+
+#: editor/code_editor.cpp editor/plugins/script_text_editor.cpp
+#: editor/plugins/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
+#: editor/code_editor.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Toggle Scripts Panel"
+msgstr ""
+
+#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/texture_region_editor_plugin.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
+msgid "Zoom In"
+msgstr ""
+
+#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/texture_region_editor_plugin.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
+msgid "Zoom Out"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Reset Zoom"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Warnings"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Line and column numbers."
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Method in target node must be specified."
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Method name must be a valid identifier."
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid ""
+"Target method not found. Specify a valid method or attach a script to the "
+"target node."
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Connect to Node:"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Connect to Script:"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "From Signal:"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Scene does not contain any script."
+msgstr ""
+
+#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
+#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+msgid "Add"
+msgstr ""
+
+#: editor/connections_dialog.cpp editor/dependency_editor.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
+#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_manager.cpp
+#: editor/project_settings_editor.cpp
+msgid "Remove"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Add Extra Call Argument:"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Extra Call Arguments:"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Receiver Method:"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Advanced"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Deferred"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid ""
+"Defers the signal, storing it in a queue and only firing it at idle time."
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Oneshot"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Disconnects the signal after its first emission."
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Cannot connect signal"
+msgstr ""
+
+#: editor/connections_dialog.cpp editor/dependency_editor.cpp
+#: editor/export_template_manager.cpp editor/groups_editor.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
+#: editor/project_settings_editor.cpp editor/property_editor.cpp
+#: editor/run_settings_dialog.cpp editor/settings_config_dialog.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Close"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Connect"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Signal:"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Connect '%s' to '%s'"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Disconnect '%s' from '%s'"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Disconnect all from signal: '%s'"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Connect..."
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Disconnect"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Connect a Signal to a Method"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Edit Connection:"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
+msgid "Signals"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Filter signals"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Disconnect All"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Edit..."
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Go to Method"
+msgstr ""
+
+#: editor/create_dialog.cpp
+msgid "Change %s Type"
+msgstr ""
+
+#: editor/create_dialog.cpp editor/project_settings_editor.cpp
+msgid "Change"
+msgstr ""
+
+#: editor/create_dialog.cpp
+msgid "Create New %s"
+msgstr ""
+
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
+msgid "No results for \"%s\"."
+msgstr ""
+
+#: editor/create_dialog.cpp editor/property_selector.cpp
+msgid "No description available for %s."
+msgstr ""
+
+#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
+#: editor/filesystem_dock.cpp
+msgid "Favorites:"
+msgstr ""
+
+#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
+msgid "Recent:"
+msgstr ""
+
+#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Search:"
+msgstr ""
+
+#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_selector.cpp editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Matches:"
+msgstr ""
+
+#: editor/create_dialog.cpp editor/editor_feature_profile.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Description:"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Search Replacement For:"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Dependencies For:"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid ""
+"Scene '%s' is currently being edited.\n"
+"Changes will only take effect when reloaded."
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid ""
+"Resource '%s' is in use.\n"
+"Changes will only take effect when reloaded."
+msgstr ""
+
+#: editor/dependency_editor.cpp
+#: modules/gdnative/gdnative_library_editor_plugin.cpp
+msgid "Dependencies"
+msgstr ""
+
+#: editor/dependency_editor.cpp editor/editor_resource_picker.cpp
+msgid "Resource"
+msgstr ""
+
+#: editor/dependency_editor.cpp editor/editor_autoload_settings.cpp
+#: editor/project_manager.cpp editor/project_settings_editor.cpp
+msgid "Path"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Dependencies:"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Fix Broken"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Dependency Editor"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Search Replacement Resource:"
+msgstr ""
+
+#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
+#: editor/editor_help_search.cpp editor/editor_node.cpp
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_selector.cpp editor/quick_open.cpp
+#: editor/script_create_dialog.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
+#: scene/gui/file_dialog.cpp
+msgid "Open"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Owners Of:"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid ""
+"Remove the selected files from the project? (Cannot be undone.)\n"
+"Depending on your filesystem configuration, the files will either be moved "
+"to the system trash or deleted permanently."
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid ""
+"The files being removed are required by other resources in order for them to "
+"work.\n"
+"Remove them anyway? (Cannot be undone.)\n"
+"Depending on your filesystem configuration, the files will either be moved "
+"to the system trash or deleted permanently."
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Cannot remove:"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Error loading:"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Load failed due to missing dependencies:"
+msgstr ""
+
+#: editor/dependency_editor.cpp editor/editor_node.cpp
+msgid "Open Anyway"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Which action should be taken?"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Fix Dependencies"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Errors loading!"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Permanently delete %d item(s)? (No undo!)"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Show Dependencies"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Orphan Resource Explorer"
+msgstr ""
+
+#: editor/dependency_editor.cpp editor/editor_audio_buses.cpp
+#: editor/editor_file_dialog.cpp editor/editor_node.cpp
+#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp editor/project_export.cpp
+#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp
+msgid "Delete"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Owns"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Resources Without Explicit Ownership:"
+msgstr ""
+
+#: editor/dictionary_property_edit.cpp
+msgid "Change Dictionary Key"
+msgstr ""
+
+#: editor/dictionary_property_edit.cpp
+msgid "Change Dictionary Value"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Thanks from the Godot community!"
+msgstr ""
+
+#: editor/editor_about.cpp editor/editor_node.cpp editor/project_manager.cpp
+msgid "Click to copy."
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Godot Engine contributors"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Project Founders"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Lead Developer"
+msgstr ""
+
+#. TRANSLATORS: This refers to a job title.
+#. The trailing space is used to distinguish with the project list application,
+#. you do not have to keep it in your translation.
+#: editor/editor_about.cpp
+msgid "Project Manager "
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Developers"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Authors"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Platinum Sponsors"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Gold Sponsors"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Silver Sponsors"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Bronze Sponsors"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Mini Sponsors"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Gold Donors"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Silver Donors"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Bronze Donors"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Donors"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "License"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Third-party Licenses"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid ""
+"Godot Engine relies on a number of third-party free and open source "
+"libraries, all compatible with the terms of its MIT license. The following "
+"is an exhaustive list of all such third-party components with their "
+"respective copyright statements and license terms."
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "All Components"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Components"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Licenses"
+msgstr ""
+
+#: editor/editor_asset_installer.cpp
+msgid "Error opening asset file for \"%s\" (not in ZIP format)."
+msgstr ""
+
+#: editor/editor_asset_installer.cpp
+msgid "%s (already exists)"
+msgstr ""
+
+#: editor/editor_asset_installer.cpp
+msgid "Contents of asset \"%s\" - %d file(s) conflict with your project:"
+msgstr ""
+
+#: editor/editor_asset_installer.cpp
+msgid "Contents of asset \"%s\" - No files conflict with your project:"
+msgstr ""
+
+#: editor/editor_asset_installer.cpp
+msgid "Uncompressing Assets"
+msgstr ""
+
+#: editor/editor_asset_installer.cpp
+msgid "The following files failed extraction from asset \"%s\":"
+msgstr ""
+
+#: editor/editor_asset_installer.cpp
+msgid "(and %s more files)"
+msgstr ""
+
+#: editor/editor_asset_installer.cpp
+msgid "Asset \"%s\" installed successfully!"
+msgstr ""
+
+#: editor/editor_asset_installer.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Success!"
+msgstr ""
+
+#: editor/editor_asset_installer.cpp editor/editor_node.cpp
+msgid "Install"
+msgstr ""
+
+#: editor/editor_asset_installer.cpp
+msgid "Asset Installer"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Speakers"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Add Effect"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Rename Audio Bus"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Change Audio Bus Volume"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Toggle Audio Bus Solo"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Toggle Audio Bus Mute"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Toggle Audio Bus Bypass Effects"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Select Audio Bus Send"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Add Audio Bus Effect"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Move Bus Effect"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Delete Bus Effect"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Drag & drop to rearrange."
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Solo"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Mute"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Bypass"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Bus Options"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Duplicate"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Reset Volume"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Delete Effect"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Audio"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Add Audio Bus"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Master bus can't be deleted!"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Delete Audio Bus"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Duplicate Audio Bus"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Reset Bus Volume"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Move Audio Bus"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Save Audio Bus Layout As..."
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Location for New Layout..."
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Open Audio Bus Layout"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "There is no '%s' file."
+msgstr ""
+
+#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Invalid file, not an audio bus layout."
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Error saving file: %s"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Add Bus"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Add a new Audio Bus to this layout."
+msgstr ""
+
+#: editor/editor_audio_buses.cpp editor/editor_resource_picker.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
+#: editor/script_create_dialog.cpp
+msgid "Load"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Load an existing Bus Layout."
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Save As"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Save this Bus Layout to a file."
+msgstr ""
+
+#: editor/editor_audio_buses.cpp editor/import_dock.cpp
+msgid "Load Default"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Load the default Bus Layout."
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Create a new Bus Layout."
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid name."
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Cannot begin with a digit."
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Valid characters:"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Must not collide with an existing engine class name."
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Must not collide with an existing built-in type name."
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Must not collide with an existing global constant name."
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Keyword cannot be used as an autoload name."
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Autoload '%s' already exists!"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Rename Autoload"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Toggle AutoLoad Globals"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Move Autoload"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Remove Autoload"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp editor/editor_plugin_settings.cpp
+msgid "Enable"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Rearrange Autoloads"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Can't add autoload:"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "%s is an invalid path. File does not exist."
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "%s is an invalid path. Not in resource path (res://)."
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp
+#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/script_create_dialog.cpp scene/gui/file_dialog.cpp
+msgid "Path:"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Node Name:"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp editor/editor_help_search.cpp
+#: editor/editor_plugin_settings.cpp editor/editor_profiler.cpp
+#: editor/project_manager.cpp editor/settings_config_dialog.cpp
+msgid "Name"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Global Variable"
+msgstr ""
+
+#: editor/editor_data.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: editor/editor_data.cpp
+msgid "Updating Scene"
+msgstr ""
+
+#: editor/editor_data.cpp
+msgid "Storing local changes..."
+msgstr ""
+
+#: editor/editor_data.cpp
+msgid "Updating scene..."
+msgstr ""
+
+#: editor/editor_data.cpp editor/editor_resource_picker.cpp
+msgid "[empty]"
+msgstr ""
+
+#: editor/editor_data.cpp editor/plugins/script_text_editor.cpp
+#: editor/plugins/text_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "[unsaved]"
+msgstr ""
+
+#: editor/editor_dir_dialog.cpp
+msgid "Please select a base directory first."
+msgstr ""
+
+#: editor/editor_dir_dialog.cpp
+msgid "Choose a Directory"
+msgstr ""
+
+#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
+#: editor/filesystem_dock.cpp editor/project_manager.cpp
+#: scene/gui/file_dialog.cpp
+msgid "Create Folder"
+msgstr ""
+
+#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
+#: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
+#: editor/script_create_dialog.cpp
+#: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp
+msgid "Name:"
+msgstr ""
+
+#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
+#: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp
+msgid "Could not create folder."
+msgstr ""
+
+#: editor/editor_dir_dialog.cpp
+msgid "Choose"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Storing File:"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "No export template found at the expected path:"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "Packing"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid ""
+"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import "
+"Etc' in Project Settings."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid ""
+"Target platform requires 'ETC2' texture compression for GLES3. Enable "
+"'Import Etc 2' in Project Settings."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid ""
+"Target platform requires 'ETC' texture compression for the driver fallback "
+"to GLES2.\n"
+"Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback "
+"Enabled'."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid ""
+"Target platform requires 'PVRTC' texture compression for GLES2. Enable "
+"'Import Pvrtc' in Project Settings."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid ""
+"Target platform requires 'ETC2' or 'PVRTC' texture compression for GLES3. "
+"Enable 'Import Etc 2' or 'Import Pvrtc' in Project Settings."
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid ""
+"Target platform requires 'PVRTC' texture compression for the driver fallback "
+"to GLES2.\n"
+"Enable 'Import Pvrtc' in Project Settings, or disable 'Driver Fallback "
+"Enabled'."
+msgstr ""
+
+#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
+msgid "Custom debug template not found."
+msgstr ""
+
+#: editor/editor_export.cpp platform/android/export/export_plugin.cpp
+#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp
+#: platform/osx/export/export.cpp platform/uwp/export/export.cpp
+msgid "Custom release template not found."
+msgstr ""
+
+#: editor/editor_export.cpp platform/javascript/export/export.cpp
+msgid "Template file not found:"
+msgstr ""
+
+#: editor/editor_export.cpp
+msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "3D Editor"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Script Editor"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Asset Library"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Scene Tree Editing"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Node Dock"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "FileSystem Dock"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Import Dock"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Allows to view and edit 3D scenes."
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Allows to edit scripts using the integrated script editor."
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Provides built-in access to the Asset Library."
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Allows editing the node hierarchy in the Scene dock."
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid ""
+"Allows to work with signals and groups of the node selected in the Scene "
+"dock."
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Allows to browse the local file system via a dedicated dock."
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid ""
+"Allows to configure import settings for individual assets. Requires the "
+"FileSystem dock to function."
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "(current)"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "(none)"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Remove currently selected profile, '%s'? Cannot be undone."
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Profile must be a valid filename and must not contain '.'"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Profile with this name already exists."
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "(Editor Disabled, Properties Disabled)"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "(Properties Disabled)"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "(Editor Disabled)"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Class Options:"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Enable Contextual Editor"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Class Properties:"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Main Features:"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Nodes and Classes:"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "File '%s' format is invalid, import aborted."
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid ""
+"Profile '%s' already exists. Remove it first before importing, import "
+"aborted."
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Error saving profile to path: '%s'."
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Reset to Default"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Current Profile:"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Create Profile"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Remove Profile"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Available Profiles:"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Make Current"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp editor/editor_node.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
+msgid "Import"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp editor/project_export.cpp
+msgid "Export"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Configure Selected Profile:"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Extra Options:"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Create or import a profile to edit available classes and properties."
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "New profile name:"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Godot Feature Profile"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Import Profile(s)"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Export Profile"
+msgstr ""
+
+#: editor/editor_feature_profile.cpp
+msgid "Manage Editor Feature Profiles"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
+msgid "Select Current Folder"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
+msgid "File exists, overwrite?"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
+msgid "Select This Folder"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+msgid "Copy Path"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+msgid "Open in File Manager"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp editor/editor_node.cpp
+#: editor/filesystem_dock.cpp editor/project_manager.cpp
+msgid "Show in File Manager"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+msgid "New Folder..."
+msgstr ""
+
+#: editor/editor_file_dialog.cpp editor/find_in_files.cpp
+msgid "Refresh"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
+msgid "All Recognized"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
+msgid "All Files (*)"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
+msgid "Open a File"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
+msgid "Open File(s)"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
+msgid "Open a Directory"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
+msgid "Open a File or Directory"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp editor/editor_node.cpp
+#: editor/editor_resource_picker.cpp editor/import_defaults_editor.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp scene/gui/file_dialog.cpp
+msgid "Save"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
+msgid "Save a File"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "Go Back"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "Go Forward"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "Go Up"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "Toggle Hidden Files"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "Toggle Favorite"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "Toggle Mode"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "Focus Path"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "Move Favorite Up"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "Move Favorite Down"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "Go to previous folder."
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "Go to next folder."
+msgstr ""
+
+#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
+msgid "Go to parent folder."
+msgstr ""
+
+#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
+msgid "Refresh files."
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+msgid "(Un)favorite current folder."
+msgstr ""
+
+#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
+msgid "Toggle the visibility of hidden files."
+msgstr ""
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+msgid "View items as a grid of thumbnails."
+msgstr ""
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+msgid "View items as a list."
+msgstr ""
+
+#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
+msgid "Directories & Files:"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Preview:"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp scene/gui/file_dialog.cpp
+msgid "File:"
+msgstr ""
+
+#: editor/editor_file_system.cpp
+msgid "ScanSources"
+msgstr ""
+
+#: editor/editor_file_system.cpp
+msgid ""
+"There are multiple importers for different types pointing to file %s, import "
+"aborted"
+msgstr ""
+
+#: editor/editor_file_system.cpp
+msgid "(Re)Importing Assets"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Top"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Class:"
+msgstr ""
+
+#: editor/editor_help.cpp editor/scene_tree_editor.cpp
+#: editor/script_create_dialog.cpp
+msgid "Inherits:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Inherited by:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Description"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Online Tutorials"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Properties"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "overrides %s:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "default:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Methods"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Theme Properties"
+msgstr ""
+
+#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Colors"
+msgstr ""
+
+#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Constants"
+msgstr ""
+
+#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Fonts"
+msgstr ""
+
+#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Icons"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Styles"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Enumerations"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Property Descriptions"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "(value)"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid ""
+"There is currently no description for this property. Please help us by "
+"[color=$color][url=$url]contributing one[/url][/color]!"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Method Descriptions"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid ""
+"There is currently no description for this method. Please help us by "
+"[color=$color][url=$url]contributing one[/url][/color]!"
+msgstr ""
+
+#: editor/editor_help_search.cpp editor/editor_node.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search Help"
+msgstr ""
+
+#: editor/editor_help_search.cpp
+msgid "Case Sensitive"
+msgstr ""
+
+#: editor/editor_help_search.cpp
+msgid "Show Hierarchy"
+msgstr ""
+
+#: editor/editor_help_search.cpp
+msgid "Display All"
+msgstr ""
+
+#: editor/editor_help_search.cpp
+msgid "Classes Only"
+msgstr ""
+
+#: editor/editor_help_search.cpp
+msgid "Methods Only"
+msgstr ""
+
+#: editor/editor_help_search.cpp
+msgid "Signals Only"
+msgstr ""
+
+#: editor/editor_help_search.cpp
+msgid "Constants Only"
+msgstr ""
+
+#: editor/editor_help_search.cpp
+msgid "Properties Only"
+msgstr ""
+
+#: editor/editor_help_search.cpp
+msgid "Theme Properties Only"
+msgstr ""
+
+#: editor/editor_help_search.cpp
+msgid "Member Type"
+msgstr ""
+
+#: editor/editor_help_search.cpp
+msgid "Class"
+msgstr ""
+
+#: editor/editor_help_search.cpp
+msgid "Method"
+msgstr ""
+
+#: editor/editor_help_search.cpp editor/plugins/script_text_editor.cpp
+msgid "Signal"
+msgstr ""
+
+#: editor/editor_help_search.cpp modules/visual_script/visual_script_nodes.cpp
+msgid "Constant"
+msgstr ""
+
+#: editor/editor_help_search.cpp
+msgid "Property"
+msgstr ""
+
+#: editor/editor_help_search.cpp
+msgid "Theme Property"
+msgstr ""
+
+#: editor/editor_inspector.cpp editor/project_settings_editor.cpp
+msgid "Property:"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Pin value"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid ""
+"Pinning a value forces it to be saved even if it's equal to the default."
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Pin value [Disabled because '%s' is editor-only]"
+msgstr ""
+
+#: editor/editor_inspector.cpp editor/scene_tree_dock.cpp
+#: modules/visual_script/visual_script_func_nodes.cpp
+#: modules/visual_script/visual_script_nodes.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set %s"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Pinned %s"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Unpinned %s"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Copy Property"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Paste Property"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Copy Property Path"
+msgstr ""
+
+#: editor/editor_log.cpp
+msgid "Output:"
+msgstr ""
+
+#: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp
+msgid "Copy Selection"
+msgstr ""
+
+#: editor/editor_log.cpp editor/editor_network_profiler.cpp
+#: editor/editor_profiler.cpp editor/editor_resource_picker.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/property_editor.cpp editor/scene_tree_dock.cpp
+#: editor/script_editor_debugger.cpp
+#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp
+#: scene/gui/text_edit.cpp
+msgid "Clear"
+msgstr ""
+
+#: editor/editor_log.cpp
+msgid "Clear Output"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+#: editor/editor_profiler.cpp
+msgid "Stop"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp
+#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "%s/s"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Down"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Up"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Incoming RSET"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RPC"
+msgstr ""
+
+#: editor/editor_network_profiler.cpp
+msgid "Outgoing RSET"
+msgstr ""
+
+#: editor/editor_node.cpp editor/project_manager.cpp
+msgid "New Window"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"Spins when the editor window redraws.\n"
+"Update Continuously is enabled, which can increase power usage. Click to "
+"disable it."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Spins when the editor window redraws."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Imported resources can't be saved."
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
+msgid "Error saving resource!"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"This resource can't be saved because it does not belong to the edited scene. "
+"Make it unique first."
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
+msgid "Save Resource As..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Can't open file for writing:"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Requested file format unknown:"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Error while saving."
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Can't open '%s'. The file could have been moved or deleted."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Error while parsing '%s'."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Unexpected end of file '%s'."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Missing '%s' or its dependencies."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Error while loading '%s'."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Saving Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Analyzing"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Creating Thumbnail"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "This operation can't be done without a tree root."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"This scene can't be saved because there is a cyclic instancing inclusion.\n"
+"Please resolve it and then attempt to save again."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
+"be satisfied."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Could not save one or more scenes!"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save All Scenes"
+msgstr ""
+
+#: editor/editor_node.cpp editor/scene_tree_dock.cpp
+msgid "Can't overwrite scene that is still open!"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Can't load MeshLibrary for merging!"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Error saving MeshLibrary!"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Can't load TileSet for merging!"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Error saving TileSet!"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"An error occurred while trying to save the editor layout.\n"
+"Make sure the editor's user data path is writable."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"Default editor layout overridden.\n"
+"To restore the Default layout to its base settings, use the Delete Layout "
+"option and delete the Default layout."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Layout name not found!"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Restored the Default layout to its base settings."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"This resource belongs to a scene that was imported, so it's not editable.\n"
+"Please read the documentation relevant to importing scenes to better "
+"understand this workflow."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"This resource belongs to a scene that was instanced or inherited.\n"
+"Changes to it won't be kept when saving the current scene."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"This resource was imported, so it's not editable. Change its settings in the "
+"import panel and then re-import."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"This scene was imported, so changes to it won't be kept.\n"
+"Instancing it or inheriting will allow making changes to it.\n"
+"Please read the documentation relevant to importing scenes to better "
+"understand this workflow."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"This is a remote object, so changes to it won't be kept.\n"
+"Please read the documentation relevant to debugging to better understand "
+"this workflow."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "There is no defined scene to run."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save scene before running..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Could not start subprocess!"
+msgstr ""
+
+#: editor/editor_node.cpp editor/filesystem_dock.cpp
+msgid "Open Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open Base Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Quick Open..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Quick Open Scene..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Quick Open Script..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save & Close"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save changes to '%s' before closing?"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "%s no longer exists! Please specify a new save location."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"The current scene has no root node, but %d modified external resource(s) "
+"were saved anyway."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"A root node is required to save the scene. You can add a root node using the "
+"Scene tree dock."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save Scene As..."
+msgstr ""
+
+#: editor/editor_node.cpp modules/gltf/editor_scene_exporter_gltf_plugin.cpp
+msgid "This operation can't be done without a scene."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Export Mesh Library"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "This operation can't be done without a root node."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Export Tile Set"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "This operation can't be done without a selected node."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Current scene not saved. Open anyway?"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Can't undo while mouse buttons are pressed."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Nothing to undo."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Undo: %s"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Can't redo while mouse buttons are pressed."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Nothing to redo."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Redo: %s"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Can't reload a scene that was never saved."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Reload Saved Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"The current scene has unsaved changes.\n"
+"Reload the saved scene anyway? This action cannot be undone."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Quick Run Scene..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Quit"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Yes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Exit the editor?"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open Project Manager?"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save & Quit"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save changes to the following scene(s) before quitting?"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save changes to the following scene(s) before opening Project Manager?"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"This option is deprecated. Situations where refresh must be forced are now "
+"considered a bug. Please report."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Pick a Main Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Close Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Reopen Closed Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Unable to find script field for addon plugin at: '%s'."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Unable to load addon script from path: '%s'."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"Unable to load addon script from path: '%s'. This might be due to a code "
+"error in that script.\n"
+"Disabling the addon at '%s' to prevent further errors."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"Unable to load addon script from path: '%s' Base type is not EditorPlugin."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"Scene '%s' was automatically imported, so it can't be modified.\n"
+"To make changes to it, a new inherited scene can be created."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"Error loading scene, it must be inside the project path. Use 'Import' to "
+"open the scene, then save it inside the project path."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Scene '%s' has broken dependencies:"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Clear Recent Scenes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"No main scene has ever been defined, select one?\n"
+"You can change it later in \"Project Settings\" under the 'application' "
+"category."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"Selected scene '%s' does not exist, select a valid one?\n"
+"You can change it later in \"Project Settings\" under the 'application' "
+"category."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"Selected scene '%s' is not a scene file, select a valid one?\n"
+"You can change it later in \"Project Settings\" under the 'application' "
+"category."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save Layout"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Delete Layout"
+msgstr ""
+
+#: editor/editor_node.cpp editor/import_dock.cpp
+#: editor/script_create_dialog.cpp
+msgid "Default"
+msgstr ""
+
+#: editor/editor_node.cpp editor/editor_resource_picker.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp
+msgid "Show in FileSystem"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Play This Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Close Tab"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Undo Close Tab"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Close Other Tabs"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Close Tabs to the Right"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Close All Tabs"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Switch Scene Tab"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "%d more files or folders"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "%d more folders"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "%d more files"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Dock Position"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Distraction Free Mode"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Toggle distraction-free mode."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Add a new scene."
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
+msgid "Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Go to previously opened scene."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Copy Text"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Next tab"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Previous tab"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Filter Files..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Operations with scene files."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "New Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "New Inherited Scene..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open Scene..."
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Open Recent"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Convert To..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "MeshLibrary..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "TileSet..."
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Undo"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Redo"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Miscellaneous project or scene-wide tools."
+msgstr ""
+
+#: editor/editor_node.cpp editor/project_manager.cpp
+#: editor/script_create_dialog.cpp
+msgid "Project"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Project Settings..."
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp
+msgid "Set Up Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Shut Down Version Control"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Export..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Install Android Build Template..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open User Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tools"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Orphan Resource Explorer..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Reload Current Project"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Quit to Project List"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/project_export.cpp
+msgid "Debug"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Deploy with Remote Debug"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"When this option is enabled, using one-click deploy will make the executable "
+"attempt to connect to this computer's IP so the running project can be "
+"debugged.\n"
+"This option is intended to be used for remote debugging (typically with a "
+"mobile device).\n"
+"You don't need to enable it to use the GDScript debugger locally."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Small Deploy with Network Filesystem"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"When this option is enabled, using one-click deploy for Android will only "
+"export an executable without the project data.\n"
+"The filesystem will be provided from the project by the editor over the "
+"network.\n"
+"On Android, deploying will use the USB cable for faster performance. This "
+"option speeds up testing for projects with large assets."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Visible Collision Shapes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"When this option is enabled, collision shapes and raycast nodes (for 2D and "
+"3D) will be visible in the running project."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Visible Navigation"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"When this option is enabled, navigation meshes and polygons will be visible "
+"in the running project."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Force Shader Fallbacks"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"When this option is enabled, shaders will be used in their fallback form "
+"(either visible via an ubershader or hidden) during all the run time.\n"
+"This is useful for verifying the look and performance of fallbacks, which "
+"are normally displayed briefly.\n"
+"Asynchronous shader compilation must be enabled in the project settings for "
+"this option to make a difference."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Synchronize Scene Changes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"When this option is enabled, any changes made to the scene in the editor "
+"will be replicated in the running project.\n"
+"When used remotely on a device, this is more efficient when the network "
+"filesystem option is enabled."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Synchronize Script Changes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"When this option is enabled, any script that is saved will be reloaded in "
+"the running project.\n"
+"When used remotely on a device, this is more efficient when the network "
+"filesystem option is enabled."
+msgstr ""
+
+#: editor/editor_node.cpp editor/script_create_dialog.cpp
+msgid "Editor"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Editor Settings..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Editor Layout"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Take Screenshot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Screenshots are stored in the Editor Data/Settings Folder."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Toggle Fullscreen"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data/Settings Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open Editor Settings Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Manage Editor Features..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Manage Export Templates..."
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp
+msgid "Help"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Online Documentation"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Questions & Answers"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Report a Bug"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Suggest a Feature"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Send Docs Feedback"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
+msgid "Community"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "About Godot"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Support Godot Development"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Play the project."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Play"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Pause the scene execution for debugging."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Pause Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Stop the scene."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Play the edited scene."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Play Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Play custom scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Play Custom Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Changing the video driver requires restarting the editor."
+msgstr ""
+
+#: editor/editor_node.cpp editor/project_settings_editor.cpp
+#: editor/settings_config_dialog.cpp
+msgid "Save & Restart"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Update Continuously"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Update All Changes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Update Vital Changes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Hide Update Spinner"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "FileSystem"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Inspector"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Output"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Don't Save"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Android build template is missing, please install relevant templates."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Manage Templates"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Install from file"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Select android sources file"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"This will set up your project for custom Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make custom builds instead of using pre-built APKs, "
+"the \"Use Custom Build\" option should be enabled in the Android export "
+"preset."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"The Android build template is already installed in this project and it won't "
+"be overwritten.\n"
+"Remove the \"res://android/build\" directory manually before attempting this "
+"operation again."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Import Templates From ZIP File"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Template Package"
+msgstr ""
+
+#: editor/editor_node.cpp modules/gltf/editor_scene_exporter_gltf_plugin.cpp
+msgid "Export Library"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Merge With Existing"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Apply MeshInstance Transforms"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open & Run a Script"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"The following files are newer on disk.\n"
+"What action should be taken?"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/shader_editor_plugin.cpp
+msgid "Reload"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/shader_editor_plugin.cpp
+msgid "Resave"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "New Inherited"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Load Errors"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Select"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Select Current"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open 2D Editor"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open 3D Editor"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open Script Editor"
+msgstr ""
+
+#: editor/editor_node.cpp editor/project_manager.cpp
+msgid "Open Asset Library"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open the next Editor"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open the previous Editor"
+msgstr ""
+
+#: editor/editor_node.h
+msgid "Warning!"
+msgstr ""
+
+#: editor/editor_path.cpp
+msgid "No sub-resources found."
+msgstr ""
+
+#: editor/editor_path.cpp
+msgid "Open a list of sub-resources."
+msgstr ""
+
+#: editor/editor_plugin.cpp
+msgid "Creating Mesh Previews"
+msgstr ""
+
+#: editor/editor_plugin.cpp
+msgid "Thumbnail..."
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
+msgid "Main Script:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
+msgid "Edit Plugin"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
+msgid "Installed Plugins:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
+msgid "Update"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
+msgid "Version"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
+msgid "Author"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Measure:"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Frame Time (ms)"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Average Time (ms)"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Frame %"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Physics Frame %"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Inclusive"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Self"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid ""
+"Inclusive: Includes time from other functions called by this function.\n"
+"Use this to spot bottlenecks.\n"
+"\n"
+"Self: Only count the time spent in the function itself, not in other "
+"functions called by that function.\n"
+"Use this to find individual functions to optimize."
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Frame #:"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Time"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Calls"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Edit Text:"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/script_create_dialog.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign..."
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Invalid RID"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid ""
+"Can't create a ViewportTexture on resources saved as a file.\n"
+"Resource needs to belong to a scene."
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid ""
+"Can't create a ViewportTexture on this resource because it's not set as "
+"local to scene.\n"
+"Please switch on the 'local to scene' property on it (and all resources "
+"containing it up to a node)."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Selected node is not a Viewport!"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Size: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+msgid "New Key:"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+msgid "New Value:"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_resource_picker.cpp
+msgid ""
+"The selected resource (%s) does not match any type expected for this "
+"property (%s)."
+msgstr ""
+
+#: editor/editor_resource_picker.cpp
+msgid "Quick Load"
+msgstr ""
+
+#: editor/editor_resource_picker.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_resource_picker.cpp
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/tile_map_editor_plugin.cpp editor/property_editor.cpp
+#: editor/scene_tree_dock.cpp scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_resource_picker.cpp editor/property_editor.cpp
+msgid "Convert to %s"
+msgstr ""
+
+#: editor/editor_resource_picker.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_resource_picker.cpp editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_resource_picker.cpp editor/scene_tree_dock.cpp
+msgid "Extend Script"
+msgstr ""
+
+#: editor/editor_run_native.cpp
+msgid ""
+"No runnable export preset found for this platform.\n"
+"Please add a runnable preset in the Export menu or define an existing preset "
+"as runnable."
+msgstr ""
+
+#: editor/editor_run_script.cpp
+msgid "Write your logic in the _run() method."
+msgstr ""
+
+#: editor/editor_run_script.cpp
+msgid "There is an edited scene already."
+msgstr ""
+
+#: editor/editor_run_script.cpp
+msgid "Couldn't instance script:"
+msgstr ""
+
+#: editor/editor_run_script.cpp
+msgid "Did you forget the 'tool' keyword?"
+msgstr ""
+
+#: editor/editor_run_script.cpp
+msgid "Couldn't run script:"
+msgstr ""
+
+#: editor/editor_run_script.cpp
+msgid "Did you forget the '_run' method?"
+msgstr ""
+
+#: editor/editor_spin_slider.cpp
+msgid "Hold %s to round to integers. Hold Shift for more precise changes."
+msgstr ""
+
+#: editor/editor_sub_scene.cpp
+msgid "Select Node(s) to Import"
+msgstr ""
+
+#: editor/editor_sub_scene.cpp editor/project_manager.cpp
+msgid "Browse"
+msgstr ""
+
+#: editor/editor_sub_scene.cpp
+msgid "Scene Path:"
+msgstr ""
+
+#: editor/editor_sub_scene.cpp
+msgid "Import From Node:"
+msgstr ""
+
+#. TRANSLATORS: %s refers to the name of a version control system (e.g. "Git").
+#: editor/editor_vcs_interface.cpp
+msgid "%s Error"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Open the folder containing these templates."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Uninstall these templates."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "There are no mirrors available."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Retrieving the mirror list..."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Starting the download..."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Error requesting URL:"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Connecting to the mirror..."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Can't resolve the requested address."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Can't connect to the mirror."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "No response from the mirror."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Request failed."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Request ended up in a redirect loop."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Request failed:"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Download complete; extracting templates..."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Cannot remove temporary file:"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed.\n"
+"The problematic templates archives can be found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Error getting the list of mirrors."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Error parsing JSON with the list of mirrors. Please report this issue!"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Best available mirror"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid ""
+"No download links found for this version. Direct download is only available "
+"for official releases."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Disconnected"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Resolving"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Can't Resolve"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Connecting..."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Can't Connect"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Connected"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Requesting..."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Downloading"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Connection Error"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "SSL Handshake Error"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Can't open the export templates file."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Invalid version.txt format inside the export templates file: %s."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "No version.txt found inside the export templates file."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Error creating path for extracting templates:"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Extracting Export Templates"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Importing:"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Remove templates for the version '%s'?"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Uncompressing Android Build Sources"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Export Template Manager"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Current Version:"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Export templates are missing. Download them or install from a file."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Export templates are installed and ready to be used."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Open Folder"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Open the folder containing installed templates for the current version."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Uninstall"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Uninstall templates for the current version."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Download from:"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Open in Web Browser"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Copy Mirror URL"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Download and Install"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid ""
+"Download and install templates for the current version from the best "
+"possible mirror."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Official export templates aren't available for development builds."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Install from File"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Install templates from a local file."
+msgstr ""
+
+#: editor/export_template_manager.cpp editor/find_in_files.cpp
+#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Cancel the download of the templates."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Other Installed Versions:"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Uninstall Template"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Select Template File"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Godot Export Templates"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid ""
+"The templates will continue to download.\n"
+"You may experience a short editor freeze when they finish."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Favorites"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Status: Import of file failed. Please fix file and reimport manually."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid ""
+"Importing has been disabled for this file, so it can't be opened for editing."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Cannot move/rename resources root."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Cannot move a folder into itself."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Error moving:"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Error duplicating:"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Unable to update dependencies:"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/scene_tree_editor.cpp
+msgid "No name provided."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Provided name contains invalid characters."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "A file or folder with this name already exists."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Name contains invalid characters."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid ""
+"This file extension is not recognized by the editor.\n"
+"If you want to rename it anyway, use your operating system's file manager.\n"
+"After renaming to an unknown extension, the file won't be shown in the "
+"editor anymore."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid ""
+"The following files or folders conflict with items in the target location "
+"'%s':\n"
+"\n"
+"%s\n"
+"\n"
+"Do you wish to overwrite them?"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Renaming file:"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Renaming folder:"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Duplicating file:"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Duplicating folder:"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "New Inherited Scene"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Set As Main Scene"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Open Scenes"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Instance"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Add to Favorites"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Remove from Favorites"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Edit Dependencies..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "View Owners..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Move To..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "New Scene..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "New Script..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "New Resource..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/inspector_dock.cpp
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#: editor/script_editor_debugger.cpp
+msgid "Expand All"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/inspector_dock.cpp
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#: editor/script_editor_debugger.cpp
+msgid "Collapse All"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Sort files"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Sort by Name (Ascending)"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Sort by Name (Descending)"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Sort by Type (Ascending)"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Sort by Type (Descending)"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Sort by Last Modified"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Sort by First Modified"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+msgid "Duplicate..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+msgid "Rename..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Focus the search box"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Previous Folder/File"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Next Folder/File"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Re-Scan Filesystem"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Toggle Split Mode"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Search files"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid ""
+"Scanning Files,\n"
+"Please Wait..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Move"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/project_manager.cpp editor/rename_dialog.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Rename"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Create Scene"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Find in Files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find:"
+msgstr ""
+
+#: editor/find_in_files.cpp editor/rename_dialog.cpp
+msgid "Replace:"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Folder:"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Filters:"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid ""
+"Include the files with the following extensions. Add or remove them in "
+"ProjectSettings."
+msgstr ""
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find..."
+msgstr ""
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr ""
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Replace in Files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Replace: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Replace All (NO UNDO)"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Searching..."
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "%d match in %d file."
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "%d matches in %d file."
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "%d matches in %d files."
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Add to Group"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Remove from Group"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Group name already exists."
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Invalid group name."
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Rename Group"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Delete Group"
+msgstr ""
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Nodes Not in Group"
+msgstr ""
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+#: editor/scene_tree_editor.cpp
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Empty groups will be automatically removed."
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Group Editor"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Import as Single Scene"
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Import with Separate Animations"
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Import with Separate Materials"
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Import with Separate Objects"
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Import with Separate Objects+Materials"
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Import with Separate Objects+Animations"
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Import with Separate Materials+Animations"
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Import with Separate Objects+Materials+Animations"
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Import as Multiple Scenes"
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Import as Multiple Scenes+Materials"
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import Scene"
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Importing Scene..."
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Generating Lightmaps"
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Generating for Mesh: "
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Running Custom Script..."
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Couldn't load post-import script:"
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Invalid/broken script for post-import (check console):"
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Error running post-import script:"
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Did you return a Node-derived object in the `post_import()` method?"
+msgstr ""
+
+#: editor/import/resource_importer_scene.cpp
+msgid "Saving..."
+msgstr ""
+
+#: editor/import_defaults_editor.cpp
+msgid "Select Importer"
+msgstr ""
+
+#: editor/import_defaults_editor.cpp
+msgid "Importer:"
+msgstr ""
+
+#: editor/import_defaults_editor.cpp
+msgid "Reset to Defaults"
+msgstr ""
+
+#: editor/import_dock.cpp
+msgid "Keep File (No Import)"
+msgstr ""
+
+#: editor/import_dock.cpp
+msgid "%d Files"
+msgstr ""
+
+#: editor/import_dock.cpp
+msgid "Set as Default for '%s'"
+msgstr ""
+
+#: editor/import_dock.cpp
+msgid "Clear Default for '%s'"
+msgstr ""
+
+#: editor/import_dock.cpp
+msgid "Reimport"
+msgstr ""
+
+#: editor/import_dock.cpp
+msgid ""
+"You have pending changes that haven't been applied yet. Click Reimport to "
+"apply changes made to the import options.\n"
+"Selecting another resource in the FileSystem dock without clicking Reimport "
+"first will discard changes made in the Import dock."
+msgstr ""
+
+#: editor/import_dock.cpp
+msgid "Import As:"
+msgstr ""
+
+#: editor/import_dock.cpp
+msgid "Preset"
+msgstr ""
+
+#: editor/import_dock.cpp
+msgid "Save Scenes, Re-Import, and Restart"
+msgstr ""
+
+#: editor/import_dock.cpp
+msgid "Changing the type of an imported file requires editor restart."
+msgstr ""
+
+#: editor/import_dock.cpp
+msgid ""
+"WARNING: Assets exist that use this resource, they may stop loading properly."
+msgstr ""
+
+#: editor/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 ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Paste Properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Save the currently edited resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Save As..."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Extra resource options."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Edit Resource from Clipboard"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Resource Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open documentation for this object."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/scene_tree_dock.cpp
+msgid "Open Documentation"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Filter properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Manage object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr ""
+
+#: editor/multi_node_edit.cpp
+msgid "MultiNode Set"
+msgstr ""
+
+#: editor/node_dock.cpp
+msgid "Select a single node to edit its signals and groups."
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+msgid "Edit a Plugin"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+msgid "Create a Plugin"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+msgid "Plugin Name:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Author:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Version:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp editor/script_create_dialog.cpp
+msgid "Language:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+msgid "Script Name:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon"
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Create points."
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+msgid ""
+"Edit points.\n"
+"LMB: Move Point\n"
+"RMB: Erase Point"
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+msgid "Erase points."
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+msgid "Edit Polygon"
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+msgid "Insert Point"
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+msgid "Edit Polygon (Remove Point)"
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+msgid "Remove Polygon And Point"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Animation"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Load..."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Move Node Point"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+msgid "Change BlendSpace1D Limits"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+msgid "Change BlendSpace1D Labels"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "This type of node can't be used. Only root nodes are allowed."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Add Node Point"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Add Animation Point"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+msgid "Remove BlendSpace1D Point"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+msgid "Move BlendSpace1D Node Point"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid ""
+"AnimationTree is inactive.\n"
+"Activate to enable playback, check node warnings if activation fails."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Set the blending position within the space"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Select and move points, create points with RMB."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp
+msgid "Enable snap and show grid."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Point"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Open Editor"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Open Animation Node"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Triangle already exists."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Add Triangle"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Change BlendSpace2D Limits"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Change BlendSpace2D Labels"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Remove BlendSpace2D Point"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Remove BlendSpace2D Triangle"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "BlendSpace2D does not belong to an AnimationTree node."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "No triangles exist, so no blending can take place."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Toggle Auto Triangles"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Create triangles by connecting points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Erase points and triangles."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Generate blend triangles automatically (instead of manually)"
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Blend:"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Parameter Changed:"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Output node can't be added to the blend tree."
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Add Node to BlendTree"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Node Moved"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Unable to connect, port may be in use or connection may be invalid."
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Nodes Connected"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Nodes Disconnected"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Set Animation"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Delete Node"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Delete Node(s)"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Toggle Filter On/Off"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Change Filter"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "No animation player set, so unable to retrieve track names."
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Player path set is invalid, so unable to retrieve track names."
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid ""
+"Animation player has no valid root node path, so unable to retrieve track "
+"names."
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Anim Clips"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Audio Clips"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Functions"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Node Renamed"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Add Node..."
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "Edit Filtered Tracks:"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Enable Filtering"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Toggle Autoplay"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "New Animation Name:"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "New Anim"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Change Animation Name:"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Delete Animation?"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Remove Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Invalid animation name!"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation name already exists!"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Duplicate Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Blend Next Changed"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Change Blend Time"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "No animation to copy!"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "No animation resource on clipboard!"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Pasted Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Paste Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "No animation to edit!"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation backwards from current pos. (A)"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation backwards from end. (Shift+A)"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Stop animation playback. (S)"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation from start. (Shift+D)"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation from current pos. (D)"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation position (in seconds)."
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Scale animation playback globally for the node."
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation Tools"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "New"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Edit Transitions..."
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Open in Inspector"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Display list of animations in player."
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Autoplay on Load"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Enable Onion Skinning"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Onion Skinning Options"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Directions"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Past"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Future"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Depth"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "1 step"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "2 steps"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "3 steps"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Differences Only"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Force White Modulate"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Include Gizmos (3D)"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Pin AnimationPlayer"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation Name:"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
+msgid "Error!"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Blend Times:"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Next (Auto Queue):"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Cross-Animation Blend Times"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Move Node"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Transition exists!"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Add Transition"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Add Node"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Travel"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Start and end nodes are needed for a sub-transition."
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "No playback resource set at path: %s."
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Node Removed"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Transition Removed"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Set Start Node (Autoplay)"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid ""
+"Select and move nodes.\n"
+"RMB to add new nodes.\n"
+"Shift+LMB to create connections."
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Create new nodes."
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Connect nodes."
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Remove selected node or transition."
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Toggle autoplay this animation on start, restart or seek to zero."
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Set the end animation. This is useful for sub-transitions."
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Transition: "
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Play Mode:"
+msgstr ""
+
+#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "AnimationTree"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "New name:"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Fade In (s):"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Fade Out (s):"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Blend"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Mix"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Auto Restart:"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Restart (s):"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Random Restart (s):"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Start!"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Amount:"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Blend 0:"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Blend 1:"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "X-Fade Time (s):"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Current:"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Add Input"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Clear Auto-Advance"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Set Auto-Advance"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Delete Input"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Animation tree is valid."
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Animation tree is invalid."
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Animation Node"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "OneShot Node"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Mix Node"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Blend2 Node"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Blend3 Node"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Blend4 Node"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "TimeScale Node"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "TimeSeek Node"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Transition Node"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Import Animations..."
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Node Filters"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Filters..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Contents:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "View Files"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Download"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Connection error, please try again."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Can't connect."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Can't connect to host:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "No response from host:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "No response."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Can't resolve hostname:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Can't resolve."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Request failed, return code:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Cannot save response to:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Write error."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Request failed, too many redirects"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Redirect loop."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Request failed, timeout"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Timeout."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Failed:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Bad download hash, assuming file has been tampered with."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Expected:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Got:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Failed SHA-256 hash check"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Asset Download Error:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Downloading (%s / %s)..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Downloading..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Resolving..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Error making request"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Idle"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Install..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Retry"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Download Error"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Download for this asset is already in progress!"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Recently Updated"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Least Recently Updated"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Name (A-Z)"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Name (Z-A)"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "License (A-Z)"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "License (Z-A)"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "First"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Previous"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Next"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Last"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "All"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Search templates, projects, and demos"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Search assets (excluding templates, projects, and demos)"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Import..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Plugins..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
+msgid "Sort:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Category:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Site:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Support"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Official"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Testing"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Loading..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Assets ZIP File"
+msgstr ""
+
+#: editor/plugins/audio_stream_editor_plugin.cpp
+msgid "Audio Preview Play/Pause"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid ""
+"Can't determine a save path for lightmap images.\n"
+"Save your scene and try again."
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid ""
+"No meshes to bake. Make sure they contain an UV2 channel and that the 'Use "
+"In Baked Light' and 'Generate Lightmap' flags are on."
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "Failed creating lightmap images, make sure path is writable."
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "Failed determining lightmap size. Maximum lightmap size too small?"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid ""
+"Some mesh is invalid. Make sure the UV2 channel values are contained within "
+"the [0.0,1.0] square region."
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid ""
+"Godot editor was built without ray tracing support, lightmaps can't be baked."
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "Bake Lightmaps"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "Select lightmap bake file:"
+msgstr ""
+
+#: editor/plugins/camera_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Preview"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Configure Snap"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Grid Offset:"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Grid Step:"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Primary Line Every:"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "steps"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotation Offset:"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotation Step:"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Scale Step:"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move Vertical Guide"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Create Vertical Guide"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Remove Vertical Guide"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move Horizontal Guide"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Create Horizontal Guide"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Remove Horizontal Guide"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Create Horizontal and Vertical Guides"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate %d CanvasItems"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem \"%s\" to %d degrees"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem \"%s\" Anchor"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Scale Node2D \"%s\" to (%s, %s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Resize Control \"%s\" to (%d, %d)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Scale %d CanvasItems"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Scale CanvasItem \"%s\" to (%s, %s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move %d CanvasItems"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem \"%s\" to (%d, %d)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Locked"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Grouped"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid ""
+"Children of containers have their anchors and margins values overridden by "
+"their parent."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Presets for the anchors and margins values of a Control node."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid ""
+"When active, moving Control nodes changes their anchors instead of their "
+"margins."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Top Left"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Top Right"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Bottom Right"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Bottom Left"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Center Left"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Center Top"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Center Right"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Center Bottom"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Center"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Left Wide"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Top Wide"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Right Wide"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Bottom Wide"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "VCenter Wide"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "HCenter Wide"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Full Rect"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Keep Ratio"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Anchors only"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Change Anchors and Margins"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Change Anchors"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Project Camera Override\n"
+"Overrides the running project's camera with the editor viewport camera."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Project Camera Override\n"
+"No project instance running. Run the project from the editor to use this "
+"feature."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock Selected"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Unlock Selected"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Group Selected"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Ungroup Selected"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Paste Pose"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear Guides"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Create Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear Bones"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make IK Chain"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear IK Chain"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid ""
+"Warning: Children of a container get their position and size determined only "
+"by their parent."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+#: editor/plugins/texture_region_editor_plugin.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
+msgid "Zoom Reset"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Select Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Drag: Rotate selected node around pivot."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Alt+Drag: Move selected node."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Alt+Drag: Scale selected node."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "V: Set selected node's pivot position."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Alt+RMB: Show list of all nodes at position clicked, including locked."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "RMB: Add node at position clicked."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Move Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Shift: Scale proportionally."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Show a list of all objects at the position clicked\n"
+"(same as Alt+RMB in select mode)."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Click to change object's rotation pivot."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Pan Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Ruler Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Toggle smart snapping."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Smart Snap"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Toggle grid snapping."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Grid Snap"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snapping Options"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Rotation Snap"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Scale Snap"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap Relative"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Pixel Snap"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Smart Snapping"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Configure Snap..."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap to Parent"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap to Node Anchor"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap to Node Sides"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap to Node Center"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap to Other Nodes"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap to Guides"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock the selected object in place (can't be moved)."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock Selected Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Unlock the selected object (can be moved)."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Unlock Selected Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Makes sure the object's children are not selectable."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Group Selected Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Restores the object's children's ability to be selected."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Ungroup Selected Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Skeleton Options"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Show Bones"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear Custom Bones"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "View"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Always Show Grid"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Show Helpers"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Show Rulers"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Show Guides"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Show Origin"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Show Viewport"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Show Group And Lock Icons"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Center Selection"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Frame Selection"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Preview Canvas Scale"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Translation mask for inserting keys."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotation mask for inserting keys."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Scale mask for inserting keys."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert keys (based on mask)."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid ""
+"Auto insert keys when objects are translated, rotated or scaled (based on "
+"mask).\n"
+"Keys are only added to existing tracks, no new tracks will be created.\n"
+"Keys must be inserted manually for the first time."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Auto Insert Key"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation Key and Pose Options"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key (Existing Tracks)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Copy Pose"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear Pose"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Add Node Here"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Instance Scene Here"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Multiply grid step by 2"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Divide grid step by 2"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Pan View"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom to 3.125%"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom to 6.25%"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom to 12.5%"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom to 25%"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom to 50%"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom to 100%"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom to 200%"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom to 400%"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom to 800%"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom to 1600%"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: modules/visual_script/visual_script_func_nodes.cpp
+msgid "Add %s"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Adding %s..."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Cannot instantiate multiple nodes without root."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+msgid "Create Node"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+msgid "Error instancing scene from %s"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Change Default Type"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid ""
+"Drag & drop + Shift : Add node as sibling\n"
+"Drag & drop + Alt : Change node type"
+msgstr ""
+
+#: editor/plugins/collision_polygon_editor_plugin.cpp
+msgid "Create Polygon3D"
+msgstr ""
+
+#: editor/plugins/collision_polygon_editor_plugin.cpp
+msgid "Edit Poly"
+msgstr ""
+
+#: editor/plugins/collision_polygon_editor_plugin.cpp
+msgid "Edit Poly (Remove Point)"
+msgstr ""
+
+#: editor/plugins/collision_shape_2d_editor_plugin.cpp
+msgid "Set Handle"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Load Emission Mask"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Restart"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Clear Emission Mask"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Particles"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Generated Point Count:"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Emission Mask"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Solid Pixels"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Border Pixels"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Directed Border Pixels"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Capture from Pixel"
+msgstr ""
+
+#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Emission Colors"
+msgstr ""
+
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
+msgstr ""
+
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr ""
+
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Node"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Flat 0"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Flat 1"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
+msgid "Ease In"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
+msgid "Ease Out"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Smoothstep"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Modify Curve Point"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Modify Curve Tangent"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Load Curve Preset"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Add Point"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Remove Point"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Left Linear"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Right Linear"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Load Preset"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Remove Curve Point"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Toggle Curve Linear Tangent"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Hold Shift to edit tangents individually"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Right click to add point"
+msgstr ""
+
+#: editor/plugins/gi_probe_editor_plugin.cpp
+msgid "Bake GI Probe"
+msgstr ""
+
+#: editor/plugins/gradient_editor_plugin.cpp
+msgid "Gradient Edited"
+msgstr ""
+
+#: editor/plugins/item_list_editor_plugin.cpp
+msgid "Item %d"
+msgstr ""
+
+#: editor/plugins/item_list_editor_plugin.cpp
+msgid "Items"
+msgstr ""
+
+#: editor/plugins/item_list_editor_plugin.cpp
+msgid "Item List Editor"
+msgstr ""
+
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "Create Occluder Polygon"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Mesh is empty!"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Couldn't create a Trimesh collision shape."
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Static Trimesh Body"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "This doesn't work on scene root!"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Static Shape"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Can't create a single convex collision shape for the scene root."
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Couldn't create a single convex collision shape."
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Simplified Convex Shape"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Single Convex Shape"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Can't create multiple convex collision shapes for the scene root."
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Couldn't create any collision shapes."
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Multiple Convex Shapes"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Navigation Mesh"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Contained Mesh is not of type ArrayMesh."
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "UV Unwrap failed, mesh may not be manifold?"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "No mesh to debug."
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Mesh has no UV in layer %d."
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "MeshInstance lacks a Mesh!"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Mesh has not surface to create outlines from!"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Could not create outline!"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Mesh"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Static Body"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid ""
+"Creates a StaticBody and assigns a polygon-based collision shape to it "
+"automatically.\n"
+"This is the most accurate (but slowest) option for collision detection."
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Collision Sibling"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid ""
+"Creates a polygon-based collision shape.\n"
+"This is the most accurate (but slowest) option for collision detection."
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Single Convex Collision Sibling"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid ""
+"Creates a single convex collision shape.\n"
+"This is the fastest (but least accurate) option for collision detection."
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Simplified Convex Collision Sibling"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid ""
+"Creates a simplified convex collision shape.\n"
+"This is similar to single collision shape, but can result in a simpler "
+"geometry in some cases, at the cost of accuracy."
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Multiple Convex Collision Siblings"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid ""
+"Creates a polygon-based collision shape.\n"
+"This is a performance middle-ground between a single convex collision and a "
+"polygon-based collision."
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline Mesh..."
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid ""
+"Creates a static outline mesh. The outline mesh will have its normals "
+"flipped automatically.\n"
+"This can be used instead of the SpatialMaterial Grow property when using "
+"that property isn't possible."
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "View UV1"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "View UV2"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Unwrap UV2 for Lightmap/AO"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline Mesh"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Outline Size:"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "UV Channel Debug"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid ""
+"Update from existing scene?:\n"
+"%s"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Mesh Library"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Add Item"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import from Scene (Ignore Transforms)"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import from Scene (Apply Transforms)"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "No mesh source specified (and no MultiMesh set in node)."
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "No mesh source specified (and MultiMesh contains no Mesh)."
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh source is invalid (invalid path)."
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh source is invalid (not a MeshInstance)."
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh source is invalid (contains no Mesh resource)."
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "No surface source specified."
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Surface source is invalid (invalid path)."
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Surface source is invalid (no geometry)."
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Surface source is invalid (no faces)."
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Select a Source Mesh:"
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Select a Target Surface:"
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Populate Surface"
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Populate MultiMesh"
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Target Surface:"
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Source Mesh:"
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "X-Axis"
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Y-Axis"
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Z-Axis"
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh Up Axis:"
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Random Rotation:"
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Random Tilt:"
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Random Scale:"
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Populate"
+msgstr ""
+
+#: editor/plugins/navigation_polygon_editor_plugin.cpp
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create Navigation Polygon"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Convert to CPUParticles"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Generating Visibility Rect"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Generate Visibility Rect"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Can only set point into a ParticlesMaterial process material"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Convert to CPUParticles2D"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generation Time (sec):"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "The geometry's faces don't contain any area."
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "The geometry doesn't contain any faces."
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "\"%s\" doesn't inherit from Spatial."
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "\"%s\" doesn't contain geometry."
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "\"%s\" doesn't contain face geometry."
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emitter"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Emission Points:"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Surface Points"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Surface Points+Normal (Directed)"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Volume"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Emission Source: "
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generating AABB"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate Visibility AABB"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+msgid "Remove Point from Curve"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+msgid "Remove Out-Control from Curve"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+msgid "Remove In-Control from Curve"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Add Point to Curve"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+msgid "Split Curve"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+msgid "Move Point in Curve"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+msgid "Move In-Control in Curve"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+msgid "Move Out-Control in Curve"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Select Points"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Shift+Drag: Select Control Points"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Click: Add Point"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+msgid "Left Click: Split Segment (in curve)"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Right Click: Delete Point"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+msgid "Select Control Points (Shift+Drag)"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Add Point (in empty space)"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Delete Point"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Close Curve"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp
+#: editor/plugins/theme_editor_preview.cpp
+#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_export.cpp
+msgid "Options"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Mirror Handle Angles"
+msgstr ""
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Mirror Handle Lengths"
+msgstr ""
+
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Curve Point #"
+msgstr ""
+
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve Point Position"
+msgstr ""
+
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve In Position"
+msgstr ""
+
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve Out Position"
+msgstr ""
+
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Split Path"
+msgstr ""
+
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Remove Path Point"
+msgstr ""
+
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Remove Out-Control Point"
+msgstr ""
+
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Remove In-Control Point"
+msgstr ""
+
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Split Segment (in curve)"
+msgstr ""
+
+#: editor/plugins/physical_bone_plugin.cpp
+msgid "Move Joint"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid ""
+"The skeleton property of the Polygon2D does not point to a Skeleton2D node"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Sync Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid ""
+"No texture in this polygon.\n"
+"Set a texture to be able to edit UV."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create UV Map"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid ""
+"Polygon 2D has internal vertices, so it can no longer be edited in the "
+"viewport."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Internal Vertex"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Remove Internal Vertex"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Invalid Polygon (need 3 different vertices)"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Add Custom Polygon"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Remove Custom Polygon"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Transform UV Map"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Transform Polygon"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint Bone Weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Open Polygon 2D UV editor."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Polygon 2D UV Editor"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Points"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Polygons"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Move Points"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Command: Rotate"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Shift: Move All"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Shift+Command: Scale"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Ctrl: Rotate"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Shift+Ctrl: Scale"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Move Polygon"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Rotate Polygon"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Scale Polygon"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create a custom polygon. Enables custom polygon rendering."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid ""
+"Remove a custom polygon. If none remain, custom polygon rendering is "
+"disabled."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint weights with specified intensity."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Unpaint weights with specified intensity."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Radius:"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Copy Polygon to UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Copy UV to Polygon"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Clear UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Grid Settings"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Snap"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Enable Snap"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Grid"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Show Grid"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Configure Grid:"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Grid Offset X:"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Grid Offset Y:"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Grid Step X:"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Grid Step Y:"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Sync Bones to Polygon"
+msgstr ""
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "ERROR: Couldn't load resource!"
+msgstr ""
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Add Resource"
+msgstr ""
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Rename Resource"
+msgstr ""
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Delete Resource"
+msgstr ""
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Resource clipboard is empty!"
+msgstr ""
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr ""
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/scene_tree_editor.cpp
+msgid "Instance:"
+msgstr ""
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Type:"
+msgstr ""
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
+msgid "Open in Editor"
+msgstr ""
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Load Resource"
+msgstr ""
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "ResourcePreloader"
+msgstr ""
+
+#: editor/plugins/room_manager_editor_plugin.cpp
+msgid "Flip Portals"
+msgstr ""
+
+#: editor/plugins/room_manager_editor_plugin.cpp
+msgid "Room Generate Points"
+msgstr ""
+
+#: editor/plugins/room_manager_editor_plugin.cpp
+msgid "Generate Points"
+msgstr ""
+
+#: editor/plugins/room_manager_editor_plugin.cpp
+msgid "Flip Portal"
+msgstr ""
+
+#: editor/plugins/room_manager_editor_plugin.cpp
+msgid "Occluder Set Transform"
+msgstr ""
+
+#: editor/plugins/room_manager_editor_plugin.cpp
+msgid "Center Node"
+msgstr ""
+
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "AnimationTree has no path set to an AnimationPlayer"
+msgstr ""
+
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "Path to AnimationPlayer is invalid"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Clear Recent Files"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Close and save changes?"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error writing TextFile:"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Could not load file at:"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error saving file!"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error while saving theme."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error Saving"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error importing theme."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error Importing"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "New Text File..."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Open File"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save File As..."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Can't obtain the script for running."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Script failed reloading, check console for errors."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Script is not in tool mode, will not be able to run."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid ""
+"To run this script, it must inherit EditorScript and be set to tool mode."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Import Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error while saving theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error saving"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme As..."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "%s Class Reference"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find Next"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find Previous"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter scripts"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Filter methods"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Sort"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
+#: modules/gdnative/gdnative_library_editor_plugin.cpp
+msgid "Move Up"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
+#: modules/gdnative/gdnative_library_editor_plugin.cpp
+msgid "Move Down"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Next Script"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Previous Script"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "File"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Open..."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Reopen Closed Script"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save All"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Soft Reload Script"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Copy Script Path"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "History Previous"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "History Next"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Import Theme..."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Reload Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Close All"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Close Docs"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+msgid "Run"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Search"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Step Into"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Break"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+#: editor/script_editor_debugger.cpp
+msgid "Continue"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Keep Debugger Open"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Debug with External Editor"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/shader_editor_plugin.cpp
+msgid "Online Docs"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Open Godot online documentation."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search the reference documentation."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Go to previous edited document."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Go to next edited document."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Discard"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid ""
+"The following files are newer on disk.\n"
+"What action should be taken?:"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Debugger"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search Results"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Clear Recent Scripts"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Connections to method:"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp
+msgid "Source"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Target"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid ""
+"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "[Ignore]"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Line"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Go to Function"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Only resources from filesystem can be dropped."
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Can't drop nodes because script '%s' is not used in this scene."
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Lookup Symbol"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Pick Color"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Convert Case"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Uppercase"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Lowercase"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Capitalize"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Syntax Highlighter"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+msgid "Bookmarks"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Breakpoints"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+msgid "Go To"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Cut"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/theme_editor_plugin.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Select All"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Delete Line"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Indent Left"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Indent Right"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Toggle Comment"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Fold/Unfold Line"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Fold All Lines"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Unfold All Lines"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Complete Symbol"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Evaluate Selection"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Trim Trailing Whitespace"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Convert Indent to Spaces"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Convert Indent to Tabs"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Auto Indent"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Find in Files..."
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Replace in Files..."
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Contextual Help"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Toggle Bookmark"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Go to Next Bookmark"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Go to Previous Bookmark"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Remove All Bookmarks"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Go to Function..."
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Go to Line..."
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Toggle Breakpoint"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Remove All Breakpoints"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Go to Next Breakpoint"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Go to Previous Breakpoint"
+msgstr ""
+
+#: editor/plugins/shader_editor_plugin.cpp
+msgid ""
+"This shader has been modified on on disk.\n"
+"What action should be taken?"
+msgstr ""
+
+#: editor/plugins/shader_editor_plugin.cpp
+msgid "Shader"
+msgstr ""
+
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
+
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Rest Pose to Bones"
+msgstr ""
+
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Create Rest Pose from Bones"
+msgstr ""
+
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Skeleton2D"
+msgstr ""
+
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Reset to Rest Pose"
+msgstr ""
+
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Overwrite Rest Pose"
+msgstr ""
+
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
+msgstr ""
+
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Skeleton"
+msgstr ""
+
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical skeleton"
+msgstr ""
+
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+msgid "Play IK"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Orthogonal"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Perspective"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Top Orthogonal"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Top Perspective"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom Orthogonal"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom Perspective"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Left Orthogonal"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Left Perspective"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Right Orthogonal"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Right Perspective"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Front Orthogonal"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Front Perspective"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear Orthogonal"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear Perspective"
+msgstr ""
+
+#. TRANSLATORS: This will be appended to the view name when Auto Orthogonal is enabled.
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid " [auto]"
+msgstr ""
+
+#. TRANSLATORS: This will be appended to the view name when Portal Occulusion is enabled.
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid " [portals active]"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Aborted."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "X-Axis Transform."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Y-Axis Transform."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Z-Axis Transform."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "View Plane Transform."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/texture_region_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate"
+msgstr ""
+
+#. TRANSLATORS: This refers to the movement that changes the position of an object.
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Translate"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Scaling: "
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Translating: "
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotating %s degrees."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Keying is disabled (no key inserted)."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Animation Key Inserted."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Pitch:"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Yaw:"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Size:"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Objects Drawn:"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Material Changes:"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Shader Changes:"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Surface Changes:"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Draw Calls:"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Vertices:"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "FPS: %d (%s ms)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Top View."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom View."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Left View."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Right View."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Front View."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear View."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Align Transform with View"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Align Rotation with View"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+msgid "No parent to instance a child at."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+msgid "This operation requires a single selected node."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Auto Orthogonal Enabled"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Normal"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Wireframe"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Overdraw"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Unshaded"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "View Environment"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "View Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "View Information"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "View FPS"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Half Resolution"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Audio Listener"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Enable Doppler"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Freelook Left"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Freelook Right"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Freelook Forward"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Freelook Backwards"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Freelook Up"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Freelook Down"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Freelook Speed Modifier"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Freelook Slow Modifier"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Toggle Camera Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "View Rotation Locked"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"To zoom further, change the camera's clipping planes (View -> Settings...)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Note: The FPS value displayed is the editor's framerate.\n"
+"It cannot be used as a reliable indication of in-game performance."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Convert Rooms"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "XForm Dialog"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Click to toggle between visibility states.\n"
+"\n"
+"Open eye: Gizmo is visible.\n"
+"Closed eye: Gizmo is hidden.\n"
+"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap Nodes to Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Couldn't find a solid floor to snap the selection to."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Use Local Space"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Use Snap"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Converts rooms for portal culling."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom View"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Top View"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear View"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Front View"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Left View"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Right View"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Orbit View Down"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Orbit View Left"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Orbit View Right"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Orbit View Up"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Orbit View 180"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Switch Perspective/Orthogonal View"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Insert Animation Key"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Focus Origin"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Focus Selection"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Toggle Freelook"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Decrease Field of View"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Increase Field of View"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Reset Field of View to Default"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Transform"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap Object to Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Dialog..."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "1 Viewport"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports (Alt)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports (Alt)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "4 Viewports"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "View Origin"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "View Grid"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "View Portal Culling"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "View Occlusion Culling"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Settings..."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap Settings"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Translate Snap:"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate Snap (deg.):"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale Snap (%):"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Viewport Settings"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Perspective FOV (deg.):"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "View Z-Near:"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "View Z-Far:"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Change"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Translate:"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate (deg.):"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale (ratio):"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Type"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Pre"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Post"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Unnamed Gizmo"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Create Mesh2D"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Mesh2D Preview"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Create Polygon2D"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Polygon2D Preview"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Create CollisionPolygon2D"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "CollisionPolygon2D Preview"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Create LightOccluder2D"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "LightOccluder2D Preview"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Sprite is empty!"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Can't convert a sprite using animation frames to mesh."
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Invalid geometry, can't replace by mesh."
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to Mesh2D"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Invalid geometry, can't create polygon."
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to Polygon2D"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Invalid geometry, can't create collision polygon."
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Create CollisionPolygon2D Sibling"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Invalid geometry, can't create light occluder."
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Create LightOccluder2D Sibling"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Shrink (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Update Preview"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Settings:"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "No Frames Selected"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add %d Frame(s)"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Unable to load images"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "ERROR: Couldn't load frame resource!"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Resource clipboard is empty or not a texture!"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Paste Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Empty"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Change Animation FPS"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "(empty)"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move Frame"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Animations:"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "New Animation"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Speed:"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Loop"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Animation Frames:"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add a Texture from File"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Frames from a Sprite Sheet"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Insert Empty (Before)"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Insert Empty (After)"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move (Before)"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Move (After)"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Select Frames"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Horizontal:"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Vertical:"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Select/Clear All Frames"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Create Frames from Sprite Sheet"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "SpriteFrames"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "Set Region Rect"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "Set Margin"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "Snap Mode:"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "Pixel Snap"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "Grid Snap"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "Auto Slice"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "Offset:"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "Step:"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "Separation:"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "TextureRegion"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Styleboxes"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "{num} color(s)"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "No colors found."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "{num} constant(s)"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "No constants found."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "{num} font(s)"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "No fonts found."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "{num} icon(s)"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "No icons found."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "{num} stylebox(es)"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "No styleboxes found."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "{num} currently selected"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Nothing was selected for the import."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Importing Theme Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Importing items {n}/{n}"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Updating the editor"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Finalizing"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Filter:"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "With Data"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select by data type:"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select all visible color items."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select all visible color items and their data."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Deselect all visible color items."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select all visible constant items."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select all visible constant items and their data."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Deselect all visible constant items."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select all visible font items."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select all visible font items and their data."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Deselect all visible font items."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select all visible icon items."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select all visible icon items and their data."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Deselect all visible icon items."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select all visible stylebox items."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select all visible stylebox items and their data."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Deselect all visible stylebox items."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid ""
+"Caution: Adding icon data may considerably increase the size of your Theme "
+"resource."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Collapse types."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Expand types."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select all Theme items."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select With Data"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select all Theme items with item data."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Deselect All"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Deselect all Theme items."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Import Selected"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid ""
+"Import Items tab has some items selected. Selection will be lost upon "
+"closing this window.\n"
+"Close anyway?"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid ""
+"Select a theme type from the list to edit its items.\n"
+"You can add a custom type or import a type with its items from another theme."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove All Color Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Rename Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove All Constant Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove All Font Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove All Icon Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove All StyleBox Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid ""
+"This theme type is empty.\n"
+"Add more items to it manually or by importing from another theme."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Color Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Constant Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Font Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Icon Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Stylebox Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Rename Color Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Rename Constant Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Rename Font Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Rename Icon Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Rename Stylebox Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Invalid file, not a Theme resource."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Invalid file, same as the edited Theme resource."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Manage Theme Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Edit Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Types:"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Type:"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item:"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add StyleBox Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Items:"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Class Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Custom Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove All Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Theme Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Old Name:"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Import Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Default Theme"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Editor Theme"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select Another Theme Resource:"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme Resource"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Another Theme"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Filter the list of types or create a new custom type:"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Available Node-based types:"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Type name is empty!"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Are you sure you want to create an empty type?"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Confirm Item Rename"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Cancel Item Rename"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Override Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Unpin this StyleBox as a main style."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid ""
+"Pin this StyleBox as a main style. Editing its properties will update the "
+"same properties in all other StyleBoxes of this type."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Show Default"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Show default type items alongside items that have been overridden."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Override All"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Override all default type items."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme:"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Manage Items..."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add, remove, organize and import Theme items."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Preview"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Default Preview"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select UI Scene:"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid ""
+"Toggle the control picker, allowing to visually select control types for "
+"edit."
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Toggle Button"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Disabled Button"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Disabled Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Check Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Checked Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Radio Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Checked Radio Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Named Separator"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Submenu"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Subitem 1"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Subitem 2"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Has"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Many"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Disabled LineEdit"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Tab 1"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Tab 2"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Tab 3"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Editable Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Subtree"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Has,Many,Options"
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Invalid path, the PackedScene resource was probably moved or removed."
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Invalid PackedScene resource, must have a Control node at its root."
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Invalid file, not a PackedScene resource."
+msgstr ""
+
+#: editor/plugins/theme_editor_preview.cpp
+msgid "Reload the scene to reflect its most actual state."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Erase Selection"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Fix Invalid Tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Cut Selection"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Paint TileMap"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Line Draw"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rectangle Paint"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Bucket Fill"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Erase TileMap"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Find Tile"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Transpose"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Disable Autotile"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Enable Priority"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Filter tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Give a TileSet resource to this TileMap to use its tiles."
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Paint Tile"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid ""
+"Shift+LMB: Line Draw\n"
+"Shift+Command+LMB: Rectangle Paint"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid ""
+"Shift+LMB: Line Draw\n"
+"Shift+Ctrl+LMB: Rectangle Paint"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Pick Tile"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate Left"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate Right"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Flip Horizontally"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Flip Vertically"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Clear Transform"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Add Texture(s) to TileSet."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove selected Texture from TileSet."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from Scene"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "New Single Tile"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "New Autotile"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "New Atlas"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Next Coordinate"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Select the next shape, subtile, or Tile."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Previous Coordinate"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Select the previous shape, subtile, or Tile."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Region"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Collision"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Occlusion"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Navigation"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Bitmask"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Priority"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Icon"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Z Index"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Region Mode"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Collision Mode"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Occlusion Mode"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Navigation Mode"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Bitmask Mode"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Priority Mode"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Icon Mode"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Z Index Mode"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Copy bitmask."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Paste bitmask."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Erase bitmask."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create a new rectangle."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "New Rectangle"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create a new polygon."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "New Polygon"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Delete Selected Shape"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Keep polygon inside region Rect."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Enable snap and show grid (configurable via the Inspector)."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Display Tile Names (Hold Alt Key)"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Add or select a texture on the left panel to edit the tiles bound to it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove selected texture? This will remove all tiles which use it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "You haven't selected a texture to remove."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from scene? This will overwrite all current tiles."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove Texture"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "%s file(s) were not added because was already on the list."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Delete selected Rect."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Delete polygon."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"LMB: Set bit on.\n"
+"RMB: Set bit off.\n"
+"Shift+LMB: Set wildcard bit.\n"
+"Click on another Tile to edit it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings.\n"
+"Click on another Tile to edit it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Select sub-tile to change its z index.\n"
+"Click on another Tile to edit it."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Set Tile Region"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create Tile"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Set Tile Icon"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Edit Tile Bitmask"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Edit Collision Polygon"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Edit Occlusion Polygon"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Edit Navigation Polygon"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Paste Tile Bitmask"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Clear Tile Bitmask"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Make Polygon Concave"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Make Polygon Convex"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove Tile"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove Collision Polygon"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove Occlusion Polygon"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove Navigation Polygon"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Edit Tile Priority"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Edit Tile Z Index"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Make Convex"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Make Concave"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create Collision Polygon"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create Occlusion Polygon"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "This property can't be changed."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "TileSet"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No VCS plugins are available."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Error"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid ""
+"Remote settings are empty. VCS features that use the network may not work."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "No commit message was provided."
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Staged Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Unstaged Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit:"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Date:"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Subtitle:"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Do you want to remove the %s branch?"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Do you want to remove the %s remote?"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Apply"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Version Control System"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Initialize"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Remote Login"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Username"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Password"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "SSH Public Key Path"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Select SSH public key path"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "SSH Private Key Path"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Select SSH private key path"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "SSH Passphrase"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Detect new changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Discard all changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Stage all changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Unstage all changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Message"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit Changes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit List"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Commit list size"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Branches"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Create New Branch"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Remove Branch"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Branch Name"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Remotes"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Create New Remote"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Remove Remote"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Remote Name"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Remote URL"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Fetch"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Pull"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Push"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Force Push"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Modified"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Renamed"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Deleted"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Typechange"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Unmerged"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "View:"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Split"
+msgstr ""
+
+#: editor/plugins/version_control_editor_plugin.cpp
+msgid "Unified"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "(GLES3 only)"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Add Output"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Scalar"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Vector"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Boolean"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Sampler"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Add input port"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Add output port"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Change input port type"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Change output port type"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Change input port name"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Change output port name"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Remove input port"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Remove output port"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Set expression"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Resize VisualShader node"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Set Uniform Name"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Set Input Default Port"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Add Node to Visual Shader"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Node(s) Moved"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Duplicate Nodes"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Paste Nodes"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Delete Nodes"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Visual Shader Input Type Changed"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "UniformRef Name Changed"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Vertex"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Show resulted shader code."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Create Shader Node"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Color function."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Color operator."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Grayscale function."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Converts HSV vector to RGB equivalent."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Converts RGB vector to HSV equivalent."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Sepia function."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Burn operator."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Darken operator."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Difference operator."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Dodge operator."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "HardLight operator."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Lighten operator."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Overlay operator."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Screen operator."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "SoftLight operator."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Color constant."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Color uniform."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the boolean result of the %s comparison between two parameters."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Equal (==)"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Greater Than (>)"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Greater Than or Equal (>=)"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated vector if the provided scalars are equal, greater or "
+"less."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns the boolean result of the comparison between INF and a scalar "
+"parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns the boolean result of the comparison between NaN and a scalar "
+"parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Less Than (<)"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Less Than or Equal (<=)"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Not Equal (!=)"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated vector if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns an associated scalar if the provided boolean value is true or false."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the boolean result of the comparison between two parameters."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns the boolean result of the comparison between INF (or NaN) and a "
+"scalar parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Boolean constant."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Boolean uniform."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "'%s' input parameter for all shader modes."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Input parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "'%s' input parameter for vertex and fragment shader modes."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "'%s' input parameter for fragment and light shader modes."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "'%s' input parameter for fragment shader mode."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "'%s' input parameter for light shader mode."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "'%s' input parameter for vertex shader mode."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "'%s' input parameter for vertex and fragment shader mode."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Scalar function."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Scalar operator."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "E constant (2.718282). Represents the base of the natural logarithm."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Epsilon constant (0.00001). Smallest possible scalar number."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Phi constant (1.618034). Golden ratio."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Pi/4 constant (0.785398) or 45 degrees."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Pi/2 constant (1.570796) or 90 degrees."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Pi constant (3.141593) or 180 degrees."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Tau constant (6.283185) or 360 degrees."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Sqrt2 constant (1.414214). Square root of 2."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the absolute value of the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the arc-cosine of the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the inverse hyperbolic cosine of the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the arc-sine of the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the inverse hyperbolic sine of the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the arc-tangent of the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the arc-tangent of the parameters."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the inverse hyperbolic tangent of the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Finds the nearest integer that is greater than or equal to the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Constrains a value to lie between two further values."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the cosine of the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the hyperbolic cosine of the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Converts a quantity in radians to degrees."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Base-e Exponential."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Base-2 Exponential."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Finds the nearest integer less than or equal to the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Computes the fractional part of the argument."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the inverse of the square root of the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Natural logarithm."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Base-2 logarithm."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the greater of two values."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the lesser of two values."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Linear interpolation between two scalars."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the opposite value of the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "1.0 - scalar"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns the value of the first parameter raised to the power of the second."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Converts a quantity in degrees to radians."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "1.0 / scalar"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Finds the nearest integer to the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Finds the nearest even integer to the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Clamps the value between 0.0 and 1.0."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Extracts the sign of the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the sine of the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the hyperbolic sine of the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the square root of the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n"
+"\n"
+"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if x is larger than "
+"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
+"using Hermite polynomials."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Step function( scalar(edge), scalar(x) ).\n"
+"\n"
+"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the tangent of the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the hyperbolic tangent of the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Finds the truncated value of the parameter."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Adds scalar to scalar."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Divides scalar by scalar."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Multiplies scalar by scalar."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the remainder of the two scalars."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Subtracts scalar from scalar."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Scalar constant."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Scalar uniform."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Perform the cubic texture lookup."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Perform the texture lookup."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Cubic texture uniform lookup."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "2D texture uniform lookup."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "2D texture uniform lookup with triplanar."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Transform function."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Calculate the outer product of a pair of vectors.\n"
+"\n"
+"OuterProduct treats the first parameter 'c' as a column vector (matrix with "
+"one column) and the second parameter 'r' as a row vector (matrix with one "
+"row) and does a linear algebraic matrix multiply 'c * r', yielding a matrix "
+"whose number of rows is the number of components in 'c' and whose number of "
+"columns is the number of components in 'r'."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Composes transform from four vectors."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Decomposes transform to four vectors."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Calculates the determinant of a transform."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Calculates the inverse of a transform."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Calculates the transpose of a transform."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Multiplies transform by transform."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Multiplies vector by transform."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Transform constant."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Transform uniform."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Vector function."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Vector operator."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Composes vector from three scalars."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Decomposes vector to three scalars."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Calculates the cross product of two vectors."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the distance between two points."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Calculates the dot product of two vectors."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns the vector that points in the same direction as a reference vector. "
+"The function has three vector parameters : N, the vector to orient, I, the "
+"incident vector, and Nref, the reference vector. If the dot product of I and "
+"Nref is smaller than zero the return value is N. Otherwise -N is returned."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Calculates the length of a vector."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Linear interpolation between two vectors."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Linear interpolation between two vectors using scalar."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Calculates the normalize product of vector."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "1.0 - vector"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "1.0 / vector"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns the vector that points in the direction of reflection ( a : incident "
+"vector, b : normal vector )."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the vector that points in the direction of refraction."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n"
+"\n"
+"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than "
+"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
+"using Hermite polynomials."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n"
+"\n"
+"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than "
+"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 "
+"using Hermite polynomials."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Step function( vector(edge), vector(x) ).\n"
+"\n"
+"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Step function( scalar(edge), vector(x) ).\n"
+"\n"
+"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Adds vector to vector."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Divides vector by vector."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Multiplies vector by vector."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Returns the remainder of the two vectors."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Subtracts vector from vector."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Vector constant."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Vector uniform."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Custom Godot Shader Language expression, with custom amount of input and "
+"output ports. This is a direct injection of code into the vertex/fragment/"
+"light function, do not use it to write the function declarations inside."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Returns falloff based on the dot product of surface normal and view "
+"direction of camera (pass associated inputs to it)."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"Custom Godot Shader Language expression, which is placed on top of the "
+"resulted shader. You can place various function definitions inside and call "
+"it later in the Expressions. You can also declare varyings, uniforms and "
+"constants."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "A reference to an existing uniform."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "(Fragment/Light mode only) Scalar derivative function."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "(Fragment/Light mode only) Vector derivative function."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"(Fragment/Light mode only) (Vector) Derivative in 'x' using local "
+"differencing."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"(Fragment/Light mode only) (Scalar) Derivative in 'x' using local "
+"differencing."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"(Fragment/Light mode only) (Vector) Derivative in 'y' using local "
+"differencing."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"(Fragment/Light mode only) (Scalar) Derivative in 'y' using local "
+"differencing."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and "
+"'y'."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid ""
+"(Fragment/Light mode only) (Scalar) Sum of absolute derivative in 'x' and "
+"'y'."
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Edit Visual Property:"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Visual Shader Mode Changed"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Runnable"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Delete preset '%s'?"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid ""
+"Failed to export the project for platform '%s'.\n"
+"Export templates seem to be missing or invalid."
+msgstr ""
+
+#: editor/project_export.cpp
+msgid ""
+"Failed to export the project for platform '%s'.\n"
+"This might be due to a configuration issue in the export preset or your "
+"export settings."
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Release"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Exporting All"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "The given export path doesn't exist:"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export templates for this platform are missing/corrupted:"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Presets"
+msgstr ""
+
+#: editor/project_export.cpp editor/project_settings_editor.cpp
+msgid "Add..."
+msgstr ""
+
+#: editor/project_export.cpp
+msgid ""
+"If checked, the preset will be available for use in one-click deploy.\n"
+"Only one preset per platform may be marked as runnable."
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export Path"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Resources"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export all resources in the project"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export selected scenes (and dependencies)"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export selected resources (and dependencies)"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export Mode:"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Resources to export:"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid ""
+"Filters to export non-resource files/folders\n"
+"(comma-separated, e.g: *.json, *.txt, docs/*)"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid ""
+"Filters to exclude files/folders from project\n"
+"(comma-separated, e.g: *.json, *.txt, docs/*)"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Features"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Custom (comma-separated):"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Feature List:"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Script"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "GDScript Export Mode:"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Text"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Compiled Bytecode (Faster Loading)"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Encrypted (Provide Key Below)"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "GDScript Encryption Key (256-bits as hexadecimal):"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export PCK/Zip"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export Project"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export mode?"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export All"
+msgstr ""
+
+#: editor/project_export.cpp editor/project_manager.cpp
+msgid "ZIP File"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Godot Game Pack"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export templates for this platform are missing:"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Manage Export Templates"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export With Debug"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "The path specified doesn't exist."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Error opening package file (it's not in ZIP format)."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"Invalid \".zip\" project file; it doesn't contain a \"project.godot\" file."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Please choose an empty folder."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Please choose a \"project.godot\" or \".zip\" file."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "This directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "New Game Project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Imported Project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Invalid project name."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Couldn't create folder."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "There is already a folder in this path with the specified name."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "It would be a good idea to name your project."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Invalid project path (changed anything?)."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"Couldn't load project.godot in project path (error %d). It may be missing or "
+"corrupted."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Couldn't edit project.godot in project path."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Couldn't create project.godot in project path."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Error opening package file, not in ZIP format."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "The following files failed extraction from package:"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Package installed successfully!"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Rename Project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Import Existing Project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Import & Edit"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Create New Project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Create & Edit"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Install Project:"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Install & Edit"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Project Name:"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Project Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Renderer:"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "OpenGL ES 3.0"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Not supported by your GPU drivers."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"Higher visual quality\n"
+"All features available\n"
+"Incompatible with older hardware\n"
+"Not recommended for web games"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "OpenGL ES 2.0"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"Lower visual quality\n"
+"Some features not available\n"
+"Works on most hardware\n"
+"Recommended for web games"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Renderer can be changed later, but scenes may need to be adjusted."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Unnamed Project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Missing Project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Error: Project is missing on the filesystem."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Can't open project at '%s'."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Are you sure to open more than one project?"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"The following project settings file does not specify the version of Godot "
+"through which it was created.\n"
+"\n"
+"%s\n"
+"\n"
+"If you proceed with opening it, it will be converted to Godot's current "
+"configuration file format.\n"
+"Warning: You won't be able to open the project with previous versions of the "
+"engine anymore."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"The following project settings file was generated by an older engine "
+"version, and needs to be converted for this version:\n"
+"\n"
+"%s\n"
+"\n"
+"Do you want to convert it?\n"
+"Warning: You won't be able to open the project with previous versions of the "
+"engine anymore."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"The project settings were created by a newer engine version, whose settings "
+"are not compatible with this version."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"Can't run project: no main scene defined.\n"
+"Please edit the project and set the main scene in the Project Settings under "
+"the \"Application\" category."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"Can't run project: Assets need to be imported.\n"
+"Please edit the project to trigger the initial import."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Are you sure to run %d projects at once?"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Remove %d projects from the list?"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Remove this project from the list?"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"Remove all missing projects from the list?\n"
+"The project folders' contents won't be modified."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"Language changed.\n"
+"The interface will update after restarting the editor or project manager."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"Are you sure to scan %s folders for existing Godot projects?\n"
+"This could take a while."
+msgstr ""
+
+#. TRANSLATORS: This refers to the application where users manage their Godot projects.
+#: editor/project_manager.cpp
+msgid "Project Manager"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Local Projects"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Loading, please wait..."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Last Modified"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Edit Project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Run Project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Scan"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Scan Projects"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Select a Folder to Scan"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "New Project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Import Project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Remove Project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Remove Missing"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "About"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Asset Library Projects"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Remove All"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Also delete project contents (no undo!)"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Can't run project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"You currently don't have any projects.\n"
+"Would you like to explore official example projects in the Asset Library?"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Filter projects"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"This field filters projects by name and last path component.\n"
+"To filter projects by name and full path, the query must contain at least "
+"one `/` character."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Physical Key"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Key "
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Joy Button"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Joy Axis"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Mouse Button"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "An action with the name '%s' already exists."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Rename Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Change Action deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Add Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "All Devices"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid " (Physical)"
+msgstr ""
+
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Press a Key..."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Mouse Button Index:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Left Button"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Right Button"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Middle Button"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Wheel Up Button"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Wheel Down Button"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Wheel Left Button"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Wheel Right Button"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "X Button 1"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "X Button 2"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Joypad Axis Index:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Axis"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Joypad Button Index:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Erase Input Action"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Erase Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Add Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Button"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Left Button."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Right Button."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Middle Button."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Wheel Up."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Wheel Down."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Add Global Property"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Select a setting item first!"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "No property '%s' exists."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Setting '%s' is internal, and it can't be deleted."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Delete Item"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Add Input Action"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Error saving settings."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Settings saved OK."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Moved Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Override for Feature"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Add %d Translations"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Remove Translation"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Translation Resource Remap: Add %d Path(s)"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Translation Resource Remap: Add %d Remap(s)"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Change Resource Remap Language"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Remove Resource Remap"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Remove Resource Remap Option"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Changed Locale Filter Mode"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Project Settings (project.godot)"
+msgstr ""
+
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "General"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Override For..."
+msgstr ""
+
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "The editor must be restarted for changes to take effect."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Input Map"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Action:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Action"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Device:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Index:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Localization"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Translations"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Translations:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Remaps"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Resources:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Remaps by Locale:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Locale"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Locales Filter"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Show All Locales"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Show Selected Locales Only"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Filter mode:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Locales:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "AutoLoad"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Plugins"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Import Defaults"
+msgstr ""
+
+#: editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/property_editor.cpp
+msgid "Zero"
+msgstr ""
+
+#: editor/property_editor.cpp
+msgid "Easing In-Out"
+msgstr ""
+
+#: editor/property_editor.cpp
+msgid "Easing Out-In"
+msgstr ""
+
+#: editor/property_editor.cpp
+msgid "File..."
+msgstr ""
+
+#: editor/property_editor.cpp
+msgid "Dir..."
+msgstr ""
+
+#: editor/property_editor.cpp
+msgid "Assign"
+msgstr ""
+
+#: editor/property_editor.cpp
+msgid "Select Node"
+msgstr ""
+
+#: editor/property_editor.cpp
+msgid "Error loading file: Not a resource!"
+msgstr ""
+
+#: editor/property_editor.cpp
+msgid "Pick a Node"
+msgstr ""
+
+#: editor/property_editor.cpp
+msgid "Bit %d, val %d."
+msgstr ""
+
+#: editor/property_selector.cpp
+msgid "Select Property"
+msgstr ""
+
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
+msgstr ""
+
+#: editor/property_selector.cpp
+msgid "Select Method"
+msgstr ""
+
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+msgid "Batch Rename"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Prefix:"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Suffix:"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Use Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Advanced Options"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Node name"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Node type"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Current scene name"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Root node name"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Sequential integer counter.\n"
+"Compare counter options."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Per-level Counter"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "If set, the counter restarts for each group of child nodes."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Initial value for the counter"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Step"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Amount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minimum number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Style"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "PascalCase to snake_case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "snake_case to PascalCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "To Lowercase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "To Uppercase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Reset"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expression Error:"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "At character %s"
+msgstr ""
+
+#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
+msgid "Reparent Node"
+msgstr ""
+
+#: editor/reparent_dialog.cpp
+msgid "Reparent Location (Select new Parent):"
+msgstr ""
+
+#: editor/reparent_dialog.cpp
+msgid "Keep Global Transform"
+msgstr ""
+
+#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
+msgid "Reparent"
+msgstr ""
+
+#: editor/run_settings_dialog.cpp
+msgid "Run Mode:"
+msgstr ""
+
+#: editor/run_settings_dialog.cpp
+msgid "Current Scene"
+msgstr ""
+
+#: editor/run_settings_dialog.cpp
+msgid "Main Scene"
+msgstr ""
+
+#: editor/run_settings_dialog.cpp
+msgid "Main Scene Arguments:"
+msgstr ""
+
+#: editor/run_settings_dialog.cpp
+msgid "Scene Run Settings"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "No parent to instance the scenes at."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Error loading scene from %s"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid ""
+"Cannot instance the scene '%s' because the current scene exists within one "
+"of its nodes."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Instance Scene(s)"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Replace with Branch Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Instance Child Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Can't paste root node into the same scene."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Paste Node(s)"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Detach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "This operation can't be done on the tree root."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Move Node In Parent"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Move Nodes In Parent"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Duplicate Node(s)"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Can't reparent nodes in inherited scenes, order of nodes can't change."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Node must belong to the edited scene to become root."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Instantiated scenes can't become root"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Make node as Root"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete %d nodes and any children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete %d nodes?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete the root node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\" and its children?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete node \"%s\"?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid ""
+"Saving the branch as a scene requires having a scene open in the editor."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid ""
+"Saving the branch as a scene requires selecting only one node, but you have "
+"selected %d nodes."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid ""
+"Can't save the root node branch as an instanced scene.\n"
+"To create an editable copy of the current scene, duplicate it using the "
+"FileSystem dock context menu\n"
+"or create an inherited scene using Scene > New Inherited Scene... instead."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid ""
+"Can't save the branch of an already instanced scene.\n"
+"To create a variation of a scene, you can make an inherited scene based on "
+"the instanced scene using Scene > New Inherited Scene... instead."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid ""
+"Can't save a branch which is a child of an already instantiated scene.\n"
+"To save this branch into its own scene, open the original scene, right click "
+"on this branch, and select \"Save Branch as Scene\"."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid ""
+"Can't save a branch which is part of an inherited scene.\n"
+"To save this branch into its own scene, open the original scene, right click "
+"on this branch, and select \"Save Branch as Scene\"."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Save New Scene As..."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid ""
+"Disabling \"editable_instance\" will cause all properties of the node to be "
+"reverted to their default."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid ""
+"Enabling \"Load As Placeholder\" will disable \"Editable Children\" and "
+"cause all properties of the node to be reverted to their default."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Make Local"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "New Scene Root"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Create Root Node:"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "2D Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "3D Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "User Interface"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Other Node"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Can't operate on nodes from a foreign scene!"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Can't operate on nodes the current scene inherits from!"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "This operation can't be done on instanced scenes."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Cut Node(s)"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Remove Node(s)"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Change type of node(s)"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid ""
+"Couldn't save new scene. Likely dependencies (instances) couldn't be "
+"satisfied."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Error saving scene."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Error duplicating scene to save it."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Sub-Resources"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Clear Inheritance"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Editable Children"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Load As Placeholder"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid ""
+"Cannot attach a script: there are no languages registered.\n"
+"This is probably because this editor was built with all language modules "
+"disabled."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Add Child Node"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Expand/Collapse All"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Change Type"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Reparent to New Node"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Make Scene Root"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Merge From Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
+msgid "Save Branch as Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
+msgid "Copy Node Path"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete (No Confirm)"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Add/Create a New Node."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid ""
+"Instance a scene file as a Node. Creates an inherited scene if no root node "
+"exists."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Attach a new or existing script to the selected node."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Detach the script from the selected node."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Remote"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid ""
+"If selected, the Remote scene tree dock will cause the project to stutter "
+"every time it updates.\n"
+"Switch back to the Local scene tree dock to improve performance."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Local"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Clear Inheritance? (No Undo!)"
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid "Toggle Visible"
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid "Unlock Node"
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid "Button Group"
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid "(Connecting From)"
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid "Node configuration warning:"
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid ""
+"Node has %s connection(s) and %s group(s).\n"
+"Click to show signals dock."
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid ""
+"Node has %s connection(s).\n"
+"Click to show signals dock."
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid ""
+"Node is in %s group(s).\n"
+"Click to show groups dock."
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid "Open Script:"
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid ""
+"Node is locked.\n"
+"Click to unlock it."
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid ""
+"Children are not selectable.\n"
+"Click to make selectable."
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid "Toggle Visibility"
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid ""
+"AnimationPlayer is pinned.\n"
+"Click to unpin."
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid "Invalid node name, the following characters are not allowed:"
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid "Rename Node"
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid "Scene Tree (Nodes):"
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid "Node Configuration Warning!"
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid "Select a Node"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Path is empty."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Filename is empty."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Path is not local."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Invalid base path."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "A directory with the same name exists."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "File does not exist."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Invalid extension."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Wrong extension chosen."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Error loading template '%s'"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Error - Could not create script in filesystem."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Error loading script from %s"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Overrides"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "N/A"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Open Script / Choose Location"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Open Script"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "File exists, it will be reused."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Invalid path."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Invalid class name."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Invalid inherited parent name or path."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Script path/name is valid."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Allowed: a-z, A-Z, 0-9, _ and ."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Built-in script (into scene file)."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Will create a new script file."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Will load an existing script file."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Script file already exists."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid ""
+"Note: Built-in scripts have some limitations and can't be edited using an "
+"external editor."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid ""
+"Warning: Having the script name be the same as a built-in type is usually "
+"not desired."
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Class Name:"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Template:"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Built-in Script:"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Attach Node Script"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Remote "
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Bytes:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Warning:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Error:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "C++ Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Errors"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Child process connected."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Copy Error"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Open C++ Source on GitHub"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Video RAM"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Skip Breakpoints"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Inspect Previous Instance"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Inspect Next Instance"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Frames"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Filter stack variables"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Network Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Monitor"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Value"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Monitors"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Pick one or more items from the list to display the graph."
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "List of Video Memory Usage by Resource:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Total:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Export list to a CSV file"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Resource Path"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Type"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Format"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Usage"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Misc"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Clicked Control:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Clicked Control Type:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Live Edit Root:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Set From Tree"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Export measures as CSV"
+msgstr ""
+
+#: editor/settings_config_dialog.cpp
+msgid "Erase Shortcut"
+msgstr ""
+
+#: editor/settings_config_dialog.cpp
+msgid "Restore Shortcut"
+msgstr ""
+
+#: editor/settings_config_dialog.cpp
+msgid "Change Shortcut"
+msgstr ""
+
+#: editor/settings_config_dialog.cpp
+msgid "Editor Settings"
+msgstr ""
+
+#: editor/settings_config_dialog.cpp
+msgid "Shortcuts"
+msgstr ""
+
+#: editor/settings_config_dialog.cpp
+msgid "Binding"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Light Radius"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change AudioStreamPlayer3D Emission Angle"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Camera FOV"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Camera Size"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Notifier AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
+msgid "Change Sphere Shape Radius"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
+msgid "Change Box Shape Extents"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Capsule Shape Radius"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Capsule Shape Height"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Cylinder Shape Radius"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Cylinder Shape Height"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Ray Shape Length"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Set Room Point Position"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Set Portal Point Position"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Set Occluder Sphere Radius"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Set Occluder Sphere Position"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Set Occluder Polygon Point Position"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Set Occluder Hole Point Position"
+msgstr ""
+
+#: modules/csg/csg_gizmos.cpp
+msgid "Change Cylinder Radius"
+msgstr ""
+
+#: modules/csg/csg_gizmos.cpp
+msgid "Change Cylinder Height"
+msgstr ""
+
+#: modules/csg/csg_gizmos.cpp
+msgid "Change Torus Inner Radius"
+msgstr ""
+
+#: modules/csg/csg_gizmos.cpp
+msgid "Change Torus Outer Radius"
+msgstr ""
+
+#: modules/gdnative/gdnative_library_editor_plugin.cpp
+msgid "Select the dynamic library for this entry"
+msgstr ""
+
+#: modules/gdnative/gdnative_library_editor_plugin.cpp
+msgid "Select dependencies of the library for this entry"
+msgstr ""
+
+#: modules/gdnative/gdnative_library_editor_plugin.cpp
+msgid "Remove current entry"
+msgstr ""
+
+#: modules/gdnative/gdnative_library_editor_plugin.cpp
+msgid "Double click to create a new entry"
+msgstr ""
+
+#: modules/gdnative/gdnative_library_editor_plugin.cpp
+msgid "Platform:"
+msgstr ""
+
+#: modules/gdnative/gdnative_library_editor_plugin.cpp
+msgid "Platform"
+msgstr ""
+
+#: modules/gdnative/gdnative_library_editor_plugin.cpp
+msgid "Dynamic Library"
+msgstr ""
+
+#: modules/gdnative/gdnative_library_editor_plugin.cpp
+msgid "Add an architecture entry"
+msgstr ""
+
+#: modules/gdnative/gdnative_library_editor_plugin.cpp
+msgid "GDNativeLibrary"
+msgstr ""
+
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Enabled GDNative Singleton"
+msgstr ""
+
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Disabled GDNative Singleton"
+msgstr ""
+
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Library"
+msgstr ""
+
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Libraries: "
+msgstr ""
+
+#: modules/gdnative/register_types.cpp
+msgid "GDNative"
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
+msgid "Step argument is zero!"
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
+msgid "Not a script with an instance"
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
+msgid "Not based on a script"
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
+msgid "Not based on a resource file"
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr ""
+
+#: modules/gdscript/gdscript_functions.cpp
+msgid "Object can't provide a length."
+msgstr ""
+
+#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp
+msgid "Export Mesh GLTF2"
+msgstr ""
+
+#: modules/gltf/editor_scene_exporter_gltf_plugin.cpp
+msgid "Export GLTF..."
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Next Plane"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Previous Plane"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Plane:"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Next Floor"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Previous Floor"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Floor:"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "GridMap Delete Selection"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "GridMap Fill Selection"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "GridMap Paste Selection"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "GridMap Paint"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "GridMap Selection"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Grid Map"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Snap View"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Clip Disabled"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Clip Above"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Clip Below"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Edit X Axis"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Edit Y Axis"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Edit Z Axis"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Cursor Rotate X"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Cursor Rotate Y"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Cursor Rotate Z"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Cursor Back Rotate X"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Cursor Back Rotate Y"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Cursor Back Rotate Z"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Cursor Clear Rotation"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Paste Selects"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Clear Selection"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Fill Selection"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "GridMap Settings"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Pick Distance:"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Filter meshes"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
+msgstr ""
+
+#: modules/lightmapper_cpu/lightmapper_cpu.cpp
+msgid "Begin Bake"
+msgstr ""
+
+#: modules/lightmapper_cpu/lightmapper_cpu.cpp
+msgid "Preparing data structures"
+msgstr ""
+
+#: modules/lightmapper_cpu/lightmapper_cpu.cpp
+msgid "Generate buffers"
+msgstr ""
+
+#: modules/lightmapper_cpu/lightmapper_cpu.cpp
+msgid "Direct lighting"
+msgstr ""
+
+#: modules/lightmapper_cpu/lightmapper_cpu.cpp
+msgid "Indirect lighting"
+msgstr ""
+
+#: modules/lightmapper_cpu/lightmapper_cpu.cpp
+msgid "Post processing"
+msgstr ""
+
+#: modules/lightmapper_cpu/lightmapper_cpu.cpp
+msgid "Plotting lightmaps"
+msgstr ""
+
+#: modules/mono/csharp_script.cpp
+msgid "Class name can't be a reserved keyword"
+msgstr ""
+
+#: modules/mono/csharp_script.cpp
+msgid "Build Solution"
+msgstr ""
+
+#: modules/mono/mono_gd/gd_mono_utils.cpp
+msgid "End of inner exception stack trace"
+msgstr ""
+
+#: modules/navigation/navigation_mesh_editor_plugin.cpp
+#: scene/3d/navigation_mesh_instance.cpp
+msgid "A NavigationMesh resource must be set or created for this node to work."
+msgstr ""
+
+#: modules/navigation/navigation_mesh_editor_plugin.cpp
+msgid "Bake NavMesh"
+msgstr ""
+
+#: modules/navigation/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/navigation/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/navigation/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/navigation/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/navigation/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/navigation/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/navigation/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/navigation/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/navigation/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/navigation/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/navigation/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/navigation/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/navigation/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/navigation/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
+#: modules/visual_script/visual_script.cpp
+msgid ""
+"A node yielded without working memory, please read the docs on how to yield "
+"properly!"
+msgstr ""
+
+#: modules/visual_script/visual_script.cpp
+msgid ""
+"Node yielded, but did not return a function state in the first working "
+"memory."
+msgstr ""
+
+#: modules/visual_script/visual_script.cpp
+msgid ""
+"Return value must be assigned to first element of node working memory! Fix "
+"your node please."
+msgstr ""
+
+#: modules/visual_script/visual_script.cpp
+msgid "Node returned an invalid sequence output: "
+msgstr ""
+
+#: modules/visual_script/visual_script.cpp
+msgid "Found sequence bit but not the node in the stack, report bug!"
+msgstr ""
+
+#: modules/visual_script/visual_script.cpp
+msgid "Stack overflow with stack depth: "
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Change Signal Arguments"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Change Argument Type"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Change Argument name"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Set Variable Default Value"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Set Variable Type"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Add Input Port"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Add Output Port"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Change Port Type"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Change Port Name"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Override an existing built-in function."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Create a new function."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Variables:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Create a new variable."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Create a new signal."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Name is not a valid identifier:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Name already in use by another func/var/signal:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Rename Function"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Rename Variable"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Rename Signal"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Add Function"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Delete input port"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Add Variable"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Add Signal"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Remove Input Port"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Remove Output Port"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Change Expression"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Remove VisualScript Nodes"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Duplicate VisualScript Nodes"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Hold %s to drop a simple reference to the node."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Hold Ctrl to drop a simple reference to the node."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Hold %s to drop a Variable Setter."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Hold Ctrl to drop a Variable Setter."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Add Preload Node"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Add Node(s)"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Add Node(s) From Tree"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid ""
+"Can't drop properties because script '%s' is not used in this scene.\n"
+"Drop holding 'Shift' to just copy the signature."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Add Getter Property"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Add Setter Property"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Change Base Type"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Move Node(s)"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Remove VisualScript Node"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Connect Nodes"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Disconnect Nodes"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Connect Node Data"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Connect Node Sequence"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Script already has function '%s'"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Change Input Value"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Resize Comment"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Can't copy the function node."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Paste VisualScript Nodes"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Can't create function with a function node."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Can't create function of nodes from nodes of multiple functions."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Select at least one node with sequence port."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Try to only have one sequence input in selection."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Create Function"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Remove Function"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Remove Variable"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Editing Variable:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Remove Signal"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Editing Signal:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Tool:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Members:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Change Base Type:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Add Nodes..."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Add Function..."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "function_name"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Select or create a function to edit its graph."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Delete Selected"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Find Node Type"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Copy Nodes"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Cut Nodes"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Make Function"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Refresh Graph"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Edit Member"
+msgstr ""
+
+#: modules/visual_script/visual_script_expression.cpp
+msgid "Expression"
+msgstr ""
+
+#: modules/visual_script/visual_script_flow_control.cpp
+msgid "Return"
+msgstr ""
+
+#: modules/visual_script/visual_script_flow_control.cpp
+msgid "Condition"
+msgstr ""
+
+#: modules/visual_script/visual_script_flow_control.cpp
+msgid "if (cond) is:"
+msgstr ""
+
+#: modules/visual_script/visual_script_flow_control.cpp
+msgid "While"
+msgstr ""
+
+#: modules/visual_script/visual_script_flow_control.cpp
+msgid "while (cond):"
+msgstr ""
+
+#: modules/visual_script/visual_script_flow_control.cpp
+msgid "Iterator"
+msgstr ""
+
+#: modules/visual_script/visual_script_flow_control.cpp
+msgid "for (elem) in (input):"
+msgstr ""
+
+#: modules/visual_script/visual_script_flow_control.cpp
+msgid "Input type not iterable: "
+msgstr ""
+
+#: modules/visual_script/visual_script_flow_control.cpp
+msgid "Iterator became invalid"
+msgstr ""
+
+#: modules/visual_script/visual_script_flow_control.cpp
+msgid "Iterator became invalid: "
+msgstr ""
+
+#: modules/visual_script/visual_script_flow_control.cpp
+msgid "Sequence"
+msgstr ""
+
+#: modules/visual_script/visual_script_flow_control.cpp
+msgid "in order:"
+msgstr ""
+
+#: modules/visual_script/visual_script_flow_control.cpp
+msgid "Switch"
+msgstr ""
+
+#: modules/visual_script/visual_script_flow_control.cpp
+msgid "'input' is:"
+msgstr ""
+
+#: modules/visual_script/visual_script_flow_control.cpp
+msgid "Type Cast"
+msgstr ""
+
+#: modules/visual_script/visual_script_flow_control.cpp
+msgid "Is %s?"
+msgstr ""
+
+#: modules/visual_script/visual_script_func_nodes.cpp
+msgid "On %s"
+msgstr ""
+
+#: modules/visual_script/visual_script_func_nodes.cpp
+msgid "On Self"
+msgstr ""
+
+#: modules/visual_script/visual_script_func_nodes.cpp
+msgid "Subtract %s"
+msgstr ""
+
+#: modules/visual_script/visual_script_func_nodes.cpp
+msgid "Multiply %s"
+msgstr ""
+
+#: modules/visual_script/visual_script_func_nodes.cpp
+msgid "Divide %s"
+msgstr ""
+
+#: modules/visual_script/visual_script_func_nodes.cpp
+msgid "Mod %s"
+msgstr ""
+
+#: modules/visual_script/visual_script_func_nodes.cpp
+msgid "ShiftLeft %s"
+msgstr ""
+
+#: modules/visual_script/visual_script_func_nodes.cpp
+msgid "ShiftRight %s"
+msgstr ""
+
+#: modules/visual_script/visual_script_func_nodes.cpp
+msgid "BitAnd %s"
+msgstr ""
+
+#: modules/visual_script/visual_script_func_nodes.cpp
+msgid "BitOr %s"
+msgstr ""
+
+#: modules/visual_script/visual_script_func_nodes.cpp
+msgid "BitXor %s"
+msgstr ""
+
+#: modules/visual_script/visual_script_func_nodes.cpp
+#: modules/visual_script/visual_script_nodes.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get %s"
+msgstr ""
+
+#: modules/visual_script/visual_script_func_nodes.cpp
+msgid "Invalid index property name."
+msgstr ""
+
+#: modules/visual_script/visual_script_func_nodes.cpp
+msgid "Base object is not a Node!"
+msgstr ""
+
+#: modules/visual_script/visual_script_func_nodes.cpp
+msgid "Path does not lead Node!"
+msgstr ""
+
+#: modules/visual_script/visual_script_func_nodes.cpp
+msgid "Invalid index property name '%s' in node %s."
+msgstr ""
+
+#: modules/visual_script/visual_script_func_nodes.cpp
+msgid "Emit %s"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Function"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Compose Array"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid ": Invalid argument of type: "
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid ": Invalid arguments: "
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "a if cond, else b"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "VariableGet not found in script: "
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "VariableSet not found in script: "
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Preload"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Get Index"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Set Index"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Global Constant"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Class Constant"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Basic Constant"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Math Constant"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Get Engine Singleton"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Get Scene Node"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Get Scene Tree"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Get Self"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "CustomNode"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Custom node has no _step() method, can't process graph."
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid ""
+"Invalid return value from _step(), must be integer (seq out), or string "
+"(error)."
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "SubCall"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Construct %s"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Get Local Var"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Set Local Var"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Action %s"
+msgstr ""
+
+#: modules/visual_script/visual_script_nodes.cpp
+msgid "Deconstruct %s"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Search VisualScript"
+msgstr ""
+
+#: modules/visual_script/visual_script_yield_nodes.cpp
+msgid "Yield"
+msgstr ""
+
+#: modules/visual_script/visual_script_yield_nodes.cpp
+msgid "Wait"
+msgstr ""
+
+#: modules/visual_script/visual_script_yield_nodes.cpp
+msgid "Next Frame"
+msgstr ""
+
+#: modules/visual_script/visual_script_yield_nodes.cpp
+msgid "Next Physics Frame"
+msgstr ""
+
+#: modules/visual_script/visual_script_yield_nodes.cpp
+msgid "%s sec(s)"
+msgstr ""
+
+#: modules/visual_script/visual_script_yield_nodes.cpp
+msgid "WaitSignal"
+msgstr ""
+
+#: modules/visual_script/visual_script_yield_nodes.cpp
+msgid "WaitNodeSignal"
+msgstr ""
+
+#: modules/visual_script/visual_script_yield_nodes.cpp
+msgid "WaitInstanceSignal"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Package name is missing."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Package segments must be of non-zero length."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "The character '%s' is not allowed in Android application package names."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "A digit cannot be the first character in a package segment."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "The character '%s' cannot be the first character in a package segment."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "The package must have at least one '.' separator."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Select device from the list"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Running on %s"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Exporting APK..."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Uninstalling..."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Installing to device, please wait..."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Could not install to device: %s"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Running on device..."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Could not execute on device."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Unable to find the 'apksigner' tool."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"Android build template not installed in the project. Install it from the "
+"Project menu."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"Either Debug Keystore, Debug User AND Debug Password settings must be "
+"configured OR none of them."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Debug keystore not configured in the Editor Settings nor in the preset."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"Either Release Keystore, Release User AND Release Password settings must be "
+"configured OR none of them."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Release keystore incorrectly configured in the export preset."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "A valid Android SDK path is required in Editor Settings."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Invalid Android SDK path in Editor Settings."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Missing 'platform-tools' directory!"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Unable to find Android SDK platform-tools' adb command."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Please check in the Android SDK directory specified in Editor Settings."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Missing 'build-tools' directory!"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Unable to find Android SDK build-tools' apksigner command."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Invalid public key for APK expansion."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Invalid package name:"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
+"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Use Custom Build\" must be enabled to use the plugins."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VrApi\" "
+"or \"OpenXR\"."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Passthrough\" is only valid when \"Xr Mode\" is \"OpenXR\"."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Export AAB\" is only valid when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"Changing the \"Min Sdk\" is only valid when \"Use Custom Build\" is enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"Changing the \"Target Sdk\" is only valid when \"Use Custom Build\" is "
+"enabled."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "\"Target Sdk\" version must be greater or equal to \"Min Sdk\" version."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"'apksigner' could not be found.\n"
+"Please check the command is available in the Android SDK build-tools "
+"directory.\n"
+"The resulting %s is unsigned."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Signing debug %s..."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Signing release %s..."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Could not find keystore, unable to export."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "'apksigner' returned with error #%d"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Verifying %s..."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "'apksigner' verification of %s failed."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Exporting for Android"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Invalid filename! Android App Bundle requires the *.aab extension."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "APK Expansion not compatible with Android App Bundle."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Invalid filename! Android APK requires the *.apk extension."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Unsupported export format!\n"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"Trying to build from a custom built template, but no version info for it "
+"exists. Please reinstall from the 'Project' menu."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"Android build version mismatch:\n"
+" Template installed: %s\n"
+" Godot Version: %s\n"
+"Please reinstall Android build template from 'Project' menu."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"Unable to overwrite res://android/build/res/*.xml files with project name"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Could not export project files to gradle project\n"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Could not write expansion package file!"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Building Android Project (gradle)"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"Building of Android project failed, check output for the error.\n"
+"Alternatively visit docs.godotengine.org for Android build documentation."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Moving output"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"Unable to copy and rename export file, check gradle project directory for "
+"outputs."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Package not found: %s"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Creating APK..."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"Could not find template APK to export:\n"
+"%s"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid ""
+"Missing libraries in the export template for the selected architectures: "
+"%s.\n"
+"Please build a template with all required libraries, or uncheck the missing "
+"architectures in the export preset."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Adding files..."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Could not export project files"
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Aligning APK..."
+msgstr ""
+
+#: platform/android/export/export_plugin.cpp
+msgid "Could not unzip temporary unaligned APK."
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "Identifier is missing."
+msgstr ""
+
+#: platform/iphone/export/export.cpp platform/osx/export/export.cpp
+msgid "The character '%s' is not allowed in Identifier."
+msgstr ""
+
+#: platform/iphone/export/export.cpp
+msgid "App Store Team ID not specified - cannot configure the project."
+msgstr ""
+
+#: platform/iphone/export/export.cpp
+msgid "Invalid Identifier:"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "Stop HTTP Server"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "Run in Browser"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "Run exported HTML in the system's default browser."
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "Could not open template for export:"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "Invalid export template:"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "Could not write file:"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "Could not read file:"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "Could not read HTML shell:"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "Could not create HTTP server directory:"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "Error starting HTTP server:"
+msgstr ""
+
+#: platform/osx/export/codesign.cpp
+msgid "Can't get filesystem access."
+msgstr ""
+
+#: platform/osx/export/codesign.cpp
+msgid "Failed to get Info.plist hash."
+msgstr ""
+
+#: platform/osx/export/codesign.cpp
+msgid "Invalid Info.plist, no exe name."
+msgstr ""
+
+#: platform/osx/export/codesign.cpp
+msgid "Invalid Info.plist, no bundle id."
+msgstr ""
+
+#: platform/osx/export/codesign.cpp
+msgid "Invalid Info.plist, can't load."
+msgstr ""
+
+#: platform/osx/export/codesign.cpp
+msgid "Failed to create \"%s\" subfolder."
+msgstr ""
+
+#: platform/osx/export/codesign.cpp
+msgid "Failed to extract thin binary."
+msgstr ""
+
+#: platform/osx/export/codesign.cpp
+msgid "Invalid binary format."
+msgstr ""
+
+#: platform/osx/export/codesign.cpp
+msgid "Already signed!"
+msgstr ""
+
+#: platform/osx/export/codesign.cpp
+msgid "Failed to process nested resources."
+msgstr ""
+
+#: platform/osx/export/codesign.cpp
+msgid "Failed to create _CodeSignature subfolder."
+msgstr ""
+
+#: platform/osx/export/codesign.cpp
+msgid "Failed to get CodeResources hash."
+msgstr ""
+
+#: platform/osx/export/codesign.cpp platform/osx/export/export.cpp
+msgid "Invalid entitlements file."
+msgstr ""
+
+#: platform/osx/export/codesign.cpp
+msgid "Invalid executable file."
+msgstr ""
+
+#: platform/osx/export/codesign.cpp
+msgid "Can't resize signature load command."
+msgstr ""
+
+#: platform/osx/export/codesign.cpp
+msgid "Failed to create fat binary."
+msgstr ""
+
+#: platform/osx/export/codesign.cpp
+msgid "Unknown bundle type."
+msgstr ""
+
+#: platform/osx/export/codesign.cpp
+msgid "Unknown object type."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Note: The notarization process generally takes less than an hour. When the "
+"process is completed, you'll receive an email."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"You can check progress manually by opening a Terminal and running the "
+"following command:"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Run the following command to staple the notarization ticket to the exported "
+"application (optional):"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "No identity found."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Creating app bundle"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Could not find template app to export:"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Relative symlinks are not supported on this OS, the exported project might "
+"be broken!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Requested template binary '%s' not found. It might be missing from your "
+"template archive."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Making PKG"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Ad-hoc signed applications require the 'Disable Library Validation' "
+"entitlement to load dynamic libraries."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Code signing bundle"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Making DMG"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Code signing DMG"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Making ZIP"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Notarization requires the app to be archived first, select the DMG or ZIP "
+"export format instead."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Sending archive for notarization"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Invalid bundle identifier:"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Warning: Built-in \"codesign\" is selected in the Editor Settings. Code "
+"signing is limited to ad-hoc signature only."
+msgstr ""
+
+#: 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 ""
+
+#: platform/osx/export/export.cpp
+msgid "Notarization: Notarization with an ad-hoc signature is not supported."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Notarization: Code signing is required for notarization."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Notarization: Hardened runtime is required for notarization."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Notarization: Timestamp runtime is required for notarization."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Notarization: Apple ID name not specified."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid "Notarization: Apple ID password not specified."
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Hardened Runtime is not compatible with ad-hoc signature, and will be "
+"disabled!"
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Timestamping is not compatible with ad-hoc signature, and will be disabled!"
+msgstr ""
+
+#: 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 ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Privacy: Microphone access is enabled, but usage description is not "
+"specified."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Privacy: Camera access is enabled, but usage description is not specified."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Privacy: Location information access is enabled, but usage description is "
+"not specified."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Privacy: Address book access is enabled, but usage description is not "
+"specified."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Privacy: Calendar access is enabled, but usage description is not specified."
+msgstr ""
+
+#: platform/osx/export/export.cpp
+msgid ""
+"Privacy: Photo library access is enabled, but usage description is not "
+"specified."
+msgstr ""
+
+#: platform/uwp/export/export.cpp
+msgid "Invalid package short name."
+msgstr ""
+
+#: platform/uwp/export/export.cpp
+msgid "Invalid package unique name."
+msgstr ""
+
+#: platform/uwp/export/export.cpp
+msgid "Invalid package publisher display name."
+msgstr ""
+
+#: platform/uwp/export/export.cpp
+msgid "Invalid product GUID."
+msgstr ""
+
+#: platform/uwp/export/export.cpp
+msgid "Invalid publisher GUID."
+msgstr ""
+
+#: platform/uwp/export/export.cpp
+msgid "Invalid background color."
+msgstr ""
+
+#: platform/uwp/export/export.cpp
+msgid "Invalid Store Logo image dimensions (should be 50x50)."
+msgstr ""
+
+#: platform/uwp/export/export.cpp
+msgid "Invalid square 44x44 logo image dimensions (should be 44x44)."
+msgstr ""
+
+#: platform/uwp/export/export.cpp
+msgid "Invalid square 71x71 logo image dimensions (should be 71x71)."
+msgstr ""
+
+#: platform/uwp/export/export.cpp
+msgid "Invalid square 150x150 logo image dimensions (should be 150x150)."
+msgstr ""
+
+#: platform/uwp/export/export.cpp
+msgid "Invalid square 310x310 logo image dimensions (should be 310x310)."
+msgstr ""
+
+#: platform/uwp/export/export.cpp
+msgid "Invalid wide 310x150 logo image dimensions (should be 310x150)."
+msgstr ""
+
+#: platform/uwp/export/export.cpp
+msgid "Invalid splash screen image dimensions (should be 620x300)."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid ""
+"The rcedit tool must be configured in the Editor Settings (Export > Windows "
+"> Rcedit) to change the icon or app information data."
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Invalid icon path:"
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Invalid file version:"
+msgstr ""
+
+#: platform/windows/export/export.cpp
+msgid "Invalid product version:"
+msgstr ""
+
+#: scene/2d/animated_sprite.cpp
+msgid ""
+"A SpriteFrames resource must be created or set in the \"Frames\" property in "
+"order for AnimatedSprite to display frames."
+msgstr ""
+
+#: scene/2d/canvas_modulate.cpp
+msgid ""
+"Only one visible CanvasModulate is allowed per scene (or set of instanced "
+"scenes). The first created one will work, while the rest will be ignored."
+msgstr ""
+
+#: scene/2d/collision_object_2d.cpp
+msgid ""
+"This node has no shape, so it can't collide or interact with other objects.\n"
+"Consider adding a CollisionShape2D or CollisionPolygon2D as a child to "
+"define its shape."
+msgstr ""
+
+#: scene/2d/collision_polygon_2d.cpp
+msgid ""
+"CollisionPolygon2D only serves to provide a collision shape to a "
+"CollisionObject2D derived node. Please only use it as a child of Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
+#: scene/2d/collision_polygon_2d.cpp
+msgid "An empty CollisionPolygon2D has no effect on collision."
+msgstr ""
+
+#: scene/2d/collision_polygon_2d.cpp
+msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode."
+msgstr ""
+
+#: scene/2d/collision_polygon_2d.cpp
+msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode."
+msgstr ""
+
+#: scene/2d/collision_shape_2d.cpp
+msgid ""
+"CollisionShape2D only serves to provide a collision shape to a "
+"CollisionObject2D derived node. Please only use it as a child of Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
+#: scene/2d/collision_shape_2d.cpp
+msgid ""
+"A shape must be provided for CollisionShape2D to function. Please create a "
+"shape resource for it!"
+msgstr ""
+
+#: scene/2d/collision_shape_2d.cpp
+msgid ""
+"Polygon-based shapes are not meant be used nor edited directly through the "
+"CollisionShape2D node. Please use the CollisionPolygon2D node instead."
+msgstr ""
+
+#: scene/2d/cpu_particles_2d.cpp
+msgid ""
+"CPUParticles2D animation requires the usage of a CanvasItemMaterial with "
+"\"Particles Animation\" enabled."
+msgstr ""
+
+#: scene/2d/joints_2d.cpp
+msgid "Node A and Node B must be PhysicsBody2Ds"
+msgstr ""
+
+#: scene/2d/joints_2d.cpp
+msgid "Node A must be a PhysicsBody2D"
+msgstr ""
+
+#: scene/2d/joints_2d.cpp
+msgid "Node B must be a PhysicsBody2D"
+msgstr ""
+
+#: scene/2d/joints_2d.cpp
+msgid "Joint is not connected to two PhysicsBody2Ds"
+msgstr ""
+
+#: scene/2d/joints_2d.cpp
+msgid "Node A and Node B must be different PhysicsBody2Ds"
+msgstr ""
+
+#: scene/2d/light_2d.cpp
+msgid ""
+"A texture with the shape of the light must be supplied to the \"Texture\" "
+"property."
+msgstr ""
+
+#: scene/2d/light_occluder_2d.cpp
+msgid ""
+"An occluder polygon must be set (or drawn) for this occluder to take effect."
+msgstr ""
+
+#: scene/2d/light_occluder_2d.cpp
+msgid "The occluder polygon for this occluder is empty. Please draw a polygon."
+msgstr ""
+
+#: scene/2d/navigation_agent_2d.cpp
+msgid "The NavigationAgent2D can be used only under a Node2D node."
+msgstr ""
+
+#: scene/2d/navigation_obstacle_2d.cpp
+msgid ""
+"The NavigationObstacle2D only serves to provide collision avoidance to a "
+"Node2D object."
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp
+msgid ""
+"A NavigationPolygon resource must be set or created for this node to work. "
+"Please set a property or draw a polygon."
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp
+msgid ""
+"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
+"node. It only provides navigation data."
+msgstr ""
+
+#: scene/2d/parallax_layer.cpp
+msgid ""
+"ParallaxLayer node only works when set as child of a ParallaxBackground node."
+msgstr ""
+
+#: scene/2d/particles_2d.cpp
+msgid ""
+"GPU-based particles are not supported by the GLES2 video driver.\n"
+"Use the CPUParticles2D node instead. You can use the \"Convert to "
+"CPUParticles2D\" toolbar option for this purpose."
+msgstr ""
+
+#: scene/2d/particles_2d.cpp
+msgid ""
+"On macOS, Particles2D rendering is much slower than CPUParticles2D due to "
+"transform feedback being implemented on the CPU instead of the GPU.\n"
+"Consider using CPUParticles2D instead when targeting macOS.\n"
+"You can use the \"Convert to CPUParticles2D\" toolbar option for this "
+"purpose."
+msgstr ""
+
+#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
+msgid ""
+"A material to process the particles is not assigned, so no behavior is "
+"imprinted."
+msgstr ""
+
+#: scene/2d/particles_2d.cpp
+msgid ""
+"Particles2D animation requires the usage of a CanvasItemMaterial with "
+"\"Particles Animation\" enabled."
+msgstr ""
+
+#: scene/2d/path_2d.cpp
+msgid "PathFollow2D only works when set as a child of a Path2D node."
+msgstr ""
+
+#: scene/2d/physics_body_2d.cpp
+msgid ""
+"Size changes to RigidBody2D (in character or rigid modes) will be overridden "
+"by the physics engine when running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
+#: scene/2d/remote_transform_2d.cpp
+msgid "Path property must point to a valid Node2D node to work."
+msgstr ""
+
+#: scene/2d/skeleton_2d.cpp
+msgid "This Bone2D chain should end at a Skeleton2D node."
+msgstr ""
+
+#: scene/2d/skeleton_2d.cpp
+msgid "A Bone2D only works with a Skeleton2D or another Bone2D as parent node."
+msgstr ""
+
+#: scene/2d/skeleton_2d.cpp
+msgid ""
+"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one."
+msgstr ""
+
+#: scene/2d/tile_map.cpp
+msgid ""
+"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes "
+"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
+#: scene/2d/visibility_notifier_2d.cpp
+msgid ""
+"VisibilityEnabler2D works best when used with the edited scene root directly "
+"as parent."
+msgstr ""
+
+#: scene/3d/arvr_nodes.cpp
+msgid "ARVRCamera must have an ARVROrigin node as its parent."
+msgstr ""
+
+#: scene/3d/arvr_nodes.cpp
+msgid "ARVRController must have an ARVROrigin node as its parent."
+msgstr ""
+
+#: scene/3d/arvr_nodes.cpp
+msgid ""
+"The controller ID must not be 0 or this controller won't be bound to an "
+"actual controller."
+msgstr ""
+
+#: scene/3d/arvr_nodes.cpp
+msgid "ARVRAnchor must have an ARVROrigin node as its parent."
+msgstr ""
+
+#: scene/3d/arvr_nodes.cpp
+msgid ""
+"The anchor ID must not be 0 or this anchor won't be bound to an actual "
+"anchor."
+msgstr ""
+
+#: scene/3d/arvr_nodes.cpp
+msgid "ARVROrigin requires an ARVRCamera child node."
+msgstr ""
+
+#: scene/3d/baked_lightmap.cpp
+msgid "Finding meshes and lights"
+msgstr ""
+
+#: scene/3d/baked_lightmap.cpp
+msgid "Preparing geometry (%d/%d)"
+msgstr ""
+
+#: scene/3d/baked_lightmap.cpp
+msgid "Preparing environment"
+msgstr ""
+
+#: scene/3d/baked_lightmap.cpp
+msgid "Generating capture"
+msgstr ""
+
+#: scene/3d/baked_lightmap.cpp
+msgid "Saving lightmaps"
+msgstr ""
+
+#: scene/3d/baked_lightmap.cpp
+msgid "Done"
+msgstr ""
+
+#: scene/3d/collision_object.cpp
+msgid ""
+"This node has no shape, so it can't collide or interact with other objects.\n"
+"Consider adding a CollisionShape or CollisionPolygon as a child to define "
+"its shape."
+msgstr ""
+
+#: scene/3d/collision_polygon.cpp
+msgid ""
+"CollisionPolygon only serves to provide a collision shape to a "
+"CollisionObject derived node. Please only use it as a child of Area, "
+"StaticBody, RigidBody, KinematicBody, etc. to give them a shape."
+msgstr ""
+
+#: scene/3d/collision_polygon.cpp
+msgid "An empty CollisionPolygon has no effect on collision."
+msgstr ""
+
+#: scene/3d/collision_shape.cpp
+msgid ""
+"CollisionShape only serves to provide a collision shape to a CollisionObject "
+"derived node. Please only use it as a child of Area, StaticBody, RigidBody, "
+"KinematicBody, etc. to give them a shape."
+msgstr ""
+
+#: scene/3d/collision_shape.cpp
+msgid ""
+"A shape must be provided for CollisionShape to function. Please create a "
+"shape resource for it."
+msgstr ""
+
+#: scene/3d/collision_shape.cpp
+msgid ""
+"Plane shapes don't work well and will be removed in future versions. Please "
+"don't use them."
+msgstr ""
+
+#: scene/3d/collision_shape.cpp
+msgid ""
+"ConcavePolygonShape doesn't support RigidBody in another mode than static."
+msgstr ""
+
+#: scene/3d/cpu_particles.cpp
+msgid "Nothing is visible because no mesh has been assigned."
+msgstr ""
+
+#: scene/3d/cpu_particles.cpp
+msgid ""
+"CPUParticles animation requires the usage of a SpatialMaterial whose "
+"Billboard Mode is set to \"Particle Billboard\"."
+msgstr ""
+
+#: scene/3d/gi_probe.cpp
+msgid "Plotting Meshes"
+msgstr ""
+
+#: scene/3d/gi_probe.cpp
+msgid "Finishing Plot"
+msgstr ""
+
+#: scene/3d/gi_probe.cpp
+msgid ""
+"GIProbes are not supported by the GLES2 video driver.\n"
+"Use a BakedLightmap instead."
+msgstr ""
+
+#: scene/3d/gi_probe.cpp
+msgid ""
+"The GIProbe Compress property has been deprecated due to known bugs and no "
+"longer has any effect.\n"
+"To remove this warning, disable the GIProbe's Compress property."
+msgstr ""
+
+#: scene/3d/light.cpp
+msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows."
+msgstr ""
+
+#: scene/3d/navigation_agent.cpp
+msgid "The NavigationAgent can be used only under a spatial node."
+msgstr ""
+
+#: scene/3d/navigation_mesh_instance.cpp
+msgid ""
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
+msgstr ""
+
+#: scene/3d/navigation_obstacle.cpp
+msgid ""
+"The NavigationObstacle only serves to provide collision avoidance to a "
+"spatial object."
+msgstr ""
+
+#: scene/3d/occluder.cpp
+msgid "No shape is set."
+msgstr ""
+
+#: scene/3d/occluder.cpp
+msgid "Only uniform scales are supported."
+msgstr ""
+
+#: scene/3d/particles.cpp
+msgid ""
+"GPU-based particles are not supported by the GLES2 video driver.\n"
+"Use the CPUParticles node instead. You can use the \"Convert to "
+"CPUParticles\" toolbar option for this purpose."
+msgstr ""
+
+#: scene/3d/particles.cpp
+msgid ""
+"On macOS, Particles rendering is much slower than CPUParticles due to "
+"transform feedback being implemented on the CPU instead of the GPU.\n"
+"Consider using CPUParticles instead when targeting macOS.\n"
+"You can use the \"Convert to CPUParticles\" toolbar option for this purpose."
+msgstr ""
+
+#: scene/3d/particles.cpp
+msgid ""
+"Nothing is visible because meshes have not been assigned to draw passes."
+msgstr ""
+
+#: scene/3d/particles.cpp
+msgid ""
+"Particles animation requires the usage of a SpatialMaterial whose Billboard "
+"Mode is set to \"Particle Billboard\"."
+msgstr ""
+
+#: scene/3d/path.cpp
+msgid "PathFollow only works when set as a child of a Path node."
+msgstr ""
+
+#: scene/3d/path.cpp
+msgid ""
+"PathFollow's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its "
+"parent Path's Curve resource."
+msgstr ""
+
+#: scene/3d/physics_body.cpp
+msgid ""
+"Size changes to RigidBody (in character or rigid modes) will be overridden "
+"by the physics engine when running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
+#: scene/3d/physics_joint.cpp
+msgid "Node A and Node B must be PhysicsBodies"
+msgstr ""
+
+#: scene/3d/physics_joint.cpp
+msgid "Node A must be a PhysicsBody"
+msgstr ""
+
+#: scene/3d/physics_joint.cpp
+msgid "Node B must be a PhysicsBody"
+msgstr ""
+
+#: scene/3d/physics_joint.cpp
+msgid "Joint is not connected to any PhysicsBodies"
+msgstr ""
+
+#: scene/3d/physics_joint.cpp
+msgid "Node A and Node B must be different PhysicsBodies"
+msgstr ""
+
+#: scene/3d/portal.cpp
+msgid "The RoomManager should not be a child or grandchild of a Portal."
+msgstr ""
+
+#: scene/3d/portal.cpp
+msgid "A Room should not be a child or grandchild of a Portal."
+msgstr ""
+
+#: scene/3d/portal.cpp
+msgid "A RoomGroup should not be a child or grandchild of a Portal."
+msgstr ""
+
+#: scene/3d/remote_transform.cpp
+msgid ""
+"The \"Remote Path\" property must point to a valid Spatial or Spatial-"
+"derived node to work."
+msgstr ""
+
+#: scene/3d/room.cpp
+msgid "A Room cannot have another Room as a child or grandchild."
+msgstr ""
+
+#: scene/3d/room.cpp
+msgid "The RoomManager should not be placed inside a Room."
+msgstr ""
+
+#: scene/3d/room.cpp
+msgid "A RoomGroup should not be placed inside a Room."
+msgstr ""
+
+#: scene/3d/room.cpp
+msgid ""
+"Room convex hull contains a large number of planes.\n"
+"Consider simplifying the room bound in order to increase performance."
+msgstr ""
+
+#: scene/3d/room_group.cpp
+msgid "The RoomManager should not be placed inside a RoomGroup."
+msgstr ""
+
+#: scene/3d/room_manager.cpp
+msgid "The RoomList has not been assigned."
+msgstr ""
+
+#: scene/3d/room_manager.cpp
+msgid "The RoomList node should be a Spatial (or derived from Spatial)."
+msgstr ""
+
+#: scene/3d/room_manager.cpp
+msgid ""
+"Portal Depth Limit is set to Zero.\n"
+"Only the Room that the Camera is in will render."
+msgstr ""
+
+#: scene/3d/room_manager.cpp
+msgid "There should only be one RoomManager in the SceneTree."
+msgstr ""
+
+#: scene/3d/room_manager.cpp
+msgid ""
+"RoomList path is invalid.\n"
+"Please check the RoomList branch has been assigned in the RoomManager."
+msgstr ""
+
+#: scene/3d/room_manager.cpp
+msgid "RoomList contains no Rooms, aborting."
+msgstr ""
+
+#: scene/3d/room_manager.cpp
+msgid "Misnamed nodes detected, check output log for details. Aborting."
+msgstr ""
+
+#: scene/3d/room_manager.cpp
+msgid "Portal link room not found, check output log for details."
+msgstr ""
+
+#: scene/3d/room_manager.cpp
+msgid ""
+"Portal autolink failed, check output log for details.\n"
+"Check the portal is facing outwards from the source room."
+msgstr ""
+
+#: scene/3d/room_manager.cpp
+msgid ""
+"Room overlap detected, cameras may work incorrectly in overlapping area.\n"
+"Check output log for details."
+msgstr ""
+
+#: scene/3d/room_manager.cpp
+msgid ""
+"Error calculating room bounds.\n"
+"Ensure all rooms contain geometry or manual bounds."
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+msgid "This body will be ignored until you set a mesh."
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+msgid ""
+"Size changes to SoftBody will be overridden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
+#: scene/3d/sprite_3d.cpp
+msgid ""
+"A SpriteFrames resource must be created or set in the \"Frames\" property in "
+"order for AnimatedSprite3D to display frames."
+msgstr ""
+
+#: scene/3d/vehicle_body.cpp
+msgid ""
+"VehicleWheel serves to provide a wheel system to a VehicleBody. Please use "
+"it as a child of a VehicleBody."
+msgstr ""
+
+#: scene/3d/world_environment.cpp
+msgid ""
+"WorldEnvironment requires its \"Environment\" property to contain an "
+"Environment to have a visible effect."
+msgstr ""
+
+#: scene/3d/world_environment.cpp
+msgid ""
+"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)."
+msgstr ""
+
+#: scene/3d/world_environment.cpp
+msgid ""
+"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set "
+"this environment's Background Mode to Canvas (for 2D scenes)."
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+msgid "Animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_player.cpp
+msgid "Anim Apply Reset"
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "Invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "No root AnimationNode for the graph is set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "The AnimationPlayer root node is not a valid node."
+msgstr ""
+
+#: scene/animation/animation_tree_player.cpp
+msgid "This node has been deprecated. Use AnimationTree instead."
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid ""
+"Color: #%s\n"
+"LMB: Apply color\n"
+"RMB: Remove preset"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Pick a color from the editor window."
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "HSV"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Switch between hexadecimal and code values."
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Add current color as a preset."
+msgstr ""
+
+#: scene/gui/container.cpp
+msgid ""
+"Container by itself serves no purpose unless a script configures its "
+"children placement behavior.\n"
+"If you don't intend to add a script, use a plain Control node instead."
+msgstr ""
+
+#: scene/gui/control.cpp
+msgid ""
+"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to "
+"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"."
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "Alert!"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "Please Confirm..."
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Must use a valid extension."
+msgstr ""
+
+#: scene/gui/graph_edit.cpp
+msgid "Enable grid minimap."
+msgstr ""
+
+#: scene/gui/nine_patch_rect.cpp
+msgid ""
+"The Tile and Tile Fit options for Axis Stretch properties are only effective "
+"when using the GLES3 rendering backend.\n"
+"The GLES2 backend is currently in use, so these modes will act like Stretch "
+"instead."
+msgstr ""
+
+#: scene/gui/popup.cpp
+msgid ""
+"Popups will hide by default unless you call popup() or any of the popup*() "
+"functions. Making them visible for editing is fine, but they will hide upon "
+"running."
+msgstr ""
+
+#: scene/gui/range.cpp
+msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
+msgstr ""
+
+#: scene/gui/scroll_container.cpp
+msgid ""
+"ScrollContainer is intended to work with a single child control.\n"
+"Use a container as child (VBox, HBox, etc.), or a Control and set the custom "
+"minimum size manually."
+msgstr ""
+
+#: scene/gui/tree.cpp
+msgid "(Other)"
+msgstr ""
+
+#: scene/main/scene_tree.cpp
+msgid ""
+"Default Environment as specified in Project Settings (Rendering -> "
+"Environment -> Default Environment) could not be loaded."
+msgstr ""
+
+#: scene/main/timer.cpp
+msgid ""
+"Very low timer wait times (< 0.05 seconds) may behave in significantly "
+"different ways depending on the rendered or physics frame rate.\n"
+"Consider using a script's process loop instead of relying on a Timer for "
+"very low wait times."
+msgstr ""
+
+#: scene/main/viewport.cpp
+msgid ""
+"This viewport is not set as render target. If you intend for it to display "
+"its contents directly to the screen, make it a child of a Control so it can "
+"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
+"texture to some node for display."
+msgstr ""
+
+#: scene/main/viewport.cpp
+msgid ""
+"The Viewport size must be greater than or equal to 2 pixels on both "
+"dimensions to render anything."
+msgstr ""
+
+#: scene/resources/occluder_shape.cpp
+msgid "OccluderShapeSphere Set Spheres"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+msgid ""
+"The sampler port is connected but not used. Consider changing the source to "
+"'SamplerPort'."
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+msgid "Invalid source for preview."
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+msgid "Invalid source for shader."
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+msgid "Invalid comparison function for that type."
+msgstr ""
+
+#: servers/visual/shader_language.cpp
+msgid "Varying may not be assigned in the '%s' function."
+msgstr ""
+
+#: servers/visual/shader_language.cpp
+msgid ""
+"Varyings which assigned in 'vertex' function may not be reassigned in "
+"'fragment' or 'light'."
+msgstr ""
+
+#: servers/visual/shader_language.cpp
+msgid ""
+"Varyings which assigned in 'fragment' function may not be reassigned in "
+"'vertex' or 'light'."
+msgstr ""
+
+#: servers/visual/shader_language.cpp
+msgid "Assignment to function."
+msgstr ""
+
+#: servers/visual/shader_language.cpp
+msgid "Assignment to uniform."
+msgstr ""
+
+#: servers/visual/shader_language.cpp
+msgid "Constants cannot be modified."
+msgstr ""
diff --git a/editor/translations/eo.po b/editor/translations/eo.po
index 1a95fb6702..f77d1da645 100644
--- a/editor/translations/eo.po
+++ b/editor/translations/eo.po
@@ -1484,6 +1484,11 @@ msgstr "Åœargi la defaÅ­lta busaranÄo."
msgid "Create a new Bus Layout."
msgstr "Krei nova busaranÄo."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Malfermi aranÄon de aÅ­dia buso"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Malvalida nomo."
@@ -2927,7 +2932,7 @@ msgstr "Baskuli sendistran reÄimon."
msgid "Add a new scene."
msgstr "Aldoni novan scenon."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Sceno"
@@ -5711,6 +5716,10 @@ msgid "Bake Lightmaps"
msgstr "Baki lummapojn"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Elekti dosieron por bakado de lummapo:"
@@ -8219,7 +8228,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9149,6 +9163,11 @@ msgid "Select Another Theme Resource:"
msgstr "Serĉi anstataŭiga risurco:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Renomi risurcon"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -9202,6 +9221,20 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "ÅœanÄu la tipon de %s"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "ÅœanÄu la tipon de %s"
+
+#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Show Default"
msgstr "Åœargi defaÅ­lton"
@@ -9220,7 +9253,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "ÅœanÄi tipon"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9919,18 +9963,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Matĉoj:"
@@ -12570,6 +12602,11 @@ msgid "Stack Frames"
msgstr "Stakaj Framoj"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtri signalojn"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Profililo"
@@ -13912,6 +13949,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/es.po b/editor/translations/es.po
index d4f2364598..218eee6470 100644
--- a/editor/translations/es.po
+++ b/editor/translations/es.po
@@ -18,7 +18,7 @@
# Jose Maria Martinez <josemar1992@hotmail.com>, 2018.
# Juan Quiroga <juanquiroga9@gmail.com>, 2017.
# Kiji Pixel <raccoon.fella@gmail.com>, 2017.
-# Lisandro Lorea <lisandrolorea@gmail.com>, 2016-2017, 2019, 2020, 2021.
+# Lisandro Lorea <lisandrolorea@gmail.com>, 2016-2017, 2019, 2020, 2021, 2022.
# Lonsfor <lotharw@protonmail.com>, 2017-2018.
# Mario Nachbaur <manachbaur@gmail.com>, 2018.
# Oscar Carballal <oscar.carballal@protonmail.com>, 2017-2018.
@@ -73,13 +73,14 @@
# Anderson Guzman Abreu <chicobello1111@gmail.com>, 2021.
# Manuel Cantón Guillén <manuelcanton8@gmail.com>, 2021.
# Alfonso V <alfonsov96@gmail.com>, 2022.
+# Cristhian Pineda Castro <kurgancpc@hotmail.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-01-16 13:19+0000\n"
-"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n"
+"PO-Revision-Date: 2022-02-20 00:54+0000\n"
+"Last-Translator: Cristhian Pineda Castro <kurgancpc@hotmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot/es/>\n"
"Language: es\n"
@@ -87,7 +88,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.10.1\n"
+"X-Generator: Weblate 4.11-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -1553,6 +1554,11 @@ msgstr "Cargar el Bus Layout predeterminado."
msgid "Create a new Bus Layout."
msgstr "Crear un nuevo Bus Layout."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Abrir Layout de Bus de Audio"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Nombre inválido."
@@ -2336,7 +2342,7 @@ msgstr "Propiedad:"
#: editor/editor_inspector.cpp
msgid "Pin value"
-msgstr "Valor de fijación"
+msgstr "Fijar Valor"
#: editor/editor_inspector.cpp
msgid ""
@@ -2345,7 +2351,7 @@ msgstr "Fijar un valor obliga a guardarlo aunque sea igual al predeterminado."
#: editor/editor_inspector.cpp
msgid "Pin value [Disabled because '%s' is editor-only]"
-msgstr "Valor de fijación [Desactivado porque '%s' es solo para el editor]"
+msgstr "Fijar Valor [Desactivado porque '%s' es solo para el editor]"
#: editor/editor_inspector.cpp editor/scene_tree_dock.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
@@ -3008,7 +3014,7 @@ msgstr "Act./Desact. modo sin distracciones."
msgid "Add a new scene."
msgstr "Añadir nueva escena."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Escena"
@@ -3385,14 +3391,12 @@ msgid "Update Continuously"
msgstr "Actualizar Continuamente"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update All Changes"
-msgstr "Actualizar Al Cambiar"
+msgstr "Actualizar todos los cambios"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Changes"
-msgstr "Cambios del Material:"
+msgstr "Actualizar cambios vitales"
#: editor/editor_node.cpp
msgid "Hide Update Spinner"
@@ -4178,6 +4182,11 @@ msgid ""
"After renaming to an unknown extension, the file won't be shown in the "
"editor anymore."
msgstr ""
+"Esta extensión de archivo no es reconocida por el editor.\n"
+"Si desea cambiarle el nombre de todos modos, use el administrador de "
+"archivos de su sistema operativo.\n"
+"Después de cambiar el nombre a una extensión desconocida, el archivo ya no "
+"se mostrará en el editor."
#: editor/filesystem_dock.cpp
msgid ""
@@ -5799,6 +5808,10 @@ msgid "Bake Lightmaps"
msgstr "Calcular Lightmaps"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Selecciona un archivo lightmap bakeado:"
@@ -6268,7 +6281,7 @@ msgstr "Asegura que los hijos del objeto no sean seleccionables."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Group Selected Node(s)"
-msgstr "Grupo Nodo(s) Seleccionado(s)"
+msgstr "Agrupar Nodo(s) Seleccionado(s)"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8294,7 +8307,13 @@ msgid "Cinematic Preview"
msgstr "Vista Previa Cinemática"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "No disponible al utilizar el renderizador GLES2."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9190,6 +9209,11 @@ msgid "Select Another Theme Resource:"
msgstr "Seleccionar Otro Recurso del Theme:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Renombrar Recurso"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr "Otro Theme"
@@ -9239,6 +9263,20 @@ msgstr ""
"de este tipo."
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr "Añadir Tipo de Elemento"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Establecer Tipo de la Variable"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Cambiar Tipo Base"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "Mostrar Por Defecto"
@@ -9257,8 +9295,19 @@ msgid "Override all default type items."
msgstr "Anular todos los elementos de tipo por defecto."
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr "Añadir Tipo de Elemento"
+#, fuzzy
+msgid "Base Type"
+msgstr "Cambiar Tipo Base"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9962,18 +10011,6 @@ msgid "Commit list size"
msgstr "Tamaño de la lista de confirmación"
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr "10"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr "20"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr "30"
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr "Ramas"
@@ -12732,6 +12769,11 @@ msgid "Stack Frames"
msgstr "Fotogramas Apilados"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtrar tiles"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Perfilador"
@@ -12905,14 +12947,12 @@ msgid "Set Occluder Sphere Position"
msgstr "Establecer Posición de la Esfera de Oclusión"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Polygon Point Position"
-msgstr "Establecer Posición del Portal Point"
+msgstr "Establecer posición del polígono oclusor"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Hole Point Position"
-msgstr "Establecer Posición de Punto de Curva"
+msgstr "Establecer posición del orificio del oclusor"
#: modules/csg/csg_gizmos.cpp
msgid "Change Cylinder Radius"
@@ -14064,9 +14104,10 @@ msgstr "Nombre de paquete inválido:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"El módulo \"GodotPaymentV3\" incluido en los ajustes del proyecto \"android/"
-"modules\" es inválido (cambiado en Godot 3.2.2).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
@@ -14332,166 +14373,167 @@ msgstr "Error al iniciar el servidor HTTP:"
#: platform/osx/export/codesign.cpp
msgid "Can't get filesystem access."
-msgstr ""
+msgstr "No se puede obtener acceso al sistema de archivos."
#: platform/osx/export/codesign.cpp
msgid "Failed to get Info.plist hash."
-msgstr ""
+msgstr "No se pudo obtener el hash de Info.plist."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, no exe name."
-msgstr "Nombre de Proyecto Inválido."
+msgstr "Info.plist no válido, sin nombre de exe."
#: platform/osx/export/codesign.cpp
msgid "Invalid Info.plist, no bundle id."
-msgstr ""
+msgstr "Info.plist no válido, sin ID de paquete."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, can't load."
-msgstr "Geometría inválida, no es posible crear un polígono."
+msgstr "Info.plist no válido, no se puede cargar."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to create \"%s\" subfolder."
-msgstr "No se pudo crear la carpeta."
+msgstr "No se pudo crear la subcarpeta \"%s\"."
#: platform/osx/export/codesign.cpp
msgid "Failed to extract thin binary."
-msgstr ""
+msgstr "No se pudo extraer el binario delgado."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid binary format."
-msgstr "Ruta base incorrecta."
+msgstr "Formato binario no válido."
#: platform/osx/export/codesign.cpp
msgid "Already signed!"
-msgstr ""
+msgstr "¡Ha sido firmado!"
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to process nested resources."
-msgstr "Error al cargar el recurso."
+msgstr "No se pudieron procesar los recursos anidados."
#: platform/osx/export/codesign.cpp
msgid "Failed to create _CodeSignature subfolder."
-msgstr ""
+msgstr "No se pudo crear la subcarpeta _CodeSignature."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to get CodeResources hash."
-msgstr "Error al cargar el recurso."
+msgstr "No se pudo obtener el hash de CodeResources."
#: platform/osx/export/codesign.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Invalid entitlements file."
-msgstr "Extensión inválida."
+msgstr "Archivo de derechos no válido."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid executable file."
-msgstr "Extensión inválida."
+msgstr "Archivo ejecutable no válido."
#: platform/osx/export/codesign.cpp
msgid "Can't resize signature load command."
-msgstr ""
+msgstr "No se puede cambiar el tamaño del comando de carga de la firma."
#: platform/osx/export/codesign.cpp
msgid "Failed to create fat binary."
-msgstr ""
+msgstr "No se pudo crear el binario gordo."
#: platform/osx/export/codesign.cpp
msgid "Unknown bundle type."
-msgstr ""
+msgstr "Tipo de paquete desconocido."
#: platform/osx/export/codesign.cpp
msgid "Unknown object type."
-msgstr ""
+msgstr "Tipo de objeto desconocido."
#: platform/osx/export/export.cpp
msgid ""
"Note: The notarization process generally takes less than an hour. When the "
"process is completed, you'll receive an email."
msgstr ""
+"Nota: El proceso de notarización generalmente toma menos de una hora. Cuando "
+"se complete el proceso, recibirá un correo electrónico."
#: platform/osx/export/export.cpp
msgid ""
"You can check progress manually by opening a Terminal and running the "
"following command:"
msgstr ""
+"Puede verificar el progreso manualmente abriendo una Terminal y ejecutando "
+"el siguiente comando:"
#: platform/osx/export/export.cpp
msgid ""
"Run the following command to staple the notarization ticket to the exported "
"application (optional):"
msgstr ""
+"Ejecute el siguiente comando para engrapar el boleto de certificación "
+"notarial a la aplicación exportada (opcional):"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "No identity found."
-msgstr "No se han encontrado icons."
+msgstr "No se encontró identidad."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Creating app bundle"
-msgstr "Creando Miniatura"
+msgstr "Crear paquete de aplicaciones"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Could not find template app to export:"
-msgstr ""
-"No se pudo encontrar la plantilla APK para exportar:\n"
-"%s"
+msgstr "No se pudo encontrar la aplicación de plantilla para exportar:"
#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
msgstr ""
+"Los enlaces simbólicos relativos no son compatibles con este sistema "
+"operativo, ¡el proyecto exportado podría estar dañado!"
#: platform/osx/export/export.cpp
msgid ""
"Requested template binary '%s' not found. It might be missing from your "
"template archive."
msgstr ""
+"Plantilla binaria solicitada '%s' no encontrada. Es posible que falte en el "
+"archivo de plantillas."
#: platform/osx/export/export.cpp
msgid "Making PKG"
-msgstr ""
+msgstr "haciendo paquete"
#: platform/osx/export/export.cpp
msgid ""
"Ad-hoc signed applications require the 'Disable Library Validation' "
"entitlement to load dynamic libraries."
msgstr ""
+"Las aplicaciones firmadas ad-hoc requieren el derecho 'Desactivar validación "
+"de biblioteca' para cargar bibliotecas dinámicas."
#: platform/osx/export/export.cpp
msgid "Code signing bundle"
-msgstr ""
+msgstr "Paquete de firma de código"
#: platform/osx/export/export.cpp
msgid "Making DMG"
-msgstr ""
+msgstr "Haciendo DMG"
#: platform/osx/export/export.cpp
msgid "Code signing DMG"
-msgstr ""
+msgstr "Firma de código DMG"
#: platform/osx/export/export.cpp
msgid "Making ZIP"
-msgstr ""
+msgstr "Haciendo 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 notarización requiere que la aplicación se archive primero, seleccione el "
+"formato de exportación DMG o ZIP en su lugar."
#: platform/osx/export/export.cpp
msgid "Sending archive for notarization"
-msgstr ""
+msgstr "Enviando archivo para notarización"
#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
@@ -14502,31 +14544,39 @@ msgid ""
"Warning: Built-in \"codesign\" is selected in the Editor Settings. Code "
"signing is limited to ad-hoc signature only."
msgstr ""
+"Advertencia: El \"codiseño\" incorporado está seleccionado en la "
+"configuración del editor. La firma de código se limita únicamente a la firma "
+"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 ""
+"Advertencia: las herramientas de línea de comandos de Xcode no están "
+"instaladas, utilizando el \"codiseño\" incorporado. La firma de código se "
+"limita únicamente a la firma ad-hoc."
#: platform/osx/export/export.cpp
msgid "Notarization: Notarization with an ad-hoc signature is not supported."
msgstr ""
+"Notarización: No se admite la certificación notarial con una firma ad-hoc."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Code signing is required for notarization."
-msgstr "Notarización: se requiere firma de código."
+msgstr "Notarización: Se requiere la firma del código para la notarización."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Hardened runtime is required for notarization."
-msgstr "Notarización: se requiere tiempo de ejecución reforzado."
+msgstr ""
+"Notarización: se requiere tiempo de ejecución endurecido para la "
+"certificación notarial."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Timestamp runtime is required for notarization."
-msgstr "Notarización: se requiere tiempo de ejecución reforzado."
+msgstr ""
+"Notarización: se requiere el tiempo de ejecución de la marca de tiempo para "
+"la certificación notarial."
#: platform/osx/export/export.cpp
msgid "Notarization: Apple ID name not specified."
@@ -14541,63 +14591,84 @@ msgid ""
"Warning: Notarization is disabled. The exported project will be blocked by "
"Gatekeeper if it's downloaded from an unknown source."
msgstr ""
+"Advertencia: La notarización está deshabilitada. Gatekeeper bloqueará el "
+"proyecto exportado si se descarga de una fuente desconocida."
#: 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 de código está deshabilitada. El proyecto exportado no se ejecutará "
+"en Mac con Gatekeeper habilitado y Mac con tecnología Apple Silicon."
#: platform/osx/export/export.cpp
msgid ""
"Hardened Runtime is not compatible with ad-hoc signature, and will be "
"disabled!"
msgstr ""
+"Hardened Runtime no es compatible con la firma ad-hoc, y se desactivará!"
#: platform/osx/export/export.cpp
msgid ""
"Timestamping is not compatible with ad-hoc signature, and will be disabled!"
msgstr ""
+"El sellado de tiempo no es compatible con la firma ad-hoc, y se desactivará!"
#: 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 ""
+"Advertencia: la notarización no es compatible con este sistema operativo. "
+"Gatekeeper bloqueará el proyecto exportado si se descarga de una fuente "
+"desconocida."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Microphone access is enabled, but usage description is not "
"specified."
msgstr ""
+"Privacidad: el acceso al micrófono está habilitado, pero no se especifica la "
+"descripción de uso."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Camera access is enabled, but usage description is not specified."
msgstr ""
+"Privacidad: el acceso a la cámara está habilitado, pero no se especifica la "
+"descripción de uso."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Location information access is enabled, but usage description is "
"not specified."
msgstr ""
+"Privacidad: el acceso a la información de ubicación está habilitado, pero no "
+"se especifica la descripción de uso."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Address book access is enabled, but usage description is not "
"specified."
msgstr ""
+"Privacidad: el acceso a la libreta de direcciones está habilitado, pero no "
+"se especifica la descripción de uso."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Calendar access is enabled, but usage description is not specified."
msgstr ""
+"Privacidad: el acceso al calendario está habilitado, pero no se especifica "
+"la descripción de uso."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Photo library access is enabled, but usage description is not "
"specified."
msgstr ""
+"Privacidad: el acceso a la biblioteca de fotos está habilitado, pero no se "
+"especifica la descripción de uso."
#: platform/uwp/export/export.cpp
msgid "Invalid package short name."
@@ -14669,21 +14740,21 @@ msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
msgstr ""
+"La herramienta rcedit debe configurarse en la configuración del editor "
+"(Exportar > Windows > Rcedit) para cambiar los datos de información del "
+"ícono o la aplicación."
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid icon path:"
-msgstr "Ruta inválida."
+msgstr "Ruta de icono no válida:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid file version:"
-msgstr "Extensión inválida."
+msgstr "Versión de archivo inválida:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid product version:"
-msgstr "GUID de producto inválido."
+msgstr "Versión de producto no válida:"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -15429,14 +15500,13 @@ msgid "This node has been deprecated. Use AnimationTree instead."
msgstr "Este nodo ha quedado obsoleto. Usa AnimationTree en su lugar."
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid ""
"Color: #%s\n"
"LMB: Apply color\n"
"RMB: Remove preset"
msgstr ""
"Color: #%s\n"
-"Clic izq: Configurar color\n"
+"Clic izq: Aplicar color\n"
"Clic der: Borrar configuración predeterminada"
#: scene/gui/color_picker.cpp
diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po
index 25d0908e26..44d5ce2975 100644
--- a/editor/translations/es_AR.po
+++ b/editor/translations/es_AR.po
@@ -3,7 +3,7 @@
# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md).
# This file is distributed under the same license as the Godot source code.
# Diego López <diegodario21@gmail.com>, 2017.
-# Lisandro Lorea <lisandrolorea@gmail.com>, 2016-2018, 2019, 2020, 2021.
+# Lisandro Lorea <lisandrolorea@gmail.com>, 2016-2018, 2019, 2020, 2021, 2022.
# Roger Blanco Ribera <roger.blancoribera@gmail.com>, 2016-2018.
# Sebastian Silva <sebastian@sugarlabs.org>, 2016.
# Jose Luis Bossio <joseluisbossio@gmail.com>, 2018.
@@ -17,15 +17,15 @@
# Cristian Yepez <cristianyepez@gmail.com>, 2020.
# Skarline <lihue-molina@hotmail.com>, 2020.
# Joakker <joaquinandresleon108@gmail.com>, 2020.
-# M3CG <cgmario1999@gmail.com>, 2021.
+# M3CG <cgmario1999@gmail.com>, 2021, 2022.
# Manuel González <mgoopazo@gmail.com>, 2021.
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: 2021-12-11 06:25+0000\n"
-"Last-Translator: Lisandro Lorea <lisandrolorea@gmail.com>\n"
+"PO-Revision-Date: 2022-02-28 13:54+0000\n"
+"Last-Translator: M3CG <cgmario1999@gmail.com>\n"
"Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/"
"godot-engine/godot/es_AR/>\n"
"Language: es_AR\n"
@@ -33,7 +33,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.10-dev\n"
+"X-Generator: Weblate 4.11.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -337,9 +337,8 @@ msgid "Duplicate Key(s)"
msgstr "Duplicar Clave(s)"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Add RESET Value(s)"
-msgstr "Agregar %d Frame(s)"
+msgstr "Agregar Valor(es) de RESET"
#: editor/animation_track_editor.cpp
msgid "Delete Key(s)"
@@ -513,9 +512,8 @@ msgstr ""
"única."
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Add RESET Keys"
-msgstr "Escalar Keys de Anim"
+msgstr "Anim: Agregar Claves de RESET"
#: editor/animation_track_editor.cpp
msgid ""
@@ -1499,13 +1497,18 @@ msgstr "Cargar el Bus Layout predeterminado."
msgid "Create a new Bus Layout."
msgstr "Crear un nuevo Bus Layout."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Abrir Layout de Bus de Audio"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Nombre inválido."
#: editor/editor_autoload_settings.cpp
msgid "Cannot begin with a digit."
-msgstr ""
+msgstr "No puede comenzar con un dígito."
#: editor/editor_autoload_settings.cpp
msgid "Valid characters:"
@@ -2137,9 +2140,8 @@ msgid "Properties"
msgstr "Propiedades"
#: editor/editor_help.cpp
-#, fuzzy
msgid "overrides %s:"
-msgstr "reemplazar(override):"
+msgstr "reemplaza(overrides) %s:"
#: editor/editor_help.cpp
msgid "default:"
@@ -2279,18 +2281,18 @@ msgid "Property:"
msgstr "Propiedad:"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Pin value"
-msgstr "(valor)"
+msgstr "Fijar Valor"
#: editor/editor_inspector.cpp
msgid ""
"Pinning a value forces it to be saved even if it's equal to the default."
msgstr ""
+"Fijar un valor fuerza que sea guardado incluso si es igual predeterminado."
#: editor/editor_inspector.cpp
msgid "Pin value [Disabled because '%s' is editor-only]"
-msgstr ""
+msgstr "Fijar Valor [Desactivado porque '%s' es solo para el editor]"
#: editor/editor_inspector.cpp editor/scene_tree_dock.cpp
#: modules/visual_script/visual_script_func_nodes.cpp
@@ -2305,26 +2307,23 @@ msgstr "Asignar Múltiples:"
#: editor/editor_inspector.cpp
msgid "Pinned %s"
-msgstr ""
+msgstr "Fijado %s"
#: editor/editor_inspector.cpp
msgid "Unpinned %s"
-msgstr ""
+msgstr "Desfijado %s"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Copy Property"
-msgstr "Copiar Propiedades"
+msgstr "Copiar Propiedad"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Paste Property"
-msgstr "Pegar Propiedades"
+msgstr "Pegar Propiedad"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Copy Property Path"
-msgstr "Copiar Ruta de Script"
+msgstr "Copiar Ruta de Propiedad"
#: editor/editor_log.cpp
msgid "Output:"
@@ -2957,7 +2956,7 @@ msgstr "Act./Desact. modo sin distracciones."
msgid "Add a new scene."
msgstr "Agregar nueva escena."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Escena"
@@ -3061,9 +3060,8 @@ msgid "Install Android Build Template..."
msgstr "Instalar Plantilla de Compilación de Android..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Open User Data Folder"
-msgstr "Abrir Carpeta de Datos del Editor"
+msgstr "Abrir Carpeta de Datos del Usuario"
#: editor/editor_node.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Tools"
@@ -3152,7 +3150,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Force Shader Fallbacks"
-msgstr ""
+msgstr "Forzar Shader Fallbacks"
#: editor/editor_node.cpp
msgid ""
@@ -3163,6 +3161,13 @@ msgid ""
"Asynchronous shader compilation must be enabled in the project settings for "
"this option to make a difference."
msgstr ""
+"Cuando esta opción está activada, los shaders se utilizarán en su forma de "
+"fallback (ya sea visible a través de un ubershader u oculto) durante todo el "
+"tiempo de ejecución.\n"
+"Esto es útil para verificar el aspecto y el rendimiento de los fallbacks, "
+"que normalmente se muestran brevemente.\n"
+"La compilación asíncrona de los shaders debe estar activada en la "
+"configuración del proyecto para que esta opción suponga una diferencia."
#: editor/editor_node.cpp
msgid "Synchronize Scene Changes"
@@ -3326,14 +3331,12 @@ msgid "Update Continuously"
msgstr "Actualizar Continuamente"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update All Changes"
-msgstr "Actualizar Al Cambiar"
+msgstr "Actualizar Todos Los Cambios"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Changes"
-msgstr "Cambios de Material:"
+msgstr "Actualizar Cambios Vitales"
#: editor/editor_node.cpp
msgid "Hide Update Spinner"
@@ -3782,9 +3785,8 @@ msgstr "Importar Desde Nodo:"
#. TRANSLATORS: %s refers to the name of a version control system (e.g. "Git").
#: editor/editor_vcs_interface.cpp
-#, fuzzy
msgid "%s Error"
-msgstr "Error"
+msgstr "Error de %s"
#: editor/export_template_manager.cpp
msgid "Open the folder containing these templates."
@@ -4120,6 +4122,11 @@ msgid ""
"After renaming to an unknown extension, the file won't be shown in the "
"editor anymore."
msgstr ""
+"Esta extensión de archivo no es reconocida por el editor.\n"
+"Si querés renombrarla de todos modos, usá el administrador de archivos de tu "
+"sistema operativo.\n"
+"Después de renombrar a una extensión desconocida, el archivo ya no se "
+"mostrará en el editor."
#: editor/filesystem_dock.cpp
msgid ""
@@ -4342,9 +4349,8 @@ msgid "Replace..."
msgstr "Reemplazar..."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Replace in Files"
-msgstr "Reemplazar Todo"
+msgstr "eemplazar en Archivos"
#: editor/find_in_files.cpp
msgid "Find: "
@@ -4355,9 +4361,8 @@ msgid "Replace: "
msgstr "Reemplazar: "
#: editor/find_in_files.cpp
-#, fuzzy
msgid "Replace All (NO UNDO)"
-msgstr "Reemplazar Todo"
+msgstr "Reemplazar Todo (NO SE PUEDE DESHACER)"
#: editor/find_in_files.cpp
msgid "Searching..."
@@ -4584,6 +4589,8 @@ msgid ""
"Select a resource file in the filesystem or in the inspector to adjust "
"import settings."
msgstr ""
+"Seleccioná un archivo de recursos en el sistema de archivos o en el "
+"inspector para ajustar la configuración de importación."
#: editor/inspector_dock.cpp
msgid "Failed to load resource."
@@ -5741,6 +5748,10 @@ msgid "Bake Lightmaps"
msgstr "Bake Lightmaps"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Selecciona un archivo de lightmap bakeado:"
@@ -6054,9 +6065,8 @@ msgid "Alt+Drag: Move selected node."
msgstr "Alt+Arrastrar: Mover el nodo seleccionado."
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Alt+Drag: Scale selected node."
-msgstr "Alt+Arrastrar: Mover el nodo seleccionado."
+msgstr "Alt+Arrastrar: Escalar el nodo seleccionado."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "V: Set selected node's pivot position."
@@ -6090,7 +6100,7 @@ msgstr "Modo de Escalado"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Shift: Scale proportionally."
-msgstr ""
+msgstr "Shift: Escalar proporcionalmente."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -6189,9 +6199,8 @@ msgstr "Bloquear el objeto seleccionado en su sitio (no se puede mover)."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Lock Selected Node(s)"
-msgstr "Bloqueo Seleccionado"
+msgstr "Bloquear Nodo(s) Seleccionado(s)"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -6200,9 +6209,8 @@ msgstr "Desbloquear el objeto seleccionado (puede ser movido)."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Unlock Selected Node(s)"
-msgstr "Desbloquear Seleccionados"
+msgstr "Desbloquear Nodo(s) Seleccionado(s)"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -6211,9 +6219,8 @@ msgstr "Asegurarse que los hijos de un objeto no sean seleccionables."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected Node(s)"
-msgstr "Agrupar Seleccionados"
+msgstr "Agrupar Nodo(s) Seleccionado(s)"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -6222,9 +6229,8 @@ msgstr "Restaurar la habilidad de seleccionar los hijos de un objeto."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected Node(s)"
-msgstr "Desagrupar Seleccionados"
+msgstr "Desagrupar Nodo(s) Seleccionado(s)"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Skeleton Options"
@@ -7873,9 +7879,8 @@ msgid "Find in Files..."
msgstr "Buscar en Archivos..."
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Replace in Files..."
-msgstr "Reemplazar..."
+msgstr "Reemplazar en Archivos..."
#: editor/plugins/script_text_editor.cpp
msgid "Contextual Help"
@@ -8236,7 +8241,13 @@ msgid "Cinematic Preview"
msgstr "Vista Previa Cinemática"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "No disponible usando el renderizador GLES2."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8403,16 +8414,15 @@ msgstr "Act./Desact. Vista Libre"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Decrease Field of View"
-msgstr ""
+msgstr "Disminuir el Campo de Visión"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Increase Field of View"
-msgstr ""
+msgstr "Incrementar el Campo de Visión"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Reset Field of View to Default"
-msgstr "Restablecer a Valores Por Defecto"
+msgstr "Restablecer el Campo de Visión por Defecto"
#: editor/plugins/spatial_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -8830,7 +8840,7 @@ msgstr "{num} stylebox(es)"
#: editor/plugins/theme_editor_plugin.cpp
msgid "No styleboxes found."
-msgstr "No se encontraron styleboxes."
+msgstr "No se encontró ninguna caja de estilo."
#: editor/plugins/theme_editor_plugin.cpp
msgid "{num} currently selected"
@@ -9132,6 +9142,11 @@ msgid "Select Another Theme Resource:"
msgstr "Seleccionar Otro Recurso del Theme:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Renombrar Recurso"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr "Otro Theme"
@@ -9141,22 +9156,19 @@ msgstr "Añadir Tipo"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Filter the list of types or create a new custom type:"
-msgstr ""
+msgstr "Filtrar la lista de tipos o crea un nuevo tipo personalizado:"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Available Node-based types:"
-msgstr "Perfiles Disponibles:"
+msgstr "Tipos disponibles basados en nodos:"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Type name is empty!"
-msgstr "El nombre del archivo está vacío."
+msgstr "¡El nombre del tipo está vacío!"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Are you sure you want to create an empty type?"
-msgstr "¿Estás seguro/a que quieres abrir más de un proyecto?"
+msgstr "¿Estás seguro/a que querés crear un tipo vacío?"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Confirm Item Rename"
@@ -9184,6 +9196,20 @@ msgstr ""
"de este tipo."
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr "Añadir Tipo de Elemento"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Editar Tipo de Variable"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Cambiar Tipo Base"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "Mostrar Valores por Defecto"
@@ -9202,8 +9228,19 @@ msgid "Override all default type items."
msgstr "Anular todos los elementos de tipo por defecto."
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr "Añadir Tipo de Elemento"
+#, fuzzy
+msgid "Base Type"
+msgstr "Cambiar Tipo Base"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9778,9 +9815,8 @@ msgid "TileSet"
msgstr "TileSet"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "No VCS plugins are available."
-msgstr "No hay addons de VCS disponibles."
+msgstr "No hay plugins de VCS disponibles."
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Error"
@@ -9790,53 +9826,48 @@ msgstr "Error"
msgid ""
"Remote settings are empty. VCS features that use the network may not work."
msgstr ""
+"La configuración remota está vacía. Las funciones de VCS que utilizan la red "
+"pueden no funcionar."
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "No commit message was provided."
-msgstr "No se indicó ningún nombre."
+msgstr "No se proporcionó ningún mensaje de commit"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Commit"
msgstr "Commit"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Staged Changes"
-msgstr "Cambios de Shaders:"
+msgstr "Cambios en Staging Area"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Unstaged Changes"
-msgstr "Cambios de Shaders:"
+msgstr "Cambios Fuera de Staging Area"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Commit:"
-msgstr "Commit"
+msgstr "Commit:"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Date:"
-msgstr ""
+msgstr "Fecha:"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Subtitle:"
-msgstr "Subárbol"
+msgstr "Subtítulo:"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Do you want to remove the %s branch?"
-msgstr ""
+msgstr "¿Quieres eliminar la rama %s?"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Do you want to remove the %s remote?"
-msgstr "¿Estás seguro/a que quieres abrir más de un proyecto?"
+msgstr "¿Quieres eliminar el %s remoto?"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Apply"
-msgstr "Aplicar Reset"
+msgstr "Aplicar"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Version Control System"
@@ -9847,148 +9878,120 @@ msgid "Initialize"
msgstr "Inicializar"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remote Login"
-msgstr "Quitar Punto"
+msgstr "Inicio de Sesión Remoto"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Username"
-msgstr "Renombrar"
+msgstr "Nombre de usuario"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Password"
-msgstr ""
+msgstr "Contraseña"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "SSH Public Key Path"
-msgstr ""
+msgstr "Ruta de la clave pública SSH"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Select SSH public key path"
-msgstr ""
+msgstr "Selecciona la ruta de la clave pública SSH"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "SSH Private Key Path"
-msgstr ""
+msgstr "Ruta de la Clave Privada SSH"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Select SSH private key path"
-msgstr ""
+msgstr "elecciona la ruta de la clave privada SSH"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "SSH Passphrase"
-msgstr ""
+msgstr "Contraseña SSH"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Detect new changes"
msgstr "Detectar nuevos cambios"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Discard all changes"
-msgstr "¿Cerrar y guardar cambios?"
+msgstr "Descartar todos los cambios"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Stage all changes"
-msgstr "Guardando cambios locales..."
+msgstr "Pasar todos los cambios al area de staging."
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Unstage all changes"
-msgstr "Cambios de Material:"
+msgstr "Quitar todos los cambios del area de staging"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Commit Message"
-msgstr "Commitear Cambios"
+msgstr "Mensaje de Commit"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Commit Changes"
msgstr "Commitear Cambios"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Commit List"
-msgstr "Commit"
+msgstr "Lista de Commits"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Commit list size"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
+msgstr "Tamaño de la lista de commits"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Branches"
-msgstr "Coincidencias:"
+msgstr "Branches"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Create New Branch"
-msgstr "Crear Proyecto Nuevo"
+msgstr "Crear un Nuevo Branch"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remove Branch"
-msgstr "Quitar pista de animación"
+msgstr "Eliminar Branch"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branch Name"
-msgstr ""
+msgstr "Nombre del Branch"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remotes"
-msgstr "Remoto"
+msgstr "Remotes"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Create New Remote"
-msgstr "Crear Proyecto Nuevo"
+msgstr "Crear un Nuevo Remote"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remove Remote"
-msgstr "Remover Item"
+msgstr "Eliminar Remote"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remote Name"
-msgstr "Remoto "
+msgstr "Nombre del Remote"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remote URL"
-msgstr "Remoto "
+msgstr "URL del Remote"
#: 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
msgid "Push"
-msgstr ""
+msgstr "Push"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Force Push"
-msgstr "Mesh de Origen:"
+msgstr "Forzar Push"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Modified"
@@ -10008,22 +10011,19 @@ msgstr "Cambio de Tipo"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Unmerged"
-msgstr ""
+msgstr "Sin mergear"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "View:"
-msgstr "Vista"
+msgstr "Vista:"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Split"
-msgstr "Partir Path"
+msgstr "Dividida"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Unified"
-msgstr "Modificado/s"
+msgstr "Unificada"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
@@ -12184,6 +12184,10 @@ 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 ""
+"No se puede guardar una rama que es hija de una escena ya instanciada.\n"
+"Para guardar esta rama en su propia escena, abrí la escena original, hacé "
+"click con el botón derecho del mouse en esta rama y seleccioná \"Guardar "
+"Rama como Escena\"."
#: editor/scene_tree_dock.cpp
msgid ""
@@ -12191,6 +12195,10 @@ 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 ""
+"No se puede guardar una rama que forma parte de una escena heredada.\n"
+"Para guardar esta rama en la propia escena, abre la escena original, hacé "
+"clic con el botón derecho en esta rama y seleccioná \"Guardar Rama como "
+"Escena\"."
#: editor/scene_tree_dock.cpp
msgid "Save New Scene As..."
@@ -12696,6 +12704,11 @@ msgid "Stack Frames"
msgstr "Frames del Stack"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtrar tiles"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Profiler"
@@ -12869,14 +12882,12 @@ msgid "Set Occluder Sphere Position"
msgstr "Establecer Posición de la Esfera de Oclusión"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Polygon Point Position"
-msgstr "Establecer Posición del Portal Point"
+msgstr "Establecer Posición del Polígono Oclusor"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Hole Point Position"
-msgstr "Setear Posición de Punto de Curva"
+msgstr "Establecer Posición del Punto del Agujero Oclusor"
#: modules/csg/csg_gizmos.cpp
msgid "Change Cylinder Radius"
@@ -13591,38 +13602,36 @@ msgid "Edit Member"
msgstr "Editar Miembros"
#: modules/visual_script/visual_script_expression.cpp
-#, fuzzy
msgid "Expression"
-msgstr "Establecer expresión"
+msgstr "Expresión"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Return"
-msgstr ""
+msgstr "Retornar"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Condition"
-msgstr "animación"
+msgstr "Condición"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "if (cond) is:"
-msgstr ""
+msgstr "if (cond) is:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "While"
-msgstr ""
+msgstr "Mientras"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "while (cond):"
-msgstr ""
+msgstr "while (cond):"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator"
-msgstr ""
+msgstr "Iterador"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "for (elem) in (input):"
-msgstr ""
+msgstr "for (elem) in (input):"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
@@ -13638,79 +13647,71 @@ msgstr "El iterador se volvió inválido: "
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Sequence"
-msgstr ""
+msgstr "Secuencia"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "in order:"
-msgstr "Renombrar carpeta:"
+msgstr "en orden:"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Switch"
-msgstr "Cabeceo:"
+msgstr "Switch"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "'input' is:"
-msgstr ""
+msgstr "'input' is:"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Type Cast"
-msgstr "Tipos:"
+msgstr "Casteo de Tipo"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Is %s?"
-msgstr ""
+msgstr "¿Es %s?"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "On %s"
-msgstr ""
+msgstr "On %s"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "On Self"
-msgstr "Propio"
+msgstr "On Self"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Subtract %s"
-msgstr "En el carácter %s"
+msgstr "Restar %s"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Multiply %s"
-msgstr ""
+msgstr "Multiplicar %s"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Divide %s"
-msgstr ""
+msgstr "Dividir %s"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Mod %s"
-msgstr "Agregar %s"
+msgstr "Mod %s"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "ShiftLeft %s"
-msgstr "Asignar %s"
+msgstr "ShiftLeft %s"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "ShiftRight %s"
-msgstr ""
+msgstr "ShiftRight %s"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "BitAnd %s"
-msgstr "Agregar %s"
+msgstr "BitAnd %s"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "BitOr %s"
-msgstr ""
+msgstr "BitOr %s"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "BitXor %s"
-msgstr ""
+msgstr "BitXor %s"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
@@ -13735,19 +13736,16 @@ msgid "Invalid index property name '%s' in node %s."
msgstr "Nombre de propiedad índice '%s' inválido en nodo %s."
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Emit %s"
-msgstr "Asignar %s"
+msgstr "Emitir %s"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Function"
-msgstr "Funciones"
+msgstr "Función"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Compose Array"
-msgstr "Redimensionar Array"
+msgstr "Componer Array"
#: modules/visual_script/visual_script_nodes.cpp
msgid ": Invalid argument of type: "
@@ -13759,7 +13757,7 @@ msgstr ": Argumentos inválidos: "
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
-msgstr ""
+msgstr "a if cond, else b"
#: modules/visual_script/visual_script_nodes.cpp
msgid "VariableGet not found in script: "
@@ -13770,64 +13768,52 @@ msgid "VariableSet not found in script: "
msgstr "VariableSet no encontrado en el script: "
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Preload"
-msgstr "Volver a Cargar"
+msgstr "Preload"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Get Index"
-msgstr "Z Index"
+msgstr "Obtener Ãndice"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Set Index"
-msgstr "Z Index"
+msgstr "Establecer Ãndice"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Global Constant"
-msgstr "Constante"
+msgstr "Constante Global"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Class Constant"
-msgstr "Constante"
+msgstr "Constante Global"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Basic Constant"
-msgstr "Constante"
+msgstr "Constante Básica"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Math Constant"
-msgstr "Constante"
+msgstr "Constante Matemática"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Get Engine Singleton"
-msgstr "Activar Singleton GDNative"
+msgstr "Obtener Engine Singleton"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Get Scene Node"
-msgstr "Nodo TimeSeek"
+msgstr "Obtener Nodo de Escena"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Get Scene Tree"
-msgstr "Edición de Ãrbol de Escenas"
+msgstr "Obtener Ãrbol de Escenas"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Get Self"
-msgstr "Propio"
+msgstr "Obtener Self"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "CustomNode"
-msgstr "Cortar Nodos"
+msgstr "CustomNode"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Custom node has no _step() method, can't process graph."
@@ -13844,33 +13830,28 @@ msgstr ""
"(error)."
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "SubCall"
-msgstr "Llamadas"
+msgstr "SubCall"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Construct %s"
-msgstr "Constantes"
+msgstr "Construir %s"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Get Local Var"
-msgstr "Usar Espacio Local"
+msgstr "Obtener Var local"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Set Local Var"
-msgstr "Usar Espacio Local"
+msgstr "Establecer Var Local"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Action %s"
-msgstr "Acción"
+msgstr "Acción %s"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Deconstruct %s"
-msgstr ""
+msgstr "Deconstruir %s"
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search VisualScript"
@@ -13878,40 +13859,35 @@ msgstr "Buscar en VisualScript"
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "Yield"
-msgstr ""
+msgstr "Yield"
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "Wait"
-msgstr ""
+msgstr "Esperar"
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Next Frame"
-msgstr "Mover Fotograma"
+msgstr "Siguiente Fotograma"
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Next Physics Frame"
msgstr "Frames de Física %"
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "%s sec(s)"
-msgstr ""
+msgstr "%s seg(s)"
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "WaitSignal"
-msgstr "Señal"
+msgstr "WaitSignal"
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "WaitNodeSignal"
-msgstr "Señal"
+msgstr "WaitNodeSignal"
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "WaitInstanceSignal"
-msgstr "Instancia"
+msgstr "WaitInstanceSignal"
#: platform/android/export/export_plugin.cpp
msgid "Package name is missing."
@@ -14055,9 +14031,10 @@ msgstr "Nombre de paquete inválido:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"El módulo \"GodotPaymentV3\" incluido en el ajuste de proyecto \"android/"
-"modules\" es inválido (cambiado en Godot 3.2.2).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
@@ -14324,166 +14301,167 @@ msgstr "Error al iniciar el servidor HTTP:"
#: platform/osx/export/codesign.cpp
msgid "Can't get filesystem access."
-msgstr ""
+msgstr "No se puede obtener acceso al sistema de archivos."
#: platform/osx/export/codesign.cpp
msgid "Failed to get Info.plist hash."
-msgstr ""
+msgstr "No se pudo obtener el hash de Info.plist."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, no exe name."
-msgstr "Nombre de proyecto Inválido."
+msgstr "Info.plist no válido, sin nombre de exe."
#: platform/osx/export/codesign.cpp
msgid "Invalid Info.plist, no bundle id."
-msgstr ""
+msgstr "Info.plist no válido, sin ID de paquete."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, can't load."
-msgstr "Geometría inválida, no es posible crear un polígono."
+msgstr "Info.plist no válido, no se puede cargar."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to create \"%s\" subfolder."
-msgstr "No se pudo crear la carpeta."
+msgstr "No se pudo crear la subcarpeta \"%s\"."
#: platform/osx/export/codesign.cpp
msgid "Failed to extract thin binary."
-msgstr ""
+msgstr "No se pudo extraer el binario delgado."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid binary format."
-msgstr "Ruta base inválida."
+msgstr "Formato binario no válido."
#: platform/osx/export/codesign.cpp
msgid "Already signed!"
-msgstr ""
+msgstr "Ya está firmado!"
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to process nested resources."
-msgstr "Fallo al cargar recurso."
+msgstr "No se pudieron procesar los recursos anidados."
#: platform/osx/export/codesign.cpp
msgid "Failed to create _CodeSignature subfolder."
-msgstr ""
+msgstr "No se pudo crear la subcarpeta _CodeSignature."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to get CodeResources hash."
-msgstr "Fallo al cargar recurso."
+msgstr "No se pudo obtener el hash de CodeResources."
#: platform/osx/export/codesign.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Invalid entitlements file."
-msgstr "Extensión inválida."
+msgstr "Archivo de entitlements no válido."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid executable file."
-msgstr "Extensión inválida."
+msgstr "Archivo ejecutable no válido."
#: platform/osx/export/codesign.cpp
msgid "Can't resize signature load command."
-msgstr ""
+msgstr "No se puede cambiar el tamaño del comando de carga de la firma."
#: platform/osx/export/codesign.cpp
msgid "Failed to create fat binary."
-msgstr ""
+msgstr "No se pudo crear el binario gordo."
#: platform/osx/export/codesign.cpp
msgid "Unknown bundle type."
-msgstr ""
+msgstr "Tipo de paquete desconocido."
#: platform/osx/export/codesign.cpp
msgid "Unknown object type."
-msgstr ""
+msgstr "Tipo de objeto desconocido."
#: platform/osx/export/export.cpp
msgid ""
"Note: The notarization process generally takes less than an hour. When the "
"process is completed, you'll receive an email."
msgstr ""
+"Nota: El proceso de notarización generalmente toma menos de una hora. Cuando "
+"se complete el proceso, recibirás un correo electrónico."
#: platform/osx/export/export.cpp
msgid ""
"You can check progress manually by opening a Terminal and running the "
"following command:"
msgstr ""
+"Podés verificar el progreso manualmente abriendo una Terminal y ejecutando "
+"el siguiente comando:"
#: platform/osx/export/export.cpp
msgid ""
"Run the following command to staple the notarization ticket to the exported "
"application (optional):"
msgstr ""
+"Ejecutá el siguiente comando para engrapar el boleto de certificación "
+"notarial a la aplicación exportada (opcional):"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "No identity found."
-msgstr "No se encontraron íconos."
+msgstr "No se encontró identidad."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Creating app bundle"
-msgstr "Creando Miniatura"
+msgstr "Crearndo paquete de aplicaciones"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Could not find template app to export:"
-msgstr ""
-"No se pudo encontrar la plantilla APK para exportar:\n"
-"%s"
+msgstr "No se pudo encontrar la aplicación de plantilla para exportar:"
#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
msgstr ""
+"Los enlaces simbólicos relativos no son compatibles con este sistema "
+"operativo, ¡el proyecto exportado podría estar dañado!"
#: platform/osx/export/export.cpp
msgid ""
"Requested template binary '%s' not found. It might be missing from your "
"template archive."
msgstr ""
+"Plantilla binaria solicitada '%s' no encontrada. Es posible que falte en el "
+"archivo de plantillas."
#: platform/osx/export/export.cpp
msgid "Making PKG"
-msgstr ""
+msgstr "Creando PKG"
#: platform/osx/export/export.cpp
msgid ""
"Ad-hoc signed applications require the 'Disable Library Validation' "
"entitlement to load dynamic libraries."
msgstr ""
+"Las aplicaciones firmadas ad-hoc requieren el entitlement 'Disable Library "
+"Validation' para cargar bibliotecas dinámicas."
#: platform/osx/export/export.cpp
msgid "Code signing bundle"
-msgstr ""
+msgstr "Firmando código del paquete"
#: platform/osx/export/export.cpp
msgid "Making DMG"
-msgstr ""
+msgstr "Creando DMG"
#: platform/osx/export/export.cpp
msgid "Code signing DMG"
-msgstr ""
+msgstr "Firmando código de DMG"
#: platform/osx/export/export.cpp
msgid "Making ZIP"
-msgstr ""
+msgstr "Creando 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 notarización requiere que la aplicación se archive primero, seleccioná el "
+"formato de exportación DMG o ZIP en su lugar."
#: platform/osx/export/export.cpp
msgid "Sending archive for notarization"
-msgstr ""
+msgstr "Enviando archivo para notarización"
#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
@@ -14494,31 +14472,37 @@ msgid ""
"Warning: Built-in \"codesign\" is selected in the Editor Settings. Code "
"signing is limited to ad-hoc signature only."
msgstr ""
+"Advertencia: El \"codesign\" incorporado está seleccionado en la "
+"configuración del editor. La firma de código se limita únicamente a la firma "
+"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 ""
+"Advertencia: las herramientas de línea de comandos de Xcode no están "
+"instaladas, utilizando el \"codesign\" incorporado. La firma de código se "
+"limita únicamente a la firma ad-hoc."
#: platform/osx/export/export.cpp
msgid "Notarization: Notarization with an ad-hoc signature is not supported."
msgstr ""
+"Notarización: No se admite la certificación notarial con una firma ad-hoc."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Code signing is required for notarization."
-msgstr "Notarización: se requiere firma de código."
+msgstr "Notarización: Se requiere la firma del código para la notarización."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Hardened runtime is required for notarization."
-msgstr "Notarización: se requiere hardened runtime."
+msgstr ""
+"Notarización: se requiere hardened runtime para la certificación notarial."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Timestamp runtime is required for notarization."
-msgstr "Notarización: se requiere hardened runtime."
+msgstr ""
+"Notarización: Se requienre Timestamp runtime para la certificación notarial."
#: platform/osx/export/export.cpp
msgid "Notarization: Apple ID name not specified."
@@ -14533,57 +14517,75 @@ msgid ""
"Warning: Notarization is disabled. The exported project will be blocked by "
"Gatekeeper if it's downloaded from an unknown source."
msgstr ""
+"Advertencia: La notarización está deshabilitada. Gatekeeper bloqueará el "
+"proyecto exportado si se descarga de una fuente desconocida."
#: 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 de código está deshabilitada. El proyecto exportado no se ejecutará "
+"en Mac con Gatekeeper habilitado y Mac con tecnología Apple Silicon."
#: platform/osx/export/export.cpp
msgid ""
"Hardened Runtime is not compatible with ad-hoc signature, and will be "
"disabled!"
msgstr ""
+"Hardened Runtime no es compatible con la firma ad-hoc y se desactivará!"
#: platform/osx/export/export.cpp
msgid ""
"Timestamping is not compatible with ad-hoc signature, and will be disabled!"
-msgstr ""
+msgstr "Timestamping no es compatible con la firma ad-hoc y se desactivará!"
#: 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 ""
+"Advertencia: la notarización no es compatible con este sistema operativo. "
+"Gatekeeper bloqueará el proyecto exportado si se descarga de una fuente "
+"desconocida."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Microphone access is enabled, but usage description is not "
"specified."
msgstr ""
+"Privacidad: el acceso al micrófono está habilitado, pero no se especifica la "
+"descripción de uso."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Camera access is enabled, but usage description is not specified."
msgstr ""
+"Privacidad: el acceso a la cámara está habilitado, pero no se especifica la "
+"descripción de uso."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Location information access is enabled, but usage description is "
"not specified."
msgstr ""
+"Privacidad: el acceso a la información de ubicación está habilitado, pero no "
+"se especifica la descripción de uso."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Address book access is enabled, but usage description is not "
"specified."
msgstr ""
+"Privacidad: el acceso a la libreta de direcciones está habilitado, pero no "
+"se especifica la descripción de uso."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Calendar access is enabled, but usage description is not specified."
msgstr ""
+"Privacidad: el acceso al calendario está habilitado, pero no se especifica "
+"la descripción de uso."
#: platform/osx/export/export.cpp
msgid ""
@@ -14661,19 +14663,16 @@ msgid ""
msgstr ""
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid icon path:"
-msgstr "Ruta inválida."
+msgstr "Ruta de icono no válida:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid file version:"
-msgstr "Extensión inválida."
+msgstr "Versión de archivo inválida:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid product version:"
-msgstr "GUID de producto inválido."
+msgstr "versión de producto inválida."
#: scene/2d/animated_sprite.cpp
msgid ""
diff --git a/editor/translations/et.po b/editor/translations/et.po
index 9b70c32d20..6684f4bbb6 100644
--- a/editor/translations/et.po
+++ b/editor/translations/et.po
@@ -1456,6 +1456,11 @@ msgstr "Lae vaikimise siini paigutus."
msgid "Create a new Bus Layout."
msgstr "Loo uus siini paigutus."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Ava heliliinide paigutus"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Vigane nimi."
@@ -2859,7 +2864,7 @@ msgstr ""
msgid "Add a new scene."
msgstr "Lisa uus stseen."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Stseen"
@@ -5531,6 +5536,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7986,7 +7995,12 @@ msgid "Cinematic Preview"
msgstr "Kinemaatiline eelvaade"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8893,6 +8907,11 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Ressurss"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8941,6 +8960,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Show Default"
msgstr "Laadi vaikimisi"
@@ -8959,7 +8990,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "Muuda tüüpi"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9650,18 +9692,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Vasted:"
@@ -12245,6 +12275,11 @@ msgid "Stack Frames"
msgstr "Virnakaadrid"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtreeri sõlmed"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Profileerija"
@@ -13557,6 +13592,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/eu.po b/editor/translations/eu.po
index 2918926ac7..d315bb8d1c 100644
--- a/editor/translations/eu.po
+++ b/editor/translations/eu.po
@@ -1464,6 +1464,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2828,7 +2832,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5505,6 +5509,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "Hautatu txantiloi fitxategia"
@@ -7944,7 +7952,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8848,6 +8861,11 @@ msgstr "Bilatu ordezko baliabidea:"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "Baliabidea"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "Inportatu azala"
@@ -8897,6 +8915,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Show Default"
msgstr "Inportatu profila(k)"
@@ -8915,7 +8945,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "Kide mota"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9600,18 +9641,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12190,6 +12219,10 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Filter stack variables"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13494,6 +13527,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/fa.po b/editor/translations/fa.po
index e75b0277a6..d1c2a87acc 100644
--- a/editor/translations/fa.po
+++ b/editor/translations/fa.po
@@ -1492,6 +1492,11 @@ msgstr "طرح پیش Ùرض اتوبوس را بارگیری کنید."
msgid "Create a new Bus Layout."
msgstr "طرح جدید اتوبوس ایجاد کنید."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "چیدمان اتوبوس صوتی را باز کنید"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "نام نامعتبر."
@@ -2870,7 +2875,7 @@ msgstr ""
msgid "Add a new scene."
msgstr "اÙزودن صحنه جدید."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "صحنه"
@@ -5698,6 +5703,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "انتخاب پرونده قالب"
@@ -8286,7 +8295,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9249,6 +9263,11 @@ msgstr "منبع جایگزینی را جستجو کن:"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "تغییر نام منبع"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "عضوها"
@@ -9302,6 +9321,21 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Add Item Type"
+msgstr "اÙزودن مورد"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "متغیر را ویرایش کن:"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "تغییر نوع پایه"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Show Default"
msgstr "بارگیری پیش Ùرض"
@@ -9319,8 +9353,18 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
-msgid "Add Item Type"
-msgstr "اÙزودن مورد"
+msgid "Base Type"
+msgstr "تغییر نوع پایه"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -10076,18 +10120,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "تطبیق‌ها:"
@@ -12807,6 +12839,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "صاÙÛŒ کردن گره‌ها"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -14206,6 +14243,9 @@ msgstr "نام نامعتبر."
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/fi.po b/editor/translations/fi.po
index bd2dd36308..a1d3ed6b5a 100644
--- a/editor/translations/fi.po
+++ b/editor/translations/fi.po
@@ -17,7 +17,7 @@ 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-02-04 13:45+0000\n"
+"PO-Revision-Date: 2022-02-16 16:36+0000\n"
"Last-Translator: Tapani Niemi <tapani.niemi@kapsi.fi>\n"
"Language-Team: Finnish <https://hosted.weblate.org/projects/godot-engine/"
"godot/fi/>\n"
@@ -1480,6 +1480,11 @@ msgstr "Lataa väylän oletusasettelu."
msgid "Create a new Bus Layout."
msgstr "Luo uusi ääniväylän asettelu."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Avaa ääniväylän asettelu"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Virheellinen nimi."
@@ -2919,7 +2924,7 @@ msgstr "Käytä häiriötöntä tilaa."
msgid "Add a new scene."
msgstr "Lisää uusi skene."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Skene"
@@ -3293,14 +3298,12 @@ msgid "Update Continuously"
msgstr "Päivitä jatkuvasti"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update All Changes"
-msgstr "Päivitä kun muuttuu"
+msgstr "Päivitä kaikki muutokset"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Changes"
-msgstr "Materiaalimuutokset:"
+msgstr "Päivitä olennaiset muutokset"
#: editor/editor_node.cpp
msgid "Hide Update Spinner"
@@ -4075,6 +4078,11 @@ msgid ""
"After renaming to an unknown extension, the file won't be shown in the "
"editor anymore."
msgstr ""
+"Editori ei tunnista tätä tiedostopäätettä.\n"
+"Jos haluat nimetä tiedoston uudelleen joka tapauksessa, tee se "
+"käyttöjärjestelmäsi tiedostonhallintaa käyttäen.\n"
+"Sen jälkeen, kun tiedosto on nimetty tuntemattomalla päätteellä, sitä ei "
+"enää näytetä editorissa."
#: editor/filesystem_dock.cpp
msgid ""
@@ -5693,6 +5701,10 @@ msgid "Bake Lightmaps"
msgstr "Kehitä Lightmapit"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Valitse lightmapin kehitystiedosto:"
@@ -8179,7 +8191,13 @@ msgid "Cinematic Preview"
msgstr "Elokuvallinen esikatselu"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "Ei käytettävissä GLES2-renderöijää käytettäessä."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9073,6 +9091,11 @@ msgid "Select Another Theme Resource:"
msgstr "Valitse toinen teemaresurssi:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Nimeä resurssi uudelleen"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr "Toinen teema"
@@ -9121,6 +9144,20 @@ msgstr ""
"päivittää kaikkien muiden tämän tyyppisten tyylilaatikoiden ominaisuuksia."
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr "Lisää osan tyyppi"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Aseta muuttujan tyyppi"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Muuta kantatyyppiä"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "Näytä oletus"
@@ -9137,8 +9174,19 @@ msgid "Override all default type items."
msgstr "Ylikirjoita kaikki oletustyypin osat."
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr "Lisää osan tyyppi"
+#, fuzzy
+msgid "Base Type"
+msgstr "Muuta kantatyyppiä"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9844,18 +9892,6 @@ msgid "Commit list size"
msgstr "Vahvistuslistan koko"
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr "10"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr "20"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr "30"
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr "Haarat"
@@ -12599,6 +12635,11 @@ msgid "Stack Frames"
msgstr "Pinokehykset"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Suodata laattoja"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Profiloija"
@@ -12772,14 +12813,12 @@ msgid "Set Occluder Sphere Position"
msgstr "Aseta peittopallon sijainti"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Polygon Point Position"
-msgstr "Aseta portaalin pisteen sijainti"
+msgstr "Aseta peittopolygonin pisteen sijainti"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Hole Point Position"
-msgstr "Aseta käyräpisteen sijainti"
+msgstr "Aseta peittoreiän pisteen sijainti"
#: modules/csg/csg_gizmos.cpp
msgid "Change Cylinder Radius"
@@ -13916,9 +13955,10 @@ msgstr "Virheellinen paketin nimi:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"\"android/modules\" projektiasetukseen on liitetty virheellinen "
-"\"GodotPaymentV3\" moduuli (muuttunut Godotin versiossa 3.2.2).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
@@ -14187,166 +14227,167 @@ msgstr "Virhe käynnistettäessä HTTP-palvelinta:"
#: platform/osx/export/codesign.cpp
msgid "Can't get filesystem access."
-msgstr ""
+msgstr "Ei saada pääsyä tiedostojärjestelmään."
#: platform/osx/export/codesign.cpp
msgid "Failed to get Info.plist hash."
-msgstr ""
+msgstr "Info.plist hajautusarvoa ei saada."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, no exe name."
-msgstr "Virheellinen projektin nimi."
+msgstr "Virheellinen Info.plist, exe-nimi puuttuu."
#: platform/osx/export/codesign.cpp
msgid "Invalid Info.plist, no bundle id."
-msgstr ""
+msgstr "Virheellinen Info.plist, bundle id puuttuu."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, can't load."
-msgstr "Virheellinen geometria, ei voida luoda polygonia."
+msgstr "Virheellinen Info.plist, ei voida ladata."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to create \"%s\" subfolder."
-msgstr "Kansiota ei voitu luoda."
+msgstr "Alikansion \"%s\" luonti epäonnistui."
#: platform/osx/export/codesign.cpp
msgid "Failed to extract thin binary."
-msgstr ""
+msgstr "Binäärin ohennus epäonnistui."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid binary format."
-msgstr "Virheellinen kantapolku."
+msgstr "Virheellinen binäärimuoto."
#: platform/osx/export/codesign.cpp
msgid "Already signed!"
-msgstr ""
+msgstr "Jo allekirjoitettu!"
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to process nested resources."
-msgstr "Resurssin lataaminen epäonnistui."
+msgstr "Sisäkkäisten resurssien käsittely epäonnistui."
#: platform/osx/export/codesign.cpp
msgid "Failed to create _CodeSignature subfolder."
-msgstr ""
+msgstr "_CodeSignature alikansion luonti epäonnistui."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to get CodeResources hash."
-msgstr "Resurssin lataaminen epäonnistui."
+msgstr "CodeResources hajautusarvon saanti epäonnistui."
#: platform/osx/export/codesign.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Invalid entitlements file."
-msgstr "Virheellinen tiedostopääte."
+msgstr "Virheellinen oikeutustiedosto (entitlements)."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid executable file."
-msgstr "Virheellinen tiedostopääte."
+msgstr "Virheellinen käynnistystiedosto."
#: platform/osx/export/codesign.cpp
msgid "Can't resize signature load command."
-msgstr ""
+msgstr "Ei voida muuttaa allekirjoituksen latauskäskyn kokoa."
#: platform/osx/export/codesign.cpp
msgid "Failed to create fat binary."
-msgstr ""
+msgstr "Laajennetun binäärin luonti epäonnistui."
#: platform/osx/export/codesign.cpp
msgid "Unknown bundle type."
-msgstr ""
+msgstr "Tuntematon bundle-tyyppi."
#: platform/osx/export/codesign.cpp
msgid "Unknown object type."
-msgstr ""
+msgstr "Tuntematon objektityyppi."
#: platform/osx/export/export.cpp
msgid ""
"Note: The notarization process generally takes less than an hour. When the "
"process is completed, you'll receive an email."
msgstr ""
+"Huom: Notarisointiprosessi kestää yleensä alle tunnin. Kun käsittely on "
+"valmis, saat sähköpostin."
#: platform/osx/export/export.cpp
msgid ""
"You can check progress manually by opening a Terminal and running the "
"following command:"
msgstr ""
+"Voit tarkistaa edistymisen manuaalisesti avaamalla Terminaalin ja "
+"suorittamalla seuraavan komennon:"
#: platform/osx/export/export.cpp
msgid ""
"Run the following command to staple the notarization ticket to the exported "
"application (optional):"
msgstr ""
+"Suorita seuraava komento nitoaksesi notarisointilipukkeen vietyyn "
+"sovellukseen (vapaavalintainen):"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "No identity found."
-msgstr "Kuvakkeita ei löytynyt."
+msgstr "Identiteettiä ei löytynyt."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Creating app bundle"
-msgstr "Luodaan pienoiskuvaa"
+msgstr "Luodaan app bundlea"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Could not find template app to export:"
-msgstr ""
-"Ei löydetty APK-vientimallia vientiä varten:\n"
-"%s"
+msgstr "Ei löydetty app-vientimallia vientiä varten:"
#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
msgstr ""
+"Suhteelliset symboliset linkit eivät ole tuettuja tässä "
+"käyttöjärjestelmässä, viety projekti saattaa olla rikkinäinen!"
#: platform/osx/export/export.cpp
msgid ""
"Requested template binary '%s' not found. It might be missing from your "
"template archive."
msgstr ""
+"Pyydettyä binäärivientimallia '%s' ei löydy. Se saattaa puuttua "
+"vientimalliesi arkistosta."
#: platform/osx/export/export.cpp
msgid "Making PKG"
-msgstr ""
+msgstr "Tehdään PKG"
#: platform/osx/export/export.cpp
msgid ""
"Ad-hoc signed applications require the 'Disable Library Validation' "
"entitlement to load dynamic libraries."
msgstr ""
+"Ad-hoc allekirjoitetut sovellukset tarvitsevat 'Disable Library Validation' "
+"oikeutuksen ladatakseen dynaamisia kirjastoja."
#: platform/osx/export/export.cpp
msgid "Code signing bundle"
-msgstr ""
+msgstr "Allekirjoitetaan bundle-koodi"
#: platform/osx/export/export.cpp
msgid "Making DMG"
-msgstr ""
+msgstr "Tehdään DMG"
#: platform/osx/export/export.cpp
msgid "Code signing DMG"
-msgstr ""
+msgstr "Allekirjoitetaan DMG-koodi"
#: platform/osx/export/export.cpp
msgid "Making ZIP"
-msgstr ""
+msgstr "Tehdään ZIP"
#: platform/osx/export/export.cpp
msgid ""
"Notarization requires the app to be archived first, select the DMG or ZIP "
"export format instead."
msgstr ""
+"Notarisointi edellyttää, että sovellus on ensin pakattu; valitse sen sijaan "
+"DMG- tai ZIP-vientimuoto."
#: platform/osx/export/export.cpp
msgid "Sending archive for notarization"
-msgstr ""
+msgstr "Lähetetään tiedostopaketti notarisointia varten"
#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
@@ -14357,31 +14398,33 @@ msgid ""
"Warning: Built-in \"codesign\" is selected in the Editor Settings. Code "
"signing is limited to ad-hoc signature only."
msgstr ""
+"Varoitus: Editorin asetuksissa on valittuna sisäänrakennettu \"codesign\". "
+"Koodin allekirjoitus on rajoitettu vain ad-hoc allekirjoituksiin."
#: 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 ""
+"Varoitus: Xcode-komentorivityökaluja ei ole asennettu, käytetään "
+"sisäänrakennettua \"codesign\"-työkalua. Koodin allekirjoitus on rajoitettu "
+"vain ad-hoc allekirjoituksiin."
#: platform/osx/export/export.cpp
msgid "Notarization: Notarization with an ad-hoc signature is not supported."
-msgstr ""
+msgstr "Notarisointi: notarisointi ad-hoc allekirjoituksella ei ole tuettua."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Code signing is required for notarization."
-msgstr "Notarisointi: koodin allekirjoitus tarvitaan."
+msgstr "Notarisointi: koodin allekirjoitus tarvitaan notarisointia varten."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Hardened runtime is required for notarization."
-msgstr "Notarisointi: hardened runtime tarvitaan."
+msgstr "Notarisointi: hardened runtime tarvitaan notarisointia varten."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Timestamp runtime is required for notarization."
-msgstr "Notarisointi: hardened runtime tarvitaan."
+msgstr "Notarisointi: timestamp runtime tarvitaan notarisointia varten."
#: platform/osx/export/export.cpp
msgid "Notarization: Apple ID name not specified."
@@ -14396,63 +14439,86 @@ msgid ""
"Warning: Notarization is disabled. The exported project will be blocked by "
"Gatekeeper if it's downloaded from an unknown source."
msgstr ""
+"Varoitus: notarisointi on pois päältä. Gatekeeper estää viedyn projektin "
+"käytön, jos se on ladattu tuntemattomasta lähteestä."
#: 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 ""
+"Koodin allekirjoitus on pois päältä. Viedyt projektit eivät toimi Maceillä, "
+"joissa on Gatekeeper päällä, eivätkä Apple Silicon suorittimia käyttävillä "
+"Maceillä."
#: platform/osx/export/export.cpp
msgid ""
"Hardened Runtime is not compatible with ad-hoc signature, and will be "
"disabled!"
msgstr ""
+"Hardened Runtime ei ole yhteensopiva ad-hoc allekirjoituksen kanssa ja "
+"kytketään pois päältä!"
#: platform/osx/export/export.cpp
msgid ""
"Timestamping is not compatible with ad-hoc signature, and will be disabled!"
msgstr ""
+"Timestamping ei ole yhteensopiva ad-hoc allekirjoituksen kanssa ja kytketään "
+"pois päältä!"
#: 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 ""
+"Varoitus: notarisointi ei ole tuettu tästä käyttöjärjestelmästä. Gatekeeper "
+"estää viedyn projektin käytön, jos se on ladattu tuntemattomasta lähteestä."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Microphone access is enabled, but usage description is not "
"specified."
msgstr ""
+"Yksityisyys: mikrofonin käyttö on sallittu, mutta käyttökuvausta ei ole "
+"määritelty."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Camera access is enabled, but usage description is not specified."
msgstr ""
+"Yksityisyys: kameran käyttö on sallittu, mutta käyttökuvausta ei ole "
+"määritelty."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Location information access is enabled, but usage description is "
"not specified."
msgstr ""
+"Yksityisyys: sijaintitiedon käyttö on sallittu, mutta käyttökuvausta ei ole "
+"määritelty."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Address book access is enabled, but usage description is not "
"specified."
msgstr ""
+"Yksityisyys: osoitekirjan käyttö on sallittu, mutta käyttökuvausta ei ole "
+"määritelty."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Calendar access is enabled, but usage description is not specified."
msgstr ""
+"Yksityisyys: kalenterin käyttö on sallittu, mutta käyttökuvausta ei ole "
+"määritelty."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Photo library access is enabled, but usage description is not "
"specified."
msgstr ""
+"Yksityisyys: kuvakirjaston käyttö on sallittu, mutta käyttökuvausta ei ole "
+"määritelty."
#: platform/uwp/export/export.cpp
msgid "Invalid package short name."
@@ -14513,21 +14579,20 @@ msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
msgstr ""
+"rcedit-työkalu täytyy olla konfiguroituna editorin asetuksissa (Export > "
+"Windows > Rcedit) ikonin tai sovelluksen tietojen muuttamiseksi."
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid icon path:"
-msgstr "Virheellinen polku."
+msgstr "Virheellinen ikonin polku:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid file version:"
-msgstr "Virheellinen tiedostopääte."
+msgstr "Virheellinen tiedoston versio:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid product version:"
-msgstr "Tuotteen GUID (yleisesti yksilöllinen tunniste) on virheellinen."
+msgstr "Virheellinen tuotteen versio:"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -15262,7 +15327,6 @@ msgstr ""
"Tämä solmu on poistettu käytöstä. Käytä sen sijaan AnimationTree solmua."
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid ""
"Color: #%s\n"
"LMB: Apply color\n"
diff --git a/editor/translations/fil.po b/editor/translations/fil.po
index 1cab78fd72..dd6e9aaa68 100644
--- a/editor/translations/fil.po
+++ b/editor/translations/fil.po
@@ -1448,6 +1448,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2803,7 +2807,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5459,6 +5463,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7897,7 +7905,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8780,6 +8793,10 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme Resource"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8826,6 +8843,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -8842,7 +8871,17 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9525,18 +9564,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12098,6 +12125,10 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Filter stack variables"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13393,6 +13424,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/fr.po b/editor/translations/fr.po
index 03dff89a24..37752a1a22 100644
--- a/editor/translations/fr.po
+++ b/editor/translations/fr.po
@@ -40,7 +40,7 @@
# Tommy Melançon-Roy <tommel1234@hotmail.com>, 2017-2018.
# Willow <theotimefd@aol.com>, 2018.
# Xananax <xananax@yelostudio.com>, 2017-2018.
-# Perrier Mathis <mathis.perrier73@gmail.com>, 2018.
+# Perrier Mathis <mathis.perrier73@gmail.com>, 2018, 2022.
# Ewan Lehnebach <ewan.lehnebach@gmail.com>, 2018.
# Hugo Locurcio <hugo.locurcio@hugo.pro>, 2018, 2019, 2020, 2021.
# Grigore Antoniuc <grisa181@gmail.com>, 2018.
@@ -70,7 +70,7 @@
# Camille Mohr-Daurat <pouleyketchoup@gmail.com>, 2019.
# Pierre Stempin <pierre.stempin@gmail.com>, 2019.
# Pierre Caye <pierrecaye@laposte.net>, 2020, 2021, 2022.
-# Kevin Bouancheau <kevin.bouancheau@gmail.com>, 2020.
+# Kevin Bouancheau <kevin.bouancheau@gmail.com>, 2020, 2022.
# LaurentOngaro <laurent@gameamea.com>, 2020.
# Julien Humbert <julroy67@gmail.com>, 2020.
# Nathan <bonnemainsnathan@gmail.com>, 2020, 2021, 2022.
@@ -88,13 +88,14 @@
# Maxime Leroy <lisacintosh@gmail.com>, 2022.
# Adi-df <adidf-web@laposte.net>, 2022.
# MinusKube <minuskube@gmail.com>, 2022.
+# Alexandre <alexandre.blanquero00@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-02-10 07:50+0000\n"
-"Last-Translator: Maxime Leroy <lisacintosh@gmail.com>\n"
+"PO-Revision-Date: 2022-03-04 08:19+0000\n"
+"Last-Translator: Alexandre <alexandre.blanquero00@gmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot/fr/>\n"
"Language: fr\n"
@@ -102,7 +103,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.11-dev\n"
+"X-Generator: Weblate 4.11.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -1571,6 +1572,11 @@ msgstr "Charger l'agencement de transport par défaut."
msgid "Create a new Bus Layout."
msgstr "Créer une nouvel agencement de tranport."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Ouvrir une disposition de bus audio"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Nom invalide."
@@ -3036,7 +3042,7 @@ msgstr "Basculer en mode sans distraction."
msgid "Add a new scene."
msgstr "Ajouter une nouvelle scène."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Scène"
@@ -3414,14 +3420,13 @@ msgid "Update Continuously"
msgstr "Mettre à jour en continu"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update All Changes"
-msgstr "Mettre à jour quand modifié"
+msgstr "Mettre à jour les changements"
#: editor/editor_node.cpp
#, fuzzy
msgid "Update Vital Changes"
-msgstr "Changements de matériau :"
+msgstr "Changements de matériau"
#: editor/editor_node.cpp
msgid "Hide Update Spinner"
@@ -4206,6 +4211,11 @@ msgid ""
"After renaming to an unknown extension, the file won't be shown in the "
"editor anymore."
msgstr ""
+"Cette extension de fichier n'est pas reconnue par l'éditeur.\n"
+"Si vous voulez quand même le renommer, utilisez le gestionnaire de fichiers "
+"de votre système d'exploitation.\n"
+"Après avoir été renommé avec une extension inconnue, le fichier ne sera plus "
+"affiché dans l'éditeur."
#: editor/filesystem_dock.cpp
msgid ""
@@ -4848,7 +4858,7 @@ msgstr "Supprimer le polygone et le point"
#: editor/plugins/animation_state_machine_editor.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Animation"
-msgstr "Ajouter une animation"
+msgstr "Ajouter une Animation"
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
@@ -5831,6 +5841,10 @@ msgid "Bake Lightmaps"
msgstr "Précalculer les lightmaps"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Sélectionnez le fichier de précalcul de lightmap :"
@@ -8334,7 +8348,13 @@ msgid "Cinematic Preview"
msgstr "Aperçu cinématographique"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "Non disponible quand le moteur de rendu GLES2 est utilisé."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9239,6 +9259,11 @@ msgid "Select Another Theme Resource:"
msgstr "Sélectionnez une autre ressource Theme :"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Renommer une ressource"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr "Autre thème"
@@ -9288,6 +9313,20 @@ msgstr ""
"appartenant à ce type."
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr "Ajouter un item de type"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Définir type de variable"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Changer le type de base"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "Afficher par défaut"
@@ -9305,8 +9344,19 @@ msgid "Override all default type items."
msgstr "Surcharge tous les items de type par défaut."
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr "Ajouter un item de type"
+#, fuzzy
+msgid "Base Type"
+msgstr "Changer le type de base"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -10013,18 +10063,6 @@ msgid "Commit list size"
msgstr "Valider la taille des listes"
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr "10"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr "20"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr "30"
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr "Branches"
@@ -12793,6 +12831,11 @@ msgid "Stack Frames"
msgstr "Pile des appels"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtrer les tuiles"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Profileur"
@@ -14128,9 +14171,10 @@ msgstr "Nom de paquet invalide :"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"Module \"GodotPaymentV3\" invalide inclus dans le paramétrage du projet "
-"\"android/modules\" (modifié dans Godot 3.2.2).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
@@ -14403,43 +14447,40 @@ msgstr "Erreur de démarrage du serveur HTTP :"
#: platform/osx/export/codesign.cpp
msgid "Can't get filesystem access."
-msgstr ""
+msgstr "Le système de fichiers ne peut être accédé."
#: platform/osx/export/codesign.cpp
msgid "Failed to get Info.plist hash."
-msgstr ""
+msgstr "Le hachage de « Info.plist » n'a pu être récupéré."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, no exe name."
-msgstr "Nom du projet invalide."
+msgstr "« Info.plist » invalide, aucun nom d'exécutable."
#: platform/osx/export/codesign.cpp
+#, fuzzy
msgid "Invalid Info.plist, no bundle id."
-msgstr ""
+msgstr "« Info.plist » invalide, aucun identifiant de bundle."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, can't load."
-msgstr "Géométrie invalide, impossible de créer le polygone."
+msgstr "« Info.plist » invalide, n'a pu être chargé."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to create \"%s\" subfolder."
-msgstr "Impossible de créer le dossier."
+msgstr "Échec de création du sous-dossier « %s »."
#: platform/osx/export/codesign.cpp
msgid "Failed to extract thin binary."
msgstr ""
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid binary format."
-msgstr "Chemin de base invalide."
+msgstr "Format binaire invalide."
#: platform/osx/export/codesign.cpp
msgid "Already signed!"
-msgstr ""
+msgstr "Déjà signé !"
#: platform/osx/export/codesign.cpp
#, fuzzy
@@ -14461,9 +14502,8 @@ msgid "Invalid entitlements file."
msgstr "Extension invalide."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid executable file."
-msgstr "Extension invalide."
+msgstr "Fichier exécutable invalide."
#: platform/osx/export/codesign.cpp
msgid "Can't resize signature load command."
@@ -14479,7 +14519,7 @@ msgstr ""
#: platform/osx/export/codesign.cpp
msgid "Unknown object type."
-msgstr ""
+msgstr "Type d'objet inconnu."
#: platform/osx/export/export.cpp
msgid ""
@@ -14500,9 +14540,8 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "No identity found."
-msgstr "Pas d'icônes trouvées."
+msgstr "Aucune identité trouvée."
#: platform/osx/export/export.cpp
#, fuzzy
@@ -14530,7 +14569,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid "Making PKG"
-msgstr ""
+msgstr "Création du PKG"
#: platform/osx/export/export.cpp
msgid ""
@@ -14544,7 +14583,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid "Making DMG"
-msgstr ""
+msgstr "Création du DMG"
#: platform/osx/export/export.cpp
msgid "Code signing DMG"
@@ -14552,7 +14591,7 @@ msgstr ""
#: platform/osx/export/export.cpp
msgid "Making ZIP"
-msgstr ""
+msgstr "Création du ZIP"
#: platform/osx/export/export.cpp
msgid ""
@@ -14641,34 +14680,46 @@ 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 "
+"été spécifié."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Camera access is enabled, but usage description is not specified."
msgstr ""
+"Confidentialité : L'accès à la caméra est actif, mais son usage n'a pas été "
+"spécifié."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Location information access is enabled, but usage description is "
"not specified."
msgstr ""
+"Confidentialité : L'accès au informations de positionnement est actif, mais "
+"son usage n'a pas été spécifié."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Address book access is enabled, but usage description is not "
"specified."
msgstr ""
+"Confidentialité : L'accès au carnet d'adresses est actif, mais son usage n'a "
+"pas été spécifié."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Calendar access is enabled, but usage description is not specified."
msgstr ""
+"Confidentialité : L'accès au calendrier est actif, mais son usage n'a pas "
+"été spécifié."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Photo library access is enabled, but usage description is not "
"specified."
msgstr ""
+"Confidentialité : L'accès à la bibliothèque de photos est actif, mais son "
+"usage n'a pas été spécifié."
#: platform/uwp/export/export.cpp
msgid "Invalid package short name."
@@ -14740,21 +14791,21 @@ msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
msgstr ""
+"L'outil « rcedit » doit être configuré dans les préférences de l'éditeur "
+"(Exporter > Windows > Rcedit) for modifier l'icône ou les informations de "
+"l'application."
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid icon path:"
-msgstr "Chemin invalide."
+msgstr "Chemin d'icône invalide :"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid file version:"
-msgstr "Extension invalide."
+msgstr "Version de fichier invalide :"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid product version:"
-msgstr "GUID produit invalide."
+msgstr "Version du produit invalide :"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -15508,14 +15559,13 @@ msgid "This node has been deprecated. Use AnimationTree instead."
msgstr "Ce nœud est désormais déprécié. Utilisez AnimationTree à la place."
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid ""
"Color: #%s\n"
"LMB: Apply color\n"
"RMB: Remove preset"
msgstr ""
"Couleur : #%s\n"
-"Clic gauche : Définir la couleur\n"
+"Clic gauche : Appliquer la couleur\n"
"Clic droit : Supprimer le préréglage"
#: scene/gui/color_picker.cpp
diff --git a/editor/translations/ga.po b/editor/translations/ga.po
index 4db0862314..734f2c1f82 100644
--- a/editor/translations/ga.po
+++ b/editor/translations/ga.po
@@ -1440,6 +1440,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2792,7 +2796,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5439,6 +5443,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7867,7 +7875,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8747,6 +8760,11 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Acmhainn"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8793,6 +8811,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -8809,7 +8839,17 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9488,18 +9528,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12061,6 +12089,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Scagairí..."
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13354,6 +13387,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/gl.po b/editor/translations/gl.po
index b88f8f0430..420ad5ebf3 100644
--- a/editor/translations/gl.po
+++ b/editor/translations/gl.po
@@ -1488,6 +1488,11 @@ msgstr "Cargar a disposición de Bus por defecto."
msgid "Create a new Bus Layout."
msgstr "Crear unha nova Disposición de Bus."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Abrir Disposición do Bus de Son"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Nome inválido."
@@ -2947,7 +2952,7 @@ msgstr "Act./Desact. modo sen distraccións."
msgid "Add a new scene."
msgstr "Engadir unha nova escena."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Escena"
@@ -5684,6 +5689,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -8193,7 +8202,13 @@ msgid "Cinematic Preview"
msgstr "Vista Previa Cinemática"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "Non dispoñible cando se está usando o renderizador GLES2."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9137,6 +9152,11 @@ msgstr "Eliminar Recurso"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "Renomear Recurso"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "Importar Tema"
@@ -9190,6 +9210,21 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Add Item Type"
+msgstr "Engadir Elemento"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Cambiar Tipo Base:"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Cambiar Tipo Base:"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Show Default"
msgstr "Cargar Valores por Defecto"
@@ -9208,8 +9243,18 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
-msgid "Add Item Type"
-msgstr "Engadir Elemento"
+msgid "Base Type"
+msgstr "Cambiar Tipo Base:"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -9904,18 +9949,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Coincidencias:"
@@ -12584,6 +12617,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtrar sinais"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Analítica de Rendemento"
@@ -13913,6 +13951,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/he.po b/editor/translations/he.po
index c7966a9536..668cc67dd0 100644
--- a/editor/translations/he.po
+++ b/editor/translations/he.po
@@ -1480,6 +1480,11 @@ msgstr "טעינת בררת המחדל של פריסת ×פיקי השמע."
msgid "Create a new Bus Layout."
msgstr "יצירת פריסת ××¤×™×§×™× ×—×“×©×”."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "פתיחת פריסת ×פיקי שמע"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "×©× ×©×’×•×™."
@@ -2891,7 +2896,7 @@ msgstr "הפעל/בטל מצב ×œ×œ× ×”×¡×—×•×ª דעת."
msgid "Add a new scene."
msgstr "הוספת סצנה חדשה."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "סצנה"
@@ -5692,6 +5697,10 @@ msgid "Bake Lightmaps"
msgstr "×פיית Lightmaps"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "בחירת קובץ תבנית"
@@ -8271,7 +8280,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9230,6 +9244,11 @@ msgstr "מחיקת מש×ב"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "שינוי ×©× ×ž×©×ב"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "×™×™×‘×•× ×¢×¨×›×ª עיצוב"
@@ -9283,6 +9302,20 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "קביעת סוג משתנה"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "שינוי סוג בסיס"
+
+#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Show Default"
msgstr "טעינת בררת המחדל"
@@ -9301,7 +9334,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "שינוי סוג בסיס"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -10053,18 +10097,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "הת×מות:"
@@ -12736,6 +12768,11 @@ msgid "Stack Frames"
msgstr "מחסנית מסגרות"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "מ×פייני פריט."
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "מ×פיין"
@@ -14085,9 +14122,10 @@ msgstr "×©× ×—×‘×™×œ×” ×œ× ×—×•×§×™:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"מודול \"GodotPaymentV3\" ×œ× ×—×•×§×™ × ×ž×¦× ×‘×”×’×“×¨×ª ×”×ž×™×–× "
-"ב-\"×נדרו×יד/מודולי×\" (שינוי בגודו 3.2.2).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
diff --git a/editor/translations/hi.po b/editor/translations/hi.po
index eb5c524b8a..6911744a46 100644
--- a/editor/translations/hi.po
+++ b/editor/translations/hi.po
@@ -1490,6 +1490,11 @@ msgstr "पà¥à¤°à¤¾à¤¯à¤¿à¤• बस लेआउट लोड कीजियà¥
msgid "Create a new Bus Layout."
msgstr "नई बस लेआउट बनाइये."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "ऑडियो बस लेआउट खोलिये"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "अमानà¥à¤¯ नाम."
@@ -2915,7 +2920,7 @@ msgstr "वà¥à¤¯à¤¾à¤•à¥à¤²à¤¤à¤¾ मà¥à¤•à¥à¤¤ मोड टॉगल।"
msgid "Add a new scene."
msgstr "à¤à¤• नया दृशà¥à¤¯ जोड़ें।"
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "दृशà¥à¤¯"
@@ -5659,6 +5664,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "टेमà¥à¤ªà¤²à¥‡à¤Ÿ फ़ाइल का चयन करें"
@@ -8141,7 +8150,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9073,6 +9087,11 @@ msgid "Select Another Theme Resource:"
msgstr "खोज रिपà¥à¤²à¥‡à¤¸à¤®à¥‡à¤‚ट संसाधन:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "संसाधन"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -9123,6 +9142,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Show Default"
msgstr "पà¥à¤°à¤¾à¤¯à¤¿à¤• लोड कीजिये"
@@ -9141,7 +9172,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "%s का टाइप बदले"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9867,18 +9909,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "à¤à¤• जैसा:"
@@ -12503,6 +12533,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "सà¥à¤•à¥à¤°à¥€à¤¨à¤¿à¤‚ग सिगà¥à¤¨à¤²"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13843,6 +13878,9 @@ msgstr "गलत फॉणà¥à¤Ÿ का आकार |"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/hr.po b/editor/translations/hr.po
index 91849fe548..418c07c345 100644
--- a/editor/translations/hr.po
+++ b/editor/translations/hr.po
@@ -1460,6 +1460,11 @@ msgstr "UÄitaj zadani Bus Izgled."
msgid "Create a new Bus Layout."
msgstr "Kreiraj novi Bus izgled."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Promijeni glasnoću zvuÄne sabirnice"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Nevažeće ime."
@@ -2821,7 +2826,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5489,6 +5494,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7934,7 +7943,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8825,6 +8839,11 @@ msgid "Select Another Theme Resource:"
msgstr "Traži zamjenu resursa:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Resurs"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8874,6 +8893,20 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Promijeni vrstu baze:"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Promijeni vrstu baze:"
+
+#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Show Default"
msgstr "UÄitaj Zadano"
@@ -8891,7 +8924,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "Promijeni vrstu baze:"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9582,18 +9626,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Podudaranja:"
@@ -12170,6 +12202,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtriraj signale"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13473,6 +13510,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/hu.po b/editor/translations/hu.po
index 85150bd14d..4a1d254c59 100644
--- a/editor/translations/hu.po
+++ b/editor/translations/hu.po
@@ -1498,6 +1498,11 @@ msgstr "Betölti az alapértelmezett Busz Elrendezést."
msgid "Create a new Bus Layout."
msgstr "Új Buszelrendezés létrehozása."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Hangbusz Elrendezés Megnyitása"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Érvénytelen név."
@@ -2965,7 +2970,7 @@ msgstr "Zavarmentes mód váltása."
msgid "Add a new scene."
msgstr "Hozzáad egy új jelenetet."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Jelenet"
@@ -5716,6 +5721,10 @@ msgid "Bake Lightmaps"
msgstr "Fény Besütése"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "Válasszon fénytérkép sablonfájlt:"
@@ -8213,7 +8222,12 @@ msgid "Cinematic Preview"
msgstr "Filmszerű előnézet"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9142,6 +9156,11 @@ msgstr "Erőforrás Törlése"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "ErÅ‘forrás Ãtnevezése"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "Téma Importálása"
@@ -9196,6 +9215,21 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Add Item Type"
+msgstr "Elem Hozzáadása"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Alaptípus módosítása:"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Alaptípus módosítása:"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Show Default"
msgstr "Alapértelmezett Betöltése"
@@ -9214,8 +9248,18 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
-msgid "Add Item Type"
-msgstr "Elem Hozzáadása"
+msgid "Base Type"
+msgstr "Alaptípus módosítása:"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -9908,18 +9952,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Egyezések:"
@@ -12504,6 +12536,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Csempék szűrése"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13842,6 +13879,9 @@ msgstr "Érvénytelen csomagnév:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/id.po b/editor/translations/id.po
index 6955f05f3a..775ab4d8c1 100644
--- a/editor/translations/id.po
+++ b/editor/translations/id.po
@@ -24,7 +24,7 @@
# Modeus Darksono <garuga17@gmail.com>, 2019.
# Akhmad Zulfikar <azuldegratz@gmail.com>, 2020.
# Ade Fikri Malihuddin <ade.fm97@gmail.com>, 2020.
-# zephyroths <ridho.hikaru@gmail.com>, 2020, 2021.
+# zephyroths <ridho.hikaru@gmail.com>, 2020, 2021, 2022.
# Richard Urban <redasuio1@gmail.com>, 2020.
# yusuf afandi <afandi.yusuf.04@gmail.com>, 2020.
# Habib Rohman <revolusi147id@gmail.com>, 2020.
@@ -40,8 +40,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: 2021-11-19 08:43+0000\n"
-"Last-Translator: Brian <brian@brianthe.dev>\n"
+"PO-Revision-Date: 2022-02-23 17:54+0000\n"
+"Last-Translator: zephyroths <ridho.hikaru@gmail.com>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/godot-engine/"
"godot/id/>\n"
"Language: id\n"
@@ -49,7 +49,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.9.1-dev\n"
+"X-Generator: Weblate 4.11-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -352,9 +352,8 @@ msgid "Duplicate Key(s)"
msgstr "Duplikat Key"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Add RESET Value(s)"
-msgstr "Tambah %d Frame"
+msgstr "Tambahkan Nilai RESET"
#: editor/animation_track_editor.cpp
msgid "Delete Key(s)"
@@ -1507,6 +1506,11 @@ msgstr "Muat default Layout Bus."
msgid "Create a new Bus Layout."
msgstr "Buat Layout Bus Baru."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Buka Layout Suara Bus"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Nama tidak sah."
@@ -2956,7 +2960,7 @@ msgstr "Toggle mode tanpa gangguan."
msgid "Add a new scene."
msgstr "Tambah skena baru."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Skena"
@@ -5706,6 +5710,10 @@ msgid "Bake Lightmaps"
msgstr "Panggang Lightmaps"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Pilih berkas lightmap bake:"
@@ -8201,7 +8209,13 @@ msgid "Cinematic Preview"
msgstr "Pratinjau Sinematik"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "Tidak tersedia ketika menggunakan perender GLES2."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9135,6 +9149,11 @@ msgstr "Pilih Tema Lain Aset:"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "Ubah Nama Resource"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "Impor Tema"
@@ -9189,6 +9208,21 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Add Item Type"
+msgstr "Tambah Item"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Atur Jenis variabel"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Ubah Tipe Basis"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Show Default"
msgstr "Muat Default"
@@ -9207,8 +9241,18 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
-msgid "Add Item Type"
-msgstr "Tambah Item"
+msgid "Base Type"
+msgstr "Ubah Tipe Basis"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9928,18 +9972,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Kecocokan:"
@@ -12699,6 +12731,11 @@ msgid "Stack Frames"
msgstr "Stack Frame"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filter tile"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Profiler(debugger/pemantauan)"
@@ -14059,9 +14096,10 @@ msgstr "Nama paket tidak valid:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"Modul \"GodotPaymentV3\" tidak valid yang dimasukkan dalam pengaturan proyek "
-"\"android/modules\" (diubah di Godot 3.2.2)\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
diff --git a/editor/translations/is.po b/editor/translations/is.po
index 824f7a7248..45098e09ee 100644
--- a/editor/translations/is.po
+++ b/editor/translations/is.po
@@ -1476,6 +1476,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2834,7 +2838,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5504,6 +5508,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7959,7 +7967,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8854,6 +8867,10 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme Resource"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8902,6 +8919,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -8918,7 +8947,17 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9619,18 +9658,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12221,6 +12248,10 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Filter stack variables"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13531,6 +13562,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/it.po b/editor/translations/it.po
index 3da90af619..6ca5230b6b 100644
--- a/editor/translations/it.po
+++ b/editor/translations/it.po
@@ -66,13 +66,14 @@
# Theraloss <danilo.polani@gmail.com>, 2021.
# Pietro Grungo <pietro.grungo@libero.it>, 2021.
# Alfonso Scarpino <alfonso.scarpino@gmail.com>, 2022.
+# Federico Caprini <caprinifede@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-01-31 22:50+0000\n"
-"Last-Translator: Mirko <miknsop@gmail.com>\n"
+"PO-Revision-Date: 2022-02-23 17:54+0000\n"
+"Last-Translator: Federico Caprini <caprinifede@gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/"
"godot/it/>\n"
"Language: it\n"
@@ -103,7 +104,7 @@ msgstr "Input %i non valido (assente) nell'espressione"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
-msgstr "self non può essere usato perché l'istanza è nulla (non passata)"
+msgstr "self non può essere usato perché l'istanza è null (non passata)"
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
@@ -1543,6 +1544,11 @@ msgstr "Carica la disposizione di bus predefinita."
msgid "Create a new Bus Layout."
msgstr "Crea una nuova disposizione di bus."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Apri la disposizione di un bus audio"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Nome non valido."
@@ -1948,7 +1954,7 @@ msgstr "Rendi attuale"
#: editor/editor_feature_profile.cpp editor/editor_node.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
msgid "Import"
-msgstr "Importazione"
+msgstr "Importa"
#: editor/editor_feature_profile.cpp editor/project_export.cpp
msgid "Export"
@@ -3002,7 +3008,7 @@ msgstr "Commuta la modalità senza distrazioni."
msgid "Add a new scene."
msgstr "Aggiungi una nuova scena."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Scena"
@@ -3382,9 +3388,8 @@ msgid "Update All Changes"
msgstr "Aggiorna quando modificata"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Changes"
-msgstr "Cambiamenti dei materiali:"
+msgstr "Cambiamenti dei materiali"
#: editor/editor_node.cpp
msgid "Hide Update Spinner"
@@ -4168,6 +4173,11 @@ msgid ""
"After renaming to an unknown extension, the file won't be shown in the "
"editor anymore."
msgstr ""
+"Quest'estensione file non è riconosciuta dall'editore.\n"
+"Se vuoi comunque rinominarla, usa il file manager del tuo sistema "
+"operativo.\n"
+"Dopo averlo rinominato ad un'estensione sconosciuta, il file non verrà più "
+"visualizzato nell'editore."
#: editor/filesystem_dock.cpp
msgid ""
@@ -4629,6 +4639,8 @@ msgid ""
"Select a resource file in the filesystem or in the inspector to adjust "
"import settings."
msgstr ""
+"Seleziona un file risorsa nel filesystem o nell'ispettore per aggiustare le "
+"impostazioni di importazione."
#: editor/inspector_dock.cpp
msgid "Failed to load resource."
@@ -5789,6 +5801,10 @@ msgid "Bake Lightmaps"
msgstr "Preprocessa Lightmaps"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Seleziona il file bake della lightmap:"
@@ -8324,7 +8340,13 @@ msgid "Cinematic Preview"
msgstr "Anteprima Cinematografica"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "Non disponibile quando il renderer GLES2 è in uso."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8455,15 +8477,15 @@ msgstr "Vista laterale destra"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orbit View Down"
-msgstr ""
+msgstr "Orbita la visuale in giù"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orbit View Left"
-msgstr ""
+msgstr "Orbita la visuale in su"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orbit View Right"
-msgstr ""
+msgstr "Orbita la visuale a destra"
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
@@ -8496,11 +8518,11 @@ msgstr "Commuta la vista libera"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Decrease Field of View"
-msgstr ""
+msgstr "Diminuisci il Campo Visivo"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Increase Field of View"
-msgstr ""
+msgstr "Aumenta il Campo Visivo"
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
@@ -8949,7 +8971,7 @@ msgstr "Importa tema"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Importing items {n}/{n}"
-msgstr ""
+msgstr "Importa oggetti {n}/{n}"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Updating the editor"
@@ -8978,11 +9000,11 @@ msgstr "Seleziona tutti gli oggetti colorati visibili."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Select all visible color items and their data."
-msgstr ""
+msgstr "Seleziona tutti gli oggetti colorati e i loro dati."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Deselect all visible color items."
-msgstr ""
+msgstr "Deseleziona tutti gli oggetti colorati."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Select all visible constant items."
@@ -8990,7 +9012,7 @@ msgstr "Seleziona tutti gli oggetti visibili."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Select all visible constant items and their data."
-msgstr ""
+msgstr "Seleziona tutti gli oggetti costanti e i loro dati."
#: editor/plugins/theme_editor_plugin.cpp
msgid "Deselect all visible constant items."
@@ -9251,6 +9273,11 @@ msgstr "Seleziona un'altra risorsa del tema:"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "Rinomina risorsa"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "Importa tema"
@@ -9304,6 +9331,21 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Add Item Type"
+msgstr "Aggiungi Elemento"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Imposta Tipo di Variabile"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Cambia Tipo di Base"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Show Default"
msgstr "Carica i predefiniti"
@@ -9322,8 +9364,18 @@ msgstr "Sovrascrivi tutti gli elementi predefiniti."
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
-msgid "Add Item Type"
-msgstr "Aggiungi Elemento"
+msgid "Base Type"
+msgstr "Cambia Tipo di Base"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9940,18 +9992,16 @@ msgid "Unstaged Changes"
msgstr "Cambiamenti degli shader:"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Commit:"
-msgstr "Commit"
+msgstr "Commit:"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Date:"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Subtitle:"
-msgstr "Sottoalbero"
+msgstr "Sottotitolo:"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Do you want to remove the %s branch?"
@@ -10024,9 +10074,8 @@ msgid "Stage all changes"
msgstr "Memorizzazione dei cambiamenti locali…"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Unstage all changes"
-msgstr "Cambiamenti dei materiali:"
+msgstr "Annulla tutte le modifiche"
#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
@@ -10047,21 +10096,8 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Branches"
-msgstr "Corrispondenze:"
+msgstr "Rami"
#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
@@ -10093,14 +10129,12 @@ msgid "Remove Remote"
msgstr "Rimuovi l'elemento"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remote Name"
-msgstr "Remoto "
+msgstr "Nome Remoto"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remote URL"
-msgstr "Remoto "
+msgstr "URL Remoto"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Fetch"
@@ -10140,9 +10174,8 @@ msgid "Unmerged"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "View:"
-msgstr "Vista"
+msgstr "Vista:"
#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
@@ -12826,6 +12859,11 @@ msgid "Stack Frames"
msgstr "Stack Frame"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtra tiles"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Profiler"
@@ -13780,9 +13818,8 @@ msgid "in order:"
msgstr "Rinomina cartella:"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Switch"
-msgstr "Switch"
+msgstr "Inverti"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "'input' is:"
@@ -14015,9 +14052,8 @@ msgid "Yield"
msgstr ""
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Wait"
-msgstr "Wait"
+msgstr "Aspetta"
#: modules/visual_script/visual_script_yield_nodes.cpp
#, fuzzy
@@ -14194,9 +14230,10 @@ msgstr "Nome del pacchetto non valido:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"Modulo \"GodotPaymentV3\" non valido incluso nell'impostazione del progetto "
-"\"android/moduli\" (modificato in Godot 3.2.2).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
diff --git a/editor/translations/ja.po b/editor/translations/ja.po
index de6c22ce1a..81522d182d 100644
--- a/editor/translations/ja.po
+++ b/editor/translations/ja.po
@@ -42,7 +42,7 @@ 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-02-14 22:08+0000\n"
+"PO-Revision-Date: 2022-03-08 08:59+0000\n"
"Last-Translator: Wataru Onuki <bettawat@yahoo.co.jp>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/"
"godot/ja/>\n"
@@ -51,7 +51,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.11-dev\n"
+"X-Generator: Weblate 4.12-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -1508,6 +1508,11 @@ msgstr "デフォルトã®ãƒã‚¹ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’読ã¿è¾¼ã‚€ã€‚"
msgid "Create a new Bus Layout."
msgstr "æ–°è¦ãƒã‚¹ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’作æˆã€‚"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "オーディオãƒã‚¹ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’é–‹ã"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "無効ãªåå‰ã§ã™ã€‚"
@@ -2947,7 +2952,7 @@ msgstr "集中モードを切り替ãˆã‚‹ã€‚"
msgid "Add a new scene."
msgstr "æ–°è¦ã‚·ãƒ¼ãƒ³ã‚’追加ã™ã‚‹ã€‚"
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "シーン"
@@ -3117,7 +3122,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Visible Collision Shapes"
-msgstr "コリジョン形状ã®è¡¨ç¤º"
+msgstr "コリジョン形状を表示"
#: editor/editor_node.cpp
msgid ""
@@ -3129,7 +3134,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Visible Navigation"
-msgstr "ナビゲーションã®è¡¨ç¤º"
+msgstr "ナビゲーションを表示"
#: editor/editor_node.cpp
msgid ""
@@ -3141,7 +3146,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Force Shader Fallbacks"
-msgstr ""
+msgstr "シェーダーフォールãƒãƒƒã‚¯ã‚’強制"
#: editor/editor_node.cpp
msgid ""
@@ -3152,10 +3157,16 @@ msgid ""
"Asynchronous shader compilation must be enabled in the project settings for "
"this option to make a difference."
msgstr ""
+"ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã¨ã€ã™ã¹ã¦ã®å®Ÿè¡Œæ™‚ã«ã‚·ã‚§ãƒ¼ãƒ€ãƒ¼ãŒãƒ•ã‚©ãƒ¼ãƒ«ãƒãƒƒã‚¯å½¢å¼ "
+"(ubershaderã§è¡¨ç¤ºã™ã‚‹ã‹éžè¡¨ç¤º) ã§ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚\n"
+"ã“ã‚Œã¯ã€é€šå¸¸ã¯ç°¡ç´ ã«è¡¨ç¤ºã•ã‚Œã‚‹ãƒ•ã‚©ãƒ¼ãƒ«ãƒãƒƒã‚¯ã®ã€è¦‹ãŸç›®ã¨æ€§èƒ½ã‚’確èªã™ã‚‹ãŸã‚ã«"
+"役立ã¡ã¾ã™ã€‚\n"
+"ã“ã®ã‚ªãƒ—ションを機能ã•ã›ã‚‹ã«ã¯ã€ãƒ—ロジェクト設定ã§éžåŒæœŸã‚·ã‚§ãƒ¼ãƒ€ãƒ¼ã‚³ãƒ³ãƒ‘イル"
+"を有効ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
#: editor/editor_node.cpp
msgid "Synchronize Scene Changes"
-msgstr "シーンã®å¤‰æ›´ã‚’åŒæœŸ"
+msgstr "シーン変更をåŒæœŸ"
#: editor/editor_node.cpp
msgid ""
@@ -3171,7 +3182,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Synchronize Script Changes"
-msgstr "スクリプトã®å¤‰æ›´ã‚’åŒæœŸ"
+msgstr "スクリプト変更をåŒæœŸ"
#: editor/editor_node.cpp
msgid ""
@@ -4097,6 +4108,11 @@ 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 ""
@@ -5707,6 +5723,10 @@ msgid "Bake Lightmaps"
msgstr "ライトマップを焼ã込む"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "ライトマップベイクファイルをé¸æŠž:"
@@ -5801,11 +5821,11 @@ msgstr "Control \"%s\" ã‚’ (%d, %d) ã«ãƒªã‚µã‚¤ã‚ºã—ã¾ã™"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Scale %d CanvasItems"
-msgstr "%d 個㮠CanvasItem を拡大 / 縮å°"
+msgstr "%d 個㮠CanvasItem を拡大縮å°"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Scale CanvasItem \"%s\" to (%s, %s)"
-msgstr "CanvasItem \"%s\" ã‚’ (%s, %s) ã«æ‹¡å¤§ / 縮å°"
+msgstr "CanvasItem \"%s\" ã‚’ (%s, %s) ã«æ‹¡å¤§ç¸®å°"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move %d CanvasItems"
@@ -6052,7 +6072,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
@@ -8190,7 +8210,13 @@ msgid "Cinematic Preview"
msgstr "ã‚·ãƒãƒžãƒ†ã‚£ãƒƒã‚¯ãƒ—レビュー"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "GLES2レンダラーã®å ´åˆã¯åˆ©ç”¨ã§ãã¾ã›ã‚“。"
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8430,23 +8456,23 @@ msgstr "設定..."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
-msgstr "スナップã®è¨­å®š"
+msgstr "スナップ設定"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Translate Snap:"
-msgstr "スナップã®ç§»å‹•:"
+msgstr "移動スナップ:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotate Snap (deg.):"
-msgstr "スナップã®å›žè»¢(度):"
+msgstr "回転スナップ (度):"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Scale Snap (%):"
-msgstr "スナップã®æ‹¡å¤§/縮å°(%):"
+msgstr "拡大 / 縮å°ã‚¹ãƒŠãƒƒãƒ— (%):"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Viewport Settings"
-msgstr "ビューãƒãƒ¼ãƒˆã®è¨­å®š"
+msgstr "ビューãƒãƒ¼ãƒˆè¨­å®š"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Perspective FOV (deg.):"
@@ -8454,15 +8480,15 @@ msgstr "視野角(度):"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Z-Near:"
-msgstr "Z-Nearã®è¡¨ç¤º:"
+msgstr "ビューã®Z-Near:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Z-Far:"
-msgstr "Z-Farã®è¡¨ç¤º:"
+msgstr "ビューã®Z-Far:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Change"
-msgstr "トランスフォームã®å¤‰æ›´"
+msgstr "トランスフォーム変更"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Translate:"
@@ -9084,6 +9110,11 @@ msgid "Select Another Theme Resource:"
msgstr "ä»–ã®ãƒ†ãƒ¼ãƒžãƒªã‚½ãƒ¼ã‚¹ã®é¸æŠž:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "リソースåを変更"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr "ä»–ã®ãƒ†ãƒ¼ãƒž"
@@ -9132,8 +9163,22 @@ msgstr ""
"ã¦ã®ã“ã®ã‚¿ã‚¤ãƒ—ã®StyleBoxã§åŒã˜ãƒ—ロパティãŒæ›´æ–°ã•ã‚Œã¾ã™ã€‚"
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr "アイテムã®ã‚¿ã‚¤ãƒ—を追加"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "変数ã®åž‹ã‚’設定"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "基底型を変更"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
-msgstr "デフォルトã®è¡¨ç¤º"
+msgstr "デフォルトを表示"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Show default type items alongside items that have been overridden."
@@ -9149,8 +9194,19 @@ msgid "Override all default type items."
msgstr "ã™ã¹ã¦ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚¿ã‚¤ãƒ—ã®ã‚¢ã‚¤ãƒ†ãƒ ã‚’オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã™ã‚‹ã€‚"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr "アイテムã®ã‚¿ã‚¤ãƒ—を追加"
+#, fuzzy
+msgid "Base Type"
+msgstr "基底型を変更"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9859,18 +9915,6 @@ msgid "Commit list size"
msgstr "コミットリストサイズ"
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr "10"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr "20"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr "30"
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr "ブランãƒ"
@@ -12604,6 +12648,11 @@ msgid "Stack Frames"
msgstr "スタックフレーム"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "タイルを絞り込む"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "プロファイラー"
@@ -13944,9 +13993,10 @@ msgstr "無効ãªãƒ‘ッケージå:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"「android/modulesã€ã«å«ã¾ã‚Œã‚‹ã€ŒGodotPaymentV3ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ãƒ—ロジェクト設定ãŒ"
-"無効ã§ã™ (Godot 3.2.2 ã«ã¦å¤‰æ›´)。\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
diff --git a/editor/translations/ka.po b/editor/translations/ka.po
index b3d35a3311..8a18925bb4 100644
--- a/editor/translations/ka.po
+++ b/editor/translations/ka.po
@@ -1535,6 +1535,11 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "áƒáƒ£áƒ“ირგáƒáƒ“áƒáƒ›áƒ¢áƒáƒœáƒ˜áƒ¡ ხმის გáƒáƒ“áƒáƒ áƒ—ვáƒ"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2919,7 +2924,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5645,6 +5650,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "წáƒáƒ•áƒ¨áƒáƒšáƒáƒ— მáƒáƒœáƒ˜áƒ¨áƒœáƒ£áƒšáƒ˜ ფáƒáƒ˜áƒšáƒ”ბი?"
@@ -8159,7 +8168,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9072,6 +9086,11 @@ msgid "Select Another Theme Resource:"
msgstr "ჩáƒáƒ›áƒœáƒáƒªáƒ•áƒšáƒ”ბელი რესურსის ძიებáƒ:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "რესურსი"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -9123,6 +9142,20 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "%s ტიპის ცვლილებáƒ"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "%s ტიპის ცვლილებáƒ"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -9139,7 +9172,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "%s ტიპის ცვლილებáƒ"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9861,18 +9905,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "დáƒáƒ›áƒ—ხვევები:"
@@ -12508,6 +12540,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "დáƒáƒ›áƒáƒ™áƒáƒ•áƒ¨áƒ˜áƒ áƒ”ბელი სიგნáƒáƒšáƒ˜:"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13834,6 +13871,9 @@ msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ ფáƒáƒœáƒ¢áƒ˜áƒ¡ ზáƒáƒ›áƒ."
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/km.po b/editor/translations/km.po
index a386fd1188..d3f13b9d89 100644
--- a/editor/translations/km.po
+++ b/editor/translations/km.po
@@ -1437,6 +1437,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2786,7 +2790,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5429,6 +5433,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7861,7 +7869,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8736,6 +8749,10 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme Resource"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8782,6 +8799,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -8798,7 +8827,17 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9474,18 +9513,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12039,6 +12066,10 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Filter stack variables"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13323,6 +13354,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/ko.po b/editor/translations/ko.po
index 0312c7fd92..15bed58f67 100644
--- a/editor/translations/ko.po
+++ b/editor/translations/ko.po
@@ -16,7 +16,7 @@
# Jiyoon Kim <kimjiy@dickinson.edu>, 2019.
# Ervin <zetsmart@gmail.com>, 2019.
# Tilto_ <tilto0822@develable.xyz>, 2020.
-# Myeongjin Lee <aranet100@gmail.com>, 2020, 2021.
+# Myeongjin Lee <aranet100@gmail.com>, 2020, 2021, 2022.
# Doyun Kwon <caen4516@gmail.com>, 2020.
# Jun Hyung Shin <shmishmi79@gmail.com>, 2020.
# Yongjin Jo <wnrhd114@gmail.com>, 2020.
@@ -35,8 +35,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-02-04 13:45+0000\n"
-"Last-Translator: Lee Minhak <minarihak@gmail.com>\n"
+"PO-Revision-Date: 2022-03-04 08:19+0000\n"
+"Last-Translator: Myeongjin Lee <aranet100@gmail.com>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/"
"godot/ko/>\n"
"Language: ko\n"
@@ -44,7 +44,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.11-dev\n"
+"X-Generator: Weblate 4.11.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -1499,6 +1499,11 @@ msgstr "ë””í´íŠ¸ 버스 ë ˆì´ì•„ì›ƒì„ ë¶ˆëŸ¬ì˜µë‹ˆë‹¤."
msgid "Create a new Bus Layout."
msgstr "새로운 버스 ë ˆì´ì•„ì›ƒì„ ë§Œë“­ë‹ˆë‹¤."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "오디오 버스 ë ˆì´ì•„웃 열기"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "올바르지 ì•Šì€ ì´ë¦„입니다."
@@ -2735,7 +2740,7 @@ msgstr "예"
#: editor/editor_node.cpp
msgid "Exit the editor?"
-msgstr "ì—디터를 나가시겠습니까?"
+msgstr "ì—디터를 ë내시겠습니까?"
#: editor/editor_node.cpp
msgid "Open Project Manager?"
@@ -2936,7 +2941,7 @@ msgstr "집중 모드를 토글합니다."
msgid "Add a new scene."
msgstr "새 ì”¬ì„ ì¶”ê°€í•©ë‹ˆë‹¤."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "씬"
@@ -3058,7 +3063,7 @@ msgstr "현재 프로ì íŠ¸ 새로고침"
#: editor/editor_node.cpp
msgid "Quit to Project List"
-msgstr "종료 후 프로ì íŠ¸ ëª©ë¡ ì—´ê¸°"
+msgstr "종료 후 프로ì íŠ¸ 목ë¡ìœ¼ë¡œ ì´ë™"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
#: editor/project_export.cpp
@@ -5682,6 +5687,10 @@ msgid "Bake Lightmaps"
msgstr "ë¼ì´íŠ¸ë§µ 굽기"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "ë¼ì´íŠ¸ë§µì„ 구울 íŒŒì¼ ì„ íƒ:"
@@ -8066,11 +8075,11 @@ msgstr "FPS: %d (%s ms)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Top View."
-msgstr "윗면 보기."
+msgstr "ìƒë‹¨ë©´ 보기."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View."
-msgstr "아랫면 보기."
+msgstr "하단면 보기."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Left View."
@@ -8161,7 +8170,13 @@ msgid "Cinematic Preview"
msgstr "시네마틱 미리보기"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "GLES2 ë Œë”러ì—ì„œ 사용할 수 없습니다."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8261,11 +8276,11 @@ msgstr "í¬í„¸ 컬ë§ì„ 위한 ë£¸ì„ ë³€í™˜í•©ë‹ˆë‹¤."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
-msgstr "아래쪽 뷰"
+msgstr "하단 뷰"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Top View"
-msgstr "위쪽 뷰"
+msgstr "ìƒë‹¨ ë·°"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rear View"
@@ -9052,6 +9067,11 @@ msgid "Select Another Theme Resource:"
msgstr "다른 테마 리소스 ì„ íƒ:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "리소스 ì´ë¦„ 바꾸기"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr "다른 테마"
@@ -9103,6 +9123,20 @@ msgstr ""
"ì¼ë°•ìŠ¤ì—ì„œ ê°™ì€ ì†ì„±ì´ ì—…ë°ì´íŠ¸ë©ë‹ˆë‹¤."
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr "항목 타입 추가"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "변수 타입 설정"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "기본 타입 바꾸기"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "ë””í´íŠ¸ ë³´ì´ê¸°"
@@ -9119,8 +9153,19 @@ msgid "Override all default type items."
msgstr "모든 ë””í´íŠ¸ 타입 í•­ëª©ì„ ì˜¤ë²„ë¼ì´ë“œí•©ë‹ˆë‹¤."
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr "항목 타입 추가"
+#, fuzzy
+msgid "Base Type"
+msgstr "기본 타입 바꾸기"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9834,18 +9879,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "ì¼ì¹˜í•¨:"
@@ -9880,14 +9913,12 @@ msgid "Remove Remote"
msgstr "항목 제거"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remote Name"
-msgstr "ì›ê²© "
+msgstr "ì›ê²© ì´ë¦„"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remote URL"
-msgstr "ì›ê²© "
+msgstr "ì›ê²© URL"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Fetch"
@@ -12557,6 +12588,11 @@ msgid "Stack Frames"
msgstr "ìŠ¤íƒ í”„ë ˆìž„"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "íƒ€ì¼ í•„í„°"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "프로파ì¼ëŸ¬"
@@ -13736,7 +13772,7 @@ msgstr ""
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "Wait"
-msgstr ""
+msgstr "대기"
#: modules/visual_script/visual_script_yield_nodes.cpp
#, fuzzy
@@ -13899,9 +13935,10 @@ msgstr "ìž˜ëª»ëœ íŒ¨í‚¤ì§€ ì´ë¦„:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"\"android/modules\" 프로ì íŠ¸ ì„¸íŒ…ì— ìž˜ëª»ëœ \"GodotPaymentV3\" ëª¨ë“ˆì´ í¬í•¨ë˜"
-"ì–´ 있습니다. (Godot 3.2.2 ì—ì„œ 변경ë¨).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
diff --git a/editor/translations/lt.po b/editor/translations/lt.po
index bdbebb1717..24b3403eeb 100644
--- a/editor/translations/lt.po
+++ b/editor/translations/lt.po
@@ -1485,6 +1485,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2876,7 +2880,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5627,6 +5631,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "Pasirinkite Nodus, kuriuos norite importuoti"
@@ -8134,7 +8142,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9054,6 +9067,11 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "IÅ¡tekliai"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "Redaguoti Filtrus"
@@ -9103,6 +9121,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -9119,7 +9149,17 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9849,18 +9889,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12485,6 +12513,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtrai..."
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13819,6 +13852,9 @@ msgstr "Netinkamas Å¡rifto dydis."
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/lv.po b/editor/translations/lv.po
index 2216810855..4bf3eb8bbd 100644
--- a/editor/translations/lv.po
+++ b/editor/translations/lv.po
@@ -1480,6 +1480,11 @@ msgstr "IelÄdÄ“t Kopnes IzkÄrtojuma noklusÄ“jumu."
msgid "Create a new Bus Layout."
msgstr "Izveidot jaunu Kopnes izkÄrtojumu."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "AtvÄ“rt audio kopnes izkÄrtojumu"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Nederīgs nosaukums."
@@ -2914,7 +2919,7 @@ msgstr "PÄrslÄ“gt traucÄ“jumu brÄ«vo režīmu."
msgid "Add a new scene."
msgstr "Pievienot jaunu ainu."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Aina"
@@ -5579,6 +5584,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Izvēlēties gaismas kartes cepšanas failu:"
@@ -8008,7 +8017,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8884,6 +8898,11 @@ msgid "Select Another Theme Resource:"
msgstr "Izvēlēties citu motīva resursu:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Resurss"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8933,6 +8952,20 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "NomainÄ«t BÄzes Tipu:"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "NomainÄ«t BÄzes Tipu:"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "RÄdÄ«t noklusÄ“jumu"
@@ -8949,7 +8982,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "Mainīt tipu"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9633,18 +9677,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr "Zari"
@@ -12208,6 +12240,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "FiltrÄ“t signÄlus"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13515,6 +13552,9 @@ msgstr "Nederīgs paketes nosaukums:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/mi.po b/editor/translations/mi.po
index 745e54d697..322a593bd0 100644
--- a/editor/translations/mi.po
+++ b/editor/translations/mi.po
@@ -1429,6 +1429,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2778,7 +2782,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5420,6 +5424,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7845,7 +7853,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8720,6 +8733,10 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme Resource"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8766,6 +8783,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -8782,7 +8811,17 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9458,18 +9497,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12023,6 +12050,10 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Filter stack variables"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13306,6 +13337,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/mk.po b/editor/translations/mk.po
index 38ee72ff58..44b39d18ee 100644
--- a/editor/translations/mk.po
+++ b/editor/translations/mk.po
@@ -1437,6 +1437,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2790,7 +2794,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5436,6 +5440,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7868,7 +7876,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8743,6 +8756,10 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme Resource"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8789,6 +8806,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -8805,7 +8834,17 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9482,18 +9521,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12048,6 +12075,10 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Filter stack variables"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13332,6 +13363,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/ml.po b/editor/translations/ml.po
index 085e4e1af3..659971d0b5 100644
--- a/editor/translations/ml.po
+++ b/editor/translations/ml.po
@@ -1442,6 +1442,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2797,7 +2801,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5444,6 +5448,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7877,7 +7885,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8752,6 +8765,10 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme Resource"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8798,6 +8815,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -8814,7 +8843,17 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9491,18 +9530,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12056,6 +12083,10 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Filter stack variables"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13345,6 +13376,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/mr.po b/editor/translations/mr.po
index d3faab3d90..8b502fff5a 100644
--- a/editor/translations/mr.po
+++ b/editor/translations/mr.po
@@ -2,13 +2,13 @@
# 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.
-# Prachi Joshi <josprachi@yahoo.com>, 2019, 2020.
+# Prachi Joshi <josprachi@yahoo.com>, 2019, 2020, 2022.
# Shirious <sad3119823@gmail.com>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2020-12-23 22:57+0000\n"
+"PO-Revision-Date: 2022-02-23 17:55+0000\n"
"Last-Translator: Prachi Joshi <josprachi@yahoo.com>\n"
"Language-Team: Marathi <https://hosted.weblate.org/projects/godot-engine/"
"godot/mr/>\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.4.1-dev\n"
+"X-Generator: Weblate 4.11-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -43,15 +43,15 @@ msgstr "self वापरले जाऊ शकत नाही कारण à¤
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
-msgstr ""
+msgstr "ऑपरेटर %s, %s आणि %s साठी अवैध ऑपरेंड."
#: core/math/expression.cpp
msgid "Invalid index of type %s for base type %s"
-msgstr ""
+msgstr "बेस पà¥à¤°à¤•à¤¾à¤° %s साठी %s पà¥à¤°à¤•à¤¾à¤°à¤¾à¤šà¥€ अवैध अनà¥à¤•à¥à¤°à¤®à¤£à¤¿à¤•à¤¾"
#: core/math/expression.cpp
msgid "Invalid named index '%s' for base type %s"
-msgstr ""
+msgstr "बेस पà¥à¤°à¤•à¤¾à¤° %s साठी अवैध नामांकित इंडेकà¥à¤¸ '%s'"
#: core/math/expression.cpp
msgid "Invalid arguments to construct '%s'"
@@ -1437,6 +1437,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2787,7 +2791,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5431,6 +5435,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7862,7 +7870,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8738,6 +8751,10 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme Resource"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8785,6 +8802,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -8801,7 +8830,17 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9479,18 +9518,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12049,6 +12076,10 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Filter stack variables"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13335,6 +13366,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/ms.po b/editor/translations/ms.po
index 71c60c4921..9854a707cc 100644
--- a/editor/translations/ms.po
+++ b/editor/translations/ms.po
@@ -16,7 +16,7 @@ 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-02-03 13:04+0000\n"
+"PO-Revision-Date: 2022-02-23 17:55+0000\n"
"Last-Translator: Keviindran Ramachandran <keviinx@yahoo.com>\n"
"Language-Team: Malay <https://hosted.weblate.org/projects/godot-engine/godot/"
"ms/>\n"
@@ -1483,6 +1483,11 @@ msgstr "Muatkan Susun Atur Bas lalai."
msgid "Create a new Bus Layout."
msgstr "Cipta Susun Atur Bas baru."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Buka Susun Atur Bas Audio"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Nama tidak sah."
@@ -2928,7 +2933,7 @@ msgstr "Togol mod bebas gangguan."
msgid "Add a new scene."
msgstr "Tambah adegan baru."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Adegan"
@@ -3304,14 +3309,12 @@ msgid "Update Continuously"
msgstr "Kemas Kini Secara Berterusan"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update All Changes"
-msgstr "Kemas Kini Apabila Diubah"
+msgstr "Kemas Kini Semua Perubahan"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Changes"
-msgstr "Perubahan Bahan:"
+msgstr "Kemas Kini Perubahan Penting"
#: editor/editor_node.cpp
msgid "Hide Update Spinner"
@@ -5694,6 +5697,10 @@ msgid "Bake Lightmaps"
msgstr "Bake Lightmap"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Pilih fail lightmap bake:"
@@ -8151,7 +8158,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9065,6 +9077,11 @@ msgid "Select Another Theme Resource:"
msgstr "Cari Penggantian Sumber:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Sumber"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -9118,6 +9135,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Show Default"
msgstr "Muatkan Lalai"
@@ -9135,7 +9164,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "Ubah Jenis %s"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9832,18 +9872,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr "Ranting"
@@ -12425,6 +12453,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Tapis isyarat"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13753,6 +13786,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/nb.po b/editor/translations/nb.po
index 025abad2dc..cca8d67ccf 100644
--- a/editor/translations/nb.po
+++ b/editor/translations/nb.po
@@ -1523,6 +1523,11 @@ msgstr "Last standard Bus oppsettet."
msgid "Create a new Bus Layout."
msgstr "Opprett et nytt Bus oppsett."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Ã…pne Audio Bus oppsett"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Ugyldig navn."
@@ -3014,7 +3019,7 @@ msgstr "Vis/skjul distraksjonsfri modus."
msgid "Add a new scene."
msgstr "Legg til ny scene."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Scene"
@@ -5897,6 +5902,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "Velg malfil"
@@ -8505,7 +8514,13 @@ msgid "Cinematic Preview"
msgstr "Lager Forhåndsvisning av Mesh"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "Ikke tilgjengelig ved bruk av GLES2-opptegner."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9454,6 +9469,11 @@ msgstr "Fjern Ressurs"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "Gi nytt navn til Ressurs"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "Importer Tema"
@@ -9508,6 +9528,21 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Add Item Type"
+msgstr "Legg til Element"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Rediger Variabel:"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Endre %s type"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Show Default"
msgstr "Last Standard"
@@ -9526,8 +9561,18 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
-msgid "Add Item Type"
-msgstr "Legg til Element"
+msgid "Base Type"
+msgstr "Endre %s type"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -10281,18 +10326,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Treff:"
@@ -12995,6 +13028,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtrer Filer..."
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -14386,6 +14424,9 @@ msgstr "Ugyldig navn."
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/nl.po b/editor/translations/nl.po
index c8e602d3ce..37c534baf8 100644
--- a/editor/translations/nl.po
+++ b/editor/translations/nl.po
@@ -55,13 +55,14 @@
# naan <xlightfox@hotmail.com>, 2021.
# Tim Visee <tim+weblate@visee.me>, 2022.
# Ferhat Geçdoğan <ferhatgectao@gmail.com>, 2022.
+# Rémi Verschelde <remi@godotengine.org>, 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-01-30 07:16+0000\n"
-"Last-Translator: Ferhat Geçdoğan <ferhatgectao@gmail.com>\n"
+"PO-Revision-Date: 2022-02-20 11:48+0000\n"
+"Last-Translator: Rémi Verschelde <remi@godotengine.org>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/godot-engine/godot/"
"nl/>\n"
"Language: nl\n"
@@ -1535,6 +1536,11 @@ msgstr "Standaard audiobusindeling laden."
msgid "Create a new Bus Layout."
msgstr "Maak een nieuwe audiobusindeling."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Audiobusindeling openen"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Ongeldige naam."
@@ -2977,7 +2983,7 @@ msgstr "Afleidingsvrijemodus omschakelen."
msgid "Add a new scene."
msgstr "Nieuwe scène toevoegen."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Scène"
@@ -5766,6 +5772,10 @@ msgid "Bake Lightmaps"
msgstr "Bak Lichtmappen"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Selecteer lightmap bake-bestand"
@@ -8309,7 +8319,13 @@ msgid "Cinematic Preview"
msgstr "Bioscoop Preview"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "Niet beschikbaar bij gebruik van de GLES2 renderer."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8766,7 +8782,7 @@ msgstr "Animaties:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "New Animation"
-msgstr "Niewe animatie"
+msgstr "Nieuwe animatie"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
@@ -9258,6 +9274,11 @@ msgstr "Bron verwijderen"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "Bronnaam wijzigen"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "Thema importeren"
@@ -9312,6 +9333,21 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Add Item Type"
+msgstr "Element toevoegen"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Zet variabele type"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Verander basis type"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Show Default"
msgstr "Laad standaard"
@@ -9330,8 +9366,18 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
-msgid "Add Item Type"
-msgstr "Element toevoegen"
+msgid "Base Type"
+msgstr "Verander basis type"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -10051,18 +10097,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Overeenkomsten:"
@@ -12827,6 +12861,11 @@ msgid "Stack Frames"
msgstr "Stack Frames"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filter tegels"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Profiler"
@@ -14190,9 +14229,10 @@ msgstr "Ongeldige pakketnaam:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"Ongeldige \"GodotPaymentV3\" module ingesloten in de projectinstelling "
-"\"android/modules\" (veranderd in Godot 3.2.2).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
diff --git a/editor/translations/or.po b/editor/translations/or.po
index 3cea395fb0..d66d67b257 100644
--- a/editor/translations/or.po
+++ b/editor/translations/or.po
@@ -1435,6 +1435,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2784,7 +2788,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5426,6 +5430,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7851,7 +7859,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8726,6 +8739,10 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme Resource"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8772,6 +8789,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -8788,7 +8817,17 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9464,18 +9503,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12029,6 +12056,10 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Filter stack variables"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13312,6 +13343,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/pl.po b/editor/translations/pl.po
index 0117a72a86..db99c76ce6 100644
--- a/editor/translations/pl.po
+++ b/editor/translations/pl.po
@@ -16,12 +16,12 @@
# Karol Walasek <coreconviction@gmail.com>, 2016.
# Maksymilian Świąć <maksymilian.swiac@gmail.com>, 2017-2018.
# Mietek Szcześniak <ravaging@go2.pl>, 2016.
-# NeverK <neverkoxu@gmail.com>, 2018, 2019, 2020, 2021.
+# NeverK <neverkoxu@gmail.com>, 2018, 2019, 2020, 2021, 2022.
# Rafal Brozio <rafal.brozio@gmail.com>, 2016, 2019, 2020, 2021.
# Rafał Ziemniak <synaptykq@gmail.com>, 2017.
-# RM <synaptykq@gmail.com>, 2018, 2020.
+# RM <synaptykq@gmail.com>, 2018, 2020, 2022.
# Sebastian Krzyszkowiak <dos@dosowisko.net>, 2017.
-# Sebastian Pasich <sebastian.pasich@gmail.com>, 2017, 2019, 2020.
+# Sebastian Pasich <sebastian.pasich@gmail.com>, 2017, 2019, 2020, 2022.
# siatek papieros <sbigneu@gmail.com>, 2016.
# Zatherz <zatherz@linux.pl>, 2017, 2020, 2021.
# Tomek <kobewi4e@gmail.com>, 2018, 2019, 2020, 2021, 2022.
@@ -41,7 +41,7 @@
# Jan Ligudziński <jan.ligudzinski@gmail.com>, 2020, 2021.
# Adam Jagoda <kontakt@lukasz.xyz>, 2020.
# Filip Glura <mcmr.slendy@gmail.com>, 2020.
-# Roman Skiba <romanskiba0@gmail.com>, 2020.
+# Roman Skiba <romanskiba0@gmail.com>, 2020, 2022.
# Piotr Grodzki <ziemniakglados@gmail.com>, 2020.
# Dzejkop <jakubtrad@gmail.com>, 2020, 2021.
# Mateusz Grzonka <alpinus4@gmail.com>, 2020.
@@ -49,19 +49,21 @@
# vrid <patryksoon@live.com>, 2021.
# Suchy Talerz <kacperkubis06@gmail.com>, 2021.
# Bartosz Stasiak <bs97086@amu.edu.pl>, 2021.
-# Marek Malaria <to.tylko.dla.kont@gmail.com>, 2021.
-# Mateusz Żak <matisgramy@gmail.com>, 2021.
+# Marek Malaria <to.tylko.dla.kont@gmail.com>, 2021, 2022.
+# Mateusz Żak <matisgramy@gmail.com>, 2021, 2022.
# voltinus <voltinusmail@gmail.com>, 2021.
# Lech Migdal <lech.migdal@gmail.com>, 2022.
# Piotr <promantix@gmail.com>, 2022.
# Igor Kordiukiewicz <igorkordiukiewicz@gmail.com>, 2022.
+# lewando54 <lewando54@gmail.com>, 2022.
+# Katarzyna Twardowska <katarina.twardowska@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-01-26 19:55+0000\n"
-"Last-Translator: Igor Kordiukiewicz <igorkordiukiewicz@gmail.com>\n"
+"PO-Revision-Date: 2022-03-08 08:59+0000\n"
+"Last-Translator: Katarzyna Twardowska <katarina.twardowska@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/"
"godot/pl/>\n"
"Language: pl\n"
@@ -70,7 +72,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.11-dev\n"
+"X-Generator: Weblate 4.12-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -1525,6 +1527,11 @@ msgstr "Załaduj domyślny układ magistral."
msgid "Create a new Bus Layout."
msgstr "Utwórz nowy układ magistral."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Otwórz układ magistrali audio"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Niewłaściwa nazwa."
@@ -2658,7 +2665,7 @@ msgstr "Zapisać zmiany w \"%s\" przed zamknięciem?"
#: editor/editor_node.cpp
msgid "%s no longer exists! Please specify a new save location."
-msgstr "%s już nie istnieje! Określ nową lokalizację zapisu."
+msgstr "%s nie istnieje! Proszę wybrać nową lokalizację zapisu."
#: editor/editor_node.cpp
msgid ""
@@ -2960,7 +2967,7 @@ msgstr "Tryb bez rozproszeń."
msgid "Add a new scene."
msgstr "Dodaj nowÄ… scenÄ™."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Scena"
@@ -3153,7 +3160,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Force Shader Fallbacks"
-msgstr ""
+msgstr "Opóźnienia wymuszania shaderów"
#: editor/editor_node.cpp
msgid ""
@@ -3164,6 +3171,12 @@ msgid ""
"Asynchronous shader compilation must be enabled in the project settings for "
"this option to make a difference."
msgstr ""
+"Gdy ta opcja jest włączona, shadery będą używane w ich zastępczej formie "
+"(albo widoczne poprzez ubershader, albo ukryte) przez cały czas działania.\n"
+"Jest to przydatne do sprawdzania wyglądu i wydajności fallbacków, które "
+"normalnie wyświetlane są krótko.\n"
+"Asynchroniczna kompilacja shaderów musi być włączona w ustawieniach "
+"projektu, aby ta opcja działała."
#: editor/editor_node.cpp
msgid "Synchronize Scene Changes"
@@ -3327,14 +3340,12 @@ msgid "Update Continuously"
msgstr "Aktualizuj ciÄ…gle"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update All Changes"
-msgstr "Aktualizuj przy zmianie"
+msgstr "Aktualizuj wszystkie zmiany"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Changes"
-msgstr "Zmiany materiału:"
+msgstr "Zaktualizuj istotne zmiany"
#: editor/editor_node.cpp
msgid "Hide Update Spinner"
@@ -4107,6 +4118,11 @@ msgid ""
"After renaming to an unknown extension, the file won't be shown in the "
"editor anymore."
msgstr ""
+"Te rozszerzenie pliku nie zostało rozpoznane przez edytor.\n"
+"Jeśli mimo tego chcesz zmienić jego nazwę, użyj menedżera plików swojego "
+"systemu operacyjnego.\n"
+"Po zmienieniu na nieznane rozszerzenie, plik nie będzie już widoczny w "
+"edytorze."
#: editor/filesystem_dock.cpp
msgid ""
@@ -5312,7 +5328,7 @@ msgstr "Tryb odtwarzania:"
#: editor/plugins/animation_tree_editor_plugin.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "AnimationTree"
-msgstr "Drzewo animacji"
+msgstr "DrzewoAnimacji"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
@@ -5325,11 +5341,11 @@ msgstr "Skala:"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
-msgstr "Fade In (s):"
+msgstr "Zanikanie w (s):"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
-msgstr "Fade Out (s):"
+msgstr "Zanikanie z (s):"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
@@ -5723,6 +5739,10 @@ msgid "Bake Lightmaps"
msgstr "Stwórz Lightmaps"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Wybierz plik wypalenia mapy światła:"
@@ -6036,9 +6056,8 @@ msgid "Alt+Drag: Move selected node."
msgstr "Alt+Przeciągnij: Przesuń zaznaczony węzeł."
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Alt+Drag: Scale selected node."
-msgstr "Alt+Przeciągnij: Przesuń zaznaczony węzeł."
+msgstr "Alt+Przeciągnij: Skaluj zaznaczony węzeł."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "V: Set selected node's pivot position."
@@ -6324,11 +6343,11 @@ msgstr "Instancjonuj scenÄ™ tutaj"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
-msgstr "Zwiększ krok siatki 2 razy"
+msgstr "Powiększ siatkę x2"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Divide grid step by 2"
-msgstr "Zmniejsz krok siatki 2 razy"
+msgstr "Pomniejsz siatkÄ™ x2"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Pan View"
@@ -6503,7 +6522,7 @@ msgstr "PÅ‚askie 0"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat 1"
-msgstr "Flat 1"
+msgstr "PÅ‚askie 1"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
@@ -6567,7 +6586,7 @@ msgstr "Prawy klik, aby dodać punkt"
#: editor/plugins/gi_probe_editor_plugin.cpp
msgid "Bake GI Probe"
-msgstr "Wypal sondÄ™ GI"
+msgstr "Wygeneruj próbnik GI"
#: editor/plugins/gradient_editor_plugin.cpp
msgid "Gradient Edited"
@@ -6670,7 +6689,7 @@ msgstr "Siatka nie posiada powierzchni, z której można by utworzyć obrysy!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!"
-msgstr "Typ prymitywu siatki jest inny niż PRIMITIVE_TRIANGLES!"
+msgstr "Prymitywne elementy siatki nie siÄ… PRIMITIVE_TRIANGLES!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Could not create outline!"
@@ -6686,7 +6705,7 @@ msgstr "Siatka"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Trimesh Static Body"
-msgstr "Utwórz statyczne ciało trójsiatki"
+msgstr "Stwórz statyczne ciało siatki trójkątów (Trimesh)"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid ""
@@ -6828,11 +6847,13 @@ msgstr "Aktualizuj ze sceny"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
-msgstr "Nie ustawiono źródła siatki (i nie ma MultiMesh ustawionego w węźle)."
+msgstr ""
+"Nie ustawiono źródła siatki (i brak ustawionego zasobu MultiMesh w węźle)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and MultiMesh contains no Mesh)."
-msgstr "Nie ustawiono źródła siatki (a MultiMesh nie posiada siatki)."
+msgstr ""
+"Nie ustawiono źródła siatki (i węzeł MultiMesh nie zawiera węzła Mesh)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh source is invalid (invalid path)."
@@ -6840,11 +6861,11 @@ msgstr "Źródło siatki jest niepoprawne (nieprawidłowa ścieżka)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh source is invalid (not a MeshInstance)."
-msgstr "Źródło siatki jest nieprawidłowe (nie jest MeshInstance)."
+msgstr "Źródło siatki jest niepoprawne (nie jest typu MeshInstance)."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh source is invalid (contains no Mesh resource)."
-msgstr "Źródło siatki jest nieprawidłowe (nie zawiera zasobu Mesh)."
+msgstr "Źródło siatki jest niepoprawne (nie zawiera zasobu Siatka (Mesh))."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No surface source specified."
@@ -8209,7 +8230,13 @@ msgid "Cinematic Preview"
msgstr "PodglÄ…d kinowy"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "Niedostępne dla renderera GLES2."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8383,9 +8410,8 @@ msgid "Increase Field of View"
msgstr "Zwiększ pole widzenia"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Reset Field of View to Default"
-msgstr "Resetuj do domyślnych"
+msgstr "Resetuj pole widzenia do domyślnych ustawień"
#: editor/plugins/spatial_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -9106,6 +9132,11 @@ msgid "Select Another Theme Resource:"
msgstr "Wybierz inny zasób motywu:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Zmień nazwę Zasobu"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr "Inny motyw"
@@ -9115,22 +9146,19 @@ msgstr "Dodaj typ"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Filter the list of types or create a new custom type:"
-msgstr ""
+msgstr "Przefiltruj listę typów lub stwórz nowy, niestandardowy typ:"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Available Node-based types:"
-msgstr "Dostępne profile:"
+msgstr "Dostępne typy oparte na węzłach:"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Type name is empty!"
-msgstr "Nazwa pliku jest pusta."
+msgstr "Nazwa typu jest pusta!"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Are you sure you want to create an empty type?"
-msgstr "Czy jesteś pewny że chcesz otworzyć więcej niż jeden projekt?"
+msgstr "Czy jesteś pewny że chcesz utworzyć pusty typ?"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Confirm Item Rename"
@@ -9157,6 +9185,20 @@ msgstr ""
"zaktualizuje te same właściwości we wszystkich innych StyleBoxach tego typu."
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr "Dodaj typ elementu"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Ustaw typ zmiennej"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Zmień typ podstawowy"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "Pokaż domyślne"
@@ -9173,8 +9215,19 @@ msgid "Override all default type items."
msgstr "Nadpisz wszystkie domyślne elementy typu."
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr "Dodaj typ elementu"
+#, fuzzy
+msgid "Base Type"
+msgstr "Zmień typ podstawowy"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9752,7 +9805,6 @@ msgid "TileSet"
msgstr "TileSet"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "No VCS plugins are available."
msgstr "Brak dostępnych dodatków VCS."
@@ -9764,53 +9816,48 @@ msgstr "BÅ‚Ä…d"
msgid ""
"Remote settings are empty. VCS features that use the network may not work."
msgstr ""
+"Zdalne ustawienia są puste. Funkcje VCS, które korzystają z sieci mogą nie "
+"działać."
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "No commit message was provided."
-msgstr "Nie podano nazwy."
+msgstr "Nie podano treści opisu aktualizacji."
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Commit"
msgstr "Commit"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Staged Changes"
-msgstr "Zmiany shadera:"
+msgstr "Zmiany w poczekalni przed commitem"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Unstaged Changes"
-msgstr "Zmiany shadera:"
+msgstr "Zmiany poza poczekalniÄ… przed commitem"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Commit:"
-msgstr "Commit"
+msgstr "Przydziel:"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Date:"
msgstr "Data:"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Subtitle:"
-msgstr "Poddrzewo"
+msgstr "Podtytuł:"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Do you want to remove the %s branch?"
-msgstr ""
+msgstr "Czy chcesz usunąć gałąź %s ?"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Do you want to remove the %s remote?"
-msgstr "Czy jesteś pewny że chcesz otworzyć więcej niż jeden projekt?"
+msgstr "Czy chcesz usunąć zdalne %s ?"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Apply"
-msgstr "Zastosuj reset"
+msgstr "Zastosuj"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Version Control System"
@@ -9821,14 +9868,12 @@ msgid "Initialize"
msgstr "Inicjuj"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remote Login"
-msgstr "Usuń punkt"
+msgstr "Login do Remote"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Username"
-msgstr "Zmień nazwę"
+msgstr "Użytkownik"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Password"
@@ -9852,117 +9897,91 @@ msgstr "Wybierz ścieżkę do prywatnego klucza SSH"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "SSH Passphrase"
-msgstr ""
+msgstr "Hasło-fraza SSH"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Detect new changes"
msgstr "Wykryj nowe zmiany"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Discard all changes"
-msgstr "Zamknąć i zapisać zmiany?"
+msgstr "Odrzuć wszystkie zmiany"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Stage all changes"
-msgstr "Zachowywanie lokalnych zmian..."
+msgstr "Wrzuć do kolejki wszystkie zmiany"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Unstage all changes"
-msgstr "Zmiany materiału:"
+msgstr "Wyrzuć z kolejki wszystkie zmiany"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Commit Message"
-msgstr "Commituj zmiany"
+msgstr "Opis zmian"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Commit Changes"
msgstr "Commituj zmiany"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Commit List"
-msgstr "Commit"
+msgstr "Lista commitów"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Commit list size"
-msgstr ""
+msgstr "Wielkość listy commitów"
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr "10"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr "20"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr "30"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Branches"
-msgstr "PasujÄ…ce:"
+msgstr "Gałęzie"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Create New Branch"
-msgstr "Utwórz nowy projekt"
+msgstr "Utwórz nową gałąź"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remove Branch"
-msgstr "Usuń ścieżkę animacji"
+msgstr "Usuń gałąź"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branch Name"
msgstr "Nazwa gałęzi"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remotes"
-msgstr "Zdalny"
+msgstr "Zdalne repozytoria"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Create New Remote"
-msgstr "Utwórz nowy projekt"
+msgstr "Utwórz nowe zdalne repozytorium"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remove Remote"
-msgstr "Usuń element"
+msgstr "Usuń zdalne repozytorium"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remote Name"
-msgstr "Zdalny "
+msgstr "Nazwa zdalnego repozytorium"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Remote URL"
-msgstr "Zdalny "
+msgstr "URL zdalnego repozytorium"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Fetch"
-msgstr ""
+msgstr "Załaduj"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Pull"
-msgstr ""
+msgstr "ÅšciÄ…gnij"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Push"
-msgstr ""
+msgstr "Wrzuć"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Force Push"
-msgstr "Źródłowa siatka:"
+msgstr "Wrzuć na siłę"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Modified"
@@ -9982,22 +10001,19 @@ msgstr "Zmiana typu"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Unmerged"
-msgstr ""
+msgstr "Niezłączone"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "View:"
-msgstr "Widok"
+msgstr "Widok:"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Split"
-msgstr "Podziel Ścieżkę"
+msgstr "Rozdziel"
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Unified"
-msgstr "Zmodyfikowany"
+msgstr "Ujednolicony"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "(GLES3 only)"
@@ -12143,6 +12159,10 @@ 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 ""
+"Nie można zapisać gałęzi, która jest dzieckiem już wcześniej zainicjowanej "
+"sceny.\n"
+"Aby zapisać tą gałąź do jej własnej sceny, otwórz oryginalną scenę, kliknij "
+"prawym przyciskiem myszy na tą gałąź i wybierz \"Zapisz gałąź jako scenę\"."
#: editor/scene_tree_dock.cpp
msgid ""
@@ -12150,6 +12170,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 ""
+"Nie można zapisać gałęzi która jest częścią odziedziczonej sceny.\n"
+"Aby zapisać tą gałąź do jej własnej sceny, otwórz oryginalną scenę, kliknij "
+"prawym przyciskiem myszy na tę gałąź i wybierz \"Zapisz gałąź jako scenę\"."
#: editor/scene_tree_dock.cpp
msgid "Save New Scene As..."
@@ -12652,6 +12675,11 @@ msgid "Stack Frames"
msgstr "Ramki stosu"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtruj kafelki"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Profiler"
@@ -12825,14 +12853,12 @@ msgid "Set Occluder Sphere Position"
msgstr "Ustaw pozycję sfery przesłaniacza"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Polygon Point Position"
-msgstr "Ustaw pozycjÄ™ punktu portalu"
+msgstr "Ustaw położenie punktu poligonowego okludera"
#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
msgid "Set Occluder Hole Point Position"
-msgstr "Ustaw pozycje punktu krzywej"
+msgstr "Ustawienie pozycji punktu otworu okludera"
#: modules/csg/csg_gizmos.cpp
msgid "Change Cylinder Radius"
@@ -13545,30 +13571,28 @@ msgid "Edit Member"
msgstr "Edytuj członka"
#: modules/visual_script/visual_script_expression.cpp
-#, fuzzy
msgid "Expression"
-msgstr "Ustaw wyrażenie"
+msgstr "Wyrażenie"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Return"
msgstr "Wróć"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Condition"
-msgstr "animacja"
+msgstr "Warunek"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "if (cond) is:"
-msgstr ""
+msgstr "if (warunek) is:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "While"
-msgstr "Dopóki"
+msgstr "While"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "while (cond):"
-msgstr ""
+msgstr "while (warunek):"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator"
@@ -13576,7 +13600,7 @@ msgstr "Iterator"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "for (elem) in (input):"
-msgstr ""
+msgstr "for (element) in (wejście):"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
@@ -13595,76 +13619,68 @@ msgid "Sequence"
msgstr "Sekwencja"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "in order:"
-msgstr "Zmiana nazwy folderu:"
+msgstr "w kolejności:"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Switch"
-msgstr "Pułap:"
+msgstr "Przełącznik"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "'input' is:"
-msgstr ""
+msgstr "'input' is:"
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Type Cast"
-msgstr "Typy:"
+msgstr "Narzucenie typu"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Is %s?"
-msgstr ""
+msgstr "Czy jest %s?"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "On %s"
-msgstr ""
+msgstr "Na %s"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "On Self"
-msgstr "Pojedynczo"
+msgstr "Na samym sobie"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Subtract %s"
-msgstr "Przy znaku %s"
+msgstr "Odejmij %s"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Multiply %s"
-msgstr ""
+msgstr "Pomnóż %s"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Divide %s"
-msgstr ""
+msgstr "Dziel %s"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Mod %s"
-msgstr "Dodaj %s"
+msgstr "Modulo %s"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "ShiftLeft %s"
-msgstr "Ustaw %s"
+msgstr "PrzesuńWLewo %s"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "ShiftRight %s"
-msgstr ""
+msgstr "PrzesuńWPrawo %s"
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "BitAnd %s"
-msgstr "Dodaj %s"
+msgstr "BitoweAnd %s"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "BitOr %s"
-msgstr ""
+msgstr "BitoweOr %s"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "BitXor %s"
-msgstr ""
+msgstr "BitoweXor %s"
#: modules/visual_script/visual_script_func_nodes.cpp
#: modules/visual_script/visual_script_nodes.cpp
@@ -13689,19 +13705,16 @@ msgid "Invalid index property name '%s' in node %s."
msgstr "Nieprawidłowy indeks we właściwości \"%s\" węzła %s."
#: modules/visual_script/visual_script_func_nodes.cpp
-#, fuzzy
msgid "Emit %s"
-msgstr "Ustaw %s"
+msgstr "Emituj %s"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Function"
-msgstr "Funkcje"
+msgstr "Funkcja"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Compose Array"
-msgstr "Zmień rozmiar Tablicy"
+msgstr "Utwórz Tablicę"
#: modules/visual_script/visual_script_nodes.cpp
msgid ": Invalid argument of type: "
@@ -13713,7 +13726,7 @@ msgstr ":nieprawidłowe argumenty: "
#: modules/visual_script/visual_script_nodes.cpp
msgid "a if cond, else b"
-msgstr ""
+msgstr "a jeśli warunek, w przeciwnym razie b"
#: modules/visual_script/visual_script_nodes.cpp
msgid "VariableGet not found in script: "
@@ -13724,64 +13737,52 @@ msgid "VariableSet not found in script: "
msgstr "Nie znaleziono VariableSet w skrypcie: "
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Preload"
-msgstr "Przeładuj"
+msgstr "Åaduj przed"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Get Index"
-msgstr "Indeks Z"
+msgstr "Weź indeks"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Set Index"
-msgstr "Indeks Z"
+msgstr "Ustaw indeks"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Global Constant"
-msgstr "Stała"
+msgstr "Stała globalna"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Class Constant"
-msgstr "Stała"
+msgstr "Stała klasy"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Basic Constant"
-msgstr "Stała"
+msgstr "Stała podstawowa"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Math Constant"
-msgstr "Stała"
+msgstr "Stała matematyczna"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Get Engine Singleton"
-msgstr "WÅ‚Ä…czony singleton GDNative"
+msgstr "Uzyskaj Singleton silnika"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Get Scene Node"
-msgstr "Węzeł Przewijania w Czasie"
+msgstr "Pozyskaj węzeł sceny"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Get Scene Tree"
-msgstr "Edycja drzewa sceny"
+msgstr "Pozyskaj drzewo sceny"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Get Self"
-msgstr "Pojedynczo"
+msgstr "Pozyskaj samego siebie"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "CustomNode"
-msgstr "Wytnij węzły"
+msgstr "NiestandardowyWęzeł"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Custom node has no _step() method, can't process graph."
@@ -13797,33 +13798,28 @@ msgstr ""
"całkowitą (seq out), lub tekstową (error)."
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "SubCall"
-msgstr "Wywołania"
+msgstr "PodWywołania"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Construct %s"
-msgstr "Stałe"
+msgstr "Zbuduj %s"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Get Local Var"
-msgstr "Użyj przestrzeni lokalnej"
+msgstr "Użyj zmiennej lokalnej"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Set Local Var"
-msgstr "Użyj przestrzeni lokalnej"
+msgstr "Ustaw zmiennÄ… lokalnÄ…"
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Action %s"
-msgstr "Akcja"
+msgstr "Akcja %s"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Deconstruct %s"
-msgstr ""
+msgstr "Dekonstruuj %s"
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search VisualScript"
@@ -13831,40 +13827,35 @@ msgstr "Przeszukaj VisualScript"
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "Yield"
-msgstr ""
+msgstr "Yield"
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "Wait"
msgstr "Czekaj"
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Next Frame"
-msgstr "Przesuń klatkę"
+msgstr "Następna klatka"
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "Next Physics Frame"
-msgstr "Klatka fizyki %"
+msgstr "Następna klatka fizyki"
#: modules/visual_script/visual_script_yield_nodes.cpp
msgid "%s sec(s)"
-msgstr ""
+msgstr "%s sekund(s)"
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "WaitSignal"
-msgstr "Sygnał"
+msgstr "SygnałOczekiwania"
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "WaitNodeSignal"
-msgstr "Sygnał"
+msgstr "SygnałOczekiwaniaWęzła"
#: modules/visual_script/visual_script_yield_nodes.cpp
-#, fuzzy
msgid "WaitInstanceSignal"
-msgstr "Instancja"
+msgstr "SygnałOczekiwaniaInstancji"
#: platform/android/export/export_plugin.cpp
msgid "Package name is missing."
@@ -14002,9 +13993,10 @@ msgstr "Niepoprawna nazwa paczki:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"Niepoprawny moduł \"GodotPaymentV3\" załączony w ustawieniu projektu "
-"\"android/modules\" (zmieniony w Godocie 3.2.2).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
@@ -14263,166 +14255,167 @@ msgstr "BÅ‚Ä…d uruchamiania serwera HTTP:"
#: platform/osx/export/codesign.cpp
msgid "Can't get filesystem access."
-msgstr ""
+msgstr "Nie można uzyskać dostępu do systemu plików."
#: platform/osx/export/codesign.cpp
msgid "Failed to get Info.plist hash."
-msgstr ""
+msgstr "Nie udało się uzyskać hasha Info.plist."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, no exe name."
-msgstr "Nieprawidłowa nazwa projektu."
+msgstr "Nieprawidłowy plik Info.plist, brak nazwy pliku wykonywalnego."
#: platform/osx/export/codesign.cpp
msgid "Invalid Info.plist, no bundle id."
-msgstr ""
+msgstr "Nieprawidłowy Info.plist, nie ma id pakietu."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, can't load."
-msgstr "Nieprawidłowa geometria, nie można utworzyć wielokąta."
+msgstr "Nieprawidłowy Info.plist, nie można załadować."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to create \"%s\" subfolder."
-msgstr "Nie można utworzyć katalogu."
+msgstr "Nie można utworzyć podkatalogu \"%s\"."
#: platform/osx/export/codesign.cpp
msgid "Failed to extract thin binary."
-msgstr ""
+msgstr "Nie udało się wypakować uszczuplonego pliku binarnego."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid binary format."
-msgstr "Niepoprawna ścieżka bazowa."
+msgstr "Niepoprawny format binarny."
#: platform/osx/export/codesign.cpp
msgid "Already signed!"
-msgstr ""
+msgstr "Już podpisane!"
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to process nested resources."
-msgstr "Nie udało się wczytać zasobu."
+msgstr "Nie udało się przetworzyć zagnieżdżonych zasobów."
#: platform/osx/export/codesign.cpp
msgid "Failed to create _CodeSignature subfolder."
-msgstr ""
+msgstr "Nie udało się utworzyć podfolderu _CodeSignature."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to get CodeResources hash."
-msgstr "Nie udało się wczytać zasobu."
+msgstr "Nie udało się wczytać hasha CodeResources."
#: platform/osx/export/codesign.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Invalid entitlements file."
-msgstr "Niepoprawne rozszerzenie."
+msgstr "Nieprawidłowy plik uprawnień."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid executable file."
-msgstr "Niepoprawne rozszerzenie."
+msgstr "Niepoprawny plik wykonywalny."
#: platform/osx/export/codesign.cpp
msgid "Can't resize signature load command."
-msgstr ""
+msgstr "Nie można zmienić rozmiaru polecenia ładowania podpisu."
#: platform/osx/export/codesign.cpp
msgid "Failed to create fat binary."
-msgstr ""
+msgstr "Nie udało się stworzyć dużego pliku binarnego."
#: platform/osx/export/codesign.cpp
msgid "Unknown bundle type."
-msgstr ""
+msgstr "Nieznany typ pakietu."
#: platform/osx/export/codesign.cpp
msgid "Unknown object type."
-msgstr ""
+msgstr "Nieznany typ obiektu."
#: platform/osx/export/export.cpp
msgid ""
"Note: The notarization process generally takes less than an hour. When the "
"process is completed, you'll receive an email."
msgstr ""
+"Uwaga: Proces poświadczania trwa zazwyczaj mniej niż godzinę. Gdy proces "
+"zostanie zakończony, otrzymasz wiadomość e-mail."
#: platform/osx/export/export.cpp
msgid ""
"You can check progress manually by opening a Terminal and running the "
"following command:"
msgstr ""
+"Możesz sprawdzić postęp ręcznie, otwierając Terminal i wykonując następujące "
+"polecenie:"
#: platform/osx/export/export.cpp
msgid ""
"Run the following command to staple the notarization ticket to the exported "
"application (optional):"
msgstr ""
+"Uruchom następujące polecenie, aby przypiąć bilet notarialny do "
+"eksportowanej aplikacji (opcjonalnie):"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "No identity found."
-msgstr "Nie znaleziono ikon."
+msgstr "Nie znaleziono tożsamości."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Creating app bundle"
-msgstr "Tworzenie miniatury"
+msgstr "Tworzenie pakietu aplikacji"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Could not find template app to export:"
-msgstr ""
-"Nie udało się znaleźć szablonu APK do eksportu:\n"
-"%s"
+msgstr "Nie udało się znaleźć szablonu aplikacji do eksportu:"
#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
msgstr ""
+"Relatywne linki symboliczne nie są obsługiwane na tym systemie operacyjnym, "
+"wyeksportowany projekt może być uszkodzony!"
#: platform/osx/export/export.cpp
msgid ""
"Requested template binary '%s' not found. It might be missing from your "
"template archive."
msgstr ""
+"Nie znaleziono żądanego szablonu pliku binarnego '%s'. Być może brakuje go w "
+"Twoim archiwum szablonów."
#: platform/osx/export/export.cpp
msgid "Making PKG"
-msgstr ""
+msgstr "Tworzenie PKG"
#: platform/osx/export/export.cpp
msgid ""
"Ad-hoc signed applications require the 'Disable Library Validation' "
"entitlement to load dynamic libraries."
msgstr ""
+"Aplikacje podpisane ad-hoc wymagają uprawnienia \"Wyłącz walidację "
+"biblioteki\" do Å‚adowania bibliotek dynamicznych."
#: platform/osx/export/export.cpp
msgid "Code signing bundle"
-msgstr ""
+msgstr "Pakiet do podpisywania kodu"
#: platform/osx/export/export.cpp
msgid "Making DMG"
-msgstr ""
+msgstr "Tworzenie DMG"
#: platform/osx/export/export.cpp
msgid "Code signing DMG"
-msgstr ""
+msgstr "DMG podpisywania kodu"
#: platform/osx/export/export.cpp
msgid "Making ZIP"
-msgstr ""
+msgstr "Tworzenie ZIP"
#: platform/osx/export/export.cpp
msgid ""
"Notarization requires the app to be archived first, select the DMG or ZIP "
"export format instead."
msgstr ""
+"Poświadczenie wymaga wcześniejszego zarchiwizowania aplikacji, dlatego "
+"należy wybrać format eksportu DMG lub ZIP."
#: platform/osx/export/export.cpp
msgid "Sending archive for notarization"
-msgstr ""
+msgstr "Przesyłanie archiwum w celu poświadczenia"
#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
@@ -14433,31 +14426,33 @@ msgid ""
"Warning: Built-in \"codesign\" is selected in the Editor Settings. Code "
"signing is limited to ad-hoc signature only."
msgstr ""
+"Ostrzeżenie: Wbudowane \"podpisywanie kodu\" jest wybrane w ustawieniach "
+"edytora. Podpisywanie kodu jest ograniczone tylko do podpisu 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 ""
+"Ostrzeżenie: Narzędzia wiersza poleceń Xcode nie są zainstalowane, zatem "
+"używany jest wbudowany \"codesign\". Podpisywanie kodu jest ograniczone "
+"tylko do podpisu ad-hoc."
#: platform/osx/export/export.cpp
msgid "Notarization: Notarization with an ad-hoc signature is not supported."
-msgstr ""
+msgstr "Poświadczenie: Poświadczenie z podpisem ad hoc nie jest obsługiwane."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Code signing is required for notarization."
-msgstr "Poświadczenie: wymagane podpisanie kodu."
+msgstr "Notaryzacja: Wymagane podpisanie kodu."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Hardened runtime is required for notarization."
-msgstr "Poświadczenie: wymagane wzmocnione środowisko wykonawcze."
+msgstr "Notaryzacja: Wymagane wzmocnione środowisko wykonawcze."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Timestamp runtime is required for notarization."
-msgstr "Poświadczenie: wymagane wzmocnione środowisko wykonawcze."
+msgstr "Notaryzacja: wymagane środowisko wykonawcze ze znacznikiem czasu."
#: platform/osx/export/export.cpp
msgid "Notarization: Apple ID name not specified."
@@ -14472,63 +14467,86 @@ msgid ""
"Warning: Notarization is disabled. The exported project will be blocked by "
"Gatekeeper if it's downloaded from an unknown source."
msgstr ""
+"Osztrzeżenie: Poświadczenie jest wyłączone. Wyeksportowany projekt zostanie "
+"zablokowany jeśli zostanie pobrany z nieznanego źródła."
#: 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 ""
+"Podpisywanie kodu jest wyłączone. Wyeksportowany projekt nie będzie mógł "
+"zostać uruchomiony na komputerach Mac z włączonym Gatekeeperem i komputerach "
+"Mac napędzanych przez procesor Apple Silicon."
#: platform/osx/export/export.cpp
msgid ""
"Hardened Runtime is not compatible with ad-hoc signature, and will be "
"disabled!"
msgstr ""
+"Hardened Runtime nie jest kompatybilny z podpisem ad-hoc i zostanie "
+"wyłączony!"
#: platform/osx/export/export.cpp
msgid ""
"Timestamping is not compatible with ad-hoc signature, and will be disabled!"
msgstr ""
+"Timestamping nie jest kompatybilny z podpisem ad-hoc i będzie wyłączony!"
#: 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 ""
+"Ostrzeżenie: Poświadczenia nie są obsługiwane przez ten system operacyjny. "
+"Wyeksportowany projekt zostanie zablokowany przez Gatekeeper, jeśli zostanie "
+"pobrany z nieznanego źródła."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Microphone access is enabled, but usage description is not "
"specified."
msgstr ""
+"Prywatność: Dostęp do mikrofonu jest włączony, ale opis jego użycia nie jest "
+"określony."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Camera access is enabled, but usage description is not specified."
msgstr ""
+"Prywatność: Dostęp do kamery jest włączony, ale opis jej użycia nie jest "
+"określony."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Location information access is enabled, but usage description is "
"not specified."
msgstr ""
+"Prywatność: Dostęp do informacji o lokalizacji jest włączony, ale opis jej "
+"użycia nie jest określony."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Address book access is enabled, but usage description is not "
"specified."
msgstr ""
+"Prywatność: Dostęp do kontaktów jest włączony, ale opis ich użycia nie jest "
+"określony."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Calendar access is enabled, but usage description is not specified."
msgstr ""
+"Prywatność: Dostęp do kalendarza jest włączony, ale opis jego użycia nie "
+"jest określony."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Photo library access is enabled, but usage description is not "
"specified."
msgstr ""
+"Prywatność: Dostęp do galerii zdjęć jest włączony, ale opis jej użycia nie "
+"jest określony."
#: platform/uwp/export/export.cpp
msgid "Invalid package short name."
@@ -14595,21 +14613,20 @@ msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
msgstr ""
+"Narzędzie rcedit musi być skonfigurowane w Ustawieniach edytora (Eksport > "
+"Windows > Rcedit), aby zmienić ikonę lub dane informacji o aplikacji."
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid icon path:"
-msgstr "Niepoprawna ścieżka."
+msgstr "Niepoprawna ścieżka ikony:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid file version:"
-msgstr "Niepoprawne rozszerzenie."
+msgstr "Niepoprawna wersja pliku:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid product version:"
-msgstr "Nieprawidłowy GUID produktu."
+msgstr "Nieprawidłowa wersja produktu:"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -14744,13 +14761,15 @@ msgstr ""
#: scene/2d/navigation_agent_2d.cpp
msgid "The NavigationAgent2D can be used only under a Node2D node."
-msgstr ""
+msgstr "NavigationAgent2D może zostać użyty tylko pod węzłem Node2D."
#: scene/2d/navigation_obstacle_2d.cpp
msgid ""
"The NavigationObstacle2D only serves to provide collision avoidance to a "
"Node2D object."
msgstr ""
+"NavigationObstacle2D służy jedynie do zapewnienia unikania kolizji obiektowi "
+"Node2D."
#: scene/2d/navigation_polygon.cpp
msgid ""
@@ -14776,14 +14795,13 @@ msgstr ""
"ParallaxBackground."
#: scene/2d/particles_2d.cpp
-#, fuzzy
msgid ""
"GPU-based particles are not supported by the GLES2 video driver.\n"
"Use the CPUParticles2D node instead. You can use the \"Convert to "
"CPUParticles2D\" toolbar option for this purpose."
msgstr ""
"Cząsteczki oparte o GPU są nieobsługiwane przez sterownik wideo GLES2.\n"
-"Użyj zamiast tego węzła CPUParticles2D. Możesz użyć do tego celu opcji "
+"Zamiast tego użyj węzła CPUParticles2D. Możesz użyć do tego celu opcji "
"\"Konwertuj na CPUParticles\"."
#: scene/2d/particles_2d.cpp
@@ -14794,6 +14812,12 @@ msgid ""
"You can use the \"Convert to CPUParticles2D\" toolbar option for this "
"purpose."
msgstr ""
+"W systemie macOS, renderowanie Particles2D jest znacznie wolniejsze niż "
+"CPUParticles2D z powodu sprzężenia zwrotnego transformacji, które jest "
+"implementowane na CPU zamiast na GPU.\n"
+"Rozważ użycie CPUParticles2D zamiast Particles2D, gdy używasz macOS.\n"
+"W tym celu można użyć opcji \"Konwertuj do CPUParticles2D\" na pasku "
+"narzędzi."
#: scene/2d/particles_2d.cpp scene/3d/particles.cpp
msgid ""
@@ -15023,7 +15047,7 @@ msgstr "SpotLight z kątem szerszym niż 90 stopni nie może rzucać cieni."
#: scene/3d/navigation_agent.cpp
msgid "The NavigationAgent can be used only under a spatial node."
-msgstr ""
+msgstr "NavigationAgent może być stosowane wyłącznie pod węzłem przestrzennym."
#: scene/3d/navigation_mesh_instance.cpp
msgid ""
@@ -15038,6 +15062,8 @@ msgid ""
"The NavigationObstacle only serves to provide collision avoidance to a "
"spatial object."
msgstr ""
+"NavigationObstacle służy jedynie do zapewnienia unikania kolizji dla obiektu "
+"przestrzennego."
#: scene/3d/occluder.cpp
msgid "No shape is set."
@@ -15048,14 +15074,13 @@ msgid "Only uniform scales are supported."
msgstr "Obsługiwane są tylko jednolite skale."
#: scene/3d/particles.cpp
-#, fuzzy
msgid ""
"GPU-based particles are not supported by the GLES2 video driver.\n"
"Use the CPUParticles node instead. You can use the \"Convert to "
"CPUParticles\" toolbar option for this purpose."
msgstr ""
"Cząsteczki oparte o GPU są nieobsługiwane przez sterownik wideo GLES2.\n"
-"Użyj zamiast tego węzła CPUParticles. Możesz użyć do tego celu opcji "
+"Zamiast tego użyj węzła CPUParticles2D. Możesz użyć do tego celu opcji "
"\"Konwertuj na CPUParticles\"."
#: scene/3d/particles.cpp
@@ -15065,6 +15090,12 @@ msgid ""
"Consider using CPUParticles instead when targeting macOS.\n"
"You can use the \"Convert to CPUParticles\" toolbar option for this purpose."
msgstr ""
+"Na macOS, renderowanie Cząsteczek jest znacznie wolniejsze niż CPUParticles "
+"z powodu sprzężenia zwrotnego transformacji implementowanego na CPU zamiast "
+"na GPU.\n"
+"Rozważ użycie CPUParticles, gdy używasz macOS.\n"
+"Możesz użyć do tego celu opcji \"Konwertuj do CPUParticles\" na pasku "
+"narzędzi."
#: scene/3d/particles.cpp
msgid ""
@@ -15335,7 +15366,6 @@ msgid "This node has been deprecated. Use AnimationTree instead."
msgstr "Ten węzeł jest przestarzały. Zamiast tego użyj AnimationTree."
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid ""
"Color: #%s\n"
"LMB: Apply color\n"
diff --git a/editor/translations/pr.po b/editor/translations/pr.po
index 8dcc5099cb..0c9c84d7c9 100644
--- a/editor/translations/pr.po
+++ b/editor/translations/pr.po
@@ -1487,6 +1487,11 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Rename Function"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2878,7 +2883,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5619,6 +5624,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "Slit th' Node"
@@ -8138,7 +8147,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9063,6 +9077,11 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "Paste yer Node"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "th' Members:"
@@ -9111,6 +9130,20 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Edit yer Variable:"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "th' Base Type:"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -9127,7 +9160,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "th' Base Type:"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9863,18 +9907,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12511,6 +12543,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Paste yer Node"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13884,6 +13921,9 @@ msgstr "Yer unique name be evil."
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/pt.po b/editor/translations/pt.po
index 94dc606a58..ce77d75470 100644
--- a/editor/translations/pt.po
+++ b/editor/translations/pt.po
@@ -1493,6 +1493,11 @@ msgstr "Carregar o Modelo predefinido de barramento."
msgid "Create a new Bus Layout."
msgstr "Criar um novo Modelo de Barramento."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Abrir Modelo de barramento de áudio"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Nome inválido."
@@ -2934,7 +2939,7 @@ msgstr "Alternar modo livre de distrações."
msgid "Add a new scene."
msgstr "Adicionar nova cena."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Cena"
@@ -5705,6 +5710,10 @@ msgid "Bake Lightmaps"
msgstr "Consolidar Lightmaps"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Selecionar ficheiro de consolidação de lightmap:"
@@ -8184,7 +8193,13 @@ msgid "Cinematic Preview"
msgstr "Pré-visualização Cinemática"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: 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."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9079,6 +9094,11 @@ msgid "Select Another Theme Resource:"
msgstr "Selecionar Outro Recurso Tema:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Renomear recurso"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr "Outro Tema"
@@ -9127,6 +9147,20 @@ msgstr ""
"atualizar as mesmas em todos os StyleBoxes deste tipo."
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr "Adicionar Tipo de Item"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Definir tipo de variável"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Mudar tipo base"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "Mostrar Predefinição"
@@ -9144,8 +9178,19 @@ msgid "Override all default type items."
msgstr "Sobrepõe todos os itens de tipo predefinido."
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr "Adicionar Tipo de Item"
+#, fuzzy
+msgid "Base Type"
+msgstr "Mudar tipo base"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9847,18 +9892,6 @@ msgid "Commit list size"
msgstr "Gravar tamanho da lista"
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr "10"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr "20"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr "30"
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr "Ramos"
@@ -12598,6 +12631,11 @@ msgid "Stack Frames"
msgstr "Empilhar Frames"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtrar Tiles"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Analisador"
@@ -13917,9 +13955,10 @@ msgstr "Nome de pacote inválido:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"Módulo inválido \"GodotPaymentV3\" incluído na configuração do projeto "
-"\"android/modules\" (alterado em Godot 3.2.2).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po
index 5d3f9ee158..410f57eb1f 100644
--- a/editor/translations/pt_BR.po
+++ b/editor/translations/pt_BR.po
@@ -9,7 +9,7 @@
# Breno Caldeira <breno.caldeira@gmail.com>, 2018.
# Francesco Perrotti-Garcia <fpg1503@gmail.com>, 2017.
# George Marques <george@gmarqu.es>, 2016.
-# Guilherme Felipe C G Silva <guilhermefelipecgs@gmail.com>, 2017, 2018, 2019.
+# Guilherme Felipe C G Silva <guilhermefelipecgs@gmail.com>, 2017, 2018, 2019, 2022.
# João Victor Lima <victordevtb@outlook.com>, 2018.
# João Vitor de Oliveira Carlos <lopogax@gmail.com>, 2018.
# Joaquim Ferreira <joaquimferreira1996@bol.com.br>, 2016, 2019, 2020.
@@ -139,8 +139,8 @@ 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-02-14 22:08+0000\n"
-"Last-Translator: PauloFRs <paulofr1@hotmail.com>\n"
+"PO-Revision-Date: 2022-03-09 08:53+0000\n"
+"Last-Translator: Guilherme Felipe C G Silva <guilhermefelipecgs@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"godot-engine/godot/pt_BR/>\n"
"Language: pt_BR\n"
@@ -148,7 +148,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.11-dev\n"
+"X-Generator: Weblate 4.12-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -1607,6 +1607,11 @@ msgstr "Carregar o Layout de Canais padrão."
msgid "Create a new Bus Layout."
msgstr "Criar um novo Layout de Canais."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Abrir Layout de Canais de Ãudio"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Nome Inválido."
@@ -2382,9 +2387,8 @@ msgid "Property:"
msgstr "Propriedade:"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Pin value"
-msgstr "Valor do pino"
+msgstr "Fixar valor"
#: editor/editor_inspector.cpp
msgid ""
@@ -3054,7 +3058,7 @@ msgstr "Alternar modo sem-distrações."
msgid "Add a new scene."
msgstr "Adicionar nova cena."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Cena"
@@ -5842,6 +5846,10 @@ msgid "Bake Lightmaps"
msgstr "Faça mapas de luz"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Selecione o arquivo de lightmap bake:"
@@ -8327,7 +8335,13 @@ msgid "Cinematic Preview"
msgstr "Pré-visualização Cinemática"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: 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 ao usar o renderizador GLES2."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9223,6 +9237,11 @@ msgid "Select Another Theme Resource:"
msgstr "Selecionar Outro Recurso de Tema:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Renomear Recurso"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr "Outro Tema"
@@ -9271,6 +9290,20 @@ msgstr ""
"atualizará as mesmas propriedades em todos os outros StyleBoxes deste tipo."
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr "Adicionar Tipo de Item"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Definir o Tipo da Variável"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Mudar Tipo Base"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "Mostrar Padrão"
@@ -9288,8 +9321,19 @@ msgid "Override all default type items."
msgstr "Substituir todos os itens do modelo padrão."
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr "Adicionar Tipo de Item"
+#, fuzzy
+msgid "Base Type"
+msgstr "Mudar Tipo Base"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9990,18 +10034,6 @@ msgid "Commit list size"
msgstr "Confirmar tamanho da lista"
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr "10"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr "20"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr "30"
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr "Ramos"
@@ -12749,6 +12781,11 @@ msgid "Stack Frames"
msgstr "Pilha de Quadros"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtros do tile"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Profilador"
@@ -14105,9 +14142,10 @@ msgstr "Nome de pacote inválido:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"Módulo \"GodotPaymentV3\" inválido incluido na configuração de projeto "
-"\"android/modules\" (alterado em Godot 3.2.2).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
diff --git a/editor/translations/ro.po b/editor/translations/ro.po
index 1c63a57d74..3b993cdffe 100644
--- a/editor/translations/ro.po
+++ b/editor/translations/ro.po
@@ -1495,6 +1495,11 @@ msgstr "Încarcă Schema de Pistă Audio implicită."
msgid "Create a new Bus Layout."
msgstr "Creaţi o Schemă nouă de Pistă Audio."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Deschide Schema Pistei Audio"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Nume nevalid."
@@ -2942,7 +2947,7 @@ msgstr "Comutează modul fără distrageri."
msgid "Add a new scene."
msgstr "Adaugă o nouă scenă."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Scenă"
@@ -5737,6 +5742,10 @@ msgid "Bake Lightmaps"
msgstr "Procesează Lightmaps"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Selectare fișier șablon pentru harta de lumină:"
@@ -8343,7 +8352,12 @@ msgid "Cinematic Preview"
msgstr "Se creează Previzualizările Mesh-ului"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9290,6 +9304,11 @@ msgstr "Ștergere resursă"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "Re-numire resursă"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "Membri"
@@ -9344,6 +9363,21 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Add Item Type"
+msgstr "Adaugă Obiect"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Modificare tip bază:"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Modificare tip bază:"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Show Default"
msgstr "Încărcați Implicit"
@@ -9362,8 +9396,18 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
-msgid "Add Item Type"
-msgstr "Adaugă Obiect"
+msgid "Base Type"
+msgstr "Modificare tip bază:"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -10113,18 +10157,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Potriviri:"
@@ -12779,6 +12811,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtrare Tiles"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -14143,6 +14180,9 @@ msgstr "Nume pachet nevalid:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/ru.po b/editor/translations/ru.po
index 77e4143911..9a79eb258a 100644
--- a/editor/translations/ru.po
+++ b/editor/translations/ru.po
@@ -107,7 +107,7 @@ 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-02-10 07:50+0000\n"
+"PO-Revision-Date: 2022-02-20 00:54+0000\n"
"Last-Translator: Danil Alexeev <danil@alexeev.xyz>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot/ru/>\n"
@@ -1575,6 +1575,11 @@ msgstr "Загрузить раÑкладку шины по умолчанию."
msgid "Create a new Bus Layout."
msgstr "Создать новую раÑкладку шины."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Открыть раÑкладку звуковой шины"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "ÐедопуÑтимое имÑ."
@@ -3021,7 +3026,7 @@ msgstr "Переключить режим без отвлечениÑ."
msgid "Add a new scene."
msgstr "Добавить новую Ñцену."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Сцена"
@@ -3395,14 +3400,12 @@ msgid "Update Continuously"
msgstr "Ðепрерывное обновление"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update All Changes"
-msgstr "ОбновлÑÑ‚ÑŒ при изменениÑÑ…"
+msgstr "ОбновлÑÑ‚ÑŒ при любых изменениÑÑ…"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Changes"
-msgstr "Материалов изменено:"
+msgstr "ОбновлÑÑ‚ÑŒ при важных изменениÑÑ…"
#: editor/editor_node.cpp
msgid "Hide Update Spinner"
@@ -4179,6 +4182,11 @@ 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 ""
@@ -5792,6 +5800,10 @@ msgid "Bake Lightmaps"
msgstr "Запекать карты оÑвещениÑ"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Выберите файл Ð·Ð°Ð¿ÐµÐºÐ°Ð½Ð¸Ñ ÐºÐ°Ñ€Ñ‚Ñ‹ оÑвещениÑ:"
@@ -8274,7 +8286,13 @@ msgid "Cinematic Preview"
msgstr "КинематографичеÑкий предварительный проÑмотр"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "ÐедоÑтупно при иÑпользовании рендерера GLES2."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9172,6 +9190,11 @@ msgid "Select Another Theme Resource:"
msgstr "Выбрать другой реÑÑƒÑ€Ñ Ñ‚ÐµÐ¼Ñ‹:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Переименовать реÑурÑ"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr "Ð”Ñ€ÑƒÐ³Ð°Ñ Ñ‚ÐµÐ¼Ð°"
@@ -9221,6 +9244,20 @@ msgstr ""
"Ñтого типа."
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr "Добавить тип Ñлемента"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "УÑтановить тип переменной"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Изменить базовый тип"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "Показать по умолчанию"
@@ -9239,8 +9276,19 @@ msgid "Override all default type items."
msgstr "Переопределить вÑе Ñлементы типа по умолчанию."
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr "Добавить тип Ñлемента"
+#, fuzzy
+msgid "Base Type"
+msgstr "Изменить базовый тип"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9942,18 +9990,6 @@ msgid "Commit list size"
msgstr "Размер ÑпиÑка коммитов"
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr "10"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr "20"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr "30"
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr "Ветки"
@@ -12704,6 +12740,11 @@ msgid "Stack Frames"
msgstr "Стек"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Фильтр тайлов"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Профайлер"
@@ -12878,14 +12919,12 @@ 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 "Задать положение точки отверÑÑ‚Ð¸Ñ Ð¾ÐºÐºÐ»ÑŽÐ´ÐµÑ€Ð°"
#: modules/csg/csg_gizmos.cpp
msgid "Change Cylinder Radius"
@@ -14020,9 +14059,10 @@ msgstr "ÐедопуÑтимое Ð¸Ð¼Ñ Ð¿Ð°ÐºÐµÑ‚Ð°:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"ÐедопуÑтимый модуль «GodotPaymentV3», включенный в наÑтройку проекта "
-"«android/modules» (изменен в Godot 3.2.2).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
@@ -14282,166 +14322,167 @@ msgstr "Ошибка запуÑка HTTP-Ñервера:"
#: platform/osx/export/codesign.cpp
msgid "Can't get filesystem access."
-msgstr ""
+msgstr "Ðе удаётÑÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ доÑтуп к файловой ÑиÑтеме."
#: platform/osx/export/codesign.cpp
msgid "Failed to get Info.plist hash."
-msgstr ""
+msgstr "Ðе удалоÑÑŒ получить хеш Info.plist."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, no exe name."
-msgstr "ÐедопуÑтимое Ð¸Ð¼Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð°."
+msgstr "ÐедопуÑтимый Info.plist, нет имени exe."
#: platform/osx/export/codesign.cpp
msgid "Invalid Info.plist, no bundle id."
-msgstr ""
+msgstr "ÐедопуÑтимый Info.plist, нет id пакета."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, can't load."
-msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ, Ð½ÐµÐ»ÑŒÐ·Ñ Ñоздать полигональную Ñетку."
+msgstr "ÐедопуÑтимый Info.plist, не удаётÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ñ‚ÑŒ."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to create \"%s\" subfolder."
-msgstr "Ðевозможно Ñоздать папку."
+msgstr "Ðе удалоÑÑŒ Ñоздать подпапку «%s»."
#: platform/osx/export/codesign.cpp
msgid "Failed to extract thin binary."
-msgstr ""
+msgstr "Ðе удалоÑÑŒ раÑпаковать двоичный файл."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid binary format."
-msgstr "ÐедопуÑтимый базовый путь."
+msgstr "ÐедопуÑтимый двоичный формат."
#: platform/osx/export/codesign.cpp
msgid "Already signed!"
-msgstr ""
+msgstr "Уже подпиÑано!"
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to process nested resources."
-msgstr "Ðе удалоÑÑŒ загрузить реÑурÑ."
+msgstr "Ðе удалоÑÑŒ обработать вложенные реÑурÑÑ‹."
#: platform/osx/export/codesign.cpp
msgid "Failed to create _CodeSignature subfolder."
-msgstr ""
+msgstr "Ðе удалоÑÑŒ Ñоздать подпапку _CodeSignature."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to get CodeResources hash."
-msgstr "Ðе удалоÑÑŒ загрузить реÑурÑ."
+msgstr "Ðе удалоÑÑŒ получить хеш CodeResources."
#: platform/osx/export/codesign.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Invalid entitlements file."
-msgstr "ÐедопуÑтимое раÑширение."
+msgstr "ÐедопуÑтимый файл прав."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid executable file."
-msgstr "ÐедопуÑтимое раÑширение."
+msgstr "ÐедопуÑтимый иÑполнÑемый файл."
#: platform/osx/export/codesign.cpp
msgid "Can't resize signature load command."
-msgstr ""
+msgstr "Ðе удаётÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ размер команды загрузки подпиÑи."
#: platform/osx/export/codesign.cpp
msgid "Failed to create fat binary."
-msgstr ""
+msgstr "Ðе удалоÑÑŒ Ñоздать большой двоичный файл."
#: platform/osx/export/codesign.cpp
msgid "Unknown bundle type."
-msgstr ""
+msgstr "ÐеизвеÑтный тип пакета."
#: platform/osx/export/codesign.cpp
msgid "Unknown object type."
-msgstr ""
+msgstr "ÐеизвеÑтный тип объекта."
#: platform/osx/export/export.cpp
msgid ""
"Note: The notarization process generally takes less than an hour. When the "
"process is completed, you'll receive an email."
msgstr ""
+"Примечание: ПроцеÑÑ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾ занимает менее чаÑа. Когда процеÑÑ "
+"завершитÑÑ, вы получите Ñлектронное пиÑьмо."
#: platform/osx/export/export.cpp
msgid ""
"You can check progress manually by opening a Terminal and running the "
"following command:"
msgstr ""
+"Ð’Ñ‹ можете проверить ход Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ, открыв терминал и выполнив "
+"Ñледующую команду:"
#: platform/osx/export/export.cpp
msgid ""
"Run the following command to staple the notarization ticket to the exported "
"application (optional):"
msgstr ""
+"Выполните Ñледующую команду, чтобы прикрепить заÑвку на подтверждение к "
+"ÑкÑпортированному приложению (необÑзательно):"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "No identity found."
-msgstr "Иконки не найдены."
+msgstr "Identity не найдена."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Creating app bundle"
-msgstr "Создание ÑÑкизов"
+msgstr "Создание пакета приложениÑ"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Could not find template app to export:"
-msgstr ""
-"Ðе удалоÑÑŒ найти шаблон APK Ð´Ð»Ñ ÑкÑпорта:\n"
-"%s"
+msgstr "Ðе удалоÑÑŒ найти шаблон Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑкÑпорта:"
#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
msgstr ""
+"ОтноÑительные ÑимволичеÑкие ÑÑылки не поддерживаютÑÑ Ð² Ñтой ОС, "
+"ÑкÑпортируемый проект может быть повреждён!"
#: platform/osx/export/export.cpp
msgid ""
"Requested template binary '%s' not found. It might be missing from your "
"template archive."
msgstr ""
+"Запрошенный двоичный файл шаблона «%s» не найден. Он может отÑутÑтвовать в "
+"вашем архиве шаблонов."
#: platform/osx/export/export.cpp
msgid "Making PKG"
-msgstr ""
+msgstr "Создание PKG"
#: platform/osx/export/export.cpp
msgid ""
"Ad-hoc signed applications require the 'Disable Library Validation' "
"entitlement to load dynamic libraries."
msgstr ""
+"Ð”Ð»Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñанных ad-hoc приложений требуетÑÑ Ð¿Ñ€Ð°Ð²Ð¾ «Отключить проверку "
+"библиотеки» Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ динамичеÑких библиотек."
#: platform/osx/export/export.cpp
msgid "Code signing bundle"
-msgstr ""
+msgstr "ПодпиÑÑŒ кода пакета"
#: platform/osx/export/export.cpp
msgid "Making DMG"
-msgstr ""
+msgstr "Создание DMG"
#: platform/osx/export/export.cpp
msgid "Code signing DMG"
-msgstr ""
+msgstr "ПодпиÑÑŒ кода DMG"
#: platform/osx/export/export.cpp
msgid "Making ZIP"
-msgstr ""
+msgstr "Создание ZIP"
#: platform/osx/export/export.cpp
msgid ""
"Notarization requires the app to be archived first, select the DMG or ZIP "
"export format instead."
msgstr ""
+"Подтверждение требует, чтобы приложение было Ñначала архивировано, вмеÑто "
+"Ñтого выберите формат ÑкÑпорта DMG или ZIP."
#: platform/osx/export/export.cpp
msgid "Sending archive for notarization"
-msgstr ""
+msgstr "Отправка архива Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ"
#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
@@ -14452,31 +14493,35 @@ msgid ""
"Warning: Built-in \"codesign\" is selected in the Editor Settings. Code "
"signing is limited to ad-hoc signature only."
msgstr ""
+"Предупреждение: Ð’ наÑтройках редактора выбран вÑтроенный «codesign». "
+"ПодпиÑание кода ограничено только подпиÑью 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 ""
+"Предупреждение: инÑтрументы командной Ñтроки Xcode не уÑтановлены, "
+"иÑпользуетÑÑ Ð²Ñтроенный «codesign». ПодпиÑание кода ограничено только "
+"подпиÑью ad-hoc."
#: platform/osx/export/export.cpp
msgid "Notarization: Notarization with an ad-hoc signature is not supported."
-msgstr ""
+msgstr "Подтверждение: Подтверждение подпиÑью ad-hoc не поддерживаетÑÑ."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Code signing is required for notarization."
-msgstr "Предупреждение: требуетÑÑ Ð¿Ð¾Ð´Ð¿Ð¸Ñание кода."
+msgstr "Подтверждение: Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ÑÑ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑŒ кода."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Hardened runtime is required for notarization."
-msgstr "Предупреждение: требуетÑÑ ÑƒÑиленный рантайм."
+msgstr ""
+"Подтверждение: Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ÑÑ Ð·Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ð°Ñ Ñреда выполнениÑ."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Timestamp runtime is required for notarization."
-msgstr "Предупреждение: требуетÑÑ ÑƒÑиленный рантайм."
+msgstr ""
+"Подтверждение: Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ÑÑ Ð¼ÐµÑ‚ÐºÐ° времени Ñреды выполнениÑ."
#: platform/osx/export/export.cpp
msgid "Notarization: Apple ID name not specified."
@@ -14491,63 +14536,84 @@ msgid ""
"Warning: Notarization is disabled. The exported project will be blocked by "
"Gatekeeper if it's downloaded from an unknown source."
msgstr ""
+"Предупреждение: Подтверждение отключено. ЭкÑпортированный проект будет "
+"заблокирован Gatekeeper, еÑли он загружен из неизвеÑтного иÑточника."
#: 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 ""
+"ПодпиÑание кода отключено. ЭкÑпортированный проект не будет работать на "
+"компьютерах Mac Ñ Ð²ÐºÐ»ÑŽÑ‡Ñ‘Ð½Ð½Ñ‹Ð¼ Gatekeeper и компьютерах Mac Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑором "
+"Apple Silicon."
#: platform/osx/export/export.cpp
msgid ""
"Hardened Runtime is not compatible with ad-hoc signature, and will be "
"disabled!"
msgstr ""
+"Ð—Ð°Ñ‰Ð¸Ñ‰Ñ‘Ð½Ð½Ð°Ñ Ñреда Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½ÐµÑовмеÑтима Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñью ad-hoc и будет отключена!"
#: platform/osx/export/export.cpp
msgid ""
"Timestamping is not compatible with ad-hoc signature, and will be disabled!"
-msgstr ""
+msgstr "Временные метки не ÑовмеÑтимы Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñью ad-hoc и будут отключены!"
#: 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 ""
+"Предупреждение: Подтверждение не поддерживаетÑÑ Ð² Ñтой ОС. ЭкÑпортированный "
+"проект будет заблокирован Gatekeeper, еÑли он загружен из неизвеÑтного "
+"иÑточника."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Microphone access is enabled, but usage description is not "
"specified."
msgstr ""
+"КонфиденциальноÑÑ‚ÑŒ: ДоÑтуп к микрофону включён, но опиÑание иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ "
+"указано."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Camera access is enabled, but usage description is not specified."
msgstr ""
+"КонфиденциальноÑÑ‚ÑŒ: ДоÑтуп к камере включён, но опиÑание иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ "
+"указано."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Location information access is enabled, but usage description is "
"not specified."
msgstr ""
+"КонфиденциальноÑÑ‚ÑŒ: ДоÑтуп к информации о меÑтоположении включён, но "
+"опиÑание иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ указано."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Address book access is enabled, but usage description is not "
"specified."
msgstr ""
+"КонфиденциальноÑÑ‚ÑŒ: ДоÑтуп к адреÑной книге включён, но опиÑание "
+"иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ указано."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Calendar access is enabled, but usage description is not specified."
msgstr ""
+"КонфиденциальноÑÑ‚ÑŒ: ДоÑтуп к календарю включён, но опиÑание иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ "
+"указано."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Photo library access is enabled, but usage description is not "
"specified."
msgstr ""
+"КонфиденциальноÑÑ‚ÑŒ: ДоÑтуп к библиотеке фотографий включён, но опиÑание "
+"иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ указано."
#: platform/uwp/export/export.cpp
msgid "Invalid package short name."
@@ -14606,21 +14672,20 @@ msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
msgstr ""
+"ИнÑтрумент rcedit должен быть наÑтроен в ÐаÑтройках редактора (Export > "
+"Windows > Rcedit) Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐºÐ° или информационных данных приложениÑ."
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid icon path:"
-msgstr "ÐедопуÑтимый путь."
+msgstr "ÐедопуÑтимый путь к иконке:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid file version:"
-msgstr "ÐедопуÑтимое раÑширение."
+msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ñ„Ð°Ð¹Ð»Ð°:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid product version:"
-msgstr "Ðеверный GUID продукта."
+msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ‚Ð°:"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -15360,14 +15425,13 @@ msgid "This node has been deprecated. Use AnimationTree instead."
msgstr "Этот узел был удален. ВмеÑто Ñтого иÑпользуйте AnimationTree."
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid ""
"Color: #%s\n"
"LMB: Apply color\n"
"RMB: Remove preset"
msgstr ""
"Цвет: #%s\n"
-"ЛКМ: УÑтановить цвет\n"
+"ЛКМ: Применить цвет\n"
"ПКМ: Удалить преÑет"
#: scene/gui/color_picker.cpp
diff --git a/editor/translations/si.po b/editor/translations/si.po
index 178bcfdfad..e875e8e5bf 100644
--- a/editor/translations/si.po
+++ b/editor/translations/si.po
@@ -1463,6 +1463,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2819,7 +2823,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5480,6 +5484,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7928,7 +7936,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8815,6 +8828,10 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme Resource"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8862,6 +8879,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -8878,7 +8907,17 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9566,18 +9605,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12154,6 +12181,10 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Filter stack variables"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13458,6 +13489,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/sk.po b/editor/translations/sk.po
index d502613ca1..2f561af326 100644
--- a/editor/translations/sk.po
+++ b/editor/translations/sk.po
@@ -1488,6 +1488,11 @@ msgstr "NaÄítaÅ¥ základný Bus Layout."
msgid "Create a new Bus Layout."
msgstr "Vytvoriť nový Bus Layout."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Otvoriť Audio Bus Layout"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Neplatný Názov."
@@ -2932,7 +2937,7 @@ msgstr "Prepnúť režim bez rozptyľovania."
msgid "Add a new scene."
msgstr "Pridať novú scénu."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Scéna"
@@ -5717,6 +5722,10 @@ msgid "Bake Lightmaps"
msgstr "Bake Lightmaps"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "Vybrať Súbor Šablóny"
@@ -8258,7 +8267,12 @@ msgid "Cinematic Preview"
msgstr "Filmové Predzobrazenie"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9197,6 +9211,11 @@ msgstr "Hľadať Náhradný Zdroj:"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "Prostriedok"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "Súbor:"
@@ -9249,6 +9268,20 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Zmeniť %s Typ"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Zmeniť %s Typ"
+
+#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Show Default"
msgstr "NaÄítaÅ¥ predvolené"
@@ -9267,7 +9300,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "Zmeniť %s Typ"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -10022,18 +10066,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Zhody:"
@@ -12678,6 +12710,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filter:"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -14043,6 +14080,9 @@ msgstr "Nesprávna veľkosť písma."
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/sl.po b/editor/translations/sl.po
index 551b2a5c91..baa466cb84 100644
--- a/editor/translations/sl.po
+++ b/editor/translations/sl.po
@@ -1549,6 +1549,11 @@ msgstr "Naloži prevezeto Postavitev Vodila."
msgid "Create a new Bus Layout."
msgstr "Ustvari novo Postavitev Vodila."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Odpri ZvoÄno Vodilo"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Neveljavno ime."
@@ -3036,7 +3041,7 @@ msgstr "Preklop naÄin pisanja brez motenj."
msgid "Add a new scene."
msgstr "Dodaj nov Prizor."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Prizor"
@@ -5922,6 +5927,10 @@ msgid "Bake Lightmaps"
msgstr "ZapeÄi Svetlobne karte"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "Izberi datoteko predloge"
@@ -8525,7 +8534,12 @@ msgid "Cinematic Preview"
msgstr "Ustvari Predogled Modela"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9477,6 +9491,11 @@ msgstr "Iskanje Nadomestnih Virov:"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "Viri"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "ÄŒlani"
@@ -9528,6 +9547,20 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Nastavite Tip Spremenljivke"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Spremeni Osnovni Tip"
+
+#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Show Default"
msgstr "Naložite Prevzeto"
@@ -9545,7 +9578,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "Spremeni Osnovni Tip"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -10306,18 +10350,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Zadetki:"
@@ -13018,6 +13050,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtriraj datoteke..."
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -14399,6 +14436,9 @@ msgstr "Neveljavno ime."
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/sq.po b/editor/translations/sq.po
index b4115a9c60..83fbc22055 100644
--- a/editor/translations/sq.po
+++ b/editor/translations/sq.po
@@ -1485,6 +1485,11 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Faqosja e Editorit"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Emër i palejuar."
@@ -2975,7 +2980,7 @@ msgstr "Ndrysho metodën pa shpërqëndrime."
msgid "Add a new scene."
msgstr "Shto një skenë të re."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Skenë"
@@ -5774,6 +5779,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "Zgjidh skedarin e shabllonit"
@@ -8263,7 +8272,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9191,6 +9205,11 @@ msgid "Select Another Theme Resource:"
msgstr "Kërko Resursin Zëvendësues:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Resursi"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -9241,6 +9260,20 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Ndrysho Tipin e %s"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Ndrysho Tipin e %s"
+
+#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Show Default"
msgstr "Ngarko të Parazgjedhur"
@@ -9259,7 +9292,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "Ndrysho Tipin e %s"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9967,18 +10011,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Përputhjet:"
@@ -12619,6 +12651,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtro Skedarët..."
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13960,6 +13997,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po
index fab8794167..b536e1999d 100644
--- a/editor/translations/sr_Cyrl.po
+++ b/editor/translations/sr_Cyrl.po
@@ -1607,6 +1607,11 @@ msgstr "Учитај уобичајен Ð±Ð°Ñ Ñ€Ð°Ñпоред."
msgid "Create a new Bus Layout."
msgstr "Ðаправи нови Ð±Ð°Ñ Ñ€Ð°Ñпоред."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Отвори раÑпоред звучног баÑа"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Ðеважеће име."
@@ -3157,7 +3162,7 @@ msgstr "Укљ./ИÑкљ. режим без Ñметње."
msgid "Add a new scene."
msgstr "Додај нову Ñцену."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Сцена"
@@ -6190,6 +6195,10 @@ msgid "Bake Lightmaps"
msgstr "Изпеци МапеСенчења"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "Одабери шаблонÑку датотеку"
@@ -8961,8 +8970,13 @@ msgid "Cinematic Preview"
msgstr "Ðаправи приказ мрежа"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
-msgid "Not available when using the GLES2 renderer."
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "ÐедоÑтупно кад кориÑтиш GLES2 изцртавање."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9955,6 +9969,11 @@ msgstr "Обриши реÑурÑ"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "Преименуј реÑурÑ"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "Увези тему"
@@ -10009,6 +10028,21 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Add Item Type"
+msgstr "Додај Ñтвар"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "ПоÑтави Ð’Ñ€Ñту Променљиве"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Измени уобичајен тип"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Show Default"
msgstr "Учитај уобичајено"
@@ -10027,8 +10061,18 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
-msgid "Add Item Type"
-msgstr "Додај Ñтвар"
+msgid "Base Type"
+msgstr "Промени Тип"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -10850,18 +10894,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Подударање:"
@@ -14106,6 +14138,11 @@ msgstr "ÐаÑлага Фрејмова"
#: editor/script_editor_debugger.cpp
#, fuzzy
+msgid "Filter stack variables"
+msgstr "Филтрирај датотеке..."
+
+#: editor/script_editor_debugger.cpp
+#, fuzzy
msgid "Profiler"
msgstr "ОÑматрач"
@@ -15630,6 +15667,9 @@ msgstr "Ðеважеће име паковања:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po
index e4a6a62ec9..fb9a577739 100644
--- a/editor/translations/sr_Latn.po
+++ b/editor/translations/sr_Latn.po
@@ -6,13 +6,14 @@
# BLu <blmasfon@gmail.com>, 2018.
# Vojislav Bajakic <ch3d4.ns@gmail.com>, 2018.
# LT <lakizvezdas@gmail.com>, 2019.
+# Marko Mihajlović <creationsmarko@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: 2019-07-29 19:21+0000\n"
-"Last-Translator: LT <lakizvezdas@gmail.com>\n"
+"PO-Revision-Date: 2022-02-26 10:27+0000\n"
+"Last-Translator: Marko Mihajlović <creationsmarko@gmail.com>\n"
"Language-Team: Serbian (latin) <https://hosted.weblate.org/projects/godot-"
"engine/godot/sr_Latn/>\n"
"Language: sr_Latn\n"
@@ -21,78 +22,78 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.8-dev\n"
+"X-Generator: Weblate 4.11.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
+msgstr "Nevažeći tip argumenta za convert(), koristi TYPE_* konstante."
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
msgid "Expected a string of length 1 (a character)."
-msgstr ""
+msgstr "OÄekivana niska dužine 1 (karakter)."
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/mono/glue/gd_glue.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
+msgstr "Nema dovoljno bajtova za dekodiranje bajtova, ili nevažeći format."
#: core/math/expression.cpp
msgid "Invalid input %i (not passed) in expression"
-msgstr ""
+msgstr "Nevažeći unos %i (nije prenesen) u izrazu"
#: core/math/expression.cpp
msgid "self can't be used because instance is null (not passed)"
-msgstr ""
+msgstr "self ne može biti korišćen jer je instanca null (nije prosledjena)"
#: core/math/expression.cpp
msgid "Invalid operands to operator %s, %s and %s."
-msgstr ""
+msgstr "Nedozvoljen operand do operatora %s, %s i %s."
#: core/math/expression.cpp
msgid "Invalid index of type %s for base type %s"
-msgstr ""
+msgstr "Nedozvoljen indeks tipa %s za bazu tipa %s"
#: core/math/expression.cpp
msgid "Invalid named index '%s' for base type %s"
-msgstr ""
+msgstr "Nedozvoljeno imenovan indeks '%s' za bazu tipa %s"
#: core/math/expression.cpp
msgid "Invalid arguments to construct '%s'"
-msgstr ""
+msgstr "Neispravni argumenti za konstrukciju '%s'"
#: core/math/expression.cpp
msgid "On call to '%s':"
-msgstr ""
+msgstr "Pri pozivu '%s':"
#: core/ustring.cpp
msgid "B"
-msgstr ""
+msgstr "B"
#: core/ustring.cpp
msgid "KiB"
-msgstr ""
+msgstr "KiB"
#: core/ustring.cpp
msgid "MiB"
-msgstr ""
+msgstr "MiB"
#: core/ustring.cpp
msgid "GiB"
-msgstr ""
+msgstr "Gib"
#: core/ustring.cpp
msgid "TiB"
-msgstr ""
+msgstr "Tib"
#: core/ustring.cpp
msgid "PiB"
-msgstr ""
+msgstr "PiB"
#: core/ustring.cpp
msgid "EiB"
-msgstr ""
+msgstr "EiB"
#: editor/animation_bezier_editor.cpp
msgid "Free"
@@ -120,7 +121,7 @@ msgstr "Dodaj kljuÄ ovde"
#: editor/animation_bezier_editor.cpp
msgid "Duplicate Selected Key(s)"
-msgstr "Dupliraj Selektovane KljuÄeve"
+msgstr "Dupliraj Obeležene KljuÄeve"
#: editor/animation_bezier_editor.cpp
msgid "Delete Selected Key(s)"
@@ -136,56 +137,51 @@ msgstr "Pomeri Bezier TaÄke"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Duplicate Keys"
-msgstr "Animacija Uduplaj KljuÄeve"
+msgstr "Anim Dupliraj KljuÄeve"
#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Delete Keys"
-msgstr "Animacija ObriÅ¡i KljuÄeve"
+msgstr "Anim ObriÅ¡i KljuÄeve"
#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
-msgstr "Animacija Promjeni Vrijeme KljuÄnog Kadra"
+msgstr "Animacija Promeni Vreme KljuÄnog Kadra"
#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
-msgstr "Animacija Promjeni Tranziciju"
+msgstr "Anim Promeni Prelaz"
#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
-msgstr "Animacija Promjeni Transformaciju"
+msgstr "Anim Promeni Transformaciju"
#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
-msgstr "Animacija Promjeni Vrijednost KljuÄnog Kadra"
+msgstr "Animacija Promeni Vrednost KljuÄnog Kadra"
#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
-msgstr "Animacija Promjeni Poziv"
+msgstr "Anim Promjeni Poziv"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Multi Change Keyframe Time"
-msgstr "Animacija Promjeni Vrijeme KljuÄnog Kadra"
+msgstr "Anim Promeni Vremena KljuÄnih Kadrova"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Multi Change Transition"
-msgstr "Animacija Promjeni Tranziciju"
+msgstr "Anim Promeni Tranzicije"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Multi Change Transform"
-msgstr "Animacija Promjeni Transformaciju"
+msgstr "Anim Promeni Transformacije"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Multi Change Keyframe Value"
-msgstr "Animacija Promjeni Vrijednost KljuÄnog Kadra"
+msgstr "Anim Promeni Vrednost KljuÄnih Kadrova"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Multi Change Call"
-msgstr "Animacija Promjeni Poziv"
+msgstr "Anim Promeni Pozive"
#: editor/animation_track_editor.cpp
msgid "Change Animation Length"
@@ -194,52 +190,50 @@ msgstr "Promeni Dužinu Animacije"
#: editor/animation_track_editor.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Change Animation Loop"
-msgstr ""
+msgstr "Promeni Ponavljanje Animacije"
#: editor/animation_track_editor.cpp
msgid "Property Track"
-msgstr ""
+msgstr "Osobine Trake"
#: editor/animation_track_editor.cpp
msgid "3D Transform Track"
-msgstr ""
+msgstr "3D Transformacija trake"
#: editor/animation_track_editor.cpp
msgid "Call Method Track"
-msgstr ""
+msgstr "Traka Poziva Metoda"
#: editor/animation_track_editor.cpp
msgid "Bezier Curve Track"
-msgstr ""
+msgstr "Traka Bezier krive"
#: editor/animation_track_editor.cpp
msgid "Audio Playback Track"
-msgstr "Audio Plejbek Traka"
+msgstr "Audio Reprodukciona Traka"
#: editor/animation_track_editor.cpp
msgid "Animation Playback Track"
-msgstr "Animacija Plejbek Traka"
+msgstr "Animacija Reprodukciona Traka"
#: editor/animation_track_editor.cpp
msgid "Animation length (frames)"
-msgstr "Dužina Animacije (frames)"
+msgstr "Dužina Animacije (frejmova)"
#: editor/animation_track_editor.cpp
msgid "Animation length (seconds)"
-msgstr "Dužina Animacije (secunde)"
+msgstr "Dužina animacije (sekunde)"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Add Track"
msgstr "Dodaj Traku"
#: editor/animation_track_editor.cpp
msgid "Animation Looping"
-msgstr ""
+msgstr "Ponavljanje Animacije"
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Functions:"
msgstr "Funkcije:"
@@ -248,34 +242,32 @@ msgid "Audio Clips:"
msgstr "Audio Klipovi:"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Clips:"
msgstr "Anim Klipovi:"
#: editor/animation_track_editor.cpp
msgid "Change Track Path"
-msgstr ""
+msgstr "Izmeni Mesto Trake"
#: editor/animation_track_editor.cpp
msgid "Toggle this track on/off."
-msgstr ""
+msgstr "UkljuÄi/iskljuÄi ovu traku."
#: editor/animation_track_editor.cpp
msgid "Update Mode (How this property is set)"
-msgstr ""
+msgstr "NaÄin Ažuriranja (Kako je ova osobina postavljena)"
#: editor/animation_track_editor.cpp
msgid "Interpolation Mode"
-msgstr ""
+msgstr "NaÄin Interpolacije"
#: editor/animation_track_editor.cpp
msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
-msgstr ""
+msgstr "Režim Umotanog Ponavljanja (MeÅ¡a kraj sa poÄetkom pri ponavljanju)"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Remove this track."
-msgstr "Odstrani Kanal Animacije"
+msgstr "Ukloni ovu traku."
#: editor/animation_track_editor.cpp
msgid "Time (s): "
@@ -283,7 +275,7 @@ msgstr "Vreme (s): "
#: editor/animation_track_editor.cpp
msgid "Toggle Track Enabled"
-msgstr ""
+msgstr "Umogući/Onemogući Traku"
#: editor/animation_track_editor.cpp
msgid "Continuous"
@@ -299,12 +291,11 @@ msgstr "OkidaÄ"
#: editor/animation_track_editor.cpp
msgid "Capture"
-msgstr ""
+msgstr "Ulovi"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Nearest"
-msgstr "Najbliže"
+msgstr "Najbliža"
#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
@@ -313,62 +304,57 @@ msgstr "Linearna"
#: editor/animation_track_editor.cpp
msgid "Cubic"
-msgstr ""
+msgstr "Kubno"
#: editor/animation_track_editor.cpp
msgid "Clamp Loop Interp"
-msgstr ""
+msgstr "OgraniÄi Interp Ponavljanja"
#: editor/animation_track_editor.cpp
msgid "Wrap Loop Interp"
-msgstr ""
+msgstr "Interp Umotanog Ponavljanja"
#: editor/animation_track_editor.cpp
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key"
-msgstr ""
+msgstr "Unesi KljuÄ"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Duplicate Key(s)"
-msgstr "Dupliraj KljuÄeve"
+msgstr "Dupliraj KljuÄ(eve)"
#: editor/animation_track_editor.cpp
msgid "Add RESET Value(s)"
-msgstr ""
+msgstr "Dodaj RESET Vrednost(i)"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Delete Key(s)"
-msgstr "ObriÅ¡i KljuÄeve"
+msgstr "ObriÅ¡i KljuÄ(eve)"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Change Animation Update Mode"
-msgstr "Promijeni Dužinu Animacije"
+msgstr "Promijeni NaÄin Ažuriranja Animacije"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Change Animation Interpolation Mode"
-msgstr "Promijeni Dužinu Animacije"
+msgstr "Promeni naÄin Interpolacije Animacije"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Change Animation Loop Mode"
-msgstr "Optimizuj Animaciju"
+msgstr "Promeni NaÄin Ponavljanja Animacije"
#: editor/animation_track_editor.cpp
msgid "Remove Anim Track"
-msgstr "Odstrani Kanal Animacije"
+msgstr "Ukloni Anim Traku"
#. 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 "Napravi Novi kanal za %s i dodaj kljuÄ?"
+msgstr "Napravi NOVU traku za %s i dodaj kljuÄ?"
#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
-msgstr "Napravi %d novih kanala i dodaj kljuÄeve?"
+msgstr "Napravi %d NOVIH traka i dodaj kljuÄeve?"
#: editor/animation_track_editor.cpp editor/create_dialog.cpp
#: editor/editor_audio_buses.cpp editor/editor_feature_profile.cpp
@@ -385,52 +371,51 @@ msgstr "Napravi"
#: editor/animation_track_editor.cpp
msgid "Anim Insert"
-msgstr "Animacija Umetni"
+msgstr "Anim Ubaci"
#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
#: editor/animation_track_editor.cpp
msgid "node '%s'"
-msgstr ""
+msgstr "Ävor '%s'"
#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "animation"
-msgstr "Optimizuj Animaciju"
+msgstr "Animacija"
#: editor/animation_track_editor.cpp
msgid "AnimationPlayer can't animate itself, only other players."
-msgstr ""
+msgstr "Plejer Animacija ne može animirati sebe, samo druge plejere."
#. TRANSLATORS: This describes the target of new animation track, will be inserted into another string.
#: editor/animation_track_editor.cpp
msgid "property '%s'"
-msgstr ""
+msgstr "Osobina '%s'"
#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
-msgstr "Animacija Napravi i Dodaj"
+msgstr "Anim Napravi i Ubaci"
#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
-msgstr "Animacija Dodaj kanal i kljuÄ"
+msgstr "Anim Ubaci Traku i KljuÄ"
#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
-msgstr "Animacija dodaj kljuÄ"
+msgstr "Anim Ubaci KljuÄ"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Change Animation Step"
-msgstr "PoÄisti Animaciju"
+msgstr "Promeni Korake Animacije"
#: editor/animation_track_editor.cpp
msgid "Rearrange Tracks"
-msgstr ""
+msgstr "Rasporedi Trake"
#: editor/animation_track_editor.cpp
msgid "Transform tracks only apply to Spatial-based nodes."
msgstr ""
+"Transformacione trake primenjuju se samo na Prostorno-baziranim Ävorovima."
#: editor/animation_track_editor.cpp
msgid ""
@@ -439,66 +424,67 @@ msgid ""
"-AudioStreamPlayer2D\n"
"-AudioStreamPlayer3D"
msgstr ""
+"Audio trake mogu da upute samo na Ävorove tipa:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
#: editor/animation_track_editor.cpp
msgid "Animation tracks can only point to AnimationPlayer nodes."
-msgstr ""
+msgstr "Animacione trake mogu da upute samo na AnimationPlayer Ävorove."
#: editor/animation_track_editor.cpp
msgid "Not possible to add a new track without a root"
-msgstr ""
+msgstr "Nije moguće dodati novu traku bez korena"
#: editor/animation_track_editor.cpp
msgid "Invalid track for Bezier (no suitable sub-properties)"
-msgstr ""
+msgstr "Nevažeća traka za Bezier (nema pogodnih pod-osobina)"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Add Bezier Track"
-msgstr "Dodaj Bezier Kanal"
+msgstr "Dodaj Bezier Traku"
#: editor/animation_track_editor.cpp
msgid "Track path is invalid, so can't add a key."
-msgstr ""
+msgstr "Mesto trake je nevažeće, ne može se dodati kljuÄ."
#: editor/animation_track_editor.cpp
msgid "Track is not of type Spatial, can't insert key"
-msgstr ""
+msgstr "Traka nije Prostornog tipa, ne može se dodati kljuÄ"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Add Transform Track Key"
-msgstr "Animacija Dodaj kanal i kljuÄ"
+msgstr "Dodaj kljuÄ transformacione trake"
#: editor/animation_track_editor.cpp
msgid "Add Track Key"
-msgstr "Dodaj Kljuc Kanal"
+msgstr "Dodaj Kljuc u Traku"
#: editor/animation_track_editor.cpp
msgid "Track path is invalid, so can't add a method key."
-msgstr ""
+msgstr "Mesto trake je nevažeće, ne može se dodati kljuÄ metode."
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Add Method Track Key"
-msgstr "Animacija Dodaj kanal i kljuÄ"
+msgstr "Dodaj KljuÄ Metodne Trake"
#: editor/animation_track_editor.cpp
msgid "Method not found in object: "
-msgstr ""
+msgstr "Metod nije nađen u objektu: "
#: editor/animation_track_editor.cpp
msgid "Anim Move Keys"
-msgstr "Animacija Pomjeri KljuÄeve"
+msgstr "Anim Pomeri KljuÄeve"
#: editor/animation_track_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Clipboard is empty!"
-msgstr ""
+msgstr "Klipbord je prazan!"
#: editor/animation_track_editor.cpp
msgid "Paste Tracks"
-msgstr ""
+msgstr "Zalepi Trake"
#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
@@ -507,12 +493,11 @@ msgstr "Animacija Skaliraj KljuÄeve"
#: editor/animation_track_editor.cpp
msgid ""
"This option does not work for Bezier editing, as it's only a single track."
-msgstr ""
+msgstr "Ova opcija ne radi za Bezier obradu, jer je jedna traka."
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Anim Add RESET Keys"
-msgstr "Animacija Skaliraj KljuÄeve"
+msgstr "Anim Dodaj RESET KljuÄeve"
#: editor/animation_track_editor.cpp
msgid ""
@@ -526,39 +511,48 @@ msgid ""
"Alternatively, use an import preset that imports animations to separate "
"files."
msgstr ""
+"Ova animacija pripada uvezenoj sceni, pa promene na uvezenim trakama neće "
+"biti saÄuvane.\n"
+"\n"
+"Da omogućiš sposobnost dodavanja prilagođenih traka, uputi se ka uvoznim "
+"podešavanjima scene i postavi\n"
+"\"Animacija > Skladište\" u \"Datoteke\", omogući \"Animacija > Zadrži "
+"Prilagođene Trake\", zatim ponovo uvezi.\n"
+"Alternativno, koristi uvozna podešavanja koja uvoze animacije u zasebne "
+"datoteke."
#: editor/animation_track_editor.cpp
msgid "Warning: Editing imported animation"
-msgstr ""
+msgstr "Upozorenje: Obrađivanje uvezene animacije"
#: editor/animation_track_editor.cpp
msgid "Select an AnimationPlayer node to create and edit animations."
-msgstr ""
+msgstr "Izaberi AnimationPlayer Ävor da bi napravio i uredio animacije."
#: editor/animation_track_editor.cpp
msgid "Only show tracks from nodes selected in tree."
-msgstr ""
+msgstr "Prikaži samo trake od Ävorova koji su oznaÄeni u stablu."
#: editor/animation_track_editor.cpp
msgid "Group tracks by node or display them as plain list."
-msgstr ""
+msgstr "GrupiÅ¡i trake po Ävoru ili ih prikaži kao obiÄnu listu."
#: editor/animation_track_editor.cpp
msgid "Snap:"
-msgstr ""
+msgstr "KaÄenje:"
#: editor/animation_track_editor.cpp
msgid "Animation step value."
-msgstr ""
+msgstr "Vrednost koraka animacije."
#: editor/animation_track_editor.cpp
msgid "Seconds"
-msgstr ""
+msgstr "Sekunde"
#: editor/animation_track_editor.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "FPS"
-msgstr ""
+msgstr "FPS"
#: editor/animation_track_editor.cpp editor/editor_plugin_settings.cpp
#: editor/editor_resource_picker.cpp
@@ -569,15 +563,15 @@ msgstr ""
#: editor/project_settings_editor.cpp editor/property_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Edit"
-msgstr ""
+msgstr "Uredi"
#: editor/animation_track_editor.cpp
msgid "Animation properties."
-msgstr ""
+msgstr "Osobine animacije."
#: editor/animation_track_editor.cpp
msgid "Copy Tracks"
-msgstr ""
+msgstr "Kopiraj Trake"
#: editor/animation_track_editor.cpp
msgid "Scale Selection"
@@ -594,26 +588,23 @@ msgstr "Uduplaj Selekciju"
#: editor/animation_track_editor.cpp
msgid "Duplicate Transposed"
-msgstr ""
+msgstr "Dupliraj Transponovanu"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Delete Selection"
-msgstr "Uduplaj Selekciju"
+msgstr "Ukloni oznaku"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Go to Next Step"
-msgstr "Otiđi Na Sljedeći Korak"
+msgstr "Idi na Sledeći Korak"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Go to Previous Step"
-msgstr "Otiđi Na Prethodni Korak"
+msgstr "Idi na Prethodni Korak"
#: editor/animation_track_editor.cpp
msgid "Apply Reset"
-msgstr ""
+msgstr "Primeni Reset"
#: editor/animation_track_editor.cpp
msgid "Optimize Animation"
@@ -625,64 +616,63 @@ msgstr "PoÄisti Animaciju"
#: editor/animation_track_editor.cpp
msgid "Pick the node that will be animated:"
-msgstr ""
+msgstr "Izaberi Ävor koji će biti animiran:"
#: editor/animation_track_editor.cpp
msgid "Use Bezier Curves"
-msgstr ""
+msgstr "Koristi Bezier krive"
#: editor/animation_track_editor.cpp
msgid "Create RESET Track(s)"
-msgstr ""
+msgstr "Napravi RESET Traku(ke)"
#: editor/animation_track_editor.cpp
msgid "Anim. Optimizer"
-msgstr ""
+msgstr "Anim. Optimizator"
#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
-msgstr ""
+msgstr "Max. Linearna Greška:"
#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
-msgstr ""
+msgstr "Max. Ugaona Greška:"
#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
-msgstr ""
+msgstr "Max Ugao Koji Se Može Optimizovati:"
#: editor/animation_track_editor.cpp
msgid "Optimize"
-msgstr ""
+msgstr "Optimizuj"
#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
-msgstr ""
+msgstr "Ukloni nevažeće kljuÄeve"
#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
-msgstr ""
+msgstr "Ukloni nerešene i prazne trake"
#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
-msgstr ""
+msgstr "OÄisti sve animacije"
#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
-msgstr ""
+msgstr "OÄisti Animaciju(je) (NEMA OPOZIVANJA!)"
#: editor/animation_track_editor.cpp
msgid "Clean-Up"
-msgstr ""
+msgstr "OÄisti"
#: editor/animation_track_editor.cpp
msgid "Scale Ratio:"
-msgstr ""
+msgstr "Razmera:"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Select Tracks to Copy"
-msgstr "Postavi tranzicije na:"
+msgstr "Izaberi Trake za Kopiranje"
#: editor/animation_track_editor.cpp editor/editor_log.cpp
#: editor/editor_resource_picker.cpp
@@ -691,148 +681,148 @@ msgstr "Postavi tranzicije na:"
#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
#: editor/scene_tree_dock.cpp scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Copy"
-msgstr ""
+msgstr "Kopiraj"
#: editor/animation_track_editor.cpp
-#, fuzzy
msgid "Select All/None"
-msgstr "Uduplaj Selekciju"
+msgstr "OznaÄi Sve/NiÅ¡ta"
#: editor/animation_track_editor_plugins.cpp
-#, fuzzy
msgid "Add Audio Track Clip"
-msgstr "Animacija Dodaj Kanal"
+msgstr "Dodaj Klip Audio Trake"
#: editor/animation_track_editor_plugins.cpp
msgid "Change Audio Track Clip Start Offset"
-msgstr ""
+msgstr "Promeni PoÄetnu Poziciju Klipa Audio Trake"
#: editor/animation_track_editor_plugins.cpp
msgid "Change Audio Track Clip End Offset"
-msgstr ""
+msgstr "Promeni Poziciju Kraja Klipa Audio Trake"
#: editor/array_property_edit.cpp
msgid "Resize Array"
-msgstr ""
+msgstr "Promeni VeliÄinu Niza"
#: editor/array_property_edit.cpp
msgid "Change Array Value Type"
-msgstr ""
+msgstr "Promeni Tip Vrednosti Niza"
#: editor/array_property_edit.cpp
msgid "Change Array Value"
-msgstr ""
+msgstr "Promeni Vrednost Niza"
#: editor/code_editor.cpp
msgid "Go to Line"
-msgstr ""
+msgstr "Idi na Liniju"
#: editor/code_editor.cpp
msgid "Line Number:"
-msgstr ""
+msgstr "Broj Linije:"
#: editor/code_editor.cpp
msgid "%d replaced."
-msgstr ""
+msgstr "%d zamenjen."
#: editor/code_editor.cpp editor/editor_help.cpp
msgid "%d match."
-msgstr ""
+msgstr "%d podudara."
#: editor/code_editor.cpp editor/editor_help.cpp
msgid "%d matches."
-msgstr ""
+msgstr "%d podudara."
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Match Case"
-msgstr ""
+msgstr "SluÄaj Podudaranja"
#: editor/code_editor.cpp editor/find_in_files.cpp
msgid "Whole Words"
-msgstr ""
+msgstr "Cele ReÄi"
#: editor/code_editor.cpp
msgid "Replace"
-msgstr ""
+msgstr "Zameni"
#: editor/code_editor.cpp
msgid "Replace All"
-msgstr ""
+msgstr "Zameni Sve"
#: editor/code_editor.cpp
msgid "Selection Only"
-msgstr ""
+msgstr "Samo Obeleženo"
#: editor/code_editor.cpp editor/plugins/script_text_editor.cpp
#: editor/plugins/text_editor.cpp
msgid "Standard"
-msgstr ""
+msgstr "Standardno"
#: editor/code_editor.cpp editor/plugins/script_editor_plugin.cpp
msgid "Toggle Scripts Panel"
-msgstr ""
+msgstr "UkljuÄi/IskljuÄi Panel sa Skriptama"
#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
#: editor/plugins/texture_region_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
msgid "Zoom In"
-msgstr ""
+msgstr "UveliÄaj"
#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
#: editor/plugins/texture_region_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
msgid "Zoom Out"
-msgstr ""
+msgstr "Umanji"
#: editor/code_editor.cpp
msgid "Reset Zoom"
-msgstr ""
+msgstr "Resetuj UveliÄavanje"
#: editor/code_editor.cpp
msgid "Warnings"
-msgstr ""
+msgstr "Upozorenja"
#: editor/code_editor.cpp
msgid "Line and column numbers."
-msgstr ""
+msgstr "Brojevi redova i kolona."
#: editor/connections_dialog.cpp
msgid "Method in target node must be specified."
-msgstr ""
+msgstr "Metod u ciljnom Ävoru mora biti naveden."
#: editor/connections_dialog.cpp
msgid "Method name must be a valid identifier."
-msgstr ""
+msgstr "Naziv metoda mora biti važeći oznaÄavaÄ."
#: editor/connections_dialog.cpp
msgid ""
"Target method not found. Specify a valid method or attach a script to the "
"target node."
msgstr ""
+"Ciljni metod nije nađen. Navedi važeći metod ili priloži skriptu ciljnom "
+"Ävoru."
#: editor/connections_dialog.cpp
msgid "Connect to Node:"
-msgstr ""
+msgstr "Poveži sa Ävorom:"
#: editor/connections_dialog.cpp
msgid "Connect to Script:"
-msgstr ""
+msgstr "Poveži sa Skriptom:"
#: editor/connections_dialog.cpp
msgid "From Signal:"
-msgstr ""
+msgstr "Iz Signala:"
#: editor/connections_dialog.cpp
msgid "Scene does not contain any script."
-msgstr ""
+msgstr "Scena ne sadrži ni jednu skriptu."
#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
msgid "Add"
-msgstr ""
+msgstr "Dodaj"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
@@ -842,44 +832,45 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
-msgstr ""
+msgstr "Ukloni"
#: editor/connections_dialog.cpp
msgid "Add Extra Call Argument:"
-msgstr ""
+msgstr "Dodaj Dodatni Argument Poziva:"
#: editor/connections_dialog.cpp
msgid "Extra Call Arguments:"
-msgstr ""
+msgstr "Dodatni Argumenti Poziva:"
#: editor/connections_dialog.cpp
msgid "Receiver Method:"
-msgstr ""
+msgstr "Metod Prijemnika:"
#: editor/connections_dialog.cpp
msgid "Advanced"
-msgstr ""
+msgstr "Napredno"
#: editor/connections_dialog.cpp
msgid "Deferred"
-msgstr ""
+msgstr "Odložen"
#: editor/connections_dialog.cpp
msgid ""
"Defers the signal, storing it in a queue and only firing it at idle time."
-msgstr ""
+msgstr "Odlaže signal, smešta ga u red i ispaljuje ga samo za vreme mirovanja."
#: editor/connections_dialog.cpp
+#, fuzzy
msgid "Oneshot"
-msgstr ""
+msgstr "JednookidaÄ"
#: editor/connections_dialog.cpp
msgid "Disconnects the signal after its first emission."
-msgstr ""
+msgstr "Odvezuje signal nakon njegovog prvog ispuštanja."
#: editor/connections_dialog.cpp
msgid "Cannot connect signal"
-msgstr ""
+msgstr "Nije moguće povezati signal"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
#: editor/export_template_manager.cpp editor/groups_editor.cpp
@@ -893,115 +884,113 @@ msgstr ""
#: editor/run_settings_dialog.cpp editor/settings_config_dialog.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Close"
-msgstr ""
+msgstr "Zatvori"
#: editor/connections_dialog.cpp
msgid "Connect"
-msgstr ""
+msgstr "Poveži"
#: editor/connections_dialog.cpp
msgid "Signal:"
-msgstr ""
+msgstr "Signâl:"
#: editor/connections_dialog.cpp
msgid "Connect '%s' to '%s'"
-msgstr ""
+msgstr "Poveži '%s' sa '%s'"
#: editor/connections_dialog.cpp
msgid "Disconnect '%s' from '%s'"
-msgstr ""
+msgstr "Odveži '%s' od '%s'"
#: editor/connections_dialog.cpp
msgid "Disconnect all from signal: '%s'"
-msgstr ""
+msgstr "Odveži sve od signala: '%s'"
#: editor/connections_dialog.cpp
msgid "Connect..."
-msgstr ""
+msgstr "Poveži..."
#: editor/connections_dialog.cpp
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
-msgstr ""
+msgstr "Odveži"
#: editor/connections_dialog.cpp
msgid "Connect a Signal to a Method"
-msgstr ""
+msgstr "Poveži Signal na Metod"
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Edit Connection:"
-msgstr "Izmjeni Selekciju Krivulje"
+msgstr "Izmeni Konekciju:"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
-msgstr ""
+msgstr "Da li sigurno želis da ukloniš sve veze sa \"%s\" signala?"
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
-msgstr ""
+msgstr "Signali"
#: editor/connections_dialog.cpp
msgid "Filter signals"
-msgstr ""
+msgstr "Filtriraj signale"
#: editor/connections_dialog.cpp
msgid "Are you sure you want to remove all connections from this signal?"
-msgstr ""
+msgstr "Da li sigurno želiš da ukloniš sve veze sa ovog signala?"
#: editor/connections_dialog.cpp
msgid "Disconnect All"
-msgstr ""
+msgstr "Odveži Sve"
#: editor/connections_dialog.cpp
msgid "Edit..."
-msgstr ""
+msgstr "Uredi..."
#: editor/connections_dialog.cpp
-#, fuzzy
msgid "Go to Method"
-msgstr "Otiđi Na Sljedeći Korak"
+msgstr "Idi na Metod"
#: editor/create_dialog.cpp
msgid "Change %s Type"
-msgstr ""
+msgstr "Promeni %s Tip"
#: editor/create_dialog.cpp editor/project_settings_editor.cpp
msgid "Change"
-msgstr ""
+msgstr "Promeni"
#: editor/create_dialog.cpp
msgid "Create New %s"
-msgstr ""
+msgstr "Napravi Novi %s"
#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
msgid "No results for \"%s\"."
-msgstr ""
+msgstr "Nema rezultata za \"%s\"."
#: editor/create_dialog.cpp editor/property_selector.cpp
msgid "No description available for %s."
-msgstr ""
+msgstr "Nema dostupnog opisa za %s."
#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
#: editor/filesystem_dock.cpp
msgid "Favorites:"
-msgstr ""
+msgstr "Omiljeno:"
#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
msgid "Recent:"
-msgstr ""
+msgstr "Nedavno:"
#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
#: editor/property_selector.cpp editor/quick_open.cpp editor/rename_dialog.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
-msgstr ""
+msgstr "Pretraga:"
#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp
#: editor/property_selector.cpp editor/quick_open.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Matches:"
-msgstr ""
+msgstr "Podudaranja:"
#: editor/create_dialog.cpp editor/editor_feature_profile.cpp
#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
@@ -1009,57 +998,61 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp
#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
-msgstr ""
+msgstr "Opis:"
#: editor/dependency_editor.cpp
msgid "Search Replacement For:"
-msgstr ""
+msgstr "Traži Zamenu za:"
#: editor/dependency_editor.cpp
msgid "Dependencies For:"
-msgstr ""
+msgstr "Zavisnosti za:"
#: editor/dependency_editor.cpp
msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will only take effect when reloaded."
msgstr ""
+"Scena '%s' se trenutno uređuje.\n"
+"Promene će imati uticaj nakon ponovnog uÄitavanja."
#: editor/dependency_editor.cpp
msgid ""
"Resource '%s' is in use.\n"
"Changes will only take effect when reloaded."
msgstr ""
+"Resurs '%s' se koristi.\n"
+"Promene će imati uticaj nakon ponovnog uÄitavanja."
#: editor/dependency_editor.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Dependencies"
-msgstr ""
+msgstr "Zavisnosti"
#: editor/dependency_editor.cpp editor/editor_resource_picker.cpp
msgid "Resource"
-msgstr ""
+msgstr "Resurs"
#: editor/dependency_editor.cpp editor/editor_autoload_settings.cpp
#: editor/project_manager.cpp editor/project_settings_editor.cpp
msgid "Path"
-msgstr ""
+msgstr "Putanja"
#: editor/dependency_editor.cpp
msgid "Dependencies:"
-msgstr ""
+msgstr "Zavisnosti:"
#: editor/dependency_editor.cpp
msgid "Fix Broken"
-msgstr ""
+msgstr "Popravi Pokvareno"
#: editor/dependency_editor.cpp
msgid "Dependency Editor"
-msgstr ""
+msgstr "UreÄ‘ivaÄ Zavisnosti"
#: editor/dependency_editor.cpp
msgid "Search Replacement Resource:"
-msgstr ""
+msgstr "Traži Resurs Zamene:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help_search.cpp editor/editor_node.cpp
@@ -1069,11 +1062,11 @@ msgstr ""
#: modules/visual_script/visual_script_property_selector.cpp
#: scene/gui/file_dialog.cpp
msgid "Open"
-msgstr ""
+msgstr "Otvori"
#: editor/dependency_editor.cpp
msgid "Owners Of:"
-msgstr ""
+msgstr "Vlasnici Od:"
#: editor/dependency_editor.cpp
msgid ""
@@ -1081,6 +1074,9 @@ msgid ""
"Depending on your filesystem configuration, the files will either be moved "
"to the system trash or deleted permanently."
msgstr ""
+"Ukloni oznaÄene datoteke iz projekta? (Ne može se opozvati.)\n"
+"U zavisnosti od konfiguracije sistema datoteka, datoteke će ili biti "
+"premeštene u kantu za otpatke ili biti trajno uklonjene."
#: editor/dependency_editor.cpp
msgid ""
@@ -1360,9 +1356,8 @@ msgid "Bypass"
msgstr ""
#: editor/editor_audio_buses.cpp
-#, fuzzy
msgid "Bus Options"
-msgstr "Funkcije:"
+msgstr "Podešavanja Magistrale"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
#: editor/scene_tree_dock.cpp
@@ -1471,6 +1466,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -1782,9 +1781,8 @@ msgid "(Properties Disabled)"
msgstr ""
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "(Editor Disabled)"
-msgstr "Onemogućeno"
+msgstr "(UreÄ‘ivaÄ Onemogućen)"
#: editor/editor_feature_profile.cpp
msgid "Class Options:"
@@ -1829,14 +1827,12 @@ msgid "Current Profile:"
msgstr ""
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Create Profile"
-msgstr "Napravi"
+msgstr "Napravi Profil"
#: editor/editor_feature_profile.cpp
-#, fuzzy
msgid "Remove Profile"
-msgstr "Obriši Selekciju"
+msgstr "Ukloni Profil"
#: editor/editor_feature_profile.cpp
msgid "Available Profiles:"
@@ -1993,14 +1989,12 @@ msgid "Move Favorite Down"
msgstr ""
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Go to previous folder."
-msgstr "Otiđi Na Prethodni Korak"
+msgstr "Idi na prethodni direktorijum."
#: editor/editor_file_dialog.cpp
-#, fuzzy
msgid "Go to next folder."
-msgstr "Otiđi Na Sljedeći Korak"
+msgstr "Idi na sledeći direktorijum."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Go to parent folder."
@@ -2128,9 +2122,8 @@ msgid "Property Descriptions"
msgstr ""
#: editor/editor_help.cpp
-#, fuzzy
msgid "(value)"
-msgstr "Vrednost:"
+msgstr "(Vrednost)"
#: editor/editor_help.cpp
msgid ""
@@ -2178,9 +2171,8 @@ msgid "Signals Only"
msgstr ""
#: editor/editor_help_search.cpp
-#, fuzzy
msgid "Constants Only"
-msgstr "Kontanta"
+msgstr "Samo Konstante"
#: editor/editor_help_search.cpp
msgid "Properties Only"
@@ -2208,7 +2200,7 @@ msgstr ""
#: editor/editor_help_search.cpp modules/visual_script/visual_script_nodes.cpp
msgid "Constant"
-msgstr "Kontanta"
+msgstr "Konstanta"
#: editor/editor_help_search.cpp
msgid "Property"
@@ -2223,9 +2215,8 @@ msgid "Property:"
msgstr ""
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Pin value"
-msgstr "Vrednost:"
+msgstr "ZakaÄi vrednost"
#: editor/editor_inspector.cpp
msgid ""
@@ -2256,14 +2247,12 @@ msgid "Unpinned %s"
msgstr ""
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Copy Property"
-msgstr "Obriši Selekciju"
+msgstr "Kopiraj Osobinu"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Paste Property"
-msgstr "Animacija Uduplaj KljuÄeve"
+msgstr "Zalepi Osobinu"
#: editor/editor_inspector.cpp
msgid "Copy Property Path"
@@ -2274,9 +2263,8 @@ msgid "Output:"
msgstr ""
#: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Copy Selection"
-msgstr "Obriši Selekciju"
+msgstr "Kopiraj OznaÄeno"
#: editor/editor_log.cpp editor/editor_network_profiler.cpp
#: editor/editor_profiler.cpp editor/editor_resource_picker.cpp
@@ -2629,9 +2617,8 @@ msgid "Can't reload a scene that was never saved."
msgstr ""
#: editor/editor_node.cpp
-#, fuzzy
msgid "Reload Saved Scene"
-msgstr "Napravi"
+msgstr "Ponovo UÄitaj SaÄuvanu Scenu"
#: editor/editor_node.cpp
msgid ""
@@ -2832,7 +2819,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -2841,9 +2828,8 @@ msgid "Go to previously opened scene."
msgstr ""
#: editor/editor_node.cpp
-#, fuzzy
msgid "Copy Text"
-msgstr "Obriši Selekciju"
+msgstr "Kopiraj Tekst"
#: editor/editor_node.cpp
msgid "Next tab"
@@ -3052,9 +3038,8 @@ msgid "Editor"
msgstr ""
#: editor/editor_node.cpp
-#, fuzzy
msgid "Editor Settings..."
-msgstr "Tranzicije"
+msgstr "Postavke UreÄ‘ivaÄa..."
#: editor/editor_node.cpp
msgid "Editor Layout"
@@ -3121,9 +3106,8 @@ msgid "Community"
msgstr "Zajednica"
#: editor/editor_node.cpp
-#, fuzzy
msgid "About Godot"
-msgstr "O nama / O Godou"
+msgstr "O Godot"
#: editor/editor_node.cpp
msgid "Support Godot Development"
@@ -3175,19 +3159,16 @@ msgid "Save & Restart"
msgstr ""
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Continuously"
-msgstr "Neprekidna"
+msgstr "Neprekidno Ažuriraj"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update All Changes"
-msgstr "Napravi"
+msgstr "Ažuriraj sve promene"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Changes"
-msgstr "Napravi"
+msgstr "Ažuriraj Vitalne Promene"
#: editor/editor_node.cpp
msgid "Hide Update Spinner"
@@ -3265,9 +3246,8 @@ msgid "Merge With Existing"
msgstr ""
#: editor/editor_node.cpp
-#, fuzzy
msgid "Apply MeshInstance Transforms"
-msgstr "Animacija Promjeni Transformaciju"
+msgstr "Primeni Transformacije MeshInstance a"
#: editor/editor_node.cpp
msgid "Open & Run a Script"
@@ -3303,9 +3283,8 @@ msgid "Select"
msgstr ""
#: editor/editor_node.cpp
-#, fuzzy
msgid "Select Current"
-msgstr "Izmjeni Krivulju ÄŒvora"
+msgstr "Obeleži Trenutno"
#: editor/editor_node.cpp
msgid "Open 2D Editor"
@@ -3385,9 +3364,8 @@ msgid "Measure:"
msgstr ""
#: editor/editor_profiler.cpp
-#, fuzzy
msgid "Frame Time (ms)"
-msgstr "Vreme (s): "
+msgstr "Vreme Frejma(ms)"
#: editor/editor_profiler.cpp
msgid "Average Time (ms)"
@@ -3432,9 +3410,8 @@ msgid "Calls"
msgstr ""
#: editor/editor_properties.cpp
-#, fuzzy
msgid "Edit Text:"
-msgstr "Izmjeni Selekciju Krivulje"
+msgstr "Izmeni Tekst:"
#: editor/editor_properties.cpp editor/script_create_dialog.cpp
msgid "On"
@@ -3536,9 +3513,8 @@ msgid "Paste"
msgstr ""
#: editor/editor_resource_picker.cpp editor/property_editor.cpp
-#, fuzzy
msgid "Convert to %s"
-msgstr "Napravi"
+msgstr "Konvertuj u %s"
#: editor/editor_resource_picker.cpp editor/property_editor.cpp
msgid "New %s"
@@ -3605,9 +3581,8 @@ 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 "Ogledalo"
+msgstr "%s Greška"
#: editor/export_template_manager.cpp
msgid "Open the folder containing these templates."
@@ -4090,9 +4065,8 @@ msgid "Overwrite"
msgstr ""
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Create Scene"
-msgstr "Napravi"
+msgstr "Napravi Scenu"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -4186,9 +4160,8 @@ msgid "Rename Group"
msgstr ""
#: editor/groups_editor.cpp
-#, fuzzy
msgid "Delete Group"
-msgstr "Animacija ObriÅ¡i KljuÄeve"
+msgstr "Ukloni Grupu"
#: editor/groups_editor.cpp editor/node_dock.cpp
msgid "Groups"
@@ -4301,9 +4274,8 @@ msgid "Saving..."
msgstr ""
#: editor/import_defaults_editor.cpp
-#, fuzzy
msgid "Select Importer"
-msgstr "Uduplaj Selekciju"
+msgstr "OznaÄi Uvoznika"
#: editor/import_defaults_editor.cpp
msgid "Importer:"
@@ -4377,9 +4349,8 @@ msgid "Copy Properties"
msgstr ""
#: editor/inspector_dock.cpp
-#, fuzzy
msgid "Paste Properties"
-msgstr "Animacija Uduplaj KljuÄeve"
+msgstr "Zalepi Osobine"
#: editor/inspector_dock.cpp
msgid "Make Sub-Resources Unique"
@@ -4499,16 +4470,14 @@ msgstr ""
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Create Polygon"
-msgstr "Napravi"
+msgstr "Napravi Poligon"
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Create points."
-msgstr "Napravi"
+msgstr "Napravi taÄke."
#: editor/plugins/abstract_polygon_2d_editor.cpp
msgid ""
@@ -4523,9 +4492,8 @@ msgid "Erase points."
msgstr ""
#: editor/plugins/abstract_polygon_2d_editor.cpp
-#, fuzzy
msgid "Edit Polygon"
-msgstr "Napravi"
+msgstr "izmeni Poligon"
#: editor/plugins/abstract_polygon_2d_editor.cpp
msgid "Insert Point"
@@ -4580,9 +4548,8 @@ msgstr ""
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Add Animation Point"
-msgstr "Optimizuj Animaciju"
+msgstr "Dodaj TaÄku Animacije"
#: editor/plugins/animation_blend_space_1d_editor.cpp
msgid "Remove BlendSpace1D Point"
@@ -4631,18 +4598,16 @@ msgstr ""
#: editor/plugins/animation_blend_space_2d_editor.cpp
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Open Animation Node"
-msgstr "Optimizuj Animaciju"
+msgstr "Otvori ÄŒvor Animacije"
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Triangle already exists."
msgstr ""
#: editor/plugins/animation_blend_space_2d_editor.cpp
-#, fuzzy
msgid "Add Triangle"
-msgstr "Animacija Dodaj Kanal"
+msgstr "Dodaj Trougao"
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Change BlendSpace2D Limits"
@@ -4725,15 +4690,13 @@ msgid "Nodes Disconnected"
msgstr ""
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Set Animation"
-msgstr "Optimizuj Animaciju"
+msgstr "Postavi Animaciju"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Delete Node"
-msgstr "Animacija ObriÅ¡i KljuÄeve"
+msgstr "Ukloni ÄŒvor"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/scene_tree_dock.cpp
@@ -4764,19 +4727,16 @@ msgid ""
msgstr ""
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Anim Clips"
-msgstr "Anim Klipovi:"
+msgstr "Anim Klipovi"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Audio Clips"
-msgstr "Audio Klipovi:"
+msgstr "Audio Klipovi"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
-#, fuzzy
msgid "Functions"
-msgstr "Funkcije:"
+msgstr "Funkcije"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/animation_state_machine_editor.cpp
@@ -4914,9 +4874,8 @@ msgid "New"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Edit Transitions..."
-msgstr "Tranzicije"
+msgstr "Izmeni Tranzicije..."
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Open in Inspector"
@@ -5014,14 +4973,12 @@ msgid "Move Node"
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Transition exists!"
-msgstr "Tranzicije"
+msgstr "Prelaz postoji!"
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Add Transition"
-msgstr "Tranzicije"
+msgstr "Dodaj Tranziciju"
#: editor/plugins/animation_state_machine_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
@@ -5061,9 +5018,8 @@ msgid "Node Removed"
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Transition Removed"
-msgstr "Tranzicije"
+msgstr "Tranzicija Uklonjena"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Set Start Node (Autoplay)"
@@ -5085,9 +5041,8 @@ msgid "Connect nodes."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Remove selected node or transition."
-msgstr "Obriši Selekciju"
+msgstr "ObriÅ¡i obeležen Ävor ili prelaz."
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Toggle autoplay this animation on start, restart or seek to zero."
@@ -5098,9 +5053,8 @@ msgid "Set the end animation. This is useful for sub-transitions."
msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
-#, fuzzy
msgid "Transition: "
-msgstr "Tranzicije"
+msgstr "Tranzicija: "
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Play Mode:"
@@ -5312,9 +5266,8 @@ msgid "Request failed, timeout"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Timeout."
-msgstr "Vreme:"
+msgstr "Istek vremena."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Failed:"
@@ -5508,6 +5461,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -5545,23 +5502,20 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Scale Step:"
-msgstr "Skaliraj Selekciju"
+msgstr "Skaliraj Korak:"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move Vertical Guide"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Create Vertical Guide"
-msgstr "Napravi"
+msgstr "Napravi Vertikalni VodiÄ"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Remove Vertical Guide"
-msgstr "Obriši Selekciju"
+msgstr "Ukloni Vertikalni VodiÄ"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move Horizontal Guide"
@@ -5572,9 +5526,8 @@ msgid "Create Horizontal Guide"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Remove Horizontal Guide"
-msgstr "Obriši Selekciju"
+msgstr "Ukloni Horizontalni VodiÄ"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create Horizontal and Vertical Guides"
@@ -5627,9 +5580,8 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Grouped"
-msgstr "Obriši Selekciju"
+msgstr "Grupisane"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid ""
@@ -5684,18 +5636,16 @@ msgid "Center"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Left Wide"
-msgstr "Linearna"
+msgstr "Leva Å iroka"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Top Wide"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Right Wide"
-msgstr "Linearna"
+msgstr "Desna Å iroka"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Bottom Wide"
@@ -5756,33 +5706,29 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected"
-msgstr "Obriši Selekciju"
+msgstr "GrupiÅ¡i OznaÄeno"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected"
-msgstr "Obriši Selekciju"
+msgstr "OdgrupiÅ¡i OznaÄeno"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Guides"
-msgstr "Animacija Promjeni Transformaciju"
+msgstr "OÄisti VodiÄe"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Clear Bones"
-msgstr "Animacija Promjeni Transformaciju"
+msgstr "OÄisti Kosti"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make IK Chain"
@@ -5812,24 +5758,20 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Drag: Rotate selected node around pivot."
-msgstr "Obriši Selekciju"
+msgstr "Prevuci: Rotiraj obeležen Ävor oko ose."
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Alt+Drag: Move selected node."
-msgstr "IzbriÅ¡i oznaÄeni kljuÄ(eve)"
+msgstr "Alt+Drag: Pomeri obeležen Ävor."
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Alt+Drag: Scale selected node."
-msgstr "IzbriÅ¡i oznaÄeni kljuÄ(eve)"
+msgstr "Alt+Drag: Skaliraj oznaÄen Ävor."
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "V: Set selected node's pivot position."
-msgstr "Obriši Selekciju"
+msgstr "V: Postavi poziciju ose obeleženog Ävora."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5954,9 +5896,8 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Lock Selected Node(s)"
-msgstr "Animacija ObriÅ¡i KljuÄeve"
+msgstr "ZakljuÄaj OznaÄen ÄŒvor(ove)"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5965,9 +5906,8 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Unlock Selected Node(s)"
-msgstr "Dupliraj Selektovane KljuÄeve"
+msgstr "OtkljuÄaj OznaÄen ÄŒvor(ove)"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5976,9 +5916,8 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Group Selected Node(s)"
-msgstr "Obriši Selekciju"
+msgstr "GrupiÅ¡i OznaÄen ÄŒvor(ove)"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5987,9 +5926,8 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected Node(s)"
-msgstr "Obriši Selekciju"
+msgstr "OdgrupiÅ¡i OznaÄen ÄŒvor(ove)"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Skeleton Options"
@@ -6065,9 +6003,8 @@ msgid "Scale mask for inserting keys."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Insert keys (based on mask)."
-msgstr "Animacija dodaj kljuÄ"
+msgstr "Ubaci kljuÄ (na osnovu maske)."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid ""
@@ -6078,14 +6015,12 @@ msgid ""
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Auto Insert Key"
-msgstr "Animacija dodaj kljuÄ"
+msgstr "Automatski Ubaci KljuÄ"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Animation Key and Pose Options"
-msgstr "Dužina Animacije (secunde)"
+msgstr "KljuÄevi Animacije i PodeÅ¡avanja Poziranja"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -6104,9 +6039,8 @@ msgid "Add Node Here"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Instance Scene Here"
-msgstr "Dodaj kljuÄ ovde"
+msgstr "Instanciraj Scenu Ovde"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
@@ -6194,9 +6128,8 @@ msgid ""
msgstr ""
#: editor/plugins/collision_polygon_editor_plugin.cpp
-#, fuzzy
msgid "Create Polygon3D"
-msgstr "Napravi"
+msgstr "Napravi Poligon3D"
#: editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Edit Poly"
@@ -6315,24 +6248,21 @@ msgid "Load Curve Preset"
msgstr ""
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Add Point"
-msgstr "Optimizuj Animaciju"
+msgstr "Dodaj TaÄku"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Remove Point"
-msgstr "Obriši Selekciju"
+msgstr "Ukloni TaÄku"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Left Linear"
-msgstr "Linearna"
+msgstr "Levi Linearni"
#: editor/plugins/curve_editor_plugin.cpp
#, fuzzy
msgid "Right Linear"
-msgstr "Linearna"
+msgstr "Desni Linearni"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Load Preset"
@@ -6494,7 +6424,7 @@ msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
#, fuzzy
msgid "Create Single Convex Collision Sibling"
-msgstr "Napravi"
+msgstr "Napravi Jednostruki Konveksni Duplikat Sudara"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid ""
@@ -6505,7 +6435,7 @@ msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
#, fuzzy
msgid "Create Simplified Convex Collision Sibling"
-msgstr "Napravi"
+msgstr "Napravi Pojednostavljen Konveksni Duplikat Sudara"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid ""
@@ -6517,7 +6447,7 @@ msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
#, fuzzy
msgid "Create Multiple Convex Collision Siblings"
-msgstr "Napravi"
+msgstr "Napravi Više Konveksnih Duplikata Sudara"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid ""
@@ -6711,9 +6641,8 @@ msgid "Can only set point into a ParticlesMaterial process material"
msgstr ""
#: editor/plugins/particles_2d_editor_plugin.cpp
-#, fuzzy
msgid "Convert to CPUParticles2D"
-msgstr "Napravi"
+msgstr "Konvertuj u CPUParticles2D"
#: editor/plugins/particles_2d_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
@@ -6794,9 +6723,8 @@ msgid "Add Point to Curve"
msgstr ""
#: editor/plugins/path_2d_editor_plugin.cpp
-#, fuzzy
msgid "Split Curve"
-msgstr "Izmjeni Krivulju ÄŒvora"
+msgstr "Razdeli Krivu"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Move Point in Curve"
@@ -6952,23 +6880,20 @@ msgid "Invalid Polygon (need 3 different vertices)"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Add Custom Polygon"
-msgstr "Napravi"
+msgstr "Dodaj Prilagođeni Poligon"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Remove Custom Polygon"
-msgstr "Napravi"
+msgstr "Ukloni Prilagođeni Poligon"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Transform Polygon"
-msgstr "Napravi"
+msgstr "Transformiši Poligon"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Paint Bone Weights"
@@ -6991,9 +6916,8 @@ msgid "Points"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Polygons"
-msgstr "Napravi"
+msgstr "Poligoni"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Bones"
@@ -7062,9 +6986,8 @@ msgid "Copy Polygon to UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#, fuzzy
msgid "Copy UV to Polygon"
-msgstr "Napravi"
+msgstr "Kopiraj UV u Poligon"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Clear UV"
@@ -7169,28 +7092,24 @@ msgid "Flip Portals"
msgstr ""
#: editor/plugins/room_manager_editor_plugin.cpp
-#, fuzzy
msgid "Room Generate Points"
-msgstr "Pomeri Bezier TaÄke"
+msgstr "GeneriÅ¡i TaÄke u prostoru"
#: editor/plugins/room_manager_editor_plugin.cpp
-#, fuzzy
msgid "Generate Points"
-msgstr "Napravi"
+msgstr "GeneriÅ¡i TaÄke"
#: editor/plugins/room_manager_editor_plugin.cpp
msgid "Flip Portal"
msgstr ""
#: editor/plugins/room_manager_editor_plugin.cpp
-#, fuzzy
msgid "Occluder Set Transform"
-msgstr "Animacija Promjeni Transformaciju"
+msgstr "Postavi Transformaciju Okludera"
#: editor/plugins/room_manager_editor_plugin.cpp
-#, fuzzy
msgid "Center Node"
-msgstr "Animacija ObriÅ¡i KljuÄeve"
+msgstr "Centriraj ÄŒvor"
#: editor/plugins/root_motion_editor_plugin.cpp
msgid "AnimationTree has no path set to an AnimationPlayer"
@@ -7328,9 +7247,8 @@ msgid "Next Script"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Previous Script"
-msgstr "Otiđi Na Prethodni Korak"
+msgstr "Prethodna Skripta"
#: editor/plugins/script_editor_plugin.cpp
msgid "File"
@@ -7491,9 +7409,8 @@ msgid "[Ignore]"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Line"
-msgstr "Linearna"
+msgstr "Linija"
#: editor/plugins/script_text_editor.cpp
msgid "Go to Function"
@@ -7542,9 +7459,8 @@ msgid "Bookmarks"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Breakpoints"
-msgstr "Napravi"
+msgstr "TaÄke Prekida"
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
@@ -7594,9 +7510,8 @@ msgid "Complete Symbol"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Evaluate Selection"
-msgstr "Skaliraj Selekciju"
+msgstr "Proceni OznaÄeno"
#: editor/plugins/script_text_editor.cpp
msgid "Trim Trailing Whitespace"
@@ -7631,14 +7546,12 @@ msgid "Toggle Bookmark"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Next Bookmark"
-msgstr "Otiđi Na Sljedeći Korak"
+msgstr "Idi na Sledeći ObeleživaÄ"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Previous Bookmark"
-msgstr "Otiđi Na Prethodni Korak"
+msgstr "Idi na Prethodni ObeleživaÄ"
#: editor/plugins/script_text_editor.cpp
msgid "Remove All Bookmarks"
@@ -7662,14 +7575,12 @@ msgid "Remove All Breakpoints"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Next Breakpoint"
-msgstr "Otiđi Na Sljedeći Korak"
+msgstr "Idi na Sledeću TaÄku Prekida"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Go to Previous Breakpoint"
-msgstr "Otiđi Na Prethodni Korak"
+msgstr "Idi na Prethodnu TaÄku Prekida"
#: editor/plugins/shader_editor_plugin.cpp
msgid ""
@@ -7698,9 +7609,8 @@ msgid "Skeleton2D"
msgstr ""
#: editor/plugins/skeleton_2d_editor_plugin.cpp
-#, fuzzy
msgid "Reset to Rest Pose"
-msgstr "Napravi"
+msgstr "Resetuj na Mirujuću Pozu"
#: editor/plugins/skeleton_2d_editor_plugin.cpp
msgid "Overwrite Rest Pose"
@@ -7824,9 +7734,8 @@ msgid "Translate"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Scale"
-msgstr "Skaliraj Selekciju"
+msgstr "Razmera"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Scaling: "
@@ -7985,7 +7894,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8040,9 +7954,8 @@ msgid ""
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Convert Rooms"
-msgstr "Napravi"
+msgstr "Konvertuj Prostore"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "XForm Dialog"
@@ -8281,42 +8194,36 @@ msgid "Unnamed Gizmo"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Create Mesh2D"
-msgstr "Napravi"
+msgstr "Napravi Mesh2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Mesh2D Preview"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Create Polygon2D"
-msgstr "Napravi"
+msgstr "Napravi Polygon2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Polygon2D Preview"
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Create CollisionPolygon2D"
-msgstr "Napravi"
+msgstr "Napravi CollisionPolygon2D"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "CollisionPolygon2D Preview"
-msgstr "Napravi"
+msgstr "Predpogled CollisionPolygon2D"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Create LightOccluder2D"
-msgstr "Napravi"
+msgstr "Napravi LightOccluder2D"
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "LightOccluder2D Preview"
-msgstr "Napravi"
+msgstr "Predpogled LightOccluder2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Sprite is empty!"
@@ -8339,18 +8246,16 @@ msgid "Invalid geometry, can't create polygon."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Convert to Polygon2D"
-msgstr "Napravi"
+msgstr "Konvertuj u Polygon2D"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create collision polygon."
msgstr ""
#: editor/plugins/sprite_editor_plugin.cpp
-#, fuzzy
msgid "Create CollisionPolygon2D Sibling"
-msgstr "Napravi"
+msgstr "Napravi CollisionPolygon2D Duplikat"
#: editor/plugins/sprite_editor_plugin.cpp
msgid "Invalid geometry, can't create light occluder."
@@ -8429,14 +8334,12 @@ msgid "Move Frame"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Animations:"
-msgstr "Optimizuj Animaciju"
+msgstr "Animacije:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "New Animation"
-msgstr "Optimizuj Animaciju"
+msgstr "Nova Animacija"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Speed:"
@@ -8447,14 +8350,12 @@ msgid "Loop"
msgstr ""
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Animation Frames:"
-msgstr "Optimizuj Animaciju"
+msgstr "Frejmovi Animacije:"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Add a Texture from File"
-msgstr "Obriši Selekciju"
+msgstr "Dodaj Teksturu iz Datoteke"
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Frames from a Sprite Sheet"
@@ -8533,9 +8434,8 @@ msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Separation:"
-msgstr "Tranzicije"
+msgstr "Odvajanje:"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "TextureRegion"
@@ -8554,14 +8454,12 @@ msgid "No colors found."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "{num} constant(s)"
-msgstr "Napravi"
+msgstr "{num} Konstant(e)"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "No constants found."
-msgstr "Kontanta"
+msgstr "Konstante nisu nađene."
#: editor/plugins/theme_editor_plugin.cpp
msgid "{num} font(s)"
@@ -8710,18 +8608,16 @@ msgid "Select all Theme items with item data."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Deselect All"
-msgstr "Uduplaj Selekciju"
+msgstr "Poništi Obeleženo"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Deselect all Theme items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Import Selected"
-msgstr "Obriši Selekciju"
+msgstr "Uvezi Obeleženo"
#: editor/plugins/theme_editor_plugin.cpp
msgid ""
@@ -8741,23 +8637,20 @@ msgid "Remove All Color Items"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Rename Item"
-msgstr "Animacija Preimenuj Kanal"
+msgstr "Preimenuj stavku"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Constant Items"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove All Font Items"
-msgstr "Obriši Selekciju"
+msgstr "Ukloni Sve Font Stavke"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove All Icon Items"
-msgstr "Obriši Selekciju"
+msgstr "Ukloni Sve Icon Stavke"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All StyleBox Items"
@@ -8846,9 +8739,8 @@ msgid "Add StyleBox Item"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove Items:"
-msgstr "Obriši Selekciju"
+msgstr "Ukloni stavku:"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove Class Items"
@@ -8889,6 +8781,11 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Resurs"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8937,6 +8834,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -8953,7 +8862,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "Promeni %s Tip"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9194,9 +9114,8 @@ msgid "Add Texture(s) to TileSet."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Remove selected Texture from TileSet."
-msgstr "Obriši Selekciju"
+msgstr "Ukloni oznaÄenu Teksturu iz TileSet-a."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Create from Scene"
@@ -9317,9 +9236,8 @@ msgid "Erase bitmask."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Create a new rectangle."
-msgstr "Napravi"
+msgstr "Napravi novi pravougaonik."
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -9327,9 +9245,8 @@ msgid "New Rectangle"
msgstr "Napravi"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Create a new polygon."
-msgstr "Napravi"
+msgstr "Napravi novi poligon."
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
@@ -9359,9 +9276,8 @@ msgid ""
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Remove selected texture? This will remove all tiles which use it."
-msgstr "Obriši Selekciju"
+msgstr "Ukloni oznaÄenu teksturu? Ovo će ukloniti sva polja koja je koriste."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid "You haven't selected a texture to remove."
@@ -9391,9 +9307,8 @@ msgid ""
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Delete selected Rect."
-msgstr "IzbriÅ¡i oznaÄeni kljuÄ(eve)"
+msgstr "Ukloni oznaÄeni Pravoug."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
@@ -9402,9 +9317,8 @@ msgid ""
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
msgid "Delete polygon."
-msgstr "Napravi"
+msgstr "Ukloni poligon."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
@@ -9566,9 +9480,8 @@ msgid "Unstaged Changes"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-#, fuzzy
msgid "Commit:"
-msgstr "Zajednica"
+msgstr "Posveti:"
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Date:"
@@ -9669,18 +9582,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -9960,14 +9861,12 @@ msgid "SoftLight operator."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color constant."
-msgstr "Kontanta"
+msgstr "Konstanta boje."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Color uniform."
-msgstr "Animacija Promjeni Transformaciju"
+msgstr "Homogenost Boje."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the boolean result of the %s comparison between two parameters."
@@ -10076,9 +9975,8 @@ msgid "'%s' input parameter for vertex and fragment shader mode."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar function."
-msgstr "Skaliraj Selekciju"
+msgstr "Skalarna funkcija."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Scalar operator."
@@ -10311,9 +10209,8 @@ msgid "Scalar constant."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Scalar uniform."
-msgstr "Animacija Promjeni Transformaciju"
+msgstr "Skalarna homogenost."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Perform the cubic texture lookup."
@@ -10336,9 +10233,8 @@ msgid "2D texture uniform lookup with triplanar."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform function."
-msgstr "Napravi"
+msgstr "Funkcija transformacije."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -10380,14 +10276,12 @@ msgid "Multiplies vector by transform."
msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform constant."
-msgstr "Napravi"
+msgstr "Transformacija konstante."
#: editor/plugins/visual_shader_editor_plugin.cpp
-#, fuzzy
msgid "Transform uniform."
-msgstr "Napravi"
+msgstr "Transformacija homogenosti."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Vector function."
@@ -11074,7 +10968,7 @@ msgstr "Obriši Selekciju"
#: editor/project_manager.cpp
msgid "About"
-msgstr "O nama / O Godou"
+msgstr "O Godot-u"
#: editor/project_manager.cpp
msgid "Asset Library Projects"
@@ -11349,7 +11243,7 @@ msgstr ""
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "General"
-msgstr "Opšti deo"
+msgstr "Opšta"
#: editor/project_settings_editor.cpp
msgid "Override For..."
@@ -11733,14 +11627,12 @@ msgid "Make node as Root"
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Delete %d nodes and any children?"
-msgstr "Animacija ObriÅ¡i KljuÄeve"
+msgstr "Obrisi %d Ävorova i decu?"
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Delete %d nodes?"
-msgstr "Animacija ObriÅ¡i KljuÄeve"
+msgstr "ObriÅ¡i %d Ävorova?"
#: editor/scene_tree_dock.cpp
msgid "Delete the root node \"%s\"?"
@@ -11751,9 +11643,8 @@ msgid "Delete node \"%s\" and its children?"
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Delete node \"%s\"?"
-msgstr "Animacija ObriÅ¡i KljuÄeve"
+msgstr "ObriÅ¡i Ävor \"%s\"?"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -11944,9 +11835,8 @@ msgid "Delete (No Confirm)"
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Add/Create a New Node."
-msgstr "Napravi"
+msgstr "Dodaj/Napravi nov Ävor."
#: editor/scene_tree_dock.cpp
msgid ""
@@ -12154,9 +12044,8 @@ msgid "Built-in script (into scene file)."
msgstr ""
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Will create a new script file."
-msgstr "Napravi"
+msgstr "Biće kreirana nova datoteka skripte."
#: editor/script_create_dialog.cpp
msgid "Will load an existing script file."
@@ -12207,9 +12096,8 @@ msgid "Warning:"
msgstr ""
#: editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Error:"
-msgstr "Ogledalo"
+msgstr "Greška:"
#: editor/script_editor_debugger.cpp
msgid "C++ Error"
@@ -12273,6 +12161,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtriraj signale"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -12887,27 +12780,24 @@ msgid "Override an existing built-in function."
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new function."
-msgstr "Napravi"
+msgstr "Napravi novu funkciju."
#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new variable."
-msgstr "Napravi"
+msgstr "Napravi novu promenljivu."
#: modules/visual_script/visual_script_editor.cpp
msgid "Signals:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Create a new signal."
-msgstr "Napravi"
+msgstr "Napravi novi signal."
#: modules/visual_script/visual_script_editor.cpp
msgid "Name is not a valid identifier:"
@@ -13126,14 +13016,12 @@ msgid "Add Nodes..."
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Add Function..."
-msgstr "Funkcije:"
+msgstr "Dodaj funkciju..."
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "function_name"
-msgstr "Funkcije:"
+msgstr "naziv_funkcije"
#: modules/visual_script/visual_script_editor.cpp
msgid "Select or create a function to edit its graph."
@@ -13156,9 +13044,8 @@ msgid "Cut Nodes"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Make Function"
-msgstr "Funkcije:"
+msgstr "Napravi Funkciju"
#: modules/visual_script/visual_script_editor.cpp
msgid "Refresh Graph"
@@ -13308,9 +13195,8 @@ msgid "Emit %s"
msgstr ""
#: modules/visual_script/visual_script_nodes.cpp
-#, fuzzy
msgid "Function"
-msgstr "Funkcije:"
+msgstr "Funkcija"
#: modules/visual_script/visual_script_nodes.cpp
msgid "Compose Array"
@@ -13589,6 +13475,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -13908,9 +13797,8 @@ msgid ""
msgstr ""
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "No identity found."
-msgstr "Kontanta"
+msgstr "Identitet nije pronađen."
#: platform/osx/export/export.cpp
msgid "Creating app bundle"
diff --git a/editor/translations/sv.po b/editor/translations/sv.po
index 9645a3adff..91d13086f4 100644
--- a/editor/translations/sv.po
+++ b/editor/translations/sv.po
@@ -1501,6 +1501,11 @@ msgstr "Ladda standard Buss-Layouten."
msgid "Create a new Bus Layout."
msgstr "Skapa en ny Buss-Layout."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Öppna Ljud-Buss Layout"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Ogiltigt namn."
@@ -2989,7 +2994,7 @@ msgstr "Växla distraktionsfritt läge."
msgid "Add a new scene."
msgstr "Lägg till en ny scen."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Scen"
@@ -5781,6 +5786,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "Välj mall-fil"
@@ -8349,7 +8358,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9293,6 +9307,11 @@ msgstr "Välj en annan temaresurs:"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "Byt namn på Resurs"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "Importera Tema"
@@ -9346,6 +9365,20 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Ändra Bas Typ:"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Ändra Bas Typ:"
+
+#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Show Default"
msgstr "Ladda Standard"
@@ -9363,7 +9396,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "Ändra Typ"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -10112,18 +10156,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Matchar:"
@@ -12781,6 +12813,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Filtrera tiles"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -14135,6 +14172,9 @@ msgstr "Ogiltigt paket namn:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/ta.po b/editor/translations/ta.po
index 6a737cca56..c278dc4460 100644
--- a/editor/translations/ta.po
+++ b/editor/translations/ta.po
@@ -1465,6 +1465,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2820,7 +2824,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5484,6 +5488,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7928,7 +7936,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8818,6 +8831,10 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme Resource"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8866,6 +8883,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -8882,7 +8911,17 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9570,18 +9609,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12158,6 +12185,10 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Filter stack variables"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13462,6 +13493,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/te.po b/editor/translations/te.po
index f329a3c39f..1c6ddff44b 100644
--- a/editor/translations/te.po
+++ b/editor/translations/te.po
@@ -1438,6 +1438,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2787,7 +2791,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5430,6 +5434,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7855,7 +7863,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8730,6 +8743,10 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme Resource"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8776,6 +8793,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -8792,7 +8821,17 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9472,18 +9511,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12037,6 +12064,10 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Filter stack variables"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13326,6 +13357,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/th.po b/editor/translations/th.po
index 3359054a03..c3de50112f 100644
--- a/editor/translations/th.po
+++ b/editor/translations/th.po
@@ -1491,6 +1491,11 @@ msgstr "โหลดค่าเริ่มต้นเลย์เอาต์
msgid "Create a new Bus Layout."
msgstr "สร้างเลย์เอาต์บัสใหม่"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "เปิดเลย์เอาต์ของบัสเสียง"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "ชื่อผิดพลาด"
@@ -2911,7 +2916,7 @@ msgstr "โหมดไร้สิ่งรบà¸à¸§à¸™"
msgid "Add a new scene."
msgstr "เพิ่มฉาà¸à¹ƒà¸«à¸¡à¹ˆ"
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "ฉาà¸"
@@ -5666,6 +5671,10 @@ msgid "Bake Lightmaps"
msgstr "สร้าง Lightmaps"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "เลือà¸à¹„ฟล์ bake ของ lightmap :"
@@ -8180,7 +8189,13 @@ msgid "Cinematic Preview"
msgstr "ดูตัวอย่างà¹à¸šà¸šà¸ à¸²à¸žà¸¢à¸™à¸•à¸£à¹Œ"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "ไม่สามารถใช้งานได้เมื่อใช้à¸à¸²à¸£à¹€à¸£à¸™à¹€à¸”อร์โดย GLES2"
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9126,6 +9141,11 @@ msgstr "ลบรีซอร์ส"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "เปลี่ยนชื่อรีซอร์ส"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "นำเข้าธีม"
@@ -9180,6 +9200,21 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Add Item Type"
+msgstr "เพิ่มไอเทม"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "à¹à¸à¹‰à¹„ขประเภทตัวà¹à¸›à¸£"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "เปลี่ยนประเภท"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Show Default"
msgstr "โหลดค่าเริ่มต้น"
@@ -9198,8 +9233,18 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
-msgid "Add Item Type"
-msgstr "เพิ่มไอเทม"
+msgid "Base Type"
+msgstr "เปลี่ยนประเภท"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -9914,18 +9959,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "พบ:"
@@ -12620,6 +12653,11 @@ msgid "Stack Frames"
msgstr "สà¹à¸•à¸„"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "ตัวà¸à¸£à¸­à¸‡à¹„ทล์"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "ตัวตรวจวิเคราะห์ประสิทธิภาพ (Profiler)"
@@ -13960,9 +13998,10 @@ msgstr "ชื่อà¹à¸žà¹‡à¸„เà¸à¸ˆà¸œà¸´à¸”พลาด:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"โมดูล \"GodotPaymentV3\" ที่ไม่ถูà¸à¸•à¹‰à¸­à¸‡à¹„ด้รวมอยู่ในà¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าโปรเจà¸à¸•à¹Œ \"android/"
-"modules\" (เปลี่ยนà¹à¸›à¸¥à¸‡à¹ƒà¸™ Godot 3.2.2)\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
diff --git a/editor/translations/tl.po b/editor/translations/tl.po
index 3384446e1d..c943692efb 100644
--- a/editor/translations/tl.po
+++ b/editor/translations/tl.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-01-07 11:42+0000\n"
+"PO-Revision-Date: 2022-03-02 18:39+0000\n"
"Last-Translator: Napstaguy04 <brokenscreen3@gmail.com>\n"
"Language-Team: Tagalog <https://hosted.weblate.org/projects/godot-engine/"
"godot/tl/>\n"
@@ -18,7 +18,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.10.1\n"
+"X-Generator: Weblate 4.11.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -253,7 +253,7 @@ msgstr "Ipalit sa on/off ang track na ito."
#: editor/animation_track_editor.cpp
msgid "Update Mode (How this property is set)"
-msgstr "Paraang Nag-aapdate (Kung papano inayos ang katangian na ito)"
+msgstr "Paraan ng Pag-update (Kung papano inayos ang katangian na ito)"
#: editor/animation_track_editor.cpp
msgid "Interpolation Mode"
@@ -321,7 +321,7 @@ msgstr "Maglagay ng Key"
#: editor/animation_track_editor.cpp
msgid "Duplicate Key(s)"
-msgstr "Doblehin ang (mga) Key"
+msgstr "Duplikahin ang (mga) Key"
#: editor/animation_track_editor.cpp
msgid "Add RESET Value(s)"
@@ -548,7 +548,7 @@ msgstr ""
#: editor/animation_track_editor.cpp
msgid "Animation step value."
-msgstr ""
+msgstr "Bilang ng usog ng Animasyon."
#: editor/animation_track_editor.cpp
msgid "Seconds"
@@ -609,7 +609,7 @@ msgstr "Bumalik sa Nakaraang Hakbang"
#: editor/animation_track_editor.cpp
msgid "Apply Reset"
-msgstr ""
+msgstr "I-apply ang Reset"
#: editor/animation_track_editor.cpp
msgid "Optimize Animation"
@@ -633,7 +633,7 @@ msgstr "Gumawa ng (mga) RESET Track"
#: editor/animation_track_editor.cpp
msgid "Anim. Optimizer"
-msgstr ""
+msgstr "Tagapabilis ng Animasyon"
#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
@@ -645,7 +645,7 @@ msgstr ""
#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
-msgstr ""
+msgstr "Pinakahangganang Angulo na Mao-optimize:"
#: editor/animation_track_editor.cpp
msgid "Optimize"
@@ -1151,11 +1151,11 @@ msgstr "Mga Resources na Walang Tiyak na Pagmamayari:"
#: editor/dictionary_property_edit.cpp
msgid "Change Dictionary Key"
-msgstr ""
+msgstr "Ibahin ang Dictionary Key"
#: editor/dictionary_property_edit.cpp
msgid "Change Dictionary Value"
-msgstr ""
+msgstr "Ibahin ang Dictionary Value"
#: editor/editor_about.cpp
msgid "Thanks from the Godot community!"
@@ -1347,7 +1347,7 @@ msgstr "Ilipat ang Effect ng Bus"
#: editor/editor_audio_buses.cpp
msgid "Delete Bus Effect"
-msgstr ""
+msgstr "Alisin ang Effect sa Bus"
#: editor/editor_audio_buses.cpp
msgid "Drag & drop to rearrange."
@@ -1363,7 +1363,7 @@ msgstr "Nakatahimik"
#: editor/editor_audio_buses.cpp
msgid "Bypass"
-msgstr "Pasikot-sikot"
+msgstr "Ligtaan"
#: editor/editor_audio_buses.cpp
msgid "Bus Options"
@@ -1376,11 +1376,11 @@ msgstr "Doblehin"
#: editor/editor_audio_buses.cpp
msgid "Reset Volume"
-msgstr ""
+msgstr "I-balik sa dati ang Volume"
#: editor/editor_audio_buses.cpp
msgid "Delete Effect"
-msgstr ""
+msgstr "Alisin ang Effect"
#: editor/editor_audio_buses.cpp
msgid "Audio"
@@ -1440,7 +1440,7 @@ msgstr "Nabigong ang pagsave ang file: %s"
#: editor/editor_audio_buses.cpp
msgid "Add Bus"
-msgstr ""
+msgstr "Magdagdag ng Bus"
#: editor/editor_audio_buses.cpp
msgid "Add a new Audio Bus to this layout."
@@ -1476,6 +1476,11 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "I-save Ang Ayos ng Audio Bus Bilang..."
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Di-wastong pangalan."
@@ -1507,7 +1512,7 @@ msgstr ""
#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
-msgstr ""
+msgstr "Meron ng '%s' na Autoload!"
#: editor/editor_autoload_settings.cpp
msgid "Rename Autoload"
@@ -1572,11 +1577,11 @@ msgstr "Pangkalahatang (Global) Variable"
#: editor/editor_data.cpp
msgid "Paste Params"
-msgstr ""
+msgstr "I-pasta ang mga Params"
#: editor/editor_data.cpp
msgid "Updating Scene"
-msgstr ""
+msgstr "Sinasariwa ang Eksena"
#: editor/editor_data.cpp
msgid "Storing local changes..."
@@ -1821,6 +1826,8 @@ msgid ""
"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
msgstr ""
+"Meron ng '%s' na profile. Alisin muna ito bago mag-import. Naihinto ang pag-"
+"import."
#: editor/editor_feature_profile.cpp
msgid "Error saving profile to path: '%s'."
@@ -2030,12 +2037,12 @@ msgstr "Tingnan ang mga item bilang talaan."
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Directories & Files:"
-msgstr ""
+msgstr "Mga Direktoryo at mga File:"
#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
#: editor/plugins/style_box_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview:"
-msgstr ""
+msgstr "Pasilip:"
#: editor/editor_file_dialog.cpp
#: editor/plugins/version_control_editor_plugin.cpp scene/gui/file_dialog.cpp
@@ -2086,9 +2093,8 @@ msgid "Properties"
msgstr "Mga Katangian"
#: editor/editor_help.cpp
-#, fuzzy
msgid "overrides %s:"
-msgstr "ipagpalit:"
+msgstr "Ipagpapalit sa %s:"
#: editor/editor_help.cpp
msgid "default:"
@@ -2104,7 +2110,7 @@ msgstr "Mga Katangian ng Theme"
#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Colors"
-msgstr ""
+msgstr "Mga Kulay"
#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Constants"
@@ -2112,15 +2118,15 @@ msgstr "Mga Konstant"
#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Fonts"
-msgstr ""
+msgstr "Mga Font"
#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Icons"
-msgstr ""
+msgstr "Mga Icon"
#: editor/editor_help.cpp
msgid "Styles"
-msgstr ""
+msgstr "Mga Estilo"
#: editor/editor_help.cpp
msgid "Enumerations"
@@ -2161,7 +2167,7 @@ msgstr "Maghanap sa Sanggunian"
#: editor/editor_help_search.cpp
msgid "Case Sensitive"
-msgstr ""
+msgstr "Sensitibo sa Case"
#: editor/editor_help_search.cpp
msgid "Show Hierarchy"
@@ -2228,9 +2234,8 @@ msgid "Property:"
msgstr "Katangian:"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Pin value"
-msgstr "(halaga)"
+msgstr "Halaga ng Pin"
#: editor/editor_inspector.cpp
msgid ""
@@ -2261,19 +2266,16 @@ msgid "Unpinned %s"
msgstr ""
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Copy Property"
-msgstr "Katangian"
+msgstr "Kopyahin ang Katangian"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Paste Property"
-msgstr "Katangian"
+msgstr "I-paste ang Katangian"
#: editor/editor_inspector.cpp
-#, fuzzy
msgid "Copy Property Path"
-msgstr "Kopyahin ang Kinaroroonan"
+msgstr "Kopyahin ang Kinaroroonan ng Katangian"
#: editor/editor_log.cpp
msgid "Output:"
@@ -2373,10 +2375,12 @@ msgid ""
"This resource can't be saved because it does not belong to the edited scene. "
"Make it unique first."
msgstr ""
+"Hindi mai-ligtas ang resource na ito dahil hindi ito nabibilang sa ginagalaw "
+"na eksena. Gawing tangi (unique) muna ito."
#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Save Resource As..."
-msgstr "I-save ang Resource Bilang..."
+msgstr "I-ligtas ang Resource Bilang..."
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
@@ -2440,11 +2444,11 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Could not save one or more scenes!"
-msgstr ""
+msgstr "Hindi mai-iligtas ang ni isa o dalawang eksena!"
#: editor/editor_node.cpp
msgid "Save All Scenes"
-msgstr "Iimpok Lahat ng Mga Eksena"
+msgstr "I-ligtas Lahat ng Mga Eksena"
#: editor/editor_node.cpp editor/scene_tree_dock.cpp
msgid "Can't overwrite scene that is still open!"
@@ -2523,7 +2527,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "There is no defined scene to run."
-msgstr ""
+msgstr "Walang eksenang pinili upang patakbuhin ang aplikasyon."
#: editor/editor_node.cpp
msgid "Save scene before running..."
@@ -2531,7 +2535,7 @@ msgstr "Isave muna ang eksena bago ito patakbuhin..."
#: editor/editor_node.cpp
msgid "Could not start subprocess!"
-msgstr ""
+msgstr "Hindi maumpisa ang subprocess!"
#: editor/editor_node.cpp editor/filesystem_dock.cpp
msgid "Open Scene"
@@ -2539,11 +2543,11 @@ msgstr "Magbukas ng Eksena"
#: editor/editor_node.cpp
msgid "Open Base Scene"
-msgstr ""
+msgstr "Buksan ang Punong Eksena (Base Scene)"
#: editor/editor_node.cpp
msgid "Quick Open..."
-msgstr "Mabilisang Magbukas..."
+msgstr "Buksan Kaagad..."
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
@@ -2579,7 +2583,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Save Scene As..."
-msgstr ""
+msgstr "I-ligtas ang Eksena Bilang..."
#: editor/editor_node.cpp modules/gltf/editor_scene_exporter_gltf_plugin.cpp
msgid "This operation can't be done without a scene."
@@ -2797,11 +2801,11 @@ msgstr "Isara ang Tab"
#: editor/editor_node.cpp
msgid "Undo Close Tab"
-msgstr ""
+msgstr "Ibalik ang Nasarang Tab"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Close Other Tabs"
-msgstr "Isara Ang Ibang Mga Tab"
+msgstr "Isara ang Ibang mga Tab"
#: editor/editor_node.cpp
msgid "Close Tabs to the Right"
@@ -2843,7 +2847,7 @@ msgstr ""
msgid "Add a new scene."
msgstr "Magdagdag ng panibagong eksena."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Eksena"
@@ -2885,7 +2889,7 @@ msgstr "Magbukas ng Eksena..."
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Open Recent"
-msgstr ""
+msgstr "Buksan ang Kumakailan"
#: editor/editor_node.cpp
msgid "Save Scene"
@@ -2906,12 +2910,12 @@ msgstr "TileSet..."
#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Undo"
-msgstr ""
+msgstr "I-undo"
#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Redo"
-msgstr ""
+msgstr "I-redo"
#: editor/editor_node.cpp
msgid "Miscellaneous project or scene-wide tools."
@@ -2947,9 +2951,8 @@ msgid "Install Android Build Template..."
msgstr "Ikabit ang Android Build Template..."
#: editor/editor_node.cpp
-#, fuzzy
msgid "Open User Data Folder"
-msgstr "Buksan ang Folder ng Datos ng Proyekto"
+msgstr "Buksan ang User Data Folder ng Proyekto"
#: editor/editor_node.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Tools"
@@ -3093,11 +3096,11 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Open Editor Settings Folder"
-msgstr ""
+msgstr "Buksan ang Folder ng Editor Settings"
#: editor/editor_node.cpp
msgid "Manage Editor Features..."
-msgstr ""
+msgstr "Pangasiwaan ang mga Tampok ng Editor..."
#: editor/editor_node.cpp
msgid "Manage Export Templates..."
@@ -3232,7 +3235,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Install from file"
-msgstr ""
+msgstr "Mag-install mula sa file"
#: editor/editor_node.cpp
msgid "Select android sources file"
@@ -3393,7 +3396,7 @@ msgstr "Sukat:"
#: editor/editor_profiler.cpp
msgid "Frame Time (ms)"
-msgstr ""
+msgstr "Oras ng Frame (ms)"
#: editor/editor_profiler.cpp
msgid "Average Time (ms)"
@@ -3485,7 +3488,7 @@ msgstr "Pumili ng Tinginan"
#: editor/editor_properties.cpp editor/property_editor.cpp
msgid "Selected node is not a Viewport!"
-msgstr ""
+msgstr "Ang piniling node ay hindi Viewport!"
#: editor/editor_properties_array_dict.cpp
msgid "Size: "
@@ -3524,7 +3527,7 @@ msgstr ""
#: editor/editor_resource_picker.cpp editor/property_editor.cpp
msgid "Make Unique"
-msgstr ""
+msgstr "Gawing Tangi (Unique)"
#: editor/editor_resource_picker.cpp
#: editor/plugins/animation_blend_space_1d_editor.cpp
@@ -3538,7 +3541,7 @@ msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp editor/property_editor.cpp
#: editor/scene_tree_dock.cpp scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Paste"
-msgstr "Idikit"
+msgstr "I-pasta"
#: editor/editor_resource_picker.cpp editor/property_editor.cpp
msgid "Convert to %s"
@@ -3631,7 +3634,7 @@ msgstr ""
#: editor/export_template_manager.cpp
msgid "Starting the download..."
-msgstr ""
+msgstr "Inuumpisahan ang pag-download..."
#: editor/export_template_manager.cpp
msgid "Error requesting URL:"
@@ -3708,7 +3711,7 @@ msgstr ""
#: editor/export_template_manager.cpp
msgid "Can't Resolve"
-msgstr ""
+msgstr "Hindi Mairesolba"
#: editor/export_template_manager.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3871,7 +3874,7 @@ msgstr ""
#: editor/filesystem_dock.cpp
msgid "Favorites"
-msgstr ""
+msgstr "Mga Paborito"
#: editor/filesystem_dock.cpp
msgid "Status: Import of file failed. Please fix file and reimport manually."
@@ -3938,19 +3941,19 @@ msgstr ""
#: editor/filesystem_dock.cpp
msgid "Renaming file:"
-msgstr ""
+msgstr "Pinapalitan ang pangalan ng file:"
#: editor/filesystem_dock.cpp
msgid "Renaming folder:"
-msgstr ""
+msgstr "Pinapalitan ang pangalan ng folder:"
#: editor/filesystem_dock.cpp
msgid "Duplicating file:"
-msgstr ""
+msgstr "Dinuduplicate ang file:"
#: editor/filesystem_dock.cpp
msgid "Duplicating folder:"
-msgstr ""
+msgstr "Dinuduplicate ang folder:"
#: editor/filesystem_dock.cpp
msgid "New Inherited Scene"
@@ -3970,15 +3973,15 @@ msgstr ""
#: editor/filesystem_dock.cpp
msgid "Add to Favorites"
-msgstr ""
+msgstr "Idagdag sa Paborito mo"
#: editor/filesystem_dock.cpp
msgid "Remove from Favorites"
-msgstr ""
+msgstr "Alisin sa Paborito mo"
#: editor/filesystem_dock.cpp
msgid "Edit Dependencies..."
-msgstr "Baguhin ang mga Kaasahan..."
+msgstr "Baguhin ang mga Kaasahan (Dependencies)..."
#: editor/filesystem_dock.cpp
msgid "View Owners..."
@@ -3998,7 +4001,7 @@ msgstr "Bagong Skrip..."
#: editor/filesystem_dock.cpp
msgid "New Resource..."
-msgstr ""
+msgstr "Bagong Resource..."
#: editor/filesystem_dock.cpp editor/inspector_dock.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
@@ -4034,15 +4037,15 @@ msgstr ""
#: editor/filesystem_dock.cpp
msgid "Sort by Last Modified"
-msgstr "Ayusin ayon sa Huling Binago"
+msgstr "Pagbukud-bukurin ayon sa Huling Binago"
#: editor/filesystem_dock.cpp
msgid "Sort by First Modified"
-msgstr ""
+msgstr "Pagbukud-bukurin ayon sa Unang Binago"
#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate..."
-msgstr ""
+msgstr "I-duplicate..."
#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
@@ -4087,15 +4090,15 @@ msgstr "Ilipat"
#: editor/project_manager.cpp editor/rename_dialog.cpp
#: editor/scene_tree_dock.cpp
msgid "Rename"
-msgstr ""
+msgstr "Baguhin ang Pangalan"
#: editor/filesystem_dock.cpp
msgid "Overwrite"
-msgstr ""
+msgstr "Ipagpalit"
#: editor/filesystem_dock.cpp
msgid "Create Scene"
-msgstr ""
+msgstr "Lumikha ng Eksena"
#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -4111,11 +4114,11 @@ msgstr "Hanapin:"
#: editor/find_in_files.cpp editor/rename_dialog.cpp
msgid "Replace:"
-msgstr ""
+msgstr "Palitan:"
#: editor/find_in_files.cpp
msgid "Folder:"
-msgstr ""
+msgstr "Folder:"
#: editor/find_in_files.cpp
msgid "Filters:"
@@ -4130,11 +4133,11 @@ msgstr ""
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
msgid "Find..."
-msgstr ""
+msgstr "Hanapin..."
#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
msgid "Replace..."
-msgstr ""
+msgstr "Palitan..."
#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
#, fuzzy
@@ -4156,7 +4159,7 @@ msgstr "Palitan Lahat"
#: editor/find_in_files.cpp
msgid "Searching..."
-msgstr ""
+msgstr "Naghahanap..."
#: editor/find_in_files.cpp
msgid "%d match in %d file."
@@ -4172,11 +4175,11 @@ msgstr ""
#: editor/groups_editor.cpp
msgid "Add to Group"
-msgstr ""
+msgstr "Idagdag sa Pangkat"
#: editor/groups_editor.cpp
msgid "Remove from Group"
-msgstr ""
+msgstr "Alisin sa Pangkat"
#: editor/groups_editor.cpp
msgid "Group name already exists."
@@ -4205,7 +4208,7 @@ msgstr ""
#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
#: editor/scene_tree_editor.cpp
msgid "Filter nodes"
-msgstr ""
+msgstr "Salain ang mga node"
#: editor/groups_editor.cpp
msgid "Nodes in Group"
@@ -4266,11 +4269,11 @@ msgstr ""
#: editor/import/resource_importer_scene.cpp
#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
-msgstr ""
+msgstr "Mag-angkat ng Eksena"
#: editor/import/resource_importer_scene.cpp
msgid "Importing Scene..."
-msgstr ""
+msgstr "Inaangkat ang Eksena..."
#: editor/import/resource_importer_scene.cpp
msgid "Generating Lightmaps"
@@ -4302,7 +4305,7 @@ msgstr ""
#: editor/import/resource_importer_scene.cpp
msgid "Saving..."
-msgstr ""
+msgstr "Nililigtas..."
#: editor/import_defaults_editor.cpp
msgid "Select Importer"
@@ -4346,15 +4349,15 @@ msgstr ""
#: editor/import_dock.cpp
msgid "Import As:"
-msgstr ""
+msgstr "Iangkat Bilang:"
#: editor/import_dock.cpp
msgid "Preset"
-msgstr ""
+msgstr "Preset"
#: editor/import_dock.cpp
msgid "Save Scenes, Re-Import, and Restart"
-msgstr ""
+msgstr "I-ligtas ang mga Eksena, I-reimport at Mag-restart"
#: editor/import_dock.cpp
msgid "Changing the type of an imported file requires editor restart."
@@ -4377,11 +4380,11 @@ msgstr ""
#: editor/inspector_dock.cpp
msgid "Copy Properties"
-msgstr ""
+msgstr "Kopyahin ang mga Katangian"
#: editor/inspector_dock.cpp
msgid "Paste Properties"
-msgstr ""
+msgstr "I-pasta ang mga Katangian"
#: editor/inspector_dock.cpp
msgid "Make Sub-Resources Unique"
@@ -4403,7 +4406,7 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp
msgid "Save As..."
-msgstr ""
+msgstr "I-ligtas Bilang..."
#: editor/inspector_dock.cpp
msgid "Extra resource options."
@@ -4435,11 +4438,11 @@ msgstr ""
#: editor/inspector_dock.cpp
msgid "Open documentation for this object."
-msgstr ""
+msgstr "Buksan ang dokumentasyon para sa object na ito."
#: editor/inspector_dock.cpp editor/scene_tree_dock.cpp
msgid "Open Documentation"
-msgstr ""
+msgstr "Buksan ang Dokumentasyon"
#: editor/inspector_dock.cpp
msgid "Filter properties"
@@ -4467,48 +4470,48 @@ msgstr ""
#: editor/plugin_config_dialog.cpp
msgid "Create a Plugin"
-msgstr ""
+msgstr "Gumawa ng Plugin"
#: editor/plugin_config_dialog.cpp
msgid "Plugin Name:"
-msgstr ""
+msgstr "Pangalan ng Plugin:"
#: editor/plugin_config_dialog.cpp
msgid "Subfolder:"
-msgstr ""
+msgstr "Subfolder:"
#: editor/plugin_config_dialog.cpp
#: editor/plugins/version_control_editor_plugin.cpp
msgid "Author:"
-msgstr ""
+msgstr "May-akda:"
#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
-msgstr ""
+msgstr "Bersyon:"
#: editor/plugin_config_dialog.cpp editor/script_create_dialog.cpp
msgid "Language:"
-msgstr ""
+msgstr "Wika:"
#: editor/plugin_config_dialog.cpp
msgid "Script Name:"
-msgstr ""
+msgstr "Pangalan ng Skript:"
#: editor/plugin_config_dialog.cpp
msgid "Activate now?"
-msgstr ""
+msgstr "Aktibahin na ngayon?"
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create Polygon"
-msgstr ""
+msgstr "Lumikha ng Polygon"
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Create points."
-msgstr ""
+msgstr "Lumikha ng mga punto."
#: editor/plugins/abstract_polygon_2d_editor.cpp
msgid ""
@@ -4516,27 +4519,30 @@ msgid ""
"LMB: Move Point\n"
"RMB: Erase Point"
msgstr ""
+"Ayusin ang mga punto.\n"
+"LMB: Maglipat ng Punto\n"
+"RMB: Magbura ng Punto"
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/animation_blend_space_1d_editor.cpp
msgid "Erase points."
-msgstr ""
+msgstr "Burahin ang mga punto."
#: editor/plugins/abstract_polygon_2d_editor.cpp
msgid "Edit Polygon"
-msgstr ""
+msgstr "Ayusin ang Polygon"
#: editor/plugins/abstract_polygon_2d_editor.cpp
msgid "Insert Point"
-msgstr ""
+msgstr "Maglagay ng Punto"
#: editor/plugins/abstract_polygon_2d_editor.cpp
msgid "Edit Polygon (Remove Point)"
-msgstr ""
+msgstr "Ayusin ang Polygon (Alisin ang Punto)"
#: editor/plugins/abstract_polygon_2d_editor.cpp
msgid "Remove Polygon And Point"
-msgstr ""
+msgstr "Alisin ang Polygon At Punto"
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
@@ -4544,14 +4550,14 @@ msgstr ""
#: editor/plugins/animation_state_machine_editor.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Animation"
-msgstr ""
+msgstr "Magdagdag ng Animation"
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Load..."
-msgstr ""
+msgstr "Magload..."
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
@@ -4617,20 +4623,20 @@ msgstr ""
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Point"
-msgstr ""
+msgstr "Punto"
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Open Editor"
-msgstr ""
+msgstr "Buksan ang Editor"
#: editor/plugins/animation_blend_space_1d_editor.cpp
#: editor/plugins/animation_blend_space_2d_editor.cpp
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Open Animation Node"
-msgstr ""
+msgstr "Buksan ang Animation Node"
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Triangle already exists."
@@ -4638,7 +4644,7 @@ msgstr ""
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Add Triangle"
-msgstr ""
+msgstr "Magdagdag ng Tatsulok"
#: editor/plugins/animation_blend_space_2d_editor.cpp
msgid "Change BlendSpace2D Limits"
@@ -4722,12 +4728,12 @@ msgstr ""
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
msgid "Set Animation"
-msgstr ""
+msgstr "Itakda ang Animasyon"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Delete Node"
-msgstr ""
+msgstr "Burahin ang Node"
#: editor/plugins/animation_blend_tree_editor_plugin.cpp
#: editor/scene_tree_dock.cpp
@@ -4790,42 +4796,42 @@ msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
-msgstr ""
+msgstr "I-toggle ang Kusang Pagpapalabas"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "New Animation Name:"
-msgstr ""
+msgstr "Bagong Pangalan ng Animation:"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "New Anim"
-msgstr ""
+msgstr "Bagong Anim"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
-msgstr ""
+msgstr "Baguhin ang Pangalan ng Animasyon:"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Animation?"
-msgstr ""
+msgstr "Alisin ang Animation?"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Remove Animation"
-msgstr ""
+msgstr "Alisin ang Animation"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Invalid animation name!"
-msgstr ""
+msgstr "Di-wastong pangalan ng animation!"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation name already exists!"
-msgstr ""
+msgstr "May nakapangalan na parehas sa Animation na ito!"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Rename Animation"
-msgstr ""
+msgstr "Palitan ang Pangalan ng Animation"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
@@ -4861,7 +4867,7 @@ msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "No animation to edit!"
-msgstr ""
+msgstr "Walang animasyong pinagtratrabauhan!"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from current pos. (A)"
@@ -4906,7 +4912,7 @@ msgstr "Bago"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Edit Transitions..."
-msgstr ""
+msgstr "Ayusin ang mga Transisyon..."
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Open in Inspector"
@@ -4930,7 +4936,7 @@ msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Directions"
-msgstr ""
+msgstr "Mga Direksyon"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Past"
@@ -5062,6 +5068,9 @@ msgid ""
"RMB to add new nodes.\n"
"Shift+LMB to create connections."
msgstr ""
+"Magpili at maglipad ng mga node.\n"
+"RMB upang magdagdag ng bagong mga node.\n"
+"Shift+LMB upang gumawa ng mga bagong koneksyon."
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Create new nodes."
@@ -5175,15 +5184,15 @@ msgstr ""
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
-msgstr ""
+msgstr "Alisin ang Input"
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
-msgstr ""
+msgstr "Wasto ang animation tree."
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
-msgstr ""
+msgstr "Di-wasto ang animation tree."
#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
@@ -5235,27 +5244,27 @@ msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
-msgstr ""
+msgstr "Laman:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "View Files"
-msgstr ""
+msgstr "Tignan ang mga File"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
-msgstr ""
+msgstr "I-download"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Connection error, please try again."
-msgstr ""
+msgstr "Nabigo sa pagkonekta, maaring subukan muli."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Can't connect."
-msgstr ""
+msgstr "Hindi makakonekta."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Can't connect to host:"
-msgstr ""
+msgstr "Hindi makakonekta sa host:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "No response from host:"
@@ -5271,7 +5280,7 @@ msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Can't resolve."
-msgstr ""
+msgstr "Hindi mai-resolba."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, return code:"
@@ -5283,7 +5292,7 @@ msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Write error."
-msgstr ""
+msgstr "Nabigo sa pag-write."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Request failed, too many redirects"
@@ -5303,55 +5312,55 @@ msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Failed:"
-msgstr ""
+msgstr "Nabigo:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Bad download hash, assuming file has been tampered with."
-msgstr ""
+msgstr "Di-wastong download hash, inaakalang may gumalaw ng file."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Expected:"
-msgstr ""
+msgstr "Inaasahan:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Got:"
-msgstr ""
+msgstr "Natanggap:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Failed SHA-256 hash check"
-msgstr ""
+msgstr "Nabigo sa pagsusuri ng SHA-256 hash"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Asset Download Error:"
-msgstr ""
+msgstr "Nabigo sa Pagdownload ng Asset:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Downloading (%s / %s)..."
-msgstr ""
+msgstr "Dinadawnlowd (%s/%s)..."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Downloading..."
-msgstr ""
+msgstr "Dinadawnlowd..."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
-msgstr ""
+msgstr "Rineresolba..."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Error making request"
-msgstr ""
+msgstr "Nabigo sa paggawa ng hiling"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Idle"
-msgstr ""
+msgstr "Nakatenga"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Install..."
-msgstr ""
+msgstr "I-install..."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Retry"
-msgstr ""
+msgstr "Subukan muli"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download Error"
@@ -5371,23 +5380,23 @@ msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Name (A-Z)"
-msgstr ""
+msgstr "Pangalan (A-Z)"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Name (Z-A)"
-msgstr ""
+msgstr "Pangalan (Z-A)"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "License (A-Z)"
-msgstr ""
+msgstr "Lisensya (A-Z)"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "License (Z-A)"
-msgstr ""
+msgstr "Lisensya (Z-A)"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "First"
-msgstr ""
+msgstr "Panguna"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Previous"
@@ -5403,7 +5412,7 @@ msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "All"
-msgstr ""
+msgstr "Lahat"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Search templates, projects, and demos"
@@ -5423,31 +5432,31 @@ msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp
msgid "Sort:"
-msgstr ""
+msgstr "Ipagbukud-bukod:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Category:"
-msgstr ""
+msgstr "Kaurian:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Site:"
-msgstr ""
+msgstr "Site:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Support"
-msgstr ""
+msgstr "Naka-alalay"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Official"
-msgstr ""
+msgstr "Opisyal"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Testing"
-msgstr ""
+msgstr "Sinusubukan"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Loading..."
-msgstr ""
+msgstr "Nagloload..."
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -5493,13 +5502,17 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Preview"
-msgstr ""
+msgstr "Pasilip"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Configure Snap"
@@ -5567,7 +5580,7 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotate %d CanvasItems"
-msgstr ""
+msgstr "Paikutin ang (mga) %d Canvasitems"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotate CanvasItem \"%s\" to %d degrees"
@@ -5715,7 +5728,7 @@ msgid ""
"Project Camera Override\n"
"Overrides the running project's camera with the editor viewport camera."
msgstr ""
-"Pagpapalit ng Kamera ng Proyekto\n"
+"Pagpapalit sa Kamera ng Proyekto\n"
"Pinapalitan ang kamera ng tumatakbong proyekto sa kamera ng editor viewport."
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -5729,12 +5742,12 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Lock Selected"
-msgstr ""
+msgstr "I-lock ang nakapili"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Unlock Selected"
-msgstr ""
+msgstr "I-unlock ang nakapili"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5748,7 +5761,7 @@ msgstr "Ibuwag Ang Pangkat ng Napili"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
-msgstr ""
+msgstr "I-pasta ang Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Clear Guides"
@@ -5764,11 +5777,11 @@ msgstr "Alisin Ang Mga Buto"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make IK Chain"
-msgstr ""
+msgstr "Lumikha ng IK Chain"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Clear IK Chain"
-msgstr ""
+msgstr "Alisin ang IK Chain"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid ""
@@ -5781,7 +5794,7 @@ msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp
msgid "Zoom Reset"
-msgstr ""
+msgstr "Ibalik sa Dati ang Zoom"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5810,10 +5823,12 @@ msgstr "V: Itakda ang posisyon ng pivot sa node."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Alt+RMB: Show list of all nodes at position clicked, including locked."
msgstr ""
+"Alt+RMB: Ipakita ang listahan ng lahat ng node at posisyong pinindutan, "
+"kabilang ang mga naka-lock."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "RMB: Add node at position clicked."
-msgstr ""
+msgstr "RMB: Magdagdag ng node sa posisyong pinindutan."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5832,7 +5847,7 @@ msgstr "Paraan ng Pagpapalaki"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Shift: Scale proportionally."
-msgstr ""
+msgstr "Shift: Palakihin na pa-proporsyonal."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5861,7 +5876,7 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Smart Snap"
-msgstr ""
+msgstr "Gamitin ang Smart Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Toggle grid snapping."
@@ -5931,14 +5946,13 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Lock Selected Node(s)"
-msgstr "Doblehin ang (mga) Napiling Key"
+msgstr "I-lock ang Nakapiling (mga) Node"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Unlock the selected object (can be moved)."
-msgstr ""
+msgstr "I-Unlock ang Napiling Object (maaring galawin)."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5964,9 +5978,8 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Ungroup Selected Node(s)"
-msgstr "Ibuwag Ang Pangkat ng Napili"
+msgstr "Ibuwag Ang Pangkat ng (mga) Napiling Node"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Skeleton Options"
@@ -5991,7 +6004,7 @@ msgstr "Tingnan"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Always Show Grid"
-msgstr ""
+msgstr "Parating Ipakita ang Grid"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Helpers"
@@ -6095,11 +6108,11 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Zoom to 3.125%"
-msgstr ""
+msgstr "I-zoom sa 3.125%"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Zoom to 6.25%"
-msgstr ""
+msgstr "I-zoom sa 6.25%"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Zoom to 12.5%"
@@ -6168,15 +6181,15 @@ msgstr ""
#: editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Create Polygon3D"
-msgstr ""
+msgstr "Gumawa ng Polygon3D"
#: editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Edit Poly"
-msgstr ""
+msgstr "Ayusin ang Poly"
#: editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Edit Poly (Remove Point)"
-msgstr ""
+msgstr "Ayusin ang Poly (Magalis ng Punto)"
#: editor/plugins/collision_shape_2d_editor_plugin.cpp
msgid "Set Handle"
@@ -6192,7 +6205,7 @@ msgstr ""
#: editor/plugins/particles_2d_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
msgid "Restart"
-msgstr ""
+msgstr "Simulan muli"
#: editor/plugins/cpu_particles_2d_editor_plugin.cpp
#: editor/plugins/particles_2d_editor_plugin.cpp
@@ -6247,12 +6260,12 @@ msgstr ""
#: editor/plugins/cpu_particles_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emission Points From Mesh"
-msgstr ""
+msgstr "Gumawa ng mga Punto ng Bugahan Galing sa Mesh"
#: editor/plugins/cpu_particles_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emission Points From Node"
-msgstr ""
+msgstr "Gumawa ng mga Punto ng Bugahan Galing sa Node"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat 0"
@@ -6264,11 +6277,11 @@ msgstr ""
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease In"
-msgstr ""
+msgstr "Suwabeng Pagpasok"
#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp
msgid "Ease Out"
-msgstr ""
+msgstr "Suwabeng Paglabas"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Smoothstep"
@@ -6288,11 +6301,11 @@ msgstr ""
#: editor/plugins/curve_editor_plugin.cpp
msgid "Add Point"
-msgstr ""
+msgstr "Magdagdag ng Punto"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Remove Point"
-msgstr ""
+msgstr "Magalis ng Punto"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Left Linear"
@@ -7242,16 +7255,16 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
-msgstr ""
+msgstr "Hanapin ang Susunod"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
msgid "Find Previous"
-msgstr ""
+msgstr "Hanapin ang Nakaraan"
#: editor/plugins/script_editor_plugin.cpp
msgid "Filter scripts"
-msgstr ""
+msgstr "Salain ang mga skrip"
#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle alphabetical sorting of the method list."
@@ -7291,15 +7304,15 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
msgid "Open..."
-msgstr ""
+msgstr "Buksan..."
#: editor/plugins/script_editor_plugin.cpp
msgid "Reopen Closed Script"
-msgstr ""
+msgstr "Buksan Muli ang Naisarang Skrip"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
-msgstr ""
+msgstr "I-ligtas Lahat"
#: editor/plugins/script_editor_plugin.cpp
msgid "Soft Reload Script"
@@ -7416,7 +7429,7 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
msgid "Search Results"
-msgstr ""
+msgstr "Bunga ng Paghahanap"
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Scripts"
@@ -7449,7 +7462,7 @@ msgstr ""
#: editor/plugins/script_text_editor.cpp
msgid "Go to Function"
-msgstr ""
+msgstr "Tumungo sa Punsyon"
#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
@@ -7500,29 +7513,29 @@ msgstr ""
#: editor/plugins/script_text_editor.cpp
#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
msgid "Go To"
-msgstr ""
+msgstr "Pumunta sa"
#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Cut"
-msgstr ""
+msgstr "Gupitin"
#: editor/plugins/script_text_editor.cpp editor/plugins/theme_editor_plugin.cpp
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
msgid "Select All"
-msgstr ""
+msgstr "Piliin Lahat"
#: editor/plugins/script_text_editor.cpp
msgid "Delete Line"
-msgstr ""
+msgstr "Burahin ang Linya"
#: editor/plugins/script_text_editor.cpp
msgid "Indent Left"
-msgstr ""
+msgstr "I-urong Pakaliwa"
#: editor/plugins/script_text_editor.cpp
msgid "Indent Right"
-msgstr ""
+msgstr "I-urong Pakanan"
#: editor/plugins/script_text_editor.cpp
msgid "Toggle Comment"
@@ -7595,11 +7608,11 @@ msgstr ""
#: editor/plugins/script_text_editor.cpp
msgid "Go to Function..."
-msgstr ""
+msgstr "Pumunta sa Punsyon..."
#: editor/plugins/script_text_editor.cpp
msgid "Go to Line..."
-msgstr ""
+msgstr "Pumunta sa Linya..."
#: editor/plugins/script_text_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
@@ -7930,7 +7943,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8808,6 +8826,11 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Baguhin ang Pangalan ng Resource"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8857,6 +8880,20 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr "Magdagdag ng Bagong Uri ng Item"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Ibahin ang Punong-Uri"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Ibahin ang Punong-Uri"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "Ipakita ang Karaniwan"
@@ -8873,8 +8910,19 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr "Magdagdag ng Bagong Uri ng Item"
+#, fuzzy
+msgid "Base Type"
+msgstr "Ibahin ang Punong-Uri"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9559,18 +9607,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Mga Tugma:"
@@ -10922,47 +10958,47 @@ msgstr ""
#: editor/project_manager.cpp
msgid "Scan"
-msgstr ""
+msgstr "Maghanap"
#: editor/project_manager.cpp
msgid "Scan Projects"
-msgstr ""
+msgstr "Maghanap ng mga Proyekto"
#: editor/project_manager.cpp
msgid "Select a Folder to Scan"
-msgstr ""
+msgstr "Pumili ng Folder na Paghahanapan"
#: editor/project_manager.cpp
msgid "New Project"
-msgstr ""
+msgstr "Bagong Proyekto"
#: editor/project_manager.cpp
msgid "Import Project"
-msgstr ""
+msgstr "Mag-angkat ng Proyekto"
#: editor/project_manager.cpp
msgid "Remove Project"
-msgstr ""
+msgstr "Alisin ang Proyekto"
#: editor/project_manager.cpp
msgid "Remove Missing"
-msgstr ""
+msgstr "Alisin ang Nawawala"
#: editor/project_manager.cpp
msgid "About"
-msgstr "Tungkol sa Godot"
+msgstr "Tungkol dito"
#: editor/project_manager.cpp
msgid "Asset Library Projects"
-msgstr ""
+msgstr "Mga Proyekto mula sa Asset Library"
#: editor/project_manager.cpp
msgid "Restart Now"
-msgstr ""
+msgstr "I-restart"
#: editor/project_manager.cpp
msgid "Remove All"
-msgstr ""
+msgstr "Alisin Lahat"
#: editor/project_manager.cpp
msgid "Also delete project contents (no undo!)"
@@ -10970,17 +11006,20 @@ msgstr ""
#: editor/project_manager.cpp
msgid "Can't run project"
-msgstr ""
+msgstr "Hindi mapatakbo ang proyekto"
#: editor/project_manager.cpp
msgid ""
"You currently don't have any projects.\n"
"Would you like to explore official example projects in the Asset Library?"
msgstr ""
+"Kasalukuyang wala ka pang mga proyekto.\n"
+"Gusto mo bang pumunta sa mga opisyal na halimbawang proyekto sa Asset "
+"Library?"
#: editor/project_manager.cpp
msgid "Filter projects"
-msgstr ""
+msgstr "Salain ang mga proyekto"
#: editor/project_manager.cpp
msgid ""
@@ -10988,6 +11027,10 @@ msgid ""
"To filter projects by name and full path, the query must contain at least "
"one `/` character."
msgstr ""
+"Ang patlang na ito ay nagsasala sa mga proyekto ayon sa pangalan at hulihang "
+"path component. \n"
+"Upang sumala ng mga proyekto ayon sa pangalan at full path, dapat mayroong "
+"kahit isang '/' na karakter sa paghahanap."
#: editor/project_settings_editor.cpp
msgid "Physical Key"
@@ -12136,6 +12179,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Salain ang mga hudyat"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -12153,7 +12201,7 @@ msgstr ""
#: editor/script_editor_debugger.cpp
msgid "Monitors"
-msgstr ""
+msgstr "Mga Tagasubaybay"
#: editor/script_editor_debugger.cpp
msgid "Pick one or more items from the list to display the graph."
@@ -13010,30 +13058,28 @@ msgid "Edit Member"
msgstr "Ayusin ang Kasapi"
#: modules/visual_script/visual_script_expression.cpp
-#, fuzzy
msgid "Expression"
-msgstr "Ibahin ang Ekspresyon"
+msgstr "Ekspresyon"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Return"
msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
-#, fuzzy
msgid "Condition"
-msgstr "animation"
+msgstr "Kondisyon"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "if (cond) is:"
-msgstr ""
+msgstr "if (kondisyon) ay:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "While"
-msgstr ""
+msgstr "While"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "while (cond):"
-msgstr ""
+msgstr "while (kondisyon):"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator"
@@ -13045,11 +13091,11 @@ msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
-msgstr ""
+msgstr "Hindi iterable ang uri ng input: "
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator became invalid"
-msgstr ""
+msgstr "Naging invalid ang Iterator"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Iterator became invalid: "
@@ -13065,7 +13111,7 @@ msgstr ""
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Switch"
-msgstr ""
+msgstr "Switch"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "'input' is:"
@@ -13078,7 +13124,7 @@ msgstr "Mga Uri:"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Is %s?"
-msgstr ""
+msgstr "%s ba?"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "On %s"
@@ -13351,7 +13397,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid "Exporting APK..."
-msgstr ""
+msgstr "Iniluluwas ang APK..."
#: platform/android/export/export_plugin.cpp
msgid "Uninstalling..."
@@ -13367,7 +13413,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid "Running on device..."
-msgstr ""
+msgstr "Tumatakbo sa device..."
#: platform/android/export/export_plugin.cpp
msgid "Could not execute on device."
@@ -13433,7 +13479,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid "Invalid public key for APK expansion."
-msgstr ""
+msgstr "Di-wastong public key para sa APK expansion."
#: platform/android/export/export_plugin.cpp
msgid "Invalid package name:"
@@ -13443,6 +13489,9 @@ msgstr "Di-wastong pangalan para sa pakete:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
@@ -13504,11 +13553,11 @@ msgstr "nagbalik ng may pagkakabigong #%d ang 'apksigner'"
#: platform/android/export/export_plugin.cpp
msgid "Verifying %s..."
-msgstr ""
+msgstr "Pinapatunayan ang %s..."
#: platform/android/export/export_plugin.cpp
msgid "'apksigner' verification of %s failed."
-msgstr ""
+msgstr "Nabigo ang pagpapatunay ng 'apksigner' ng %s."
#: platform/android/export/export_plugin.cpp
msgid "Exporting for Android"
@@ -13561,7 +13610,7 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid "Building Android Project (gradle)"
-msgstr ""
+msgstr "Binibuild ang Android Project (gradle)"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -13585,13 +13634,15 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid "Creating APK..."
-msgstr ""
+msgstr "Nililikha ang APK..."
#: platform/android/export/export_plugin.cpp
msgid ""
"Could not find template APK to export:\n"
"%s"
msgstr ""
+"Walang mahanap na template APK upang iluwas:\n"
+"%s"
#: platform/android/export/export_plugin.cpp
msgid ""
@@ -13603,11 +13654,11 @@ msgstr ""
#: platform/android/export/export_plugin.cpp
msgid "Adding files..."
-msgstr ""
+msgstr "Dinadagdag ang mga file..."
#: platform/android/export/export_plugin.cpp
msgid "Could not export project files"
-msgstr ""
+msgstr "Hindi mai-luwas ang mga project file"
#: platform/android/export/export_plugin.cpp
msgid "Aligning APK..."
@@ -13635,11 +13686,11 @@ msgstr ""
#: platform/javascript/export/export.cpp
msgid "Stop HTTP Server"
-msgstr ""
+msgstr "Ihinto ang HTTP Server"
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
-msgstr ""
+msgstr "Patakbuhin sa Browser"
#: platform/javascript/export/export.cpp
msgid "Run exported HTML in the system's default browser."
@@ -13703,9 +13754,8 @@ msgid "Failed to extract thin binary."
msgstr ""
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid binary format."
-msgstr "Di-wastong pangalan."
+msgstr "Di-wastong binary format."
#: platform/osx/export/codesign.cpp
msgid "Already signed!"
diff --git a/editor/translations/tr.po b/editor/translations/tr.po
index 87535e17f4..81253d421c 100644
--- a/editor/translations/tr.po
+++ b/editor/translations/tr.po
@@ -1539,6 +1539,11 @@ msgstr "Varsayılan Bus Yerleşim Düzenini Yükle."
msgid "Create a new Bus Layout."
msgstr "Yeni bir Bus Yerleşim Düzeni oluştur."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Audio Bus Yerleşim Düzenini Aç"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Geçersiz ad."
@@ -2981,7 +2986,7 @@ msgstr "Dikkat-Dağıtmayan Kipine geç."
msgid "Add a new scene."
msgstr "Yeni bir sahne ekle."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Sahne"
@@ -5756,6 +5761,10 @@ msgid "Bake Lightmaps"
msgstr "Işık-Haritalarını Pişir"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Işık Haritası pişirme dosyası seçiniz:"
@@ -8235,7 +8244,13 @@ msgid "Cinematic Preview"
msgstr "Sinematik Önizleme"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "GLES2 işleyici kullanılırken kullanılamaz."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9130,6 +9145,11 @@ msgid "Select Another Theme Resource:"
msgstr "Başka Bir Tema Kaynağı Seçin:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Kaynağı Yeniden Adlandır"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr "BaÅŸka Bir Tema"
@@ -9178,6 +9198,20 @@ msgstr ""
"tipteki diğer tüm StyleBox'larda aynı özellikleri güncelleyecektir."
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr "Öğe Türü Ekle"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "DeÄŸiÅŸken Tipini Ayarla"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Temel Tipi DeÄŸiÅŸtir"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "Varsayılanı Göster"
@@ -9194,8 +9228,19 @@ msgid "Override all default type items."
msgstr "Tüm varsayılan tür öğelerini geçersiz kıl."
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr "Öğe Türü Ekle"
+#, fuzzy
+msgid "Base Type"
+msgstr "Temel Tipi DeÄŸiÅŸtir"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9899,18 +9944,6 @@ msgid "Commit list size"
msgstr "Ä°ÅŸlem listesi boyutu"
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr "10"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr "20"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr "30"
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr "Dallar"
@@ -12642,6 +12675,11 @@ msgid "Stack Frames"
msgstr "Çerçeveleri Yığ"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Döşemelerde Bul"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "Kesitçi"
@@ -13963,9 +14001,10 @@ msgstr "Geçersiz paket ismi:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"Geçersiz \"GodotPaymentV3\" modülü \"android/modüller\" proje ayarına dahil "
-"edildi (Godot 3.2.2'de deÄŸiÅŸtirildi).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
diff --git a/editor/translations/tt.po b/editor/translations/tt.po
index 8459c61d41..afad464d26 100644
--- a/editor/translations/tt.po
+++ b/editor/translations/tt.po
@@ -1438,6 +1438,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2787,7 +2791,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5429,6 +5433,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7854,7 +7862,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8729,6 +8742,10 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme Resource"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8775,6 +8792,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -8791,7 +8820,17 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9469,18 +9508,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12034,6 +12061,10 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Filter stack variables"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13317,6 +13348,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/tzm.po b/editor/translations/tzm.po
index 3b2ebd6275..478dc7420f 100644
--- a/editor/translations/tzm.po
+++ b/editor/translations/tzm.po
@@ -1436,6 +1436,10 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+msgid "Audio Bus Layout"
+msgstr ""
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2785,7 +2789,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5427,6 +5431,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr ""
@@ -7852,7 +7860,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8727,6 +8740,10 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme Resource"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -8773,6 +8790,18 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Variation Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Set Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -8789,7 +8818,17 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+msgid "Base Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9465,18 +9504,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12030,6 +12057,10 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+msgid "Filter stack variables"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13313,6 +13344,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/uk.po b/editor/translations/uk.po
index 63a2ecc734..d5e68f8a84 100644
--- a/editor/translations/uk.po
+++ b/editor/translations/uk.po
@@ -23,7 +23,7 @@ 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-01-24 02:05+0000\n"
+"PO-Revision-Date: 2022-02-16 16:36+0000\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/"
"godot/uk/>\n"
@@ -1497,6 +1497,11 @@ msgstr "Завантажити типове ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ¸Ð½Ð¸."
msgid "Create a new Bus Layout."
msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ¸Ð½Ð¸."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Відкрити ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð°ÑƒÐ´Ñ–Ð¾ шини"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Ðекоректна назва."
@@ -2117,7 +2122,6 @@ msgstr "КлаÑ:"
#: editor/editor_help.cpp editor/scene_tree_editor.cpp
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Inherits:"
msgstr "УÑпадковує:"
@@ -2884,9 +2888,8 @@ msgstr "Видалити компонуваннÑ"
#: editor/editor_node.cpp editor/import_dock.cpp
#: editor/script_create_dialog.cpp
-#, fuzzy
msgid "Default"
-msgstr "За замовчуваннÑм"
+msgstr "Типовий"
#: editor/editor_node.cpp editor/editor_resource_picker.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp
@@ -2949,7 +2952,7 @@ msgstr "Перемкнути режим без відволіканнÑ."
msgid "Add a new scene."
msgstr "Додати нову Ñцену."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Сцена"
@@ -3325,14 +3328,12 @@ msgid "Update Continuously"
msgstr "Оновлювати неперервно"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update All Changes"
-msgstr "Оновлювати при зміні"
+msgstr "Оновити уÑÑ– зміни"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Changes"
-msgstr "Зміни матеріалу:"
+msgstr "Оновити критичні зміни"
#: editor/editor_node.cpp
msgid "Hide Update Spinner"
@@ -4111,6 +4112,11 @@ 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 ""
@@ -5731,6 +5737,10 @@ msgid "Bake Lightmaps"
msgstr "Запікати карти оÑвітленнÑ"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "Виберіть файл Ð¿Ñ€Ð¸Ð³Ð¾Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ°Ñ€Ñ‚Ð¸ оÑвітленнÑ:"
@@ -8218,7 +8228,13 @@ msgid "Cinematic Preview"
msgstr "Кінематичний переглÑд"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "Є недоÑтупним, Ñкщо викориÑтовуєтьÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð½Ð¸Ðº GLES2."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9115,6 +9131,11 @@ msgid "Select Another Theme Resource:"
msgstr "Виберіть реÑÑƒÑ€Ñ Ñ–Ð½ÑˆÐ¾Ñ— теми:"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "Перейменувати реÑурÑ"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr "Інша тема"
@@ -9164,6 +9185,20 @@ msgstr ""
"цього типу."
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr "Додати тип запиÑу"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Ð’Ñтановити тип змінної"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Змінити базовий тип"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "Показати типовий"
@@ -9181,8 +9216,19 @@ msgid "Override all default type items."
msgstr "Перевизначити уÑÑ– запиÑи Ñтандартних типів."
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr "Додати тип запиÑу"
+#, fuzzy
+msgid "Base Type"
+msgstr "Змінити базовий тип"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9890,18 +9936,6 @@ msgid "Commit list size"
msgstr "Розмір ÑпиÑку внеÑку"
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr "10"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr "20"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr "30"
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr "Гілки"
@@ -12655,6 +12689,11 @@ msgid "Stack Frames"
msgstr "СтоÑувати кадри"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Фільтрувати плитки"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "ЗаÑіб профілюваннÑ"
@@ -12828,14 +12867,12 @@ 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 "Задати Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð¾Ñ‡ÐºÐ¸ отвору затінюваннÑ"
#: modules/csg/csg_gizmos.cpp
msgid "Change Cylinder Radius"
@@ -13978,9 +14015,10 @@ msgstr "Ðекоректна назва пакунка:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"Ðекоректний модуль «GodotPaymentV3» включено до параметрів проєкту «android/"
-"modules» (змінено у Godot 3.2.2).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
@@ -14250,166 +14288,167 @@ msgstr "Помилка під Ñ‡Ð°Ñ Ñпроби запуÑку Ñервера
#: platform/osx/export/codesign.cpp
msgid "Can't get filesystem access."
-msgstr ""
+msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ доÑтуп до файлової ÑиÑтеми."
#: platform/osx/export/codesign.cpp
msgid "Failed to get Info.plist hash."
-msgstr ""
+msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ хеш-Ñуму Info.plist."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, no exe name."
-msgstr "Ðекоректна назва проєкту."
+msgstr "Ðекоректний вміÑÑ‚ Info.plist — немає назви виконуваного файла."
#: platform/osx/export/codesign.cpp
msgid "Invalid Info.plist, no bundle id."
-msgstr ""
+msgstr "Ðекоректний вміÑÑ‚ Info.plist — немає ідентифікатора комплекту."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, can't load."
-msgstr "Ðекоректна геометріÑ, неможливо Ñтворити багатокутник."
+msgstr "Ðекоректний вміÑÑ‚ Info.plist — не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to create \"%s\" subfolder."
-msgstr "Ðеможливо Ñтворити теку."
+msgstr "Ðе вдалоÑÑ Ñтворити підтеку «%s»."
#: platform/osx/export/codesign.cpp
msgid "Failed to extract thin binary."
-msgstr ""
+msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð´Ð¾Ð±ÑƒÑ‚Ð¸ «тонкі» двійкові дані."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid binary format."
-msgstr "Ðекоректний базовий шлÑÑ…."
+msgstr "Ðекоректний формат двійкових даних."
#: platform/osx/export/codesign.cpp
msgid "Already signed!"
-msgstr ""
+msgstr "Вже підпиÑано!"
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to process nested resources."
-msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ реÑурÑ."
+msgstr "Ðе вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ вкладені реÑурÑи."
#: platform/osx/export/codesign.cpp
msgid "Failed to create _CodeSignature subfolder."
-msgstr ""
+msgstr "Ðе вдалоÑÑ Ñтворити підтеку _CodeSignature."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to get CodeResources hash."
-msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ реÑурÑ."
+msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ хеш-Ñуму CodeResources."
#: platform/osx/export/codesign.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Invalid entitlements file."
-msgstr "Ðекоректний ÑуфікÑ."
+msgstr "Ðекоректний файл найменувань."
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid executable file."
-msgstr "Ðекоректний ÑуфікÑ."
+msgstr "Ðекоректний виконуваний файл."
#: platform/osx/export/codesign.cpp
msgid "Can't resize signature load command."
-msgstr ""
+msgstr "Ðе вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ розмір команди Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´Ð¿Ð¸Ñу."
#: platform/osx/export/codesign.cpp
msgid "Failed to create fat binary."
-msgstr ""
+msgstr "Ðе вдалоÑÑ Ñтворити «товÑті» двійкові дані."
#: platform/osx/export/codesign.cpp
msgid "Unknown bundle type."
-msgstr ""
+msgstr "Ðевідомий тип комплекту."
#: platform/osx/export/codesign.cpp
msgid "Unknown object type."
-msgstr ""
+msgstr "Ðевідомий тип об'єктів."
#: platform/osx/export/export.cpp
msgid ""
"Note: The notarization process generally takes less than an hour. When the "
"process is completed, you'll receive an email."
msgstr ""
+"ЗауваженнÑ: процедура заÑвідченнÑ, загалом, триває не більше години. Щойно "
+"процедуру буде завершено, ви отримаєте Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ ÐµÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð¾ÑŽ поштою."
#: platform/osx/export/export.cpp
msgid ""
"You can check progress manually by opening a Terminal and running the "
"following command:"
msgstr ""
+"Ви можете Ñтежити за поÑтупом вручну — відкрийте термінал Ñ– віддайте у ньому "
+"таку команду:"
#: platform/osx/export/export.cpp
msgid ""
"Run the following command to staple the notarization ticket to the exported "
"application (optional):"
msgstr ""
+"Віддайте таку команду Ð´Ð»Ñ Ð´Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ ÐºÐ²Ð¸Ñ‚ÐºÐ° заÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾ екÑпортованої "
+"програми (необов'Ñзкова процедура):"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "No identity found."
-msgstr "Піктограм не знайдено."
+msgstr "Ðе знайдено профілю."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Creating app bundle"
-msgstr "Створюємо мініатюру"
+msgstr "Створюємо комплект програми"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Could not find template app to export:"
-msgstr ""
-"Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ шаблон APK Ð´Ð»Ñ ÐµÐºÑпортуваннÑ:\n"
-"%s"
+msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ програму-шаблон Ð´Ð»Ñ ÐµÐºÑпортуваннÑ:"
#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
msgstr ""
+"У цій операційній ÑиÑтемі не передбачено підтримки відноÑних Ñимволічних "
+"поÑилань. ЕкÑпортований проєкт може виÑвитиÑÑ Ð½ÐµÐ¿Ñ€Ð°Ñ†ÐµÐ·Ð´Ð°Ñ‚Ð½Ð¸Ð¼!"
#: platform/osx/export/export.cpp
msgid ""
"Requested template binary '%s' not found. It might be missing from your "
"template archive."
msgstr ""
+"Ðе знайдено двійкового файла шаблона «%s». Ймовірно, його немає у вашому "
+"архіві шаблона."
#: platform/osx/export/export.cpp
msgid "Making PKG"
-msgstr ""
+msgstr "Створюємо PKG"
#: platform/osx/export/export.cpp
msgid ""
"Ad-hoc signed applications require the 'Disable Library Validation' "
"entitlement to load dynamic libraries."
msgstr ""
+"Ð”Ð»Ñ Ð¾Ð´Ð½Ð¾Ñ€Ð°Ð·Ð¾Ð²Ð¾ підпиÑаних програм потрібен параметр «Вимкнути перевірку "
+"бібліотек» Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ñ… бібліотек."
#: platform/osx/export/export.cpp
msgid "Code signing bundle"
-msgstr ""
+msgstr "Комплект із підпиÑуваннÑм коду"
#: platform/osx/export/export.cpp
msgid "Making DMG"
-msgstr ""
+msgstr "Створюємо DMG"
#: platform/osx/export/export.cpp
msgid "Code signing DMG"
-msgstr ""
+msgstr "DMG із підпиÑуваннÑм коду"
#: platform/osx/export/export.cpp
msgid "Making ZIP"
-msgstr ""
+msgstr "Створюємо ZIP"
#: platform/osx/export/export.cpp
msgid ""
"Notarization requires the app to be archived first, select the DMG or ZIP "
"export format instead."
msgstr ""
+"Ð”Ð»Ñ Ð·Ð°ÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ñƒ Ñлід Ñпочатку архівувати. Виберіть заміÑÑ‚ÑŒ "
+"поточного формат екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ DMG або ZIP."
#: platform/osx/export/export.cpp
msgid "Sending archive for notarization"
-msgstr ""
+msgstr "ÐадÑилаємо архів Ð´Ð»Ñ Ð·Ð°ÑвідченнÑ"
#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
@@ -14420,31 +14459,36 @@ msgid ""
"Warning: Built-in \"codesign\" is selected in the Editor Settings. Code "
"signing is limited to ad-hoc signature only."
msgstr ""
+"ПопередженнÑ: у параметрах редактора вибрано вбудований «codesign». "
+"ПідпиÑÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð´Ñƒ обмежено одноразовим підпиÑом."
#: 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 ""
+"ПопередженнÑ: не вÑтановлено інÑтрументи командного Ñ€Ñдка Xcode, "
+"викориÑтовуємо вбудований «codesign». ПідпиÑÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð´Ñƒ обмежено одноразовим "
+"підпиÑом."
#: platform/osx/export/export.cpp
msgid "Notarization: Notarization with an ad-hoc signature is not supported."
msgstr ""
+"ЗаÑвідченнÑ: підтримки заÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ñ–Ð· одноразовим підпиÑом не передбачено."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Code signing is required for notarization."
-msgstr "ЗаÑвідченнÑ: потрібен код підпиÑуваннÑ."
+msgstr "ЗаÑвідченнÑ: Ð´Ð»Ñ Ð·Ð°ÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ðµ підпиÑÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð´Ñƒ."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Hardened runtime is required for notarization."
-msgstr "ЗаÑвідченнÑ: потрібне Ñтійке Ñередовище запуÑку."
+msgstr "ЗаÑвідченнÑ: Ð´Ð»Ñ Ð·Ð°ÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ðµ Ñтійке Ñередовище запуÑку."
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Timestamp runtime is required for notarization."
-msgstr "ЗаÑвідченнÑ: потрібне Ñтійке Ñередовище запуÑку."
+msgstr ""
+"ЗаÑвідченнÑ: Ð´Ð»Ñ Ð·Ð°ÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ðµ Ñередовище запуÑку із чаÑовими "
+"позначками."
#: platform/osx/export/export.cpp
msgid "Notarization: Apple ID name not specified."
@@ -14459,63 +14503,86 @@ msgid ""
"Warning: Notarization is disabled. The exported project will be blocked by "
"Gatekeeper if it's downloaded from an unknown source."
msgstr ""
+"ПопередженнÑ: заÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð¾. ЕкÑпортований проєкт буде заблоковано "
+"Gatekeeper, Ñкщо його отримано з невідомого джерела."
#: 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 ""
+"ПідпиÑÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð´Ñƒ вимкнено. ЕкÑпортований проєкт не запуÑкатиметьÑÑ Ð½Ð° Macіз "
+"Gatekeeper та Mac на оÑнові Apple Silicon."
#: platform/osx/export/export.cpp
msgid ""
"Hardened Runtime is not compatible with ad-hoc signature, and will be "
"disabled!"
msgstr ""
+"Стійке Ñередовище запуÑку Ñ” неÑуміÑним із одноразовим підпиÑом — його буде "
+"вимкнено!"
#: platform/osx/export/export.cpp
msgid ""
"Timestamping is not compatible with ad-hoc signature, and will be disabled!"
msgstr ""
+"ВикориÑÑ‚Ð°Ð½Ð½Ñ Ñ‡Ð°Ñових позначок Ñ” неÑуміÑним із одноразовим підпиÑом — його "
+"буде вимкнено!"
#: 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 ""
+"ПопередженнÑ: підтримки заÑÐ²Ñ–Ð´Ñ‡ÐµÐ½Ð½Ñ Ñƒ цій операційній ÑиÑтемі не "
+"передбачено. ЕкÑпортований проєкт буде заблоковано Gatekeeper, Ñкщо його "
+"отримано із невідомого джерела."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Microphone access is enabled, but usage description is not "
"specified."
msgstr ""
+"КонфіденційніÑÑ‚ÑŒ: увімкнено доÑтуп до мікрофона, але Ð¾Ð¿Ð¸Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ð½Ðµ "
+"вказано."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Camera access is enabled, but usage description is not specified."
msgstr ""
+"КонфіденційніÑÑ‚ÑŒ: увімкнено доÑтуп до камери, але Ð¾Ð¿Ð¸Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ð½Ðµ "
+"вказано."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Location information access is enabled, but usage description is "
"not specified."
msgstr ""
+"КонфіденційніÑÑ‚ÑŒ: увімкнено доÑтуп до даних щодо міÑÑ†Ñ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°Ð½Ð½Ñ, але Ð¾Ð¿Ð¸Ñ "
+"викориÑÑ‚Ð°Ð½Ð½Ñ Ð½Ðµ вказано."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Address book access is enabled, but usage description is not "
"specified."
msgstr ""
+"КонфіденційніÑÑ‚ÑŒ: увімкнено доÑтуп до адреÑної книги, але Ð¾Ð¿Ð¸Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ "
+"не вказано."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Calendar access is enabled, but usage description is not specified."
msgstr ""
+"КонфіденційніÑÑ‚ÑŒ: увімкнено доÑтуп до календарÑ, але Ð¾Ð¿Ð¸Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ð½Ðµ "
+"вказано."
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Photo library access is enabled, but usage description is not "
"specified."
msgstr ""
+"КонфіденційніÑÑ‚ÑŒ: увімкнено доÑтуп до бібліотеки фотографій, але Ð¾Ð¿Ð¸Ñ "
+"викориÑÑ‚Ð°Ð½Ð½Ñ Ð½Ðµ вказано."
#: platform/uwp/export/export.cpp
msgid "Invalid package short name."
@@ -14584,21 +14651,21 @@ msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
msgstr ""
+"Щоб мати змогу змінювати піктограму або дані щодо програми, має бути "
+"налаштовано інÑтрумент rcedit у параметрах редактора (ЕкÑпорт > Windows > "
+"Rcedit)."
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid icon path:"
-msgstr "Ðеправильний шлÑÑ…."
+msgstr "Ðекоректний шлÑÑ… до піктограм:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid file version:"
-msgstr "Ðекоректний ÑуфікÑ."
+msgstr "Ðекоректна верÑÑ–Ñ Ñ„Ð°Ð¹Ð»Ð°:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid product version:"
-msgstr "Ðекоректний GUID продукту."
+msgstr "Ðекоректна верÑÑ–Ñ Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ‚Ñƒ:"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -15344,14 +15411,13 @@ msgstr ""
"Цей вузол вважаєтьÑÑ Ð·Ð°Ñтарілим. СкориÑтайтеÑÑ Ð·Ð°Ð¼Ñ–ÑÑ‚ÑŒ нього AnimationTree."
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid ""
"Color: #%s\n"
"LMB: Apply color\n"
"RMB: Remove preset"
msgstr ""
"Колір: #%s\n"
-"Ліва кнопка: вÑтановити колір\n"
+"Ліва кнопка: заÑтоÑувати колір\n"
"Права кнопка: вилучити взірець"
#: scene/gui/color_picker.cpp
diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po
index 90156465b3..3febf6aebe 100644
--- a/editor/translations/ur_PK.po
+++ b/editor/translations/ur_PK.po
@@ -1463,6 +1463,11 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr ".تمام کا انتخاب"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr ""
@@ -2844,7 +2849,7 @@ msgstr ""
msgid "Add a new scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr ""
@@ -5555,6 +5560,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr ".تمام کا انتخاب"
@@ -8061,7 +8070,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8979,6 +8993,11 @@ msgid "Select Another Theme Resource:"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr ".تمام کا انتخاب"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr ""
@@ -9026,6 +9045,20 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr ".نوٹÙئر Ú©Û’ اکسٹنٹ Ú©Ùˆ تبدیل کیجیۓ"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr ".نوٹÙئر Ú©Û’ اکسٹنٹ Ú©Ùˆ تبدیل کیجیۓ"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr ""
@@ -9042,7 +9075,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr ".نوٹÙئر Ú©Û’ اکسٹنٹ Ú©Ùˆ تبدیل کیجیۓ"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -9769,18 +9813,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr ""
@@ -12395,6 +12427,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "سب سکریپشن بنائیں"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -13739,6 +13776,9 @@ msgstr ""
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/vi.po b/editor/translations/vi.po
index 12cb91b7f9..3590c07d79 100644
--- a/editor/translations/vi.po
+++ b/editor/translations/vi.po
@@ -18,14 +18,14 @@
# LetterC67 <hoangdeptoong@gmail.com>, 2020, 2021.
# Rev <revolnoom7801@gmail.com>, 2021.
# SyliawDeV <thanhlongstranger@gmail.com>, 2021.
-# IoeCmcomc <hopdaigia2004@gmail.com>, 2021.
+# IoeCmcomc <hopdaigia2004@gmail.com>, 2021, 2022.
# Hung <hungthitkhia@gmail.com>, 2021.
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: 2021-09-15 00:46+0000\n"
+"PO-Revision-Date: 2022-02-26 10:27+0000\n"
"Last-Translator: IoeCmcomc <hopdaigia2004@gmail.com>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/godot-engine/"
"godot/vi/>\n"
@@ -34,7 +34,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.9-dev\n"
+"X-Generator: Weblate 4.11.1-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -815,7 +815,7 @@ msgid ""
"target node."
msgstr ""
"Phương thức không được tìm thấy. Chỉ định phương thức hợp lệ hoặc đính kèm "
-"tệp lệnh vào nút."
+"tập lệnh vào nút."
#: editor/connections_dialog.cpp
msgid "Connect to Node:"
@@ -1495,6 +1495,11 @@ msgstr "Nạp bố cục Bus mặc định."
msgid "Create a new Bus Layout."
msgstr "Tạo bố cục Bus mới."
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "Mở bố cục Bus âm thanh"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "Tên không hợp lệ."
@@ -2103,7 +2108,7 @@ msgstr "Lá»›p:"
#: editor/editor_help.cpp editor/scene_tree_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Inherits:"
-msgstr "Thừa kế:"
+msgstr "Kế thừa:"
#: editor/editor_help.cpp
msgid "Inherited by:"
@@ -2145,7 +2150,7 @@ msgstr "Màu"
#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Constants"
-msgstr "Hằng số"
+msgstr "Hằng"
#: editor/editor_help.cpp editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -2924,7 +2929,7 @@ msgstr "Bật tắt chế độ tập trung."
msgid "Add a new scene."
msgstr "Thêm cảnh mới."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "Cảnh"
@@ -5674,6 +5679,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "Chá»n tệp bake lightmap:"
@@ -8203,7 +8212,13 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "Không khả dụng khi sử dụng trình kết xuất GLES2."
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9145,6 +9160,11 @@ msgstr "Xóa tài nguyên"
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "Äổi tên tài nguyên"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "Nhập Tông màu"
@@ -9199,6 +9219,21 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Add Item Type"
+msgstr "Thêm mục"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "Äặt loại biến"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "Thay đổi loại cơ sở"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Show Default"
msgstr "Nạp mặc định"
@@ -9217,8 +9252,18 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
-msgid "Add Item Type"
-msgstr "Thêm mục"
+msgid "Base Type"
+msgstr "Thay đổi loại cơ sở"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
@@ -9934,18 +9979,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "Phù hợp:"
@@ -10056,7 +10089,7 @@ msgstr "Tỷ lệ"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Vector"
-msgstr "Vector"
+msgstr "Véc tơ"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Boolean"
@@ -10178,11 +10211,11 @@ msgstr "hàm đen trắng"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts HSV vector to RGB equivalent."
-msgstr "Chuyển vector màu HSV sang RGB tương ứng."
+msgstr "Chuyển véc tơ màu HSV sang RGB tương ứng."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Converts RGB vector to HSV equivalent."
-msgstr "Chuyển vector màu RGB sang HSV tương ứng."
+msgstr "Chuyển véc tơ màu RGB sang HSV tương ứng."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Sepia function."
@@ -10622,16 +10655,16 @@ msgid ""
"whose number of rows is the number of components in 'c' and whose number of "
"columns is the number of components in 'r'."
msgstr ""
-"Tính tích ngoài của một cặp vector.\n"
+"Tính tích ngoài của một cặp véc tơ.\n"
"\n"
-"Tích ngoài đặt tham số 'c' đầu tiên làm vector dá»c (ma trận 1 cá»™t) và tham "
-"số 'h' thứ hai là vector ngang (ma trận 1 hàng) rồi thực hiện phép nhân ma "
-"trận tuyến tính 'c * h', tạo ra ma trận có số hàng bằng số phần tử trong 'h' "
-"và số cột bằng số phần tử trong 'c'."
+"Tích ngoài coi tham số 'c' đầu tiên là véc tÆ¡ dá»c (ma trận 1 cá»™t) và tham số "
+"'h' thứ hai là véc tơ ngang (ma trận 1 hàng) rồi thực hiện phép nhân ma trận "
+"tuyến tính 'c * h', tạo ra ma trận có số hàng bằng số phần tử trong 'h' và "
+"số cột bằng số phần tử trong 'c'."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes transform from four vectors."
-msgstr "Tạo phép biến đổi từ 4 vector."
+msgstr "Tạo phép biến đổi từ 4 véc tơ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes transform to four vectors."
@@ -10655,7 +10688,7 @@ msgstr "Nhân hai phép biến đổi."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Multiplies vector by transform."
-msgstr "Nhân vector với phép biến đổi."
+msgstr "Nhân véc tơ với phép biến đổi."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Transform constant."
@@ -10668,11 +10701,11 @@ msgstr "Tạo"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Vector function."
-msgstr "Hàm Vector."
+msgstr "Hàm véc tơ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Vector operator."
-msgstr ""
+msgstr "Toán tử véc tơ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Composes vector from three scalars."
@@ -10680,7 +10713,7 @@ msgstr "Tạo vector từ ba giá trị vô hướng."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Decomposes vector to three scalars."
-msgstr "Tách vector thành ba giá trị vô hướng."
+msgstr "Tách véc tơ thành ba giá trị vô hướng."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the cross product of two vectors."
@@ -10692,7 +10725,7 @@ msgstr "Trả vỠkhoảng cách giữa hai điểm."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the dot product of two vectors."
-msgstr "Tính tích vô hướng của hai vector."
+msgstr "Tính tích vô hướng của hai véc tơ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -10704,7 +10737,7 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the length of a vector."
-msgstr "Tính chiá»u dài vector."
+msgstr "Tính chiá»u dài của má»™t véc tÆ¡."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Linear interpolation between two vectors."
@@ -10716,27 +10749,27 @@ msgstr ""
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Calculates the normalize product of vector."
-msgstr "Tính tích chuẩn hóa của vector."
+msgstr "Tính tích chuẩn hóa của véc tơ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 - vector"
-msgstr "1.0 - vector"
+msgstr "1.0 - véc tơ"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "1.0 / vector"
-msgstr "1.0 / vector"
+msgstr "1.0 / véc tơ"
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
"Returns the vector that points in the direction of reflection ( a : incident "
"vector, b : normal vector )."
msgstr ""
-"Trả vỠvector chỉ hướng phản xạ ( a : vector tia tới, b : vector pháp "
+"Trả vỠvéc tơ chỉ hướng phản xạ ( a : vector tia tới, b : vector pháp "
"tuyến )."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid "Returns the vector that points in the direction of refraction."
-msgstr "Trả vỠvector chỉ hướng khúc xạ."
+msgstr "Trả vỠvéc tơ chỉ theo hướng khúc xạ."
#: editor/plugins/visual_shader_editor_plugin.cpp
msgid ""
@@ -11879,7 +11912,7 @@ msgstr "Tên nút"
#: editor/rename_dialog.cpp
msgid "Node's parent name, if available"
-msgstr "Tên cha mẹ của nút, nếu có sẵn"
+msgstr "Tên của nút mẹ, nếu có sẵn"
#: editor/rename_dialog.cpp
msgid "Node type"
@@ -11981,7 +12014,7 @@ msgstr "Tại kí tự %s"
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
-msgstr "Äổi cha mẹ của nút"
+msgstr "Äổi mẹ của nút"
#: editor/reparent_dialog.cpp
msgid "Reparent Location (Select new Parent):"
@@ -11993,7 +12026,7 @@ msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent"
-msgstr "Äổi nút cha"
+msgstr "Äổi nút mẹ"
#: editor/run_settings_dialog.cpp
msgid "Run Mode:"
@@ -12063,11 +12096,11 @@ msgstr "Thao tác này không thể áp dụng lên gốc của cây."
#: editor/scene_tree_dock.cpp
msgid "Move Node In Parent"
-msgstr "Chuyển nút trong cha mẹ"
+msgstr "Di chuyển nút trong nút mẹ"
#: editor/scene_tree_dock.cpp
msgid "Move Nodes In Parent"
-msgstr "Di chuyển các nút trong cha mẹ"
+msgstr "Di chuyển các nút trong nút mẹ"
#: editor/scene_tree_dock.cpp
msgid "Duplicate Node(s)"
@@ -12076,8 +12109,8 @@ msgstr "Nhân đôi các nút"
#: editor/scene_tree_dock.cpp
msgid "Can't reparent nodes in inherited scenes, order of nodes can't change."
msgstr ""
-"Không thể đổi cha mẹ các nút trong cảnh kế thừa, thứ tự các nút không thể "
-"thay đổi."
+"Không thể đổi mẹ của các nút trong cảnh kế thừa, thứ tự các nút không thể "
+"được thay đổi."
#: editor/scene_tree_dock.cpp
msgid "Node must belong to the edited scene to become root."
@@ -12285,7 +12318,7 @@ msgstr "Äổi Kiểu"
#: editor/scene_tree_dock.cpp
msgid "Reparent to New Node"
-msgstr "Reparent đến nút mới"
+msgstr "Thay nút mẹ thành nút mới"
#: editor/scene_tree_dock.cpp
msgid "Make Scene Root"
@@ -12526,7 +12559,7 @@ msgstr "Tên Lớp không hợp lệ."
#: editor/script_create_dialog.cpp
msgid "Invalid inherited parent name or path."
-msgstr ""
+msgstr "Tên hoặc Ä‘Æ°á»ng dẫn nút mẹ được kế thừa không hợp lệ."
#: editor/script_create_dialog.cpp
#, fuzzy
@@ -12663,6 +12696,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "Lá»c ô"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -14026,9 +14064,10 @@ msgstr "Tên gói không hợp lệ:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"Cài đặt dự án chứa module không hợp lệ \"GodotPaymentV3\" ở mục \"android/"
-"modules\" (đã thay đổi từ Godot 3.2.2).\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po
index 0675b564d3..47b66ad06d 100644
--- a/editor/translations/zh_CN.po
+++ b/editor/translations/zh_CN.po
@@ -88,7 +88,7 @@ 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-02-12 21:43+0000\n"
+"PO-Revision-Date: 2022-03-08 15:20+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"
@@ -97,7 +97,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.11-dev\n"
+"X-Generator: Weblate 4.12-dev\n"
#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
#: modules/visual_script/visual_script_builtin_funcs.cpp
@@ -683,7 +683,7 @@ msgstr "优化动画"
#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation"
-msgstr "清空动画"
+msgstr "清ç†åŠ¨ç”»"
#: editor/animation_track_editor.cpp
msgid "Pick the node that will be animated:"
@@ -723,19 +723,19 @@ msgstr "移除无效帧"
#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
-msgstr "移除未分解的空轨é“"
+msgstr "移除无法解æžçš„轨é“和空轨é“"
#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
-msgstr "清除所有动画"
+msgstr "清ç†æ‰€æœ‰åŠ¨ç”»"
#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
-msgstr "清除动画(无法撤销ï¼ï¼‰"
+msgstr "清ç†åŠ¨ç”»ï¼ˆæ— æ³•æ’¤é”€ï¼ï¼‰"
#: editor/animation_track_editor.cpp
msgid "Clean-Up"
-msgstr "清空"
+msgstr "清ç†"
#: editor/animation_track_editor.cpp
msgid "Scale Ratio:"
@@ -1538,6 +1538,11 @@ msgstr "加载默认总线布局。"
msgid "Create a new Bus Layout."
msgstr "创建新的总线布局。"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "打开音频总线布局"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "å称无效。"
@@ -2930,7 +2935,7 @@ msgstr "切æ¢ä¸“注模å¼ã€‚"
msgid "Add a new scene."
msgstr "添加新场景。"
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "场景"
@@ -3290,14 +3295,12 @@ msgid "Update Continuously"
msgstr "æŒç»­æ›´æ–°"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update All Changes"
-msgstr "当有更改时更新"
+msgstr "更新所有修改"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Update Vital Changes"
-msgstr "æè´¨å˜æ›´ï¼š"
+msgstr "更新关键修改"
#: editor/editor_node.cpp
msgid "Hide Update Spinner"
@@ -4050,6 +4053,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 ""
@@ -5135,7 +5141,7 @@ msgstr "接下æ¥ï¼ˆè‡ªåŠ¨é˜Ÿåˆ—):"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Cross-Animation Blend Times"
-msgstr "跨动画时间混åˆ"
+msgstr "跨动画混åˆæ—¶é—´"
#: editor/plugins/animation_state_machine_editor.cpp
msgid "Move Node"
@@ -5638,6 +5644,10 @@ msgid "Bake Lightmaps"
msgstr "烘焙光照贴图"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "选择光照贴图烘焙文件:"
@@ -8094,7 +8104,13 @@ msgid "Cinematic Preview"
msgstr "效果预览"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "使用 GLES2 渲染器时ä¸å¯ç”¨ã€‚"
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8982,6 +8998,11 @@ msgid "Select Another Theme Resource:"
msgstr "选择其他主题资æºï¼š"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "é‡å‘½å资æº"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr "其他主题"
@@ -9029,6 +9050,20 @@ msgstr ""
"将此样å¼ç›’置顶为主样å¼ã€‚编辑其属性会更新该类型下其他所有样å¼ç›’的相åŒå±žæ€§ã€‚"
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr "添加项目类型"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "设置å˜é‡ç±»åž‹"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "修改基础类型"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "显示默认"
@@ -9045,8 +9080,19 @@ msgid "Override all default type items."
msgstr "覆盖所有默认类型项目。"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr "添加项目类型"
+#, fuzzy
+msgid "Base Type"
+msgstr "修改基础类型"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9739,18 +9785,6 @@ msgid "Commit list size"
msgstr "æ交列表大å°"
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr "10"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr "20"
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr "30"
-
-#: editor/plugins/version_control_editor_plugin.cpp
msgid "Branches"
msgstr "分支"
@@ -12415,6 +12449,11 @@ msgid "Stack Frames"
msgstr "栈帧"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "筛选图å—"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "性能分æžå™¨"
@@ -12588,14 +12627,12 @@ 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 "设置é®æŒ¡ç©ºæ´žé¡¶ç‚¹ä½ç½®"
#: modules/csg/csg_gizmos.cpp
msgid "Change Cylinder Radius"
@@ -13705,9 +13742,10 @@ msgstr "无效的包å称:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"“android/modules†项目设置(å˜æ›´äºŽGodot 3.2.2)中包å«äº†æ— æ•ˆæ¨¡ç»„ "
-"“GodotPaymentV3â€ã€‚\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
@@ -13952,166 +13990,153 @@ msgstr "å¯åŠ¨ HTTP æœåŠ¡å™¨æ—¶å‡ºé”™ï¼š"
#: platform/osx/export/codesign.cpp
msgid "Can't get filesystem access."
-msgstr ""
+msgstr "无法访问文件系统。"
#: platform/osx/export/codesign.cpp
msgid "Failed to get Info.plist hash."
-msgstr ""
+msgstr "èŽ·å– Info.plist 哈希失败。"
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, no exe name."
-msgstr "项目å称无效。"
+msgstr "Info.plist 无效,没有å¯æ‰§è¡Œæ–‡ä»¶å称。"
#: platform/osx/export/codesign.cpp
msgid "Invalid Info.plist, no bundle id."
-msgstr ""
+msgstr "Info.plist 无效,没有æ†ç»‘包 ID。"
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid Info.plist, can't load."
-msgstr "无效的几何体,无法创建多边形。"
+msgstr "Info.plist 无效,无法加载。"
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to create \"%s\" subfolder."
-msgstr "无法创建文件夹。"
+msgstr "创建“%sâ€å­æ–‡ä»¶å¤¹å¤±è´¥ã€‚"
#: platform/osx/export/codesign.cpp
msgid "Failed to extract thin binary."
-msgstr ""
+msgstr "æå–瘦二进制文件失败。"
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid binary format."
-msgstr "无效的基本路径。"
+msgstr "二进制格å¼æ— æ•ˆã€‚"
#: platform/osx/export/codesign.cpp
msgid "Already signed!"
-msgstr ""
+msgstr "ç­¾å已存在ï¼"
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to process nested resources."
-msgstr "加载资æºå¤±è´¥ã€‚"
+msgstr "处ç†åµŒå¥—资æºå¤±è´¥ã€‚"
#: platform/osx/export/codesign.cpp
msgid "Failed to create _CodeSignature subfolder."
-msgstr ""
+msgstr "创建 _CodeSignature å­æ–‡ä»¶å¤¹å¤±è´¥ã€‚"
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Failed to get CodeResources hash."
-msgstr "加载资æºå¤±è´¥ã€‚"
+msgstr "èŽ·å– CodeResources 哈希失败。"
#: platform/osx/export/codesign.cpp platform/osx/export/export.cpp
-#, fuzzy
msgid "Invalid entitlements file."
-msgstr "扩展å无效。"
+msgstr "授æƒæ–‡ä»¶æ— æ•ˆã€‚"
#: platform/osx/export/codesign.cpp
-#, fuzzy
msgid "Invalid executable file."
-msgstr "扩展å无效。"
+msgstr "å¯æ‰§è¡Œæ–‡ä»¶æ— æ•ˆã€‚"
#: platform/osx/export/codesign.cpp
msgid "Can't resize signature load command."
-msgstr ""
+msgstr "无法改å˜ç­¾å加载命令的大å°ã€‚"
#: platform/osx/export/codesign.cpp
msgid "Failed to create fat binary."
-msgstr ""
+msgstr "无法创建胖二进制。"
#: platform/osx/export/codesign.cpp
msgid "Unknown bundle type."
-msgstr ""
+msgstr "未知æ†ç»‘包类型。"
#: platform/osx/export/codesign.cpp
msgid "Unknown object type."
-msgstr ""
+msgstr "未知对象类型。"
#: platform/osx/export/export.cpp
msgid ""
"Note: The notarization process generally takes less than an hour. When the "
"process is completed, you'll receive an email."
-msgstr ""
+msgstr "注æ„:公è¯è¿‡ç¨‹é€šå¸¸å°‘于一个å°æ—¶ã€‚过程结æŸåŽï¼Œä½ ä¼šæ”¶åˆ°ä¸€å°é‚®ä»¶ã€‚"
#: platform/osx/export/export.cpp
msgid ""
"You can check progress manually by opening a Terminal and running the "
"following command:"
-msgstr ""
+msgstr "ä½ å¯ä»¥æ‰‹åŠ¨æ£€æŸ¥è¿›åº¦ï¼Œè¯·æ‰“开终端并è¿è¡Œä»¥ä¸‹å‘½ä»¤ï¼š"
#: platform/osx/export/export.cpp
msgid ""
"Run the following command to staple the notarization ticket to the exported "
"application (optional):"
-msgstr ""
+msgstr "è¿è¡Œä»¥ä¸‹å‘½ä»¤å°†å…¬è¯ç¥¨è¯è£…订到导出的应用中(å¯é€‰ï¼‰ï¼š"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "No identity found."
-msgstr "没有图标。"
+msgstr "没有找到身份。"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Creating app bundle"
-msgstr "正在创建缩略图"
+msgstr "正在创建应用æ†ç»‘包"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Could not find template app to export:"
-msgstr ""
-"找ä¸åˆ°å¯¼å‡ºæ¨¡æ¿ APK:\n"
-"%s"
+msgstr "无法找到导出的模æ¿åº”用:"
#: platform/osx/export/export.cpp
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
-msgstr ""
+msgstr "该æ“作系统上ä¸æ”¯æŒç›¸å¯¹ç¬¦å·é“¾æŽ¥ï¼Œå¯¼å‡ºçš„项目å¯èƒ½æŸåï¼"
#: platform/osx/export/export.cpp
msgid ""
"Requested template binary '%s' not found. It might be missing from your "
"template archive."
-msgstr ""
+msgstr "未找到请求的二进制模æ¿â€œ%sâ€ã€‚你的模æ¿å½’档中å¯èƒ½ç¼ºå¤±è¯¥æ–‡ä»¶ã€‚"
#: platform/osx/export/export.cpp
msgid "Making PKG"
-msgstr ""
+msgstr "正在制作 PKG"
#: platform/osx/export/export.cpp
msgid ""
"Ad-hoc signed applications require the 'Disable Library Validation' "
"entitlement to load dynamic libraries."
-msgstr ""
+msgstr "Ad-hoc ç­¾å的应用需è¦â€œDisable Library Validationâ€æŽˆæƒæ‰èƒ½åŠ è½½åŠ¨æ€åº“。"
#: platform/osx/export/export.cpp
msgid "Code signing bundle"
-msgstr ""
+msgstr "正在对æ†ç»‘包进行代ç ç­¾å"
#: platform/osx/export/export.cpp
msgid "Making DMG"
-msgstr ""
+msgstr "正在制作 DMG"
#: platform/osx/export/export.cpp
msgid "Code signing DMG"
-msgstr ""
+msgstr "正在对 DMG 进行代ç ç­¾å"
#: platform/osx/export/export.cpp
msgid "Making ZIP"
-msgstr ""
+msgstr "正在制作 ZIP"
#: platform/osx/export/export.cpp
msgid ""
"Notarization requires the app to be archived first, select the DMG or ZIP "
"export format instead."
-msgstr ""
+msgstr "å…¬è¯è¦æ±‚该应用先进行归档,请选择 DMG 或 ZIP 导出格å¼ã€‚"
#: platform/osx/export/export.cpp
msgid "Sending archive for notarization"
-msgstr ""
+msgstr "正在å‘é€å½’档进行公è¯"
#: platform/osx/export/export.cpp
msgid "Invalid bundle identifier:"
@@ -14122,31 +14147,31 @@ msgid ""
"Warning: Built-in \"codesign\" is selected in the Editor Settings. Code "
"signing is limited to ad-hoc signature only."
msgstr ""
+"警告:编辑器设置里选中的是内置的“codesignâ€ã€‚代ç ç­¾åä»…é™äºŽ 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 ""
+"警告:未安装 Xcode 命令行工具,将使用内置的“codesignâ€ã€‚代ç ç­¾åä»…é™äºŽ ad-hoc "
+"ç­¾å。"
#: platform/osx/export/export.cpp
msgid "Notarization: Notarization with an ad-hoc signature is not supported."
-msgstr ""
+msgstr "å…¬è¯ï¼šä¸æ”¯æŒä½¿ç”¨ Ad-hoc ç­¾å进行公è¯ã€‚"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Code signing is required for notarization."
-msgstr "å…¬è¯ï¼šéœ€è¦ä»£ç ç­¾å。"
+msgstr "å…¬è¯ï¼šå…¬è¯éœ€è¦ä»£ç ç­¾å。"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Hardened runtime is required for notarization."
-msgstr "å…¬è¯ï¼šéœ€è¦åŠ å¼ºçš„è¿è¡Œæ—¶çŽ¯å¢ƒã€‚"
+msgstr "å…¬è¯ï¼šå…¬è¯éœ€è¦åŠ å›ºè¿è¡Œæ—¶çŽ¯å¢ƒã€‚"
#: platform/osx/export/export.cpp
-#, fuzzy
msgid "Notarization: Timestamp runtime is required for notarization."
-msgstr "å…¬è¯ï¼šéœ€è¦åŠ å¼ºçš„è¿è¡Œæ—¶çŽ¯å¢ƒã€‚"
+msgstr "å…¬è¯ï¼šå…¬è¯éœ€è¦æ—¶é—´æˆ³è¿è¡Œæ—¶çŽ¯å¢ƒã€‚"
#: platform/osx/export/export.cpp
msgid "Notarization: Apple ID name not specified."
@@ -14161,63 +14186,69 @@ msgid ""
"Warning: Notarization is disabled. The exported project will be blocked by "
"Gatekeeper if it's downloaded from an unknown source."
msgstr ""
+"警告:已ç¦ç”¨å…¬è¯ã€‚如果从未知æ¥æºä¸‹è½½è¯¥å¯¼å‡ºåŽçš„项目,将被 Gatekeeper 阻止è¿"
+"行。"
#: 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 ""
+"å·²ç¦ç”¨ä»£ç ç­¾å。导出åŽçš„项目将无法在å¯ç”¨ Gatekeeper çš„ Mac 和使用 Apple "
+"Silicon çš„ Mac 上è¿è¡Œã€‚"
#: platform/osx/export/export.cpp
msgid ""
"Hardened Runtime is not compatible with ad-hoc signature, and will be "
"disabled!"
-msgstr ""
+msgstr "加固è¿è¡Œæ—¶çŽ¯å¢ƒä¸Ž Ad-hoc ç­¾åä¸å…¼å®¹ï¼Œå°†è¢«ç¦ç”¨ï¼"
#: platform/osx/export/export.cpp
msgid ""
"Timestamping is not compatible with ad-hoc signature, and will be disabled!"
-msgstr ""
+msgstr "时间戳è¿è¡Œæ—¶çŽ¯å¢ƒä¸Ž Ad-hoc ç­¾åä¸å…¼å®¹ï¼Œå°†è¢«ç¦ç”¨ï¼"
#: 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 ""
+"警告:ä¸æ”¯æŒä»Žè¯¥æ“作系统进行公è¯ã€‚如果从未知æ¥æºä¸‹è½½è¯¥å¯¼å‡ºåŽçš„项目,将被 "
+"Gatekeeper 阻止è¿è¡Œã€‚"
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Microphone access is enabled, but usage description is not "
"specified."
-msgstr ""
+msgstr "éšç§ï¼šå·²å¯ç”¨éº¦å…‹é£Žè®¿é—®ï¼Œä½†æœªæŒ‡å®šç”¨é€”æ述。"
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Camera access is enabled, but usage description is not specified."
-msgstr ""
+msgstr "éšç§ï¼šå·²å¯ç”¨ç›¸æœºè®¿é—®ï¼Œä½†æœªæŒ‡å®šç”¨é€”æ述。"
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Location information access is enabled, but usage description is "
"not specified."
-msgstr ""
+msgstr "éšç§ï¼šå·²å¯ç”¨ä½ç½®ä¿¡æ¯è®¿é—®ï¼Œä½†æœªæŒ‡å®šç”¨é€”æ述。"
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Address book access is enabled, but usage description is not "
"specified."
-msgstr ""
+msgstr "éšç§ï¼šå·²å¯ç”¨åœ°å€ç°¿è®¿é—®ï¼Œä½†æœªæŒ‡å®šç”¨é€”æ述。"
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Calendar access is enabled, but usage description is not specified."
-msgstr ""
+msgstr "éšç§ï¼šå·²å¯ç”¨æ—¥åŽ†è®¿é—®ï¼Œä½†æœªæŒ‡å®šç”¨é€”æ述。"
#: platform/osx/export/export.cpp
msgid ""
"Privacy: Photo library access is enabled, but usage description is not "
"specified."
-msgstr ""
+msgstr "éšç§ï¼šå·²å¯ç”¨ç…§ç‰‡åº“访问,但未指定用途æ述。"
#: platform/uwp/export/export.cpp
msgid "Invalid package short name."
@@ -14276,21 +14307,20 @@ msgid ""
"The rcedit tool must be configured in the Editor Settings (Export > Windows "
"> Rcedit) to change the icon or app information data."
msgstr ""
+"必须在编辑器设置中é…ç½® rcedit 工具(Export > Windows > Rcedit)æ‰èƒ½ä¿®æ”¹å›¾æ ‡æˆ–"
+"应用信æ¯æ•°æ®ã€‚"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid icon path:"
-msgstr "路径无效。"
+msgstr "图标路径无效:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid file version:"
-msgstr "扩展å无效。"
+msgstr "文件版本无效:"
#: platform/windows/export/export.cpp
-#, fuzzy
msgid "Invalid product version:"
-msgstr "äº§å“ GUID 无效。"
+msgstr "产å“版本无效:"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -14967,14 +14997,13 @@ msgid "This node has been deprecated. Use AnimationTree instead."
msgstr "该节点已废弃。请使用 AnimationTree 代替。"
#: scene/gui/color_picker.cpp
-#, fuzzy
msgid ""
"Color: #%s\n"
"LMB: Apply color\n"
"RMB: Remove preset"
msgstr ""
"颜色:#%s\n"
-"鼠标左键:设置颜色\n"
+"鼠标左键:应用颜色\n"
"é¼ æ ‡å³é”®ï¼šç§»é™¤é¢„设"
#: scene/gui/color_picker.cpp
diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po
index 3e58cca1e2..be7d27d9c9 100644
--- a/editor/translations/zh_HK.po
+++ b/editor/translations/zh_HK.po
@@ -1537,6 +1537,11 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "編輯器佈局"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "無效å稱。"
@@ -2990,7 +2995,7 @@ msgstr ""
msgid "Add a new scene."
msgstr "新增軌迹"
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "場景"
@@ -5861,6 +5866,10 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
#, fuzzy
msgid "Select lightmap bake file:"
msgstr "é¸å–Template檔案"
@@ -8447,7 +8456,12 @@ msgid "Cinematic Preview"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -9400,6 +9414,11 @@ msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
+msgid "Theme Resource"
+msgstr "資æº"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
msgid "Another Theme"
msgstr "檔案"
@@ -9452,6 +9471,20 @@ msgid ""
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "更改動畫循環"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "更改動畫循環"
+
+#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Show Default"
msgstr "é è¨­"
@@ -9470,7 +9503,18 @@ msgid "Override all default type items."
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
+#, fuzzy
+msgid "Base Type"
+msgstr "更改動畫循環"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -10227,18 +10271,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "å»åˆï¼š"
@@ -12956,6 +12988,11 @@ msgid "Stack Frames"
msgstr ""
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "篩é¸æª”案..."
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr ""
@@ -14331,6 +14368,9 @@ msgstr "無效å稱"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
#: platform/android/export/export_plugin.cpp
diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po
index e58704257e..15a32eaec6 100644
--- a/editor/translations/zh_TW.po
+++ b/editor/translations/zh_TW.po
@@ -1486,6 +1486,11 @@ msgstr "載入é è¨­åŒ¯æµæŽ’é…置。"
msgid "Create a new Bus Layout."
msgstr "建立新匯æµæŽ’é…置。"
+#: editor/editor_audio_buses.cpp
+#, fuzzy
+msgid "Audio Bus Layout"
+msgstr "開啟音訊匯æµæŽ’é…ç½®"
+
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
msgstr "無效的å稱。"
@@ -2885,7 +2890,7 @@ msgstr "切æ›ï¼å–消專注模å¼ã€‚"
msgid "Add a new scene."
msgstr "新增場景。"
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/plugins/theme_editor_plugin.cpp
msgid "Scene"
msgstr "場景"
@@ -5592,6 +5597,10 @@ msgid "Bake Lightmaps"
msgstr "烘焙光照圖"
#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid "LightMap Bake"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
msgid "Select lightmap bake file:"
msgstr "é¸æ“‡å…‰ç…§åœ–烘焙檔案:"
@@ -8054,7 +8063,13 @@ msgid "Cinematic Preview"
msgstr "效果é è¦½"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Not available when using the GLES2 renderer."
+msgid "(Not in GLES2)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Debug draw modes are only available when using the GLES3 renderer, not GLES2."
msgstr "使用 GLES2 算繪引擎時無法使用。"
#: editor/plugins/spatial_editor_plugin.cpp
@@ -8943,6 +8958,11 @@ msgid "Select Another Theme Resource:"
msgstr "é¸æ“‡å…¶ä»–主題資æºï¼š"
#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme Resource"
+msgstr "é‡æ–°å‘½å資æº"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Another Theme"
msgstr "其他主題"
@@ -8993,6 +9013,20 @@ msgstr ""
"釘é¸è©²æ¨£å¼ç›’為主è¦æ¨£å¼ã€‚編輯其屬性將更新所有其他åŒé¡žåˆ¥çš„樣å¼ç›’之相åŒå±¬æ€§ã€‚"
#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item Type"
+msgstr "新增項目類型"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Variation Base Type"
+msgstr "設定變數型別"
+
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Set Base Type"
+msgstr "更改基礎型別"
+
+#: editor/plugins/theme_editor_plugin.cpp
msgid "Show Default"
msgstr "顯示é è¨­"
@@ -9009,8 +9043,19 @@ msgid "Override all default type items."
msgstr "複寫所有é è¨­é¡žåˆ¥é …目。"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Add Item Type"
-msgstr "新增項目類型"
+#, fuzzy
+msgid "Base Type"
+msgstr "更改基礎型別"
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Select the variation base type from a list of available types."
+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 ""
#: editor/plugins/theme_editor_plugin.cpp
msgid "Theme:"
@@ -9718,18 +9763,6 @@ msgid "Commit list size"
msgstr ""
#: editor/plugins/version_control_editor_plugin.cpp
-msgid "10"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "20"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
-msgid "30"
-msgstr ""
-
-#: editor/plugins/version_control_editor_plugin.cpp
#, fuzzy
msgid "Branches"
msgstr "符åˆæ¢ä»¶ï¼š"
@@ -12401,6 +12434,11 @@ msgid "Stack Frames"
msgstr "堆疊框"
#: editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Filter stack variables"
+msgstr "篩é¸åœ–å¡Š"
+
+#: editor/script_editor_debugger.cpp
msgid "Profiler"
msgstr "分æžå·¥å…·"
@@ -13725,9 +13763,10 @@ msgstr "無效的套件å稱:"
msgid ""
"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" "
"project setting (changed in Godot 3.2.2).\n"
+"Replace it with the first-party \"GodotGooglePlayBilling\" plugin.\n"
+"Note that the singleton was also renamed from \"GodotPayments\" to "
+"\"GodotGooglePlayBilling\"."
msgstr ""
-"「andoird/modulesã€å°ˆæ¡ˆè¨­å®šä¸­åŒ…å«äº†ç„¡æ•ˆçš„「GodotPaymentV3ã€æ¨¡çµ„(更改於 "
-"Godot 3.2.2)。\n"
#: platform/android/export/export_plugin.cpp
msgid "\"Use Custom Build\" must be enabled to use the plugins."
diff --git a/modules/csg/csg_shape.cpp b/modules/csg/csg_shape.cpp
index 3bb2bc3a4d..a659062438 100644
--- a/modules/csg/csg_shape.cpp
+++ b/modules/csg/csg_shape.cpp
@@ -125,7 +125,7 @@ bool CSGShape3D::get_collision_mask_value(int p_layer_number) const {
}
bool CSGShape3D::is_root_shape() const {
- return !parent;
+ return !parent_shape;
}
void CSGShape3D::set_snap(float p_snap) {
@@ -136,13 +136,13 @@ float CSGShape3D::get_snap() const {
return snap;
}
-void CSGShape3D::_make_dirty() {
- if (!is_inside_tree()) {
- return;
+void CSGShape3D::_make_dirty(bool p_parent_removing) {
+ if ((p_parent_removing || is_root_shape()) && !dirty) {
+ call_deferred("_update_shape"); // Must be deferred; otherwise, is_root_shape() will use the previous parent
}
- if (parent) {
- parent->_make_dirty();
+ if (!is_root_shape()) {
+ parent_shape->_make_dirty();
} else if (!dirty) {
call_deferred(SNAME("_update_shape"));
}
@@ -164,7 +164,7 @@ CSGBrush *CSGShape3D::_get_brush() {
if (!child) {
continue;
}
- if (!child->is_visible_in_tree()) {
+ if (!child->is_visible()) {
continue;
}
@@ -280,7 +280,7 @@ void CSGShape3D::mikktSetTSpaceDefault(const SMikkTSpaceContext *pContext, const
}
void CSGShape3D::_update_shape() {
- if (parent || !is_inside_tree()) {
+ if (!is_root_shape() || !is_inside_tree()) {
return;
}
@@ -345,27 +345,6 @@ void CSGShape3D::_update_shape() {
}
}
- // Update collision faces.
- if (root_collision_shape.is_valid()) {
- Vector<Vector3> physics_faces;
- physics_faces.resize(n->faces.size() * 3);
- Vector3 *physicsw = physics_faces.ptrw();
-
- for (int i = 0; i < n->faces.size(); i++) {
- int order[3] = { 0, 1, 2 };
-
- if (n->faces[i].invert) {
- SWAP(order[1], order[2]);
- }
-
- physicsw[i * 3 + 0] = n->faces[i].vertices[order[0]];
- physicsw[i * 3 + 1] = n->faces[i].vertices[order[1]];
- physicsw[i * 3 + 2] = n->faces[i].vertices[order[2]];
- }
-
- root_collision_shape->set_faces(physics_faces);
- }
-
//fill arrays
{
for (int i = 0; i < n->faces.size(); i++) {
@@ -458,6 +437,32 @@ void CSGShape3D::_update_shape() {
}
set_base(root_mesh->get_rid());
+
+ _update_collision_faces();
+}
+
+void CSGShape3D::_update_collision_faces() {
+ if (use_collision && is_root_shape() && root_collision_shape.is_valid()) {
+ CSGBrush *n = _get_brush();
+ ERR_FAIL_COND_MSG(!n, "Cannot get CSGBrush.");
+ Vector<Vector3> physics_faces;
+ physics_faces.resize(n->faces.size() * 3);
+ Vector3 *physicsw = physics_faces.ptrw();
+
+ for (int i = 0; i < n->faces.size(); i++) {
+ int order[3] = { 0, 1, 2 };
+
+ if (n->faces[i].invert) {
+ SWAP(order[1], order[2]);
+ }
+
+ physicsw[i * 3 + 0] = n->faces[i].vertices[order[0]];
+ physicsw[i * 3 + 1] = n->faces[i].vertices[order[1]];
+ physicsw[i * 3 + 2] = n->faces[i].vertices[order[2]];
+ }
+
+ root_collision_shape->set_faces(physics_faces);
+ }
}
AABB CSGShape3D::get_aabb() const {
@@ -492,61 +497,72 @@ Vector<Face3> CSGShape3D::get_faces(uint32_t p_usage_flags) const {
void CSGShape3D::_notification(int p_what) {
switch (p_what) {
- case NOTIFICATION_ENTER_TREE: {
+ case NOTIFICATION_PARENTED: {
Node *parentn = get_parent();
if (parentn) {
- parent = Object::cast_to<CSGShape3D>(parentn);
- if (parent) {
+ parent_shape = Object::cast_to<CSGShape3D>(parentn);
+ if (parent_shape) {
set_base(RID());
root_mesh.unref();
}
}
-
- if (use_collision && is_root_shape()) {
- root_collision_shape.instantiate();
- root_collision_instance = PhysicsServer3D::get_singleton()->body_create();
- PhysicsServer3D::get_singleton()->body_set_mode(root_collision_instance, PhysicsServer3D::BODY_MODE_STATIC);
- PhysicsServer3D::get_singleton()->body_set_state(root_collision_instance, PhysicsServer3D::BODY_STATE_TRANSFORM, get_global_transform());
- PhysicsServer3D::get_singleton()->body_add_shape(root_collision_instance, root_collision_shape->get_rid());
- PhysicsServer3D::get_singleton()->body_set_space(root_collision_instance, get_world_3d()->get_space());
- PhysicsServer3D::get_singleton()->body_attach_object_instance_id(root_collision_instance, get_instance_id());
- set_collision_layer(collision_layer);
- set_collision_mask(collision_mask);
+ if (!brush || parent_shape) {
+ // Update this node if uninitialized, or both this node and its new parent if it gets added to another CSG shape
+ _make_dirty();
}
+ last_visible = is_visible();
+ } break;
- _make_dirty();
+ case NOTIFICATION_UNPARENTED: {
+ if (!is_root_shape()) {
+ // Update this node and its previous parent only if it's currently being removed from another CSG shape
+ _make_dirty(true); // Must be forced since is_root_shape() uses the previous parent
+ }
+ parent_shape = nullptr;
} break;
- case NOTIFICATION_TRANSFORM_CHANGED: {
- if (use_collision && is_root_shape() && root_collision_instance.is_valid()) {
- PhysicsServer3D::get_singleton()->body_set_state(root_collision_instance, PhysicsServer3D::BODY_STATE_TRANSFORM, get_global_transform());
+ case NOTIFICATION_VISIBILITY_CHANGED: {
+ if (!is_root_shape() && last_visible != is_visible()) {
+ // Update this node's parent only if its own visibility has changed, not the visibility of parent nodes
+ parent_shape->_make_dirty();
}
+ last_visible = is_visible();
} break;
case NOTIFICATION_LOCAL_TRANSFORM_CHANGED: {
- if (parent) {
- parent->_make_dirty();
+ if (!is_root_shape()) {
+ // Update this node's parent only if its own transformation has changed, not the transformation of parent nodes
+ parent_shape->_make_dirty();
}
} break;
- case NOTIFICATION_VISIBILITY_CHANGED: {
- if (parent) {
- parent->_make_dirty();
+ case NOTIFICATION_ENTER_TREE: {
+ if (use_collision && is_root_shape()) {
+ root_collision_shape.instantiate();
+ root_collision_instance = PhysicsServer3D::get_singleton()->body_create();
+ PhysicsServer3D::get_singleton()->body_set_mode(root_collision_instance, PhysicsServer3D::BODY_MODE_STATIC);
+ PhysicsServer3D::get_singleton()->body_set_state(root_collision_instance, PhysicsServer3D::BODY_STATE_TRANSFORM, get_global_transform());
+ PhysicsServer3D::get_singleton()->body_add_shape(root_collision_instance, root_collision_shape->get_rid());
+ PhysicsServer3D::get_singleton()->body_set_space(root_collision_instance, get_world_3d()->get_space());
+ PhysicsServer3D::get_singleton()->body_attach_object_instance_id(root_collision_instance, get_instance_id());
+ set_collision_layer(collision_layer);
+ set_collision_mask(collision_mask);
+ _update_collision_faces();
}
} break;
case NOTIFICATION_EXIT_TREE: {
- if (parent) {
- parent->_make_dirty();
- }
- parent = nullptr;
-
if (use_collision && is_root_shape() && root_collision_instance.is_valid()) {
PhysicsServer3D::get_singleton()->free(root_collision_instance);
root_collision_instance = RID();
root_collision_shape.unref();
}
- _make_dirty();
+ } break;
+
+ case NOTIFICATION_TRANSFORM_CHANGED: {
+ if (use_collision && is_root_shape() && root_collision_instance.is_valid()) {
+ PhysicsServer3D::get_singleton()->body_set_state(root_collision_instance, PhysicsServer3D::BODY_STATE_TRANSFORM, get_global_transform());
+ }
} break;
}
}
diff --git a/modules/csg/csg_shape.h b/modules/csg/csg_shape.h
index 6da9893368..d16250e30d 100644
--- a/modules/csg/csg_shape.h
+++ b/modules/csg/csg_shape.h
@@ -52,13 +52,14 @@ public:
private:
Operation operation = OPERATION_UNION;
- CSGShape3D *parent = nullptr;
+ CSGShape3D *parent_shape = nullptr;
CSGBrush *brush = nullptr;
AABB node_aabb;
bool dirty = false;
+ bool last_visible = false;
float snap = 0.001;
bool use_collision = false;
@@ -104,11 +105,12 @@ private:
const tbool bIsOrientationPreserving, const int iFace, const int iVert);
void _update_shape();
+ void _update_collision_faces();
protected:
void _notification(int p_what);
virtual CSGBrush *_build_brush() = 0;
- void _make_dirty();
+ void _make_dirty(bool p_parent_removing = false);
static void _bind_methods();
diff --git a/modules/gdscript/editor_templates/VisualShaderNodeCustom/basic.gd b/modules/gdscript/editor_templates/VisualShaderNodeCustom/basic.gd
index d71f2592fe..cf6d68333d 100644
--- a/modules/gdscript/editor_templates/VisualShaderNodeCustom/basic.gd
+++ b/modules/gdscript/editor_templates/VisualShaderNodeCustom/basic.gd
@@ -34,5 +34,5 @@ func _get_output_port_name(port: int) -> String:
func _get_output_port_type(port: int) -> int:
return PORT_TYPE_SCALAR
-func _get_code(input_vars: Array[String], output_vars: Array[String], mode: Shader.Mode, type: VisualShader.Type) -> String:
+func _get_code(input_vars: Array[String], output_vars: Array[String], mode: int, type: int) -> String:
return output_vars[0] + " = 0.0;"
diff --git a/modules/mono/editor/GodotTools/GodotTools/Build/BuildOutputView.cs b/modules/mono/editor/GodotTools/GodotTools/Build/BuildOutputView.cs
index 56fca6b5cb..bfc807c01a 100644
--- a/modules/mono/editor/GodotTools/GodotTools/Build/BuildOutputView.cs
+++ b/modules/mono/editor/GodotTools/GodotTools/Build/BuildOutputView.cs
@@ -350,7 +350,7 @@ namespace GodotTools.Build
if (_issuesListContextMenu.ItemCount > 0)
{
- _issuesListContextMenu.Position = (Vector2i)(_issuesList.RectGlobalPosition + atPosition);
+ _issuesListContextMenu.Position = (Vector2i)(_issuesList.GlobalPosition + atPosition);
_issuesListContextMenu.Popup();
}
}
diff --git a/modules/mono/editor/GodotTools/GodotTools/Build/MSBuildPanel.cs b/modules/mono/editor/GodotTools/GodotTools/Build/MSBuildPanel.cs
index 2dbc78ab77..9e8f7ef1b1 100644
--- a/modules/mono/editor/GodotTools/GodotTools/Build/MSBuildPanel.cs
+++ b/modules/mono/editor/GodotTools/GodotTools/Build/MSBuildPanel.cs
@@ -126,7 +126,7 @@ namespace GodotTools.Build
{
base._Ready();
- RectMinSize = new Vector2(0, 228) * EditorScale;
+ MinimumSize = new Vector2(0, 228) * EditorScale;
SizeFlagsVertical = (int)SizeFlags.ExpandFill;
var toolBarHBox = new HBoxContainer { SizeFlagsHorizontal = (int)SizeFlags.ExpandFill };
diff --git a/modules/mono/editor/code_completion.cpp b/modules/mono/editor/code_completion.cpp
index 095fd831a3..3a41b3f6f5 100644
--- a/modules/mono/editor/code_completion.cpp
+++ b/modules/mono/editor/code_completion.cpp
@@ -120,7 +120,7 @@ PackedStringArray get_code_completion(CompletionKind p_kind, const String &p_scr
} break;
case CompletionKind::NODE_PATHS: {
{
- // AutoLoads
+ // Autoloads.
OrderedHashMap<StringName, ProjectSettings::AutoloadInfo> autoloads = ProjectSettings::get_singleton()->get_autoload_list();
for (OrderedHashMap<StringName, ProjectSettings::AutoloadInfo>::Element E = autoloads.front(); E; E = E.next()) {
diff --git a/modules/svg/SCsub b/modules/svg/SCsub
index bb03147731..93262f4f87 100644
--- a/modules/svg/SCsub
+++ b/modules/svg/SCsub
@@ -34,6 +34,7 @@ thirdparty_sources = [
"src/loaders/svg/tvgSvgSceneBuilder.cpp",
"src/loaders/svg/tvgSvgPath.cpp",
"src/loaders/svg/tvgSvgLoader.cpp",
+ "src/loaders/svg/tvgSvgCssStyle.cpp",
"src/loaders/tvg/tvgTvgBinInterpreter.cpp",
"src/loaders/tvg/tvgTvgLoader.cpp",
"src/loaders/jpg/tvgJpgLoader.cpp",
diff --git a/platform/linuxbsd/display_server_x11.cpp b/platform/linuxbsd/display_server_x11.cpp
index 1ed4d8fb32..07cb6a23e8 100644
--- a/platform/linuxbsd/display_server_x11.cpp
+++ b/platform/linuxbsd/display_server_x11.cpp
@@ -2094,7 +2094,7 @@ void DisplayServerX11::window_set_flag(WindowFlags p_flag, bool p_enabled, Windo
XGetWindowAttributes(x11_display, wd.x11_window, &xwa);
ERR_FAIL_COND_MSG(p_window == MAIN_WINDOW_ID, "Main window can't be popup.");
- ERR_FAIL_COND_MSG((xwa.map_state == IsViewable) && (wd.is_popup != p_enabled), "Pupup flag can't changed while window is opened.");
+ ERR_FAIL_COND_MSG((xwa.map_state == IsViewable) && (wd.is_popup != p_enabled), "Popup flag can't changed while window is opened.");
wd.is_popup = p_enabled;
} break;
default: {
@@ -3660,10 +3660,14 @@ void DisplayServerX11::process_events() {
const WindowData &wd = windows[window_id];
+ XWindowAttributes xwa;
+ XSync(x11_display, False);
+ XGetWindowAttributes(x11_display, wd.x11_window, &xwa);
+
// Set focus when menu window is re-used.
// RevertToPointerRoot is used to make sure we don't lose all focus in case
// a subwindow and its parent are both destroyed.
- if (!wd.no_focus && !wd.is_popup) {
+ if ((xwa.map_state == IsViewable) && !wd.no_focus && !wd.is_popup) {
XSetInputFocus(x11_display, wd.x11_window, RevertToPointerRoot, CurrentTime);
}
diff --git a/platform/linuxbsd/os_linuxbsd.cpp b/platform/linuxbsd/os_linuxbsd.cpp
index d876932a83..6461a3d9fe 100644
--- a/platform/linuxbsd/os_linuxbsd.cpp
+++ b/platform/linuxbsd/os_linuxbsd.cpp
@@ -32,6 +32,7 @@
#include "core/io/dir_access.h"
#include "main/main.h"
+#include "servers/display_server.h"
#ifdef X11_ENABLED
#include "display_server_x11.h"
diff --git a/platform/osx/display_server_osx.mm b/platform/osx/display_server_osx.mm
index a4cd8f58bd..89ca6e50ec 100644
--- a/platform/osx/display_server_osx.mm
+++ b/platform/osx/display_server_osx.mm
@@ -1864,7 +1864,7 @@ void DisplayServerOSX::window_set_flag(WindowFlags p_flag, bool p_enabled, Windo
} break;
case WINDOW_FLAG_POPUP: {
ERR_FAIL_COND_MSG(p_window == MAIN_WINDOW_ID, "Main window can't be popup.");
- ERR_FAIL_COND_MSG([wd.window_object isVisible] && (wd.is_popup != p_enabled), "Pupup flag can't changed while window is opened.");
+ ERR_FAIL_COND_MSG([wd.window_object isVisible] && (wd.is_popup != p_enabled), "Popup flag can't changed while window is opened.");
wd.is_popup = p_enabled;
} break;
default: {
diff --git a/platform/windows/display_server_windows.cpp b/platform/windows/display_server_windows.cpp
index 163f5c350b..27b4a2018f 100644
--- a/platform/windows/display_server_windows.cpp
+++ b/platform/windows/display_server_windows.cpp
@@ -1238,7 +1238,7 @@ void DisplayServerWindows::window_set_flag(WindowFlags p_flag, bool p_enabled, W
} break;
case WINDOW_FLAG_POPUP: {
ERR_FAIL_COND_MSG(p_window == MAIN_WINDOW_ID, "Main window can't be popup.");
- ERR_FAIL_COND_MSG(IsWindowVisible(wd.hWnd) && (wd.is_popup != p_enabled), "Pupup flag can't changed while window is opened.");
+ ERR_FAIL_COND_MSG(IsWindowVisible(wd.hWnd) && (wd.is_popup != p_enabled), "Popup flag can't changed while window is opened.");
wd.is_popup = p_enabled;
} break;
case WINDOW_FLAG_MAX:
diff --git a/scene/gui/base_button.cpp b/scene/gui/base_button.cpp
index 0338326bbe..ab86face7e 100644
--- a/scene/gui/base_button.cpp
+++ b/scene/gui/base_button.cpp
@@ -349,7 +349,7 @@ Ref<Shortcut> BaseButton::get_shortcut() const {
void BaseButton::unhandled_key_input(const Ref<InputEvent> &p_event) {
ERR_FAIL_COND(p_event.is_null());
- if (!_is_focus_owner_in_shorcut_context()) {
+ if (!_is_focus_owner_in_shortcut_context()) {
return;
}
@@ -404,7 +404,7 @@ Node *BaseButton::get_shortcut_context() const {
return ctx_node;
}
-bool BaseButton::_is_focus_owner_in_shorcut_context() const {
+bool BaseButton::_is_focus_owner_in_shortcut_context() const {
if (shortcut_context == ObjectID()) {
// No context, therefore global - always "in" context.
return true;
diff --git a/scene/gui/base_button.h b/scene/gui/base_button.h
index 6bfffe7575..a2b6ee0845 100644
--- a/scene/gui/base_button.h
+++ b/scene/gui/base_button.h
@@ -80,7 +80,7 @@ protected:
virtual void unhandled_key_input(const Ref<InputEvent> &p_event) override;
void _notification(int p_what);
- bool _is_focus_owner_in_shorcut_context() const;
+ bool _is_focus_owner_in_shortcut_context() const;
GDVIRTUAL0(_pressed)
GDVIRTUAL1(_toggled, bool)
diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp
index 3c712a89bb..2866a5ad6c 100644
--- a/scene/gui/control.cpp
+++ b/scene/gui/control.cpp
@@ -190,10 +190,10 @@ String Control::properties_managed_by_container[] = {
"anchor_top",
"anchor_right",
"anchor_bottom",
- "rect_position",
- "rect_rotation",
- "rect_scale",
- "rect_size"
+ "position",
+ "rotation",
+ "scale",
+ "size"
};
void Control::accept_event() {
@@ -490,7 +490,7 @@ void Control::_validate_property(PropertyInfo &property) const {
} else if (Object::cast_to<Container>(parent_node)) {
// If the parent is a container, display only container-related properties.
if (property.name.begins_with("anchor_") || property.name.begins_with("offset_") || property.name.begins_with("grow_") || property.name == "anchors_preset" ||
- (property.name.begins_with("rect_") && property.name != "rect_min_size" && property.name != "rect_clip_content" && property.name != "rect_global_position")) {
+ property.name == "position" || property.name == "rotation" || property.name == "scale" || property.name == "size" || property.name == "pivot_offset") {
property.usage ^= PROPERTY_USAGE_EDITOR;
} else if (property.name == "layout_mode") {
@@ -2663,6 +2663,11 @@ void Control::set_default_cursor_shape(CursorShape p_shape) {
ERR_FAIL_INDEX(int(p_shape), CURSOR_MAX);
data.default_cursor = p_shape;
+
+ if (!is_inside_tree()) {
+ return;
+ }
+ get_viewport()->get_base_window()->update_mouse_cursor_shape();
}
Control::CursorShape Control::get_default_cursor_shape() const {
@@ -3342,8 +3347,8 @@ void Control::_bind_methods() {
ClassDB::bind_method(D_METHOD("is_auto_translating"), &Control::is_auto_translating);
ADD_GROUP("Layout", "");
- ADD_PROPERTY(PropertyInfo(Variant::BOOL, "rect_clip_content"), "set_clip_contents", "is_clipping_contents");
- ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "rect_min_size"), "set_custom_minimum_size", "get_custom_minimum_size");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "clip_contents"), "set_clip_contents", "is_clipping_contents");
+ ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "minimum_size"), "set_custom_minimum_size", "get_custom_minimum_size");
ADD_PROPERTY(PropertyInfo(Variant::INT, "layout_direction", PROPERTY_HINT_ENUM, "Inherited,Locale,Left-to-Right,Right-to-Left"), "set_layout_direction", "get_layout_direction");
ADD_PROPERTY(PropertyInfo(Variant::INT, "layout_mode", PROPERTY_HINT_ENUM, "Position,Anchors,Container,Uncontrolled", PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_INTERNAL), "_set_layout_mode", "_get_layout_mode");
ADD_PROPERTY_DEFAULT("layout_mode", LayoutMode::LAYOUT_MODE_POSITION);
@@ -3372,15 +3377,13 @@ void Control::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::INT, "grow_horizontal", PROPERTY_HINT_ENUM, "Left,Right,Both"), "set_h_grow_direction", "get_h_grow_direction");
ADD_PROPERTY(PropertyInfo(Variant::INT, "grow_vertical", PROPERTY_HINT_ENUM, "Top,Bottom,Both"), "set_v_grow_direction", "get_v_grow_direction");
- ADD_SUBGROUP("Rectangle", "rect_");
- ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "rect_position", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_EDITOR), "_set_position", "get_position");
- ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "rect_global_position", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NONE), "_set_global_position", "get_global_position");
- ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "rect_size", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_EDITOR), "_set_size", "get_size");
-
- ADD_SUBGROUP("Transform", "rect_");
- ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "rect_rotation", PROPERTY_HINT_RANGE, "-360,360,0.1,or_lesser,or_greater,radians"), "set_rotation", "get_rotation");
- ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "rect_scale"), "set_scale", "get_scale");
- ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "rect_pivot_offset"), "set_pivot_offset", "get_pivot_offset");
+ ADD_SUBGROUP("Transform", "");
+ ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "size", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_EDITOR), "_set_size", "get_size");
+ ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "position", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_EDITOR), "_set_position", "get_position");
+ ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "global_position", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NONE), "_set_global_position", "get_global_position");
+ ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "rotation", PROPERTY_HINT_RANGE, "-360,360,0.1,or_lesser,or_greater,radians"), "set_rotation", "get_rotation");
+ ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "scale"), "set_scale", "get_scale");
+ ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "pivot_offset"), "set_pivot_offset", "get_pivot_offset");
ADD_SUBGROUP("Container Sizing", "size_flags_");
ADD_PROPERTY(PropertyInfo(Variant::INT, "size_flags_horizontal", PROPERTY_HINT_FLAGS, "Fill:1,Expand:2,Shrink Center:4,Shrink End:8"), "set_h_size_flags", "get_h_size_flags");
diff --git a/scene/gui/menu_button.cpp b/scene/gui/menu_button.cpp
index c04690cdb3..7e724e4d71 100644
--- a/scene/gui/menu_button.cpp
+++ b/scene/gui/menu_button.cpp
@@ -36,7 +36,7 @@
void MenuButton::unhandled_key_input(const Ref<InputEvent> &p_event) {
ERR_FAIL_COND(p_event.is_null());
- if (!_is_focus_owner_in_shorcut_context()) {
+ if (!_is_focus_owner_in_shortcut_context()) {
return;
}
diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp
index 1c9eb14a24..bad7be7d42 100644
--- a/scene/gui/rich_text_label.cpp
+++ b/scene/gui/rich_text_label.cpp
@@ -3250,6 +3250,10 @@ void RichTextLabel::append_text(const String &p_bbcode) {
push_paragraph(HORIZONTAL_ALIGNMENT_FILL);
pos = brk_end + 1;
tag_stack.push_front(tag);
+ } else if (tag == "left") {
+ push_paragraph(HORIZONTAL_ALIGNMENT_LEFT);
+ pos = brk_end + 1;
+ tag_stack.push_front(tag);
} else if (tag == "right") {
push_paragraph(HORIZONTAL_ALIGNMENT_RIGHT);
pos = brk_end + 1;
diff --git a/scene/gui/tab_bar.cpp b/scene/gui/tab_bar.cpp
index a11248ec6b..af314b9545 100644
--- a/scene/gui/tab_bar.cpp
+++ b/scene/gui/tab_bar.cpp
@@ -71,7 +71,7 @@ Size2 TabBar::get_minimum_size() const {
Ref<Texture2D> tex = tabs[i].icon;
if (tex.is_valid()) {
- ms.height = MAX(ms.height, tex->get_size().height);
+ ms.height = MAX(ms.height, tex->get_size().height + y_margin);
ms.width += tex->get_size().width + hseparation;
}
@@ -91,13 +91,13 @@ Size2 TabBar::get_minimum_size() const {
ms.width += button_highlight->get_margin(SIDE_LEFT) + rb->get_width() + hseparation;
}
- ms.height = MAX(rb->get_height() + style->get_minimum_size().height, ms.height);
+ ms.height = MAX(ms.height, rb->get_height() + y_margin);
}
if (close_visible) {
ms.width += button_highlight->get_margin(SIDE_LEFT) + close->get_width() + hseparation;
- ms.height = MAX(close->get_height() + style->get_minimum_size().height, ms.height);
+ ms.height = MAX(ms.height, close->get_height() + y_margin);
}
if (ms.width - ofs > style->get_minimum_size().width) {
@@ -827,78 +827,52 @@ void TabBar::_update_cache() {
int limit_minus_buttons = limit - incr->get_width() - decr->get_width();
int w = 0;
- int mw = 0;
- int size_fixed = 0;
- int count_resize = 0;
+
+ max_drawn_tab = tabs.size() - 1;
for (int i = 0; i < tabs.size(); i++) {
- tabs.write[i].size_text = Math::ceil(tabs[i].text_buf->get_size().x);
tabs.write[i].text_buf->set_width(-1);
-
- tabs.write[i].ofs_cache = 0;
+ tabs.write[i].size_text = Math::ceil(tabs[i].text_buf->get_size().x);
tabs.write[i].size_cache = get_tab_width(i);
- if (!tabs[i].hidden) {
- mw += tabs[i].size_cache;
+ if (max_width > 0 && tabs[i].size_cache > max_width) {
+ int size_textless = tabs[i].size_cache - tabs[i].size_text;
+ int mw = MAX(size_textless, max_width);
- if (tabs[i].size_cache <= min_width || i == current) {
- size_fixed += tabs[i].size_cache;
- } else {
- count_resize++;
- }
+ tabs.write[i].size_text = MAX(mw - size_textless, 1);
+ tabs.write[i].text_buf->set_width(tabs[i].size_text);
+ tabs.write[i].size_cache = size_textless + tabs[i].size_text;
}
- }
-
- int m_width = min_width;
- if (count_resize > 0) {
- m_width = MAX((limit_minus_buttons - size_fixed) / count_resize, min_width);
- }
-
- for (int i = offset; i < tabs.size(); i++) {
- if (tabs[i].hidden) {
- tabs.write[i].ofs_cache = w;
- max_drawn_tab = i;
+ if (i < offset || i > max_drawn_tab) {
+ tabs.write[i].ofs_cache = 0;
continue;
}
- int lsize = tabs[i].size_cache;
- int slen = tabs[i].size_text;
+ tabs.write[i].ofs_cache = w;
- // FIXME: This is completely broken.
- if (min_width > 0 && (mw > limit || (offset > 0 && mw > limit_minus_buttons)) && i != current && lsize > m_width) {
- slen = MAX(m_width - tabs[i].size_cache + tabs[i].size_text, 1);
- lsize = m_width;
+ if (tabs[i].hidden) {
+ continue;
}
- tabs.write[i].ofs_cache = w;
- tabs.write[i].size_cache = lsize;
- tabs.write[i].size_text = slen;
- tabs.write[i].text_buf->set_width(slen);
-
- w += lsize;
- max_drawn_tab = i;
+ w += tabs[i].size_cache;
// Check if all tabs would fit inside the area.
if (clip_tabs && i > offset && (w > limit || (offset > 0 && w > limit_minus_buttons))) {
tabs.write[i].ofs_cache = 0;
- tabs.write[i].text_buf->set_width(-1);
w -= tabs[i].size_cache;
- max_drawn_tab--;
+ max_drawn_tab = i - 1;
while (w > limit_minus_buttons && max_drawn_tab > offset) {
tabs.write[max_drawn_tab].ofs_cache = 0;
if (!tabs[max_drawn_tab].hidden) {
- tabs.write[max_drawn_tab].text_buf->set_width(-1);
w -= tabs[max_drawn_tab].size_cache;
}
max_drawn_tab--;
}
-
- break;
}
}
@@ -938,12 +912,11 @@ void TabBar::_on_mouse_exited() {
void TabBar::add_tab(const String &p_str, const Ref<Texture2D> &p_icon) {
Tab t;
t.text = p_str;
- t.xl_text = atr(p_str);
t.text_buf->set_direction(is_layout_rtl() ? TextServer::DIRECTION_RTL : TextServer::DIRECTION_LTR);
- t.text_buf->add_string(t.xl_text, get_theme_font(SNAME("font")), get_theme_font_size(SNAME("font_size")), Dictionary(), TranslationServer::get_singleton()->get_tool_locale());
t.icon = p_icon;
tabs.push_back(t);
+ _shape(tabs.size() - 1);
_update_cache();
if (scroll_to_selected) {
ensure_tab_visible(current);
@@ -1379,8 +1352,21 @@ TabBar::CloseButtonDisplayPolicy TabBar::get_tab_close_display_policy() const {
return cb_displaypolicy;
}
-void TabBar::set_min_width(int p_width) {
- min_width = p_width;
+void TabBar::set_max_tab_width(int p_width) {
+ ERR_FAIL_COND(p_width < 0);
+ max_width = p_width;
+
+ _update_cache();
+ _ensure_no_over_offset();
+ if (scroll_to_selected) {
+ ensure_tab_visible(current);
+ }
+ update();
+ update_minimum_size();
+}
+
+int TabBar::get_max_tab_width() const {
+ return max_width;
}
void TabBar::set_scrolling_enabled(bool p_enabled) {
@@ -1515,6 +1501,8 @@ void TabBar::_bind_methods() {
ClassDB::bind_method(D_METHOD("move_tab", "from", "to"), &TabBar::move_tab);
ClassDB::bind_method(D_METHOD("set_tab_close_display_policy", "policy"), &TabBar::set_tab_close_display_policy);
ClassDB::bind_method(D_METHOD("get_tab_close_display_policy"), &TabBar::get_tab_close_display_policy);
+ ClassDB::bind_method(D_METHOD("set_max_tab_width", "width"), &TabBar::set_max_tab_width);
+ ClassDB::bind_method(D_METHOD("get_max_tab_width"), &TabBar::get_max_tab_width);
ClassDB::bind_method(D_METHOD("set_scrolling_enabled", "enabled"), &TabBar::set_scrolling_enabled);
ClassDB::bind_method(D_METHOD("get_scrolling_enabled"), &TabBar::get_scrolling_enabled);
ClassDB::bind_method(D_METHOD("set_drag_to_rearrange_enabled", "enabled"), &TabBar::set_drag_to_rearrange_enabled);
@@ -1539,6 +1527,7 @@ void TabBar::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::INT, "tab_alignment", PROPERTY_HINT_ENUM, "Left,Center,Right"), "set_tab_alignment", "get_tab_alignment");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "clip_tabs"), "set_clip_tabs", "get_clip_tabs");
ADD_PROPERTY(PropertyInfo(Variant::INT, "tab_close_display_policy", PROPERTY_HINT_ENUM, "Show Never,Show Active Only,Show Always"), "set_tab_close_display_policy", "get_tab_close_display_policy");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "max_tab_width", PROPERTY_HINT_RANGE, "0,99999,1"), "set_max_tab_width", "get_max_tab_width");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "scrolling_enabled"), "set_scrolling_enabled", "get_scrolling_enabled");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "drag_to_rearrange_enabled"), "set_drag_to_rearrange_enabled", "get_drag_to_rearrange_enabled");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "tabs_rearrange_group"), "set_tabs_rearrange_group", "get_tabs_rearrange_group");
diff --git a/scene/gui/tab_bar.h b/scene/gui/tab_bar.h
index 82ae8bce3f..0f2184aca7 100644
--- a/scene/gui/tab_bar.h
+++ b/scene/gui/tab_bar.h
@@ -98,7 +98,7 @@ private:
CloseButtonDisplayPolicy cb_displaypolicy = CLOSE_BUTTON_SHOW_NEVER;
int hover = -1; // Hovered tab.
- int min_width = 0;
+ int max_width = 0;
bool scrolling_enabled = true;
bool drag_to_rearrange_enabled = false;
bool scroll_to_selected = true;
@@ -198,7 +198,9 @@ public:
bool get_select_with_rmb() const;
void ensure_tab_visible(int p_idx);
- void set_min_width(int p_width);
+
+ void set_max_tab_width(int p_width);
+ int get_max_tab_width() const;
Rect2 get_tab_rect(int p_tab) const;
Size2 get_minimum_size() const override;
diff --git a/scene/gui/tab_container.cpp b/scene/gui/tab_container.cpp
index 102fe18502..ee61c862b7 100644
--- a/scene/gui/tab_container.cpp
+++ b/scene/gui/tab_container.cpp
@@ -624,7 +624,7 @@ void TabContainer::set_all_tabs_in_front(bool p_in_front) {
all_tabs_in_front = p_in_front;
remove_child(tab_bar);
- add_child(tab_bar, false, all_tabs_in_front ? INTERNAL_MODE_BACK : INTERNAL_MODE_FRONT);
+ add_child(tab_bar, false, all_tabs_in_front ? INTERNAL_MODE_FRONT : INTERNAL_MODE_BACK);
}
bool TabContainer::is_all_tabs_in_front() const {
@@ -635,14 +635,13 @@ void TabContainer::set_tab_title(int p_tab, const String &p_title) {
Control *child = get_tab_control(p_tab);
ERR_FAIL_COND(!child);
- if (p_title.is_empty()) {
- tab_bar->set_tab_title(p_tab, String(child->get_name()));
+ tab_bar->set_tab_title(p_tab, p_title);
+ if (p_title == child->get_name()) {
if (child->has_meta("_tab_name")) {
child->remove_meta("_tab_name");
}
} else {
- tab_bar->set_tab_title(p_tab, p_title);
child->set_meta("_tab_name", p_title);
}
diff --git a/scene/main/scene_tree.cpp b/scene/main/scene_tree.cpp
index d1e8b477a6..0ff99bdab6 100644
--- a/scene/main/scene_tree.cpp
+++ b/scene/main/scene_tree.cpp
@@ -1087,6 +1087,7 @@ void SceneTree::_change_scene(Node *p_to) {
if (p_to) {
current_scene = p_to;
root->add_child(p_to);
+ root->update_mouse_cursor_shape();
}
}
diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp
index de6aa2b139..0082e7b061 100644
--- a/scene/main/viewport.cpp
+++ b/scene/main/viewport.cpp
@@ -1551,7 +1551,7 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) {
gui.drag_preview_id = ObjectID();
}
_propagate_viewport_notification(this, NOTIFICATION_DRAG_END);
- // Change mouse accordingly.
+ get_base_window()->update_mouse_cursor_shape();
}
_gui_cancel_tooltip();
@@ -1572,7 +1572,7 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) {
gui.dragging = false;
gui.drag_mouse_over = nullptr;
_propagate_viewport_notification(this, NOTIFICATION_DRAG_END);
- // Change mouse accordingly.
+ get_base_window()->update_mouse_cursor_shape();
}
gui.mouse_focus_mask &= ~mouse_button_to_mask(mb->get_button_index()); // Remove from mask.
diff --git a/scene/main/window.cpp b/scene/main/window.cpp
index 6837fcae21..a1124274d8 100644
--- a/scene/main/window.cpp
+++ b/scene/main/window.cpp
@@ -378,6 +378,18 @@ void Window::_event_callback(DisplayServer::WindowEvent p_event) {
}
}
+void Window::update_mouse_cursor_shape() {
+ // The default shape is set in Viewport::_gui_input_event. To instantly
+ // see the shape in the viewport we need to trigger a mouse motion event.
+ Ref<InputEventMouseMotion> mm;
+ Vector2 pos = get_mouse_position();
+ Transform2D xform = get_global_canvas_transform().affine_inverse();
+ mm.instantiate();
+ mm->set_position(pos);
+ mm->set_global_position(xform.xform(pos));
+ push_input(mm);
+}
+
void Window::show() {
set_visible(true);
}
diff --git a/scene/main/window.h b/scene/main/window.h
index 3d8e337b4a..27a02b837f 100644
--- a/scene/main/window.h
+++ b/scene/main/window.h
@@ -205,6 +205,8 @@ public:
void set_visible(bool p_visible);
bool is_visible() const;
+ void update_mouse_cursor_shape();
+
void show();
void hide();
diff --git a/scene/register_scene_types.cpp b/scene/register_scene_types.cpp
index 0b66ff004b..a396ef01f4 100644
--- a/scene/register_scene_types.cpp
+++ b/scene/register_scene_types.cpp
@@ -1016,7 +1016,7 @@ void register_scene_types() {
ClassDB::add_compatibility_class("SpringArm", "SpringArm3D");
ClassDB::add_compatibility_class("Sprite", "Sprite2D");
ClassDB::add_compatibility_class("StaticBody", "StaticBody3D");
- ClassDB::add_compatibility_class("CompressedTexture", "CompressedTexture2D");
+ ClassDB::add_compatibility_class("StreamTexture", "CompressedTexture2D");
ClassDB::add_compatibility_class("TextureProgress", "TextureProgressBar");
ClassDB::add_compatibility_class("VehicleBody", "VehicleBody3D");
ClassDB::add_compatibility_class("VehicleWheel", "VehicleWheel3D");
@@ -1046,6 +1046,14 @@ void register_scene_types() {
ClassDB::add_compatibility_class("VisualShaderNodeScalarDerivativeFunc", "VisualShaderNodeDerivativeFunc");
ClassDB::add_compatibility_class("VisualShaderNodeVectorDerivativeFunc", "VisualShaderNodeDerivativeFunc");
ClassDB::add_compatibility_class("World", "World3D");
+
+ // Renamed during 4.0 alpha, added to ease transition between alphas.
+ ClassDB::add_compatibility_class("StreamCubemap", "CompressedCubemap");
+ ClassDB::add_compatibility_class("StreamCubemapArray", "CompressedCubemapArray");
+ ClassDB::add_compatibility_class("StreamTexture2D", "CompressedTexture2D");
+ ClassDB::add_compatibility_class("StreamTexture2DArray", "CompressedTexture2DArray");
+ ClassDB::add_compatibility_class("StreamTexture3D", "CompressedTexture3D");
+ ClassDB::add_compatibility_class("StreamTextureLayered", "CompressedTextureLayered");
#endif /* DISABLE_DEPRECATED */
OS::get_singleton()->yield(); // may take time to init
diff --git a/scene/resources/visual_shader.cpp b/scene/resources/visual_shader.cpp
index 03b768e869..d3e61dbc84 100644
--- a/scene/resources/visual_shader.cpp
+++ b/scene/resources/visual_shader.cpp
@@ -455,32 +455,69 @@ String VisualShaderNodeCustom::generate_code(Shader::Mode p_mode, VisualShader::
for (int i = 0; i < get_output_port_count(); i++) {
output_vars.push_back(p_output_vars[i]);
}
- String code = " {\n";
+
String _code;
GDVIRTUAL_CALL(_get_code, input_vars, output_vars, p_mode, p_type, _code);
- bool nend = _code.ends_with("\n");
- _code = _code.insert(0, " ");
- _code = _code.replace("\n", "\n ");
- code += _code;
- if (!nend) {
- code += "\n }";
- } else {
- code.remove_at(code.size() - 1);
- code += "}";
+ if (_is_valid_code(_code)) {
+ String code = " {\n";
+ bool nend = _code.ends_with("\n");
+ _code = _code.insert(0, " ");
+ _code = _code.replace("\n", "\n ");
+ code += _code;
+ if (!nend) {
+ code += "\n }";
+ } else {
+ code.remove_at(code.size() - 1);
+ code += "}";
+ }
+ code += "\n";
+ return code;
}
- code += "\n";
- return code;
+ return String();
}
String VisualShaderNodeCustom::generate_global_per_node(Shader::Mode p_mode, int p_id) const {
- String ret;
- if (GDVIRTUAL_CALL(_get_global_code, p_mode, ret)) {
- String code = "// " + get_caption() + "\n";
- code += ret;
- code += "\n";
- return code;
+ String _code;
+ if (GDVIRTUAL_CALL(_get_global_code, p_mode, _code)) {
+ if (_is_valid_code(_code)) {
+ String code = "// " + get_caption() + "\n";
+ code += _code;
+ code += "\n";
+ return code;
+ }
}
- return "";
+ return String();
+}
+
+String VisualShaderNodeCustom::generate_global_per_func(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const {
+ String _code;
+ if (GDVIRTUAL_CALL(_get_func_code, p_mode, p_type, _code)) {
+ if (_is_valid_code(_code)) {
+ bool nend = _code.ends_with("\n");
+ String code = "// " + get_caption() + "\n";
+ code += " {\n";
+ _code = _code.insert(0, " ");
+ _code = _code.replace("\n", "\n ");
+ code += _code;
+ if (!nend) {
+ code += "\n }";
+ } else {
+ code.remove_at(code.size() - 1);
+ code += "}";
+ }
+ code += "\n";
+ return code;
+ }
+ }
+ return String();
+}
+
+bool VisualShaderNodeCustom::is_available(Shader::Mode p_mode, VisualShader::Type p_type) const {
+ bool ret;
+ if (GDVIRTUAL_CALL(_is_available, p_mode, p_type, ret)) {
+ return ret;
+ }
+ return true;
}
void VisualShaderNodeCustom::set_input_port_default_value(int p_port, const Variant &p_value, const Variant &p_prev_value) {
@@ -511,6 +548,13 @@ void VisualShaderNodeCustom::_set_input_port_default_value(int p_port, const Var
VisualShaderNode::set_input_port_default_value(p_port, p_value);
}
+bool VisualShaderNodeCustom::_is_valid_code(const String &p_code) const {
+ if (p_code.is_empty() || p_code == "null") {
+ return false;
+ }
+ return true;
+}
+
bool VisualShaderNodeCustom::_is_initialized() {
return is_initialized;
}
@@ -531,8 +575,10 @@ void VisualShaderNodeCustom::_bind_methods() {
GDVIRTUAL_BIND(_get_output_port_type, "port");
GDVIRTUAL_BIND(_get_output_port_name, "port");
GDVIRTUAL_BIND(_get_code, "input_vars", "output_vars", "mode", "type");
+ GDVIRTUAL_BIND(_get_func_code, "mode", "type");
GDVIRTUAL_BIND(_get_global_code, "mode");
GDVIRTUAL_BIND(_is_highend);
+ GDVIRTUAL_BIND(_is_available, "mode", "type");
ClassDB::bind_method(D_METHOD("_set_initialized", "enabled"), &VisualShaderNodeCustom::_set_initialized);
ClassDB::bind_method(D_METHOD("_is_initialized"), &VisualShaderNodeCustom::_is_initialized);
diff --git a/scene/resources/visual_shader.h b/scene/resources/visual_shader.h
index 5cad5fc95b..2d4b2852e9 100644
--- a/scene/resources/visual_shader.h
+++ b/scene/resources/visual_shader.h
@@ -383,14 +383,20 @@ protected:
GDVIRTUAL1RC(int, _get_output_port_type, int)
GDVIRTUAL1RC(String, _get_output_port_name, int)
GDVIRTUAL4RC(String, _get_code, TypedArray<String>, TypedArray<String>, Shader::Mode, VisualShader::Type)
+ GDVIRTUAL2RC(String, _get_func_code, Shader::Mode, VisualShader::Type)
GDVIRTUAL1RC(String, _get_global_code, Shader::Mode)
GDVIRTUAL0RC(bool, _is_highend)
+ GDVIRTUAL2RC(bool, _is_available, Shader::Mode, VisualShader::Type)
+
+ bool _is_valid_code(const String &p_code) const;
protected:
void _set_input_port_default_value(int p_port, const Variant &p_value);
+ bool is_available(Shader::Mode p_mode, VisualShader::Type p_type) const;
virtual String generate_code(Shader::Mode p_mode, VisualShader::Type p_type, int p_id, const String *p_input_vars, const String *p_output_vars, bool p_for_preview = false) const override;
virtual String generate_global_per_node(Shader::Mode p_mode, int p_id) const override;
+ virtual String generate_global_per_func(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const override;
static void _bind_methods();
diff --git a/scene/resources/visual_shader_nodes.cpp b/scene/resources/visual_shader_nodes.cpp
index a6aa6d8c49..7b4d7e66d4 100644
--- a/scene/resources/visual_shader_nodes.cpp
+++ b/scene/resources/visual_shader_nodes.cpp
@@ -5696,7 +5696,7 @@ String VisualShaderNodeTextureUniformTriplanar::get_input_port_name(int p_port)
String VisualShaderNodeTextureUniformTriplanar::generate_global_per_node(Shader::Mode p_mode, int p_id) const {
String code;
- code += "// TRIPLANAR FUNCTION GLOBAL CODE\n";
+ code += "// " + get_caption() + "\n";
code += " vec4 triplanar_texture(sampler2D p_sampler, vec3 p_weights, vec3 p_triplanar_pos) {\n";
code += " vec4 samp = vec4(0.0);\n";
code += " samp += texture(p_sampler, p_triplanar_pos.xy) * p_weights.z;\n";
@@ -5719,11 +5719,13 @@ String VisualShaderNodeTextureUniformTriplanar::generate_global_per_func(Shader:
String code;
if (p_type == VisualShader::TYPE_VERTEX) {
- code += " // TRIPLANAR FUNCTION VERTEX CODE\n";
+ code += "// " + get_caption() + "\n";
+ code += " {\n";
code += " triplanar_power_normal = pow(abs(NORMAL), vec3(triplanar_sharpness));\n";
code += " triplanar_power_normal /= dot(triplanar_power_normal, vec3(1.0));\n";
code += " triplanar_pos = VERTEX * triplanar_scale + triplanar_offset;\n";
code += " triplanar_pos *= vec3(1.0, -1.0, 1.0);\n";
+ code += " }\n";
}
return code;
diff --git a/thirdparty/README.md b/thirdparty/README.md
index d591d2cbd8..7800e220a1 100644
--- a/thirdparty/README.md
+++ b/thirdparty/README.md
@@ -627,7 +627,7 @@ instead of `miniz.h` as an external dependency.
## thorvg
- Upstream: https://github.com/Samsung/thorvg
-- Version: 0.7.1 (d53eb2a880002cb770ace1c1ace9c5dfcfc28252, 2022)
+- Version: 0.8.0 (41093c17b3cac440bdcc53f8b69abeb5734696b5, 2022)
- License: MIT
Files extracted from upstream source:
diff --git a/thirdparty/thorvg/AUTHORS b/thirdparty/thorvg/AUTHORS
index ec06c49118..0f8ba2dd7d 100644
--- a/thirdparty/thorvg/AUTHORS
+++ b/thirdparty/thorvg/AUTHORS
@@ -1,4 +1,4 @@
-Hermet Park <chuneon.park@samsung.com>
+Hermet Park <hermetpark@gmail.com>
Prudhvi Raj Vasireddi <prudhvi.raj@samsung.com>
Junsu Choi <jsuya.choi@samsung.com>
Pranay Samanta <pranay.ks@samsung.com>
diff --git a/thirdparty/thorvg/LICENSE b/thirdparty/thorvg/LICENSE
index b096b0888e..2f0361a864 100644
--- a/thirdparty/thorvg/LICENSE
+++ b/thirdparty/thorvg/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2020 - 2021 notice for the ThorVG Project (see AUTHORS)
+Copyright (c) 2020 - 2022 notice for the ThorVG Project (see AUTHORS)
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:
diff --git a/thirdparty/thorvg/inc/config.h b/thirdparty/thorvg/inc/config.h
index 41e8f6dafa..d72574bc65 100644
--- a/thirdparty/thorvg/inc/config.h
+++ b/thirdparty/thorvg/inc/config.h
@@ -13,5 +13,5 @@
#define THORVG_JPG_LOADER_SUPPORT 1
-#define THORVG_VERSION_STRING "0.7.1"
+#define THORVG_VERSION_STRING "0.8.0"
#endif
diff --git a/thirdparty/thorvg/inc/thorvg.h b/thirdparty/thorvg/inc/thorvg.h
index e542d36555..b08356d9d5 100644
--- a/thirdparty/thorvg/inc/thorvg.h
+++ b/thirdparty/thorvg/inc/thorvg.h
@@ -145,8 +145,9 @@ enum class TVG_EXPORT CompositeMethod
{
None = 0, ///< No composition is applied.
ClipPath, ///< The intersection of the source and the target is determined and only the resulting pixels from the source are rendered.
- AlphaMask, ///< The pixels of the source and the target are alpha blended. As a result, only the part of the source, which intersects with the target is visible.
- InvAlphaMask ///< The pixels of the source and the complement to the target's pixels are alpha blended. As a result, only the part of the source which is not covered by the target is visible.
+ AlphaMask, ///< The pixels of the source and the target are alpha blended. As a result, only the part of the source, which alpha intersects with the target is visible.
+ InvAlphaMask, ///< The pixels of the source and the complement to the target's pixels are alpha blended. As a result, only the part of the source which alpha is not covered by the target is visible.
+ LumaMask ///< @BETA_API The source pixels are converted to the grayscale (luma value) and alpha blended with the target. As a result, only the part of the source, which intersects with the target is visible.
};
/**
diff --git a/thirdparty/thorvg/src/lib/sw_engine/tvgSwCommon.h b/thirdparty/thorvg/src/lib/sw_engine/tvgSwCommon.h
index e0ffc1fb97..be7042d6de 100644
--- a/thirdparty/thorvg/src/lib/sw_engine/tvgSwCommon.h
+++ b/thirdparty/thorvg/src/lib/sw_engine/tvgSwCommon.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -235,6 +235,7 @@ struct SwImage
struct SwBlender
{
uint32_t (*join)(uint8_t r, uint8_t g, uint8_t b, uint8_t a);
+ uint32_t (*lumaValue)(uint32_t c);
};
struct SwCompositor;
diff --git a/thirdparty/thorvg/src/lib/sw_engine/tvgSwFill.cpp b/thirdparty/thorvg/src/lib/sw_engine/tvgSwFill.cpp
index 0bf051c17f..04014a9ec3 100644
--- a/thirdparty/thorvg/src/lib/sw_engine/tvgSwFill.cpp
+++ b/thirdparty/thorvg/src/lib/sw_engine/tvgSwFill.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/sw_engine/tvgSwImage.cpp b/thirdparty/thorvg/src/lib/sw_engine/tvgSwImage.cpp
index f9974d9847..f24d2d6f27 100644
--- a/thirdparty/thorvg/src/lib/sw_engine/tvgSwImage.cpp
+++ b/thirdparty/thorvg/src/lib/sw_engine/tvgSwImage.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/sw_engine/tvgSwMath.cpp b/thirdparty/thorvg/src/lib/sw_engine/tvgSwMath.cpp
index 7a3529bd69..7f13609525 100644
--- a/thirdparty/thorvg/src/lib/sw_engine/tvgSwMath.cpp
+++ b/thirdparty/thorvg/src/lib/sw_engine/tvgSwMath.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/sw_engine/tvgSwMemPool.cpp b/thirdparty/thorvg/src/lib/sw_engine/tvgSwMemPool.cpp
index a44be85bbb..3ab0b6069e 100644
--- a/thirdparty/thorvg/src/lib/sw_engine/tvgSwMemPool.cpp
+++ b/thirdparty/thorvg/src/lib/sw_engine/tvgSwMemPool.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/sw_engine/tvgSwRaster.cpp b/thirdparty/thorvg/src/lib/sw_engine/tvgSwRaster.cpp
index 56bc2f77dc..e3deebe24f 100644
--- a/thirdparty/thorvg/src/lib/sw_engine/tvgSwRaster.cpp
+++ b/thirdparty/thorvg/src/lib/sw_engine/tvgSwRaster.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -47,6 +47,18 @@ static inline uint32_t _ialpha(uint32_t c)
}
+static inline uint32_t _abgrLumaValue(uint32_t c)
+{
+ return ((((c&0xff)*54) + (((c>>8)&0xff)*183) + (((c>>16)&0xff)*19))) >> 8; //0.2125*R + 0.7154*G + 0.0721*B
+}
+
+
+static inline uint32_t _argbLumaValue(uint32_t c)
+{
+ return ((((c&0xff)*19) + (((c>>8)&0xff)*183) + (((c>>16)&0xff)*54))) >> 8; //0.0721*B + 0.7154*G + 0.2125*R
+}
+
+
static inline uint32_t _abgrJoin(uint8_t r, uint8_t g, uint8_t b, uint8_t a)
{
return (a << 24 | b << 16 | g << 8 | r);
@@ -139,7 +151,7 @@ static bool _rasterMaskedRect(SwSurface* surface, const SwBBox& region, uint32_t
auto w = static_cast<uint32_t>(region.max.x - region.min.x);
auto h = static_cast<uint32_t>(region.max.y - region.min.y);
- auto cbuffer = surface->compositor->image.data + (region.min.y * surface->compositor->image.stride) + region.min.x; //compositor buffer
+ auto cbuffer = surface->compositor->image.data + (region.min.y * surface->compositor->image.stride) + region.min.x; //compositor buffer
for (uint32_t y = 0; y < h; ++y) {
auto dst = &buffer[y * surface->stride];
@@ -173,6 +185,8 @@ static bool _rasterRect(SwSurface* surface, const SwBBox& region, uint32_t color
return _rasterMaskedRect(surface, region, color, _alpha);
} else if (surface->compositor->method == CompositeMethod::InvAlphaMask) {
return _rasterMaskedRect(surface, region, color, _ialpha);
+ } else if (surface->compositor->method == CompositeMethod::LumaMask) {
+ return _rasterMaskedRect(surface, region, color, surface->blender.lumaValue);
}
} else {
if (opacity == 255) {
@@ -246,6 +260,8 @@ static bool _rasterRle(SwSurface* surface, SwRleData* rle, uint32_t color, uint8
return _rasterMaskedRle(surface, rle, color, _alpha);
} else if (surface->compositor->method == CompositeMethod::InvAlphaMask) {
return _rasterMaskedRle(surface, rle, color, _ialpha);
+ } else if (surface->compositor->method == CompositeMethod::LumaMask) {
+ return _rasterMaskedRle(surface, rle, color, surface->blender.lumaValue);
}
} else {
if (opacity == 255) {
@@ -275,6 +291,8 @@ static bool _transformedRleRGBAImage(SwSurface* surface, const SwImage* image, c
return _rasterTexmapPolygon(surface, image, transform, nullptr, opacity, _alpha);
} else if (surface->compositor->method == CompositeMethod::InvAlphaMask) {
return _rasterTexmapPolygon(surface, image, transform, nullptr, opacity, _ialpha);
+ } else if (surface->compositor->method == CompositeMethod::LumaMask) {
+ return _rasterTexmapPolygon(surface, image, transform, nullptr, opacity, surface->blender.lumaValue);
}
} else {
return _rasterTexmapPolygon(surface, image, transform, nullptr, opacity, nullptr);
@@ -494,12 +512,16 @@ static bool _scaledRleRGBAImage(SwSurface* surface, const SwImage* image, const
return _rasterScaledMaskedRleRGBAImage(surface, image, &itransform, region, halfScale, _alpha);
} else if (surface->compositor->method == CompositeMethod::InvAlphaMask) {
return _rasterScaledMaskedRleRGBAImage(surface, image, &itransform, region, halfScale, _ialpha);
+ } else if (surface->compositor->method == CompositeMethod::LumaMask) {
+ return _rasterScaledMaskedRleRGBAImage(surface, image, &itransform, region, halfScale, surface->blender.lumaValue);
}
} else {
if (surface->compositor->method == CompositeMethod::AlphaMask) {
return _rasterScaledMaskedTranslucentRleRGBAImage(surface, image, &itransform, region, opacity, halfScale, _alpha);
} else if (surface->compositor->method == CompositeMethod::InvAlphaMask) {
return _rasterScaledMaskedTranslucentRleRGBAImage(surface, image, &itransform, region, opacity, halfScale, _ialpha);
+ } else if (surface->compositor->method == CompositeMethod::LumaMask) {
+ return _rasterScaledMaskedTranslucentRleRGBAImage(surface, image, &itransform, region, opacity, halfScale, surface->blender.lumaValue);
}
}
} else {
@@ -616,12 +638,16 @@ static bool _directRleRGBAImage(SwSurface* surface, const SwImage* image, uint32
return _rasterDirectMaskedRleRGBAImage(surface, image, _alpha);
} else if (surface->compositor->method == CompositeMethod::InvAlphaMask) {
return _rasterDirectMaskedRleRGBAImage(surface, image, _ialpha);
+ } else if (surface->compositor->method == CompositeMethod::LumaMask) {
+ return _rasterDirectMaskedRleRGBAImage(surface, image, surface->blender.lumaValue);
}
} else {
if (surface->compositor->method == CompositeMethod::AlphaMask) {
return _rasterDirectMaskedTranslucentRleRGBAImage(surface, image, opacity, _alpha);
} else if (surface->compositor->method == CompositeMethod::InvAlphaMask) {
return _rasterDirectMaskedTranslucentRleRGBAImage(surface, image, opacity, _ialpha);
+ } else if (surface->compositor->method == CompositeMethod::LumaMask) {
+ return _rasterDirectMaskedTranslucentRleRGBAImage(surface, image, opacity, surface->blender.lumaValue);
}
}
} else {
@@ -643,6 +669,8 @@ static bool _transformedRGBAImage(SwSurface* surface, const SwImage* image, cons
return _rasterTexmapPolygon(surface, image, transform, &region, opacity, _alpha);
} else if (surface->compositor->method == CompositeMethod::InvAlphaMask) {
return _rasterTexmapPolygon(surface, image, transform, &region, opacity, _ialpha);
+ } else if (surface->compositor->method == CompositeMethod::LumaMask) {
+ return _rasterTexmapPolygon(surface, image, transform, &region, opacity, surface->blender.lumaValue);
}
} else {
return _rasterTexmapPolygon(surface, image, transform, &region, opacity, nullptr);
@@ -832,12 +860,16 @@ static bool _scaledRGBAImage(SwSurface* surface, const SwImage* image, const Mat
return _rasterScaledMaskedRGBAImage(surface, image, &itransform, region, halfScale, _alpha);
} else if (surface->compositor->method == CompositeMethod::InvAlphaMask) {
return _rasterScaledMaskedRGBAImage(surface, image, &itransform, region, halfScale, _ialpha);
+ } else if (surface->compositor->method == CompositeMethod::LumaMask) {
+ return _rasterScaledMaskedRGBAImage(surface, image, &itransform, region, halfScale, surface->blender.lumaValue);
}
} else {
if (surface->compositor->method == CompositeMethod::AlphaMask) {
return _rasterScaledMaskedTranslucentRGBAImage(surface, image, &itransform, region, opacity, halfScale, _alpha);
} else if (surface->compositor->method == CompositeMethod::InvAlphaMask) {
return _rasterScaledMaskedTranslucentRGBAImage(surface, image, &itransform, region, opacity, halfScale, _ialpha);
+ } else if (surface->compositor->method == CompositeMethod::LumaMask) {
+ return _rasterScaledMaskedTranslucentRGBAImage(surface, image, &itransform, region, opacity, halfScale, surface->blender.lumaValue);
}
}
} else {
@@ -861,7 +893,7 @@ static bool _rasterDirectMaskedRGBAImage(SwSurface* surface, const SwImage* imag
auto w2 = static_cast<uint32_t>(region.max.x - region.min.x);
auto sbuffer = image->data + (region.min.y + image->oy) * image->stride + (region.min.x + image->ox);
- auto cbuffer = surface->compositor->image.data + (region.min.y * surface->compositor->image.stride) + region.min.x; //compositor buffer
+ auto cbuffer = surface->compositor->image.data + (region.min.y * surface->compositor->image.stride) + region.min.x; //compositor buffer
for (uint32_t y = 0; y < h2; ++y) {
auto dst = buffer;
@@ -888,7 +920,7 @@ static bool _rasterDirectMaskedTranslucentRGBAImage(SwSurface* surface, const Sw
auto w2 = static_cast<uint32_t>(region.max.x - region.min.x);
auto sbuffer = image->data + (region.min.y + image->oy) * image->stride + (region.min.x + image->ox);
- auto cbuffer = surface->compositor->image.data + (region.min.y * surface->compositor->image.stride) + region.min.x; //compositor buffer
+ auto cbuffer = surface->compositor->image.data + (region.min.y * surface->compositor->image.stride) + region.min.x; //compositor buffer
for (uint32_t y = 0; y < h2; ++y) {
auto dst = buffer;
@@ -952,12 +984,16 @@ static bool _directRGBAImage(SwSurface* surface, const SwImage* image, const SwB
return _rasterDirectMaskedRGBAImage(surface, image, region, _alpha);
} else if (surface->compositor->method == CompositeMethod::InvAlphaMask) {
return _rasterDirectMaskedRGBAImage(surface, image, region, _ialpha);
+ } else if (surface->compositor->method == CompositeMethod::LumaMask) {
+ return _rasterDirectMaskedRGBAImage(surface, image, region, surface->blender.lumaValue);
}
} else {
if (surface->compositor->method == CompositeMethod::AlphaMask) {
return _rasterDirectMaskedTranslucentRGBAImage(surface, image, region, opacity, _alpha);
} else if (surface->compositor->method == CompositeMethod::InvAlphaMask) {
return _rasterDirectMaskedTranslucentRGBAImage(surface, image, region, opacity, _ialpha);
+ } else if (surface->compositor->method == CompositeMethod::LumaMask) {
+ return _rasterDirectMaskedTranslucentRGBAImage(surface, image, region, opacity, surface->blender.lumaValue);
}
}
} else {
@@ -1062,6 +1098,8 @@ static bool _rasterLinearGradientRect(SwSurface* surface, const SwBBox& region,
return _rasterLinearGradientMaskedRect(surface, region, fill, _alpha);
} else if (surface->compositor->method == CompositeMethod::InvAlphaMask) {
return _rasterLinearGradientMaskedRect(surface, region, fill, _ialpha);
+ } else if (surface->compositor->method == CompositeMethod::LumaMask) {
+ return _rasterLinearGradientMaskedRect(surface, region, fill, surface->blender.lumaValue);
}
} else {
if (fill->translucent) return _rasterTranslucentLinearGradientRect(surface, region, fill);
@@ -1166,6 +1204,8 @@ static bool _rasterLinearGradientRle(SwSurface* surface, const SwRleData* rle, c
return _rasterLinearGradientMaskedRle(surface, rle, fill, _alpha);
} else if (surface->compositor->method == CompositeMethod::InvAlphaMask) {
return _rasterLinearGradientMaskedRle(surface, rle, fill, _ialpha);
+ } else if (surface->compositor->method == CompositeMethod::LumaMask) {
+ return _rasterLinearGradientMaskedRle(surface, rle, fill, surface->blender.lumaValue);
}
} else {
if (fill->translucent) return _rasterTranslucentLinearGradientRle(surface, rle, fill);
@@ -1253,6 +1293,8 @@ static bool _rasterRadialGradientRect(SwSurface* surface, const SwBBox& region,
return _rasterRadialGradientMaskedRect(surface, region, fill, _alpha);
} else if (surface->compositor->method == CompositeMethod::InvAlphaMask) {
return _rasterRadialGradientMaskedRect(surface, region, fill, _ialpha);
+ } else if (surface->compositor->method == CompositeMethod::LumaMask) {
+ return _rasterRadialGradientMaskedRect(surface, region, fill, surface->blender.lumaValue);
}
} else {
if (fill->translucent) return _rasterTranslucentRadialGradientRect(surface, region, fill);
@@ -1356,6 +1398,8 @@ static bool _rasterRadialGradientRle(SwSurface* surface, const SwRleData* rle, c
return _rasterRadialGradientMaskedRle(surface, rle, fill, _alpha);
} else if (surface->compositor->method == CompositeMethod::InvAlphaMask) {
return _rasterRadialGradientMaskedRle(surface, rle, fill, _ialpha);
+ } else if (surface->compositor->method == CompositeMethod::LumaMask) {
+ return _rasterRadialGradientMaskedRle(surface, rle, fill, surface->blender.lumaValue);
}
} else {
if (fill->translucent) _rasterTranslucentRadialGradientRle(surface, rle, fill);
@@ -1385,8 +1429,10 @@ bool rasterCompositor(SwSurface* surface)
{
if (surface->cs == SwCanvas::ABGR8888 || surface->cs == SwCanvas::ABGR8888_STRAIGHT) {
surface->blender.join = _abgrJoin;
+ surface->blender.lumaValue = _abgrLumaValue;
} else if (surface->cs == SwCanvas::ARGB8888 || surface->cs == SwCanvas::ARGB8888_STRAIGHT) {
surface->blender.join = _argbJoin;
+ surface->blender.lumaValue = _argbLumaValue;
} else {
//What Color Space ???
return false;
@@ -1500,4 +1546,4 @@ bool rasterImage(SwSurface* surface, SwImage* image, const Matrix* transform, co
//TODO: case: _rasterGrayscaleImage()
//TODO: case: _rasterAlphaImage()
return _rasterRGBAImage(surface, image, transform, bbox, opacity);
-} \ No newline at end of file
+}
diff --git a/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterAvx.h b/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterAvx.h
index 1d6552f3e9..7a129a3a80 100644
--- a/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterAvx.h
+++ b/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterAvx.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterC.h b/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterC.h
index 6d60957eb9..d479ede15f 100644
--- a/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterC.h
+++ b/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterC.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterNeon.h b/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterNeon.h
index c74a6b309c..a4b3cdaeb2 100644
--- a/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterNeon.h
+++ b/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterNeon.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -26,8 +26,8 @@
static inline uint8x8_t ALPHA_BLEND(uint8x8_t c, uint8x8_t a)
{
- uint16x8_t t = vmull_u8(c, a);
- return vshrn_n_u16(t, 8);
+ uint16x8_t t = vmull_u8(c, a);
+ return vshrn_n_u16(t, 8);
}
diff --git a/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterTexmap.h b/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterTexmap.h
index 2cf9fb4e93..1faedd60aa 100644
--- a/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterTexmap.h
+++ b/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterTexmap.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterTexmapInternal.h b/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterTexmapInternal.h
index e96307c874..f31ea1eb97 100644
--- a/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterTexmapInternal.h
+++ b/thirdparty/thorvg/src/lib/sw_engine/tvgSwRasterTexmapInternal.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/sw_engine/tvgSwRenderer.cpp b/thirdparty/thorvg/src/lib/sw_engine/tvgSwRenderer.cpp
index c75e73760e..c3872f3207 100644
--- a/thirdparty/thorvg/src/lib/sw_engine/tvgSwRenderer.cpp
+++ b/thirdparty/thorvg/src/lib/sw_engine/tvgSwRenderer.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -19,11 +19,10 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
-#include <math.h>
+#include "tvgMath.h"
#include "tvgSwCommon.h"
#include "tvgTaskScheduler.h"
#include "tvgSwRenderer.h"
-#include "tvgMath.h"
/************************************************************************/
/* Internal Class Implementation */
diff --git a/thirdparty/thorvg/src/lib/sw_engine/tvgSwRenderer.h b/thirdparty/thorvg/src/lib/sw_engine/tvgSwRenderer.h
index 3f883ac409..574d9d488f 100644
--- a/thirdparty/thorvg/src/lib/sw_engine/tvgSwRenderer.h
+++ b/thirdparty/thorvg/src/lib/sw_engine/tvgSwRenderer.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/sw_engine/tvgSwRle.cpp b/thirdparty/thorvg/src/lib/sw_engine/tvgSwRle.cpp
index b41e48b7ca..aa975869e0 100644
--- a/thirdparty/thorvg/src/lib/sw_engine/tvgSwRle.cpp
+++ b/thirdparty/thorvg/src/lib/sw_engine/tvgSwRle.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/sw_engine/tvgSwShape.cpp b/thirdparty/thorvg/src/lib/sw_engine/tvgSwShape.cpp
index 7b49c232b1..2a2c6a1da3 100644
--- a/thirdparty/thorvg/src/lib/sw_engine/tvgSwShape.cpp
+++ b/thirdparty/thorvg/src/lib/sw_engine/tvgSwShape.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/sw_engine/tvgSwStroke.cpp b/thirdparty/thorvg/src/lib/sw_engine/tvgSwStroke.cpp
index c0cfc1be26..04aa9a36ec 100644
--- a/thirdparty/thorvg/src/lib/sw_engine/tvgSwStroke.cpp
+++ b/thirdparty/thorvg/src/lib/sw_engine/tvgSwStroke.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgAccessor.cpp b/thirdparty/thorvg/src/lib/tvgAccessor.cpp
index 085c8a3cbc..9fd564dd23 100644
--- a/thirdparty/thorvg/src/lib/tvgAccessor.cpp
+++ b/thirdparty/thorvg/src/lib/tvgAccessor.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* 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
diff --git a/thirdparty/thorvg/src/lib/tvgArray.h b/thirdparty/thorvg/src/lib/tvgArray.h
index d04e68e73c..04ddbaee2b 100644
--- a/thirdparty/thorvg/src/lib/tvgArray.h
+++ b/thirdparty/thorvg/src/lib/tvgArray.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgBezier.cpp b/thirdparty/thorvg/src/lib/tvgBezier.cpp
index 2290afa728..95e2055943 100644
--- a/thirdparty/thorvg/src/lib/tvgBezier.cpp
+++ b/thirdparty/thorvg/src/lib/tvgBezier.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgBezier.h b/thirdparty/thorvg/src/lib/tvgBezier.h
index 866e39148e..7d7c84e34e 100644
--- a/thirdparty/thorvg/src/lib/tvgBezier.h
+++ b/thirdparty/thorvg/src/lib/tvgBezier.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgBinaryDesc.h b/thirdparty/thorvg/src/lib/tvgBinaryDesc.h
index 30ba2d5a29..f139def470 100644
--- a/thirdparty/thorvg/src/lib/tvgBinaryDesc.h
+++ b/thirdparty/thorvg/src/lib/tvgBinaryDesc.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgCanvas.cpp b/thirdparty/thorvg/src/lib/tvgCanvas.cpp
index bb42441c62..e8529e47c2 100644
--- a/thirdparty/thorvg/src/lib/tvgCanvas.cpp
+++ b/thirdparty/thorvg/src/lib/tvgCanvas.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgCanvasImpl.h b/thirdparty/thorvg/src/lib/tvgCanvasImpl.h
index 848c03aaed..0adec8fa52 100644
--- a/thirdparty/thorvg/src/lib/tvgCanvasImpl.h
+++ b/thirdparty/thorvg/src/lib/tvgCanvasImpl.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgCommon.h b/thirdparty/thorvg/src/lib/tvgCommon.h
index b1c586188c..1d66f2e1a2 100644
--- a/thirdparty/thorvg/src/lib/tvgCommon.h
+++ b/thirdparty/thorvg/src/lib/tvgCommon.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgFill.cpp b/thirdparty/thorvg/src/lib/tvgFill.cpp
index 4bfb93c102..0c0581a180 100644
--- a/thirdparty/thorvg/src/lib/tvgFill.cpp
+++ b/thirdparty/thorvg/src/lib/tvgFill.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgFill.h b/thirdparty/thorvg/src/lib/tvgFill.h
index 912091f8cb..fff2475c4f 100644
--- a/thirdparty/thorvg/src/lib/tvgFill.h
+++ b/thirdparty/thorvg/src/lib/tvgFill.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgGlCanvas.cpp b/thirdparty/thorvg/src/lib/tvgGlCanvas.cpp
index 3a88b6d799..56feb69541 100644
--- a/thirdparty/thorvg/src/lib/tvgGlCanvas.cpp
+++ b/thirdparty/thorvg/src/lib/tvgGlCanvas.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgInitializer.cpp b/thirdparty/thorvg/src/lib/tvgInitializer.cpp
index 83ec50be95..42997c3493 100644
--- a/thirdparty/thorvg/src/lib/tvgInitializer.cpp
+++ b/thirdparty/thorvg/src/lib/tvgInitializer.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgIteratorAccessor.h b/thirdparty/thorvg/src/lib/tvgIteratorAccessor.h
index 10b55a536d..8e566acb72 100644
--- a/thirdparty/thorvg/src/lib/tvgIteratorAccessor.h
+++ b/thirdparty/thorvg/src/lib/tvgIteratorAccessor.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgLinearGradient.cpp b/thirdparty/thorvg/src/lib/tvgLinearGradient.cpp
index 6ec7ddab20..df34af3aa1 100644
--- a/thirdparty/thorvg/src/lib/tvgLinearGradient.cpp
+++ b/thirdparty/thorvg/src/lib/tvgLinearGradient.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgLoadModule.h b/thirdparty/thorvg/src/lib/tvgLoadModule.h
index 0c34ecbf6a..bfcc165f31 100644
--- a/thirdparty/thorvg/src/lib/tvgLoadModule.h
+++ b/thirdparty/thorvg/src/lib/tvgLoadModule.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgLoader.cpp b/thirdparty/thorvg/src/lib/tvgLoader.cpp
index fb93e0faec..991c260159 100644
--- a/thirdparty/thorvg/src/lib/tvgLoader.cpp
+++ b/thirdparty/thorvg/src/lib/tvgLoader.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgLoader.h b/thirdparty/thorvg/src/lib/tvgLoader.h
index 8ba3c139fa..ab32f89a2f 100644
--- a/thirdparty/thorvg/src/lib/tvgLoader.h
+++ b/thirdparty/thorvg/src/lib/tvgLoader.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgLzw.cpp b/thirdparty/thorvg/src/lib/tvgLzw.cpp
index 0049c89962..1aaf37831a 100644
--- a/thirdparty/thorvg/src/lib/tvgLzw.cpp
+++ b/thirdparty/thorvg/src/lib/tvgLzw.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgLzw.h b/thirdparty/thorvg/src/lib/tvgLzw.h
index 3fdb439a02..1bd5c61fac 100644
--- a/thirdparty/thorvg/src/lib/tvgLzw.h
+++ b/thirdparty/thorvg/src/lib/tvgLzw.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgMath.h b/thirdparty/thorvg/src/lib/tvgMath.h
index 423fb6eb1b..6120216d74 100644
--- a/thirdparty/thorvg/src/lib/tvgMath.h
+++ b/thirdparty/thorvg/src/lib/tvgMath.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgPaint.cpp b/thirdparty/thorvg/src/lib/tvgPaint.cpp
index 30e82fbc60..d0e908ddf2 100644
--- a/thirdparty/thorvg/src/lib/tvgPaint.cpp
+++ b/thirdparty/thorvg/src/lib/tvgPaint.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -79,8 +79,8 @@ static bool _compFastTrack(Paint* cmpTarget, const RenderTransform* pTransform,
viewport.x = static_cast<int32_t>(v1.x);
viewport.y = static_cast<int32_t>(v1.y);
- viewport.w = static_cast<int32_t>(v2.x - v1.x + 0.5f);
- viewport.h = static_cast<int32_t>(v2.y - v1.y + 0.5f);
+ viewport.w = static_cast<int32_t>(ceil(v2.x - viewport.x));
+ viewport.h = static_cast<int32_t>(ceil(v2.y - viewport.y));
if (viewport.w < 0) viewport.w = 0;
if (viewport.h < 0) viewport.h = 0;
@@ -404,4 +404,4 @@ uint8_t Paint::opacity() const noexcept
uint32_t Paint::identifier() const noexcept
{
return pImpl->id;
-} \ No newline at end of file
+}
diff --git a/thirdparty/thorvg/src/lib/tvgPaint.h b/thirdparty/thorvg/src/lib/tvgPaint.h
index 4003bdbeac..c170559a37 100644
--- a/thirdparty/thorvg/src/lib/tvgPaint.h
+++ b/thirdparty/thorvg/src/lib/tvgPaint.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgPicture.cpp b/thirdparty/thorvg/src/lib/tvgPicture.cpp
index 1d9776363c..1125b1eb58 100644
--- a/thirdparty/thorvg/src/lib/tvgPicture.cpp
+++ b/thirdparty/thorvg/src/lib/tvgPicture.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgPictureImpl.h b/thirdparty/thorvg/src/lib/tvgPictureImpl.h
index 00e8aa6dd9..b2e097d400 100644
--- a/thirdparty/thorvg/src/lib/tvgPictureImpl.h
+++ b/thirdparty/thorvg/src/lib/tvgPictureImpl.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgRadialGradient.cpp b/thirdparty/thorvg/src/lib/tvgRadialGradient.cpp
index 42a83461e3..7aba550e48 100644
--- a/thirdparty/thorvg/src/lib/tvgRadialGradient.cpp
+++ b/thirdparty/thorvg/src/lib/tvgRadialGradient.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgRender.cpp b/thirdparty/thorvg/src/lib/tvgRender.cpp
index a48075dd04..145f974cee 100644
--- a/thirdparty/thorvg/src/lib/tvgRender.cpp
+++ b/thirdparty/thorvg/src/lib/tvgRender.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgRender.h b/thirdparty/thorvg/src/lib/tvgRender.h
index f927947aa6..ed66f393da 100644
--- a/thirdparty/thorvg/src/lib/tvgRender.h
+++ b/thirdparty/thorvg/src/lib/tvgRender.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgSaveModule.h b/thirdparty/thorvg/src/lib/tvgSaveModule.h
index 2a0f427f11..3531662fdd 100644
--- a/thirdparty/thorvg/src/lib/tvgSaveModule.h
+++ b/thirdparty/thorvg/src/lib/tvgSaveModule.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgSaver.cpp b/thirdparty/thorvg/src/lib/tvgSaver.cpp
index 1a3e8614a6..e71953700c 100644
--- a/thirdparty/thorvg/src/lib/tvgSaver.cpp
+++ b/thirdparty/thorvg/src/lib/tvgSaver.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgScene.cpp b/thirdparty/thorvg/src/lib/tvgScene.cpp
index 4b2f77dde9..ff43d3c881 100644
--- a/thirdparty/thorvg/src/lib/tvgScene.cpp
+++ b/thirdparty/thorvg/src/lib/tvgScene.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgSceneImpl.h b/thirdparty/thorvg/src/lib/tvgSceneImpl.h
index de94a66e2f..6a7614c667 100644
--- a/thirdparty/thorvg/src/lib/tvgSceneImpl.h
+++ b/thirdparty/thorvg/src/lib/tvgSceneImpl.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgShape.cpp b/thirdparty/thorvg/src/lib/tvgShape.cpp
index 8db5635932..3a3af5f76e 100644
--- a/thirdparty/thorvg/src/lib/tvgShape.cpp
+++ b/thirdparty/thorvg/src/lib/tvgShape.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgShapeImpl.h b/thirdparty/thorvg/src/lib/tvgShapeImpl.h
index dcf4e6e954..738b21ed70 100644
--- a/thirdparty/thorvg/src/lib/tvgShapeImpl.h
+++ b/thirdparty/thorvg/src/lib/tvgShapeImpl.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgSwCanvas.cpp b/thirdparty/thorvg/src/lib/tvgSwCanvas.cpp
index f7a03b819c..8c9de8cb51 100644
--- a/thirdparty/thorvg/src/lib/tvgSwCanvas.cpp
+++ b/thirdparty/thorvg/src/lib/tvgSwCanvas.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgTaskScheduler.cpp b/thirdparty/thorvg/src/lib/tvgTaskScheduler.cpp
index 780127b87b..8c07dc3859 100644
--- a/thirdparty/thorvg/src/lib/tvgTaskScheduler.cpp
+++ b/thirdparty/thorvg/src/lib/tvgTaskScheduler.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/lib/tvgTaskScheduler.h b/thirdparty/thorvg/src/lib/tvgTaskScheduler.h
index f30bdf9a8f..163e387f29 100644
--- a/thirdparty/thorvg/src/lib/tvgTaskScheduler.h
+++ b/thirdparty/thorvg/src/lib/tvgTaskScheduler.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/external_jpg/tvgJpgLoader.cpp b/thirdparty/thorvg/src/loaders/external_jpg/tvgJpgLoader.cpp
index 6f9416b69c..522c3c71a6 100644
--- a/thirdparty/thorvg/src/loaders/external_jpg/tvgJpgLoader.cpp
+++ b/thirdparty/thorvg/src/loaders/external_jpg/tvgJpgLoader.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/external_jpg/tvgJpgLoader.h b/thirdparty/thorvg/src/loaders/external_jpg/tvgJpgLoader.h
index 7d35e57d72..3f82af8003 100644
--- a/thirdparty/thorvg/src/loaders/external_jpg/tvgJpgLoader.h
+++ b/thirdparty/thorvg/src/loaders/external_jpg/tvgJpgLoader.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/external_png/tvgPngLoader.cpp b/thirdparty/thorvg/src/loaders/external_png/tvgPngLoader.cpp
index c3d281482a..05db65cb23 100644
--- a/thirdparty/thorvg/src/loaders/external_png/tvgPngLoader.cpp
+++ b/thirdparty/thorvg/src/loaders/external_png/tvgPngLoader.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -93,7 +93,10 @@ bool PngLoader::read()
png_image_free(image);
return false;
}
- if (!png_image_finish_read(image, NULL, buffer, 0, NULL)) return false;
+ if (!png_image_finish_read(image, NULL, buffer, 0, NULL)) {
+ free(buffer);
+ return false;
+ }
content = reinterpret_cast<uint32_t*>(buffer);
_premultiply(reinterpret_cast<uint32_t*>(buffer), image->width, image->height);
diff --git a/thirdparty/thorvg/src/loaders/external_png/tvgPngLoader.h b/thirdparty/thorvg/src/loaders/external_png/tvgPngLoader.h
index b42537c73f..8beff0a3b3 100644
--- a/thirdparty/thorvg/src/loaders/external_png/tvgPngLoader.h
+++ b/thirdparty/thorvg/src/loaders/external_png/tvgPngLoader.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/jpg/tvgJpgLoader.cpp b/thirdparty/thorvg/src/loaders/jpg/tvgJpgLoader.cpp
index f27881da42..7b90b4aef9 100644
--- a/thirdparty/thorvg/src/loaders/jpg/tvgJpgLoader.cpp
+++ b/thirdparty/thorvg/src/loaders/jpg/tvgJpgLoader.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/jpg/tvgJpgLoader.h b/thirdparty/thorvg/src/loaders/jpg/tvgJpgLoader.h
index 39732dbc3a..d6b886cb29 100644
--- a/thirdparty/thorvg/src/loaders/jpg/tvgJpgLoader.h
+++ b/thirdparty/thorvg/src/loaders/jpg/tvgJpgLoader.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/jpg/tvgJpgd.cpp b/thirdparty/thorvg/src/loaders/jpg/tvgJpgd.cpp
index 4ccc5788d5..dacd45ed03 100644
--- a/thirdparty/thorvg/src/loaders/jpg/tvgJpgd.cpp
+++ b/thirdparty/thorvg/src/loaders/jpg/tvgJpgd.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -382,8 +382,8 @@ struct Row
const int tmp2 = z1 + MULTIPLY(z3, - FIX_1_847759065);
const int tmp3 = z1 + MULTIPLY(z2, FIX_0_765366865);
- const int tmp0 = (ACCESS_COL(0) + ACCESS_COL(4)) << CONST_BITS;
- const int tmp1 = (ACCESS_COL(0) - ACCESS_COL(4)) << CONST_BITS;
+ const int tmp0 = static_cast<unsigned int>(ACCESS_COL(0) + ACCESS_COL(4)) << CONST_BITS;
+ const int tmp1 = static_cast<unsigned int>(ACCESS_COL(0) - ACCESS_COL(4)) << CONST_BITS;
const int tmp10 = tmp0 + tmp3, tmp13 = tmp0 - tmp3, tmp11 = tmp1 + tmp2, tmp12 = tmp1 - tmp2;
@@ -461,8 +461,8 @@ struct Col
const int tmp2 = z1 + MULTIPLY(z3, - FIX_1_847759065);
const int tmp3 = z1 + MULTIPLY(z2, FIX_0_765366865);
- const int tmp0 = (ACCESS_ROW(0) + ACCESS_ROW(4)) << CONST_BITS;
- const int tmp1 = (ACCESS_ROW(0) - ACCESS_ROW(4)) << CONST_BITS;
+ const int tmp0 = static_cast<unsigned int>(ACCESS_ROW(0) + ACCESS_ROW(4)) << CONST_BITS;
+ const int tmp1 = static_cast<unsigned int>(ACCESS_ROW(0) - ACCESS_ROW(4)) << CONST_BITS;
const int tmp10 = tmp0 + tmp3, tmp13 = tmp0 - tmp3, tmp11 = tmp1 + tmp2, tmp12 = tmp1 - tmp2;
@@ -2557,7 +2557,7 @@ void jpeg_decoder::decode_block_dc_first(jpeg_decoder *pD, int component_id, int
s = JPGD_HUFF_EXTEND(r, s);
}
pD->m_last_dc_val[component_id] = (s += pD->m_last_dc_val[component_id]);
- p[0] = static_cast<jpgd_block_t>(s << pD->m_successive_low);
+ p[0] = static_cast<jpgd_block_t>(static_cast<unsigned int>(s) << pD->m_successive_low);
}
@@ -2588,7 +2588,7 @@ void jpeg_decoder::decode_block_ac_first(jpeg_decoder *pD, int component_id, int
if ((k += r) > 63) pD->stop_decoding(JPGD_DECODE_ERROR);
r = pD->get_bits_no_markers(s);
s = JPGD_HUFF_EXTEND(r, s);
- p[g_ZAG[k]] = static_cast<jpgd_block_t>(s << pD->m_successive_low);
+ p[g_ZAG[k]] = static_cast<jpgd_block_t>(static_cast<unsigned int>(s) << pD->m_successive_low);
} else {
if (r == 15) {
if ((k += 15) > 63) pD->stop_decoding(JPGD_DECODE_ERROR);
@@ -2607,7 +2607,7 @@ void jpeg_decoder::decode_block_ac_refine(jpeg_decoder *pD, int component_id, in
{
int s, k, r;
int p1 = 1 << pD->m_successive_low;
- int m1 = (-1) << pD->m_successive_low;
+ int m1 = static_cast<unsigned int>(-1) << pD->m_successive_low;
jpgd_block_t *p = pD->coeff_buf_getp(pD->m_ac_coeffs[component_id], block_x, block_y);
JPGD_ASSERT(pD->m_spectral_end <= 63);
diff --git a/thirdparty/thorvg/src/loaders/png/tvgLodePng.cpp b/thirdparty/thorvg/src/loaders/png/tvgLodePng.cpp
index f2dfa02875..5c01c5a1e2 100644
--- a/thirdparty/thorvg/src/loaders/png/tvgLodePng.cpp
+++ b/thirdparty/thorvg/src/loaders/png/tvgLodePng.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/png/tvgLodePng.h b/thirdparty/thorvg/src/loaders/png/tvgLodePng.h
index 02e1feeec5..c9f0e56ab6 100644
--- a/thirdparty/thorvg/src/loaders/png/tvgLodePng.h
+++ b/thirdparty/thorvg/src/loaders/png/tvgLodePng.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/png/tvgPngLoader.cpp b/thirdparty/thorvg/src/loaders/png/tvgPngLoader.cpp
index 3cc08e902b..3e293176b7 100644
--- a/thirdparty/thorvg/src/loaders/png/tvgPngLoader.cpp
+++ b/thirdparty/thorvg/src/loaders/png/tvgPngLoader.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/png/tvgPngLoader.h b/thirdparty/thorvg/src/loaders/png/tvgPngLoader.h
index 34dbeed012..8f07f6418f 100644
--- a/thirdparty/thorvg/src/loaders/png/tvgPngLoader.h
+++ b/thirdparty/thorvg/src/loaders/png/tvgPngLoader.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/raw/tvgRawLoader.cpp b/thirdparty/thorvg/src/loaders/raw/tvgRawLoader.cpp
index d7d425b119..2da399d8c3 100644
--- a/thirdparty/thorvg/src/loaders/raw/tvgRawLoader.cpp
+++ b/thirdparty/thorvg/src/loaders/raw/tvgRawLoader.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/raw/tvgRawLoader.h b/thirdparty/thorvg/src/loaders/raw/tvgRawLoader.h
index 20fa332981..e4f3423b41 100644
--- a/thirdparty/thorvg/src/loaders/raw/tvgRawLoader.h
+++ b/thirdparty/thorvg/src/loaders/raw/tvgRawLoader.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/svg/tvgSvgCssStyle.cpp b/thirdparty/thorvg/src/loaders/svg/tvgSvgCssStyle.cpp
new file mode 100644
index 0000000000..e537cfa27f
--- /dev/null
+++ b/thirdparty/thorvg/src/loaders/svg/tvgSvgCssStyle.cpp
@@ -0,0 +1,186 @@
+/*
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd. All rights reserved.
+
+ * 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 "tvgSvgCssStyle.h"
+
+/************************************************************************/
+/* Internal Class Implementation */
+/************************************************************************/
+
+static void _copyStyle(SvgStyleProperty* to, const SvgStyleProperty* from)
+{
+ if (from == nullptr) return;
+ //Copy the properties of 'from' only if they were explicitly set (not the default ones).
+ if (from->curColorSet && !((int)to->flags & (int)SvgStyleFlags::Color)) {
+ to->color = from->color;
+ to->curColorSet = true;
+ to->flags = (SvgStyleFlags)((int)to->flags | (int)SvgStyleFlags::Color);
+ }
+ //Fill
+ if (((int)from->fill.flags & (int)SvgFillFlags::Paint) && !((int)to->flags & (int)SvgStyleFlags::Fill)) {
+ to->fill.paint.color = from->fill.paint.color;
+ to->fill.paint.none = from->fill.paint.none;
+ to->fill.paint.curColor = from->fill.paint.curColor;
+ if (from->fill.paint.url) to->fill.paint.url = strdup(from->fill.paint.url);
+ to->fill.flags = (SvgFillFlags)((int)to->fill.flags | (int)SvgFillFlags::Paint);
+ to->flags = (SvgStyleFlags)((int)to->flags | (int)SvgStyleFlags::Fill);
+ }
+ if (((int)from->fill.flags & (int)SvgFillFlags::Opacity) && !((int)to->flags & (int)SvgStyleFlags::FillOpacity)) {
+ to->fill.opacity = from->fill.opacity;
+ to->fill.flags = (SvgFillFlags)((int)to->fill.flags | (int)SvgFillFlags::Opacity);
+ to->flags = (SvgStyleFlags)((int)to->flags | (int)SvgStyleFlags::FillOpacity);
+ }
+ if (((int)from->fill.flags & (int)SvgFillFlags::FillRule) && !((int)to->flags & (int)SvgStyleFlags::FillRule)) {
+ to->fill.fillRule = from->fill.fillRule;
+ to->fill.flags = (SvgFillFlags)((int)to->fill.flags | (int)SvgFillFlags::FillRule);
+ to->flags = (SvgStyleFlags)((int)to->flags | (int)SvgStyleFlags::FillRule);
+ }
+ //Stroke
+ if (((int)from->stroke.flags & (int)SvgStrokeFlags::Paint) && !((int)to->flags & (int)SvgStyleFlags::Stroke)) {
+ to->stroke.paint.color = from->stroke.paint.color;
+ to->stroke.paint.none = from->stroke.paint.none;
+ to->stroke.paint.curColor = from->stroke.paint.curColor;
+ if (from->stroke.paint.url) to->stroke.paint.url = strdup(from->stroke.paint.url);
+ to->stroke.flags = (SvgStrokeFlags)((int)to->stroke.flags | (int)SvgStrokeFlags::Paint);
+ to->flags = (SvgStyleFlags)((int)to->flags | (int)SvgStyleFlags::Stroke);
+ }
+ if (((int)from->stroke.flags & (int)SvgStrokeFlags::Opacity) && !((int)to->flags & (int)SvgStyleFlags::StrokeOpacity)) {
+ to->stroke.opacity = from->stroke.opacity;
+ to->stroke.flags = (SvgStrokeFlags)((int)to->stroke.flags | (int)SvgStrokeFlags::Opacity);
+ to->flags = (SvgStyleFlags)((int)to->flags | (int)SvgStyleFlags::StrokeOpacity);
+ }
+ if (((int)from->stroke.flags & (int)SvgStrokeFlags::Width) && !((int)to->flags & (int)SvgStyleFlags::StrokeWidth)) {
+ to->stroke.width = from->stroke.width;
+ to->stroke.flags = (SvgStrokeFlags)((int)to->stroke.flags | (int)SvgStrokeFlags::Width);
+ to->flags = (SvgStyleFlags)((int)to->flags | (int)SvgStyleFlags::StrokeWidth);
+ }
+ if (((int)from->stroke.flags & (int)SvgStrokeFlags::Dash) && !((int)to->flags & (int)SvgStyleFlags::StrokeDashArray)) {
+ if (from->stroke.dash.array.count > 0) {
+ to->stroke.dash.array.clear();
+ to->stroke.dash.array.reserve(from->stroke.dash.array.count);
+ for (uint32_t i = 0; i < from->stroke.dash.array.count; ++i) {
+ to->stroke.dash.array.push(from->stroke.dash.array.data[i]);
+ }
+ to->stroke.flags = (SvgStrokeFlags)((int)to->stroke.flags | (int)SvgStrokeFlags::Dash);
+ to->flags = (SvgStyleFlags)((int)to->flags | (int)SvgStyleFlags::StrokeDashArray);
+ }
+ }
+ if (((int)from->stroke.flags & (int)SvgStrokeFlags::Cap) && !((int)to->flags & (int)SvgStyleFlags::StrokeLineCap)) {
+ to->stroke.cap = from->stroke.cap;
+ to->stroke.flags = (SvgStrokeFlags)((int)to->stroke.flags | (int)SvgStrokeFlags::Cap);
+ to->flags = (SvgStyleFlags)((int)to->flags | (int)SvgStyleFlags::StrokeLineCap);
+ }
+ if (((int)from->stroke.flags & (int)SvgStrokeFlags::Join) && !((int)to->flags & (int)SvgStyleFlags::StrokeLineJoin)) {
+ to->stroke.join = from->stroke.join;
+ to->stroke.flags = (SvgStrokeFlags)((int)to->stroke.flags | (int)SvgStrokeFlags::Join);
+ to->flags = (SvgStyleFlags)((int)to->flags | (int)SvgStyleFlags::StrokeLineJoin);
+ }
+ //Opacity
+ //TODO: it can be set to be 255 and shouldn't be changed by attribute 'opacity'
+ if (from->opacity < 255 && !((int)to->flags & (int)SvgStyleFlags::Opacity)) {
+ to->opacity = from->opacity;
+ to->flags = (SvgStyleFlags)((int)to->flags | (int)SvgStyleFlags::Opacity);
+ }
+}
+
+
+/************************************************************************/
+/* External Class Implementation */
+/************************************************************************/
+
+void cssCopyStyleAttr(SvgNode* to, const SvgNode* from)
+{
+ //Copy matrix attribute
+ if (from->transform && !((int)to->style->flags & (int)SvgStyleFlags::Transform)) {
+ to->transform = (Matrix*)malloc(sizeof(Matrix));
+ if (to->transform) {
+ *to->transform = *from->transform;
+ to->style->flags = (SvgStyleFlags)((int)to->style->flags | (int)SvgStyleFlags::Transform);
+ }
+ }
+ //Copy style attribute
+ _copyStyle(to->style, from->style);
+
+ if (from->style->clipPath.url) to->style->clipPath.url = strdup(from->style->clipPath.url);
+ if (from->style->mask.url) to->style->mask.url = strdup(from->style->mask.url);
+}
+
+
+SvgNode* cssFindStyleNode(const SvgNode* style, const char* title, SvgNodeType type)
+{
+ if (!style) return nullptr;
+
+ auto child = style->child.data;
+ for (uint32_t i = 0; i < style->child.count; ++i, ++child) {
+ if ((*child)->type == type) {
+ if ((!title && !(*child)->id) || (title && (*child)->id && !strcmp((*child)->id, title))) return (*child);
+ }
+ }
+ return nullptr;
+}
+
+
+SvgNode* cssFindStyleNode(const SvgNode* style, const char* title)
+{
+ if (!style) return nullptr;
+
+ auto child = style->child.data;
+ for (uint32_t i = 0; i < style->child.count; ++i, ++child) {
+ if ((*child)->type == SvgNodeType::CssStyle) {
+ if ((title && (*child)->id && !strcmp((*child)->id, title))) return (*child);
+ }
+ }
+ return nullptr;
+}
+
+
+void cssUpdateStyle(SvgNode* doc, SvgNode* style)
+{
+ if (doc->child.count > 0) {
+ auto child = doc->child.data;
+ for (uint32_t i = 0; i < doc->child.count; ++i, ++child) {
+ if (auto cssNode = cssFindStyleNode(style, nullptr, (*child)->type)) {
+ cssCopyStyleAttr(*child, cssNode);
+ }
+ if (auto cssNode = cssFindStyleNode(style, nullptr)) {
+ cssCopyStyleAttr(*child, cssNode);
+ }
+ cssUpdateStyle(*child, style);
+ }
+ }
+}
+
+
+void cssApplyStyleToPostponeds(Array<SvgNodeIdPair>& postponeds, SvgNode* style)
+{
+ for (uint32_t i = 0; i < postponeds.count; ++i) {
+ auto nodeIdPair = postponeds.data[i];
+
+ //css styling: tag.name has higher priority than .name
+ if (auto cssNode = cssFindStyleNode(style, nodeIdPair.id, nodeIdPair.node->type)) {
+ cssCopyStyleAttr(nodeIdPair.node, cssNode);
+ }
+ if (auto cssNode = cssFindStyleNode(style, nodeIdPair.id)) {
+ cssCopyStyleAttr(nodeIdPair.node, cssNode);
+ }
+ }
+} \ No newline at end of file
diff --git a/thirdparty/thorvg/src/loaders/svg/tvgSvgCssStyle.h b/thirdparty/thorvg/src/loaders/svg/tvgSvgCssStyle.h
new file mode 100644
index 0000000000..66477c1a32
--- /dev/null
+++ b/thirdparty/thorvg/src/loaders/svg/tvgSvgCssStyle.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd. All rights reserved.
+
+ * 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 _TVG_SVG_CSS_STYLE_H_
+#define _TVG_SVG_CSS_STYLE_H_
+
+#include "tvgSvgLoaderCommon.h"
+
+void cssCopyStyleAttr(SvgNode* to, const SvgNode* from);
+SvgNode* cssFindStyleNode(const SvgNode* style, const char* title, SvgNodeType type);
+SvgNode* cssFindStyleNode(const SvgNode* style, const char* title);
+void cssUpdateStyle(SvgNode* doc, SvgNode* style);
+void cssApplyStyleToPostponeds(Array<SvgNodeIdPair>& postponeds, SvgNode* style);
+
+#endif //_TVG_SVG_CSS_STYLE_H_
diff --git a/thirdparty/thorvg/src/loaders/svg/tvgSvgLoader.cpp b/thirdparty/thorvg/src/loaders/svg/tvgSvgLoader.cpp
index 08b3308165..a842b7fa8b 100644
--- a/thirdparty/thorvg/src/loaders/svg/tvgSvgLoader.cpp
+++ b/thirdparty/thorvg/src/loaders/svg/tvgSvgLoader.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -60,6 +60,8 @@
#include "tvgSvgLoader.h"
#include "tvgSvgSceneBuilder.h"
#include "tvgSvgUtil.h"
+#include "tvgSvgCssStyle.h"
+#include "tvgMath.h"
/************************************************************************/
/* Internal Class Implementation */
@@ -75,11 +77,10 @@
#define PX_PER_MM 3.779528f //1 in = 25.4 mm -> PX_PER_IN/25.4
#define PX_PER_CM 37.79528f //1 in = 2.54 cm -> PX_PER_IN/2.54
-
-typedef SvgNode* (*FactoryMethod)(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength);
+typedef bool (*parseAttributes)(const char* buf, unsigned bufLength, simpleXMLAttributeCb func, const void* data);
+typedef SvgNode* (*FactoryMethod)(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength, parseAttributes func);
typedef SvgStyleGradient* (*GradientFactoryMethod)(SvgLoaderData* loader, const char* buf, unsigned bufLength);
-
static char* _skipSpace(const char* str, const char* end)
{
while (((end && str < end) || (!end && *str != '\0')) && isspace(*str)) {
@@ -200,6 +201,14 @@ static int _toOpacity(const char* str)
}
+static SvgMaskType _toMaskType(const char* str)
+{
+ if (!strcmp(str, "Alpha")) return SvgMaskType::Alpha;
+
+ return SvgMaskType::Luminance;
+}
+
+
#define _PARSE_TAG(Type, Name, Name1, Tags_Array, Default) \
static Type _to##Name1(const char* str) \
{ \
@@ -726,6 +735,12 @@ error:
}
+static void _postpone(Array<SvgNodeIdPair>& nodes, SvgNode *node, char* id)
+{
+ nodes.push({node, id});
+}
+
+
/*
// TODO - remove?
static constexpr struct
@@ -786,14 +801,12 @@ static bool _attrParseSvgNode(void* data, const char* key, const char* value)
} else if (!strcmp(key, "preserveAspectRatio")) {
if (!strcmp(value, "none")) doc->preserveAspect = false;
} else if (!strcmp(key, "style")) {
- return simpleXmlParseW3CAttribute(value, _parseStyleAttr, loader);
- }
+ return simpleXmlParseW3CAttribute(value, strlen(value), _parseStyleAttr, loader);
#ifdef THORVG_LOG_ENABLED
- else if ((!strcmp(key, "x") || !strcmp(key, "y")) && fabsf(svgUtilStrtof(value, nullptr)) > FLT_EPSILON) {
+ } else if ((!strcmp(key, "x") || !strcmp(key, "y")) && fabsf(svgUtilStrtof(value, nullptr)) > FLT_EPSILON) {
TVGLOG("SVG", "Unsupported attributes used [Elements type: Svg][Attribute: %s][Value: %s]", key, value);
- }
#endif
- else {
+ } else {
return _parseStyleAttr(loader, key, value, false);
}
return true;
@@ -922,6 +935,12 @@ static void _handleMaskAttr(TVG_UNUSED SvgLoaderData* loader, SvgNode* node, con
}
+static void _handleMaskTypeAttr(TVG_UNUSED SvgLoaderData* loader, SvgNode* node, const char* value)
+{
+ node->node.mask.type = _toMaskType(value);
+}
+
+
static void _handleDisplayAttr(TVG_UNUSED SvgLoaderData* loader, SvgNode* node, const char* value)
{
//TODO : The display attribute can have various values as well as "none".
@@ -933,6 +952,29 @@ static void _handleDisplayAttr(TVG_UNUSED SvgLoaderData* loader, SvgNode* node,
}
+static void _handleCssClassAttr(SvgLoaderData* loader, SvgNode* node, const char* value)
+{
+ auto cssClass = &node->style->cssClass;
+
+ if (*cssClass && value) free(*cssClass);
+ *cssClass = _copyId(value);
+
+ bool cssClassFound = false;
+
+ //css styling: tag.name has higher priority than .name
+ if (auto cssNode = cssFindStyleNode(loader->cssStyle, *cssClass, node->type)) {
+ cssClassFound = true;
+ cssCopyStyleAttr(node, cssNode);
+ }
+ if (auto cssNode = cssFindStyleNode(loader->cssStyle, *cssClass)) {
+ cssClassFound = true;
+ cssCopyStyleAttr(node, cssNode);
+ }
+
+ if (!cssClassFound) _postpone(loader->nodesToStyle, node, *cssClass);
+}
+
+
typedef void (*styleMethod)(SvgLoaderData* loader, SvgNode* node, const char* value);
#define STYLE_DEF(Name, Name1, Flag) { #Name, sizeof(#Name), _handle##Name1##Attr, Flag }
@@ -959,6 +1001,7 @@ static constexpr struct
STYLE_DEF(transform, Transform, SvgStyleFlags::Transform),
STYLE_DEF(clip-path, ClipPath, SvgStyleFlags::ClipPath),
STYLE_DEF(mask, Mask, SvgStyleFlags::Mask),
+ STYLE_DEF(mask-type, MaskType, SvgStyleFlags::MaskType),
STYLE_DEF(display, Display, SvgStyleFlags::Display)
};
@@ -1006,12 +1049,14 @@ static bool _attrParseGNode(void* data, const char* key, const char* value)
SvgNode* node = loader->svgParse->node;
if (!strcmp(key, "style")) {
- return simpleXmlParseW3CAttribute(value, _parseStyleAttr, loader);
+ return simpleXmlParseW3CAttribute(value, strlen(value), _parseStyleAttr, loader);
} else if (!strcmp(key, "transform")) {
node->transform = _parseTransformationMatrix(value);
} else if (!strcmp(key, "id")) {
if (node->id && value) free(node->id);
node->id = _copyId(value);
+ } else if (!strcmp(key, "class")) {
+ _handleCssClassAttr(loader, node, value);
} else if (!strcmp(key, "clip-path")) {
_handleClipPathAttr(loader, node, value);
} else if (!strcmp(key, "mask")) {
@@ -1030,17 +1075,19 @@ static bool _attrParseClipPathNode(void* data, const char* key, const char* valu
{
SvgLoaderData* loader = (SvgLoaderData*)data;
SvgNode* node = loader->svgParse->node;
- SvgCompositeNode* comp = &(node->node.comp);
+ SvgClipNode* clip = &(node->node.clip);
if (!strcmp(key, "style")) {
- return simpleXmlParseW3CAttribute(value, _parseStyleAttr, loader);
+ return simpleXmlParseW3CAttribute(value, strlen(value), _parseStyleAttr, loader);
} else if (!strcmp(key, "transform")) {
node->transform = _parseTransformationMatrix(value);
} else if (!strcmp(key, "id")) {
if (node->id && value) free(node->id);
node->id = _copyId(value);
+ } else if (!strcmp(key, "class")) {
+ _handleCssClassAttr(loader, node, value);
} else if (!strcmp(key, "clipPathUnits")) {
- if (!strcmp(value, "objectBoundingBox")) comp->userSpace = false;
+ if (!strcmp(value, "objectBoundingBox")) clip->userSpace = false;
} else {
return _parseStyleAttr(loader, key, value, false);
}
@@ -1052,17 +1099,36 @@ static bool _attrParseMaskNode(void* data, const char* key, const char* value)
{
SvgLoaderData* loader = (SvgLoaderData*)data;
SvgNode* node = loader->svgParse->node;
- SvgCompositeNode* comp = &(node->node.comp);
+ SvgMaskNode* mask = &(node->node.mask);
if (!strcmp(key, "style")) {
- return simpleXmlParseW3CAttribute(value, _parseStyleAttr, loader);
+ return simpleXmlParseW3CAttribute(value, strlen(value), _parseStyleAttr, loader);
} else if (!strcmp(key, "transform")) {
node->transform = _parseTransformationMatrix(value);
} else if (!strcmp(key, "id")) {
if (node->id && value) free(node->id);
node->id = _copyId(value);
+ } else if (!strcmp(key, "class")) {
+ _handleCssClassAttr(loader, node, value);
} else if (!strcmp(key, "maskContentUnits")) {
- if (!strcmp(value, "objectBoundingBox")) comp->userSpace = false;
+ if (!strcmp(value, "objectBoundingBox")) mask->userSpace = false;
+ } else if (!strcmp(key, "mask-type")) {
+ mask->type = _toMaskType(value);
+ } else {
+ return _parseStyleAttr(loader, key, value, false);
+ }
+ return true;
+}
+
+
+static bool _attrParseCssStyleNode(void* data, const char* key, const char* value)
+{
+ SvgLoaderData* loader = (SvgLoaderData*)data;
+ SvgNode* node = loader->svgParse->node;
+
+ if (!strcmp(key, "id")) {
+ if (node->id && value) free(node->id);
+ node->id = _copyId(value);
} else {
return _parseStyleAttr(loader, key, value, false);
}
@@ -1070,6 +1136,31 @@ static bool _attrParseMaskNode(void* data, const char* key, const char* value)
}
+static bool _attrParseSymbolNode(void* data, const char* key, const char* value)
+{
+ SvgLoaderData* loader = (SvgLoaderData*)data;
+ SvgNode* node = loader->svgParse->node;
+ SvgSymbolNode* symbol = &(node->node.symbol);
+
+ if (!strcmp(key, "viewBox")) {
+ if (!_parseNumber(&value, &symbol->vx) || !_parseNumber(&value, &symbol->vy)) return false;
+ if (!_parseNumber(&value, &symbol->vw) || !_parseNumber(&value, &symbol->vh)) return false;
+ } else if (!strcmp(key, "width")) {
+ symbol->w = _toFloat(loader->svgParse, value, SvgParserLengthType::Horizontal);
+ } else if (!strcmp(key, "height")) {
+ symbol->h = _toFloat(loader->svgParse, value, SvgParserLengthType::Vertical);
+ } else if (!strcmp(key, "preserveAspectRatio")) {
+ if (!strcmp(value, "none")) symbol->preserveAspect = false;
+ } else if (!strcmp(key, "overflow")) {
+ if (!strcmp(value, "visible")) symbol->overflowVisible = true;
+ } else {
+ return _attrParseGNode(data, key, value);
+ }
+
+ return true;
+}
+
+
static SvgNode* _createNode(SvgNode* parent, SvgNodeType type)
{
SvgNode* node = (SvgNode*)calloc(1, sizeof(SvgNode));
@@ -1121,7 +1212,7 @@ static SvgNode* _createNode(SvgNode* parent, SvgNodeType type)
}
-static SvgNode* _createDefsNode(TVG_UNUSED SvgLoaderData* loader, TVG_UNUSED SvgNode* parent, const char* buf, unsigned bufLength)
+static SvgNode* _createDefsNode(TVG_UNUSED SvgLoaderData* loader, TVG_UNUSED SvgNode* parent, const char* buf, unsigned bufLength, TVG_UNUSED parseAttributes func)
{
if (loader->def && loader->doc->node.doc.defs) return loader->def;
SvgNode* node = _createNode(nullptr, SvgNodeType::Defs);
@@ -1132,17 +1223,17 @@ static SvgNode* _createDefsNode(TVG_UNUSED SvgLoaderData* loader, TVG_UNUSED Svg
}
-static SvgNode* _createGNode(TVG_UNUSED SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength)
+static SvgNode* _createGNode(TVG_UNUSED SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength, parseAttributes func)
{
loader->svgParse->node = _createNode(parent, SvgNodeType::G);
if (!loader->svgParse->node) return nullptr;
- simpleXmlParseAttributes(buf, bufLength, _attrParseGNode, loader);
+ func(buf, bufLength, _attrParseGNode, loader);
return loader->svgParse->node;
}
-static SvgNode* _createSvgNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength)
+static SvgNode* _createSvgNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength, parseAttributes func)
{
loader->svgParse->node = _createNode(parent, SvgNodeType::Doc);
if (!loader->svgParse->node) return nullptr;
@@ -1152,7 +1243,7 @@ static SvgNode* _createSvgNode(SvgLoaderData* loader, SvgNode* parent, const cha
loader->svgParse->global.h = 0;
doc->preserveAspect = true;
- simpleXmlParseAttributes(buf, bufLength, _attrParseSvgNode, loader);
+ func(buf, bufLength, _attrParseSvgNode, loader);
if (loader->svgParse->global.w == 0) {
if (doc->w < FLT_EPSILON) loader->svgParse->global.w = 1;
@@ -1167,32 +1258,60 @@ static SvgNode* _createSvgNode(SvgLoaderData* loader, SvgNode* parent, const cha
}
-static SvgNode* _createMaskNode(SvgLoaderData* loader, SvgNode* parent, TVG_UNUSED const char* buf, TVG_UNUSED unsigned bufLength)
+static SvgNode* _createMaskNode(SvgLoaderData* loader, SvgNode* parent, TVG_UNUSED const char* buf, TVG_UNUSED unsigned bufLength, parseAttributes func)
{
loader->svgParse->node = _createNode(parent, SvgNodeType::Mask);
if (!loader->svgParse->node) return nullptr;
- loader->svgParse->node->node.comp.userSpace = true;
+ loader->svgParse->node->node.mask.userSpace = true;
+ loader->svgParse->node->node.mask.type = SvgMaskType::Luminance;
- simpleXmlParseAttributes(buf, bufLength, _attrParseMaskNode, loader);
+ func(buf, bufLength, _attrParseMaskNode, loader);
return loader->svgParse->node;
}
-static SvgNode* _createClipPathNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength)
+static SvgNode* _createClipPathNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength, parseAttributes func)
{
loader->svgParse->node = _createNode(parent, SvgNodeType::ClipPath);
if (!loader->svgParse->node) return nullptr;
loader->svgParse->node->display = false;
- loader->svgParse->node->node.comp.userSpace = true;
+ loader->svgParse->node->node.clip.userSpace = true;
- simpleXmlParseAttributes(buf, bufLength, _attrParseClipPathNode, loader);
+ func(buf, bufLength, _attrParseClipPathNode, loader);
return loader->svgParse->node;
}
+
+static SvgNode* _createCssStyleNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength, parseAttributes func)
+{
+ loader->svgParse->node = _createNode(parent, SvgNodeType::CssStyle);
+ if (!loader->svgParse->node) return nullptr;
+
+ func(buf, bufLength, _attrParseCssStyleNode, loader);
+
+ return loader->svgParse->node;
+}
+
+
+static SvgNode* _createSymbolNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength, parseAttributes func)
+{
+ loader->svgParse->node = _createNode(parent, SvgNodeType::Symbol);
+ if (!loader->svgParse->node) return nullptr;
+
+ loader->svgParse->node->display = false;
+ loader->svgParse->node->node.symbol.preserveAspect = true;
+ loader->svgParse->node->node.symbol.overflowVisible = false;
+
+ func(buf, bufLength, _attrParseSymbolNode, loader);
+
+ return loader->svgParse->node;
+}
+
+
static bool _attrParsePathNode(void* data, const char* key, const char* value)
{
SvgLoaderData* loader = (SvgLoaderData*)data;
@@ -1203,7 +1322,7 @@ static bool _attrParsePathNode(void* data, const char* key, const char* value)
//Temporary: need to copy
path->path = _copyId(value);
} else if (!strcmp(key, "style")) {
- return simpleXmlParseW3CAttribute(value, _parseStyleAttr, loader);
+ return simpleXmlParseW3CAttribute(value, strlen(value), _parseStyleAttr, loader);
} else if (!strcmp(key, "clip-path")) {
_handleClipPathAttr(loader, node, value);
} else if (!strcmp(key, "mask")) {
@@ -1211,6 +1330,8 @@ static bool _attrParsePathNode(void* data, const char* key, const char* value)
} else if (!strcmp(key, "id")) {
if (node->id && value) free(node->id);
node->id = _copyId(value);
+ } else if (!strcmp(key, "class")) {
+ _handleCssClassAttr(loader, node, value);
} else {
return _parseStyleAttr(loader, key, value, false);
}
@@ -1218,13 +1339,13 @@ static bool _attrParsePathNode(void* data, const char* key, const char* value)
}
-static SvgNode* _createPathNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength)
+static SvgNode* _createPathNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength, parseAttributes func)
{
loader->svgParse->node = _createNode(parent, SvgNodeType::Path);
if (!loader->svgParse->node) return nullptr;
- simpleXmlParseAttributes(buf, bufLength, _attrParsePathNode, loader);
+ func(buf, bufLength, _attrParsePathNode, loader);
return loader->svgParse->node;
}
@@ -1263,7 +1384,7 @@ static bool _attrParseCircleNode(void* data, const char* key, const char* value)
}
if (!strcmp(key, "style")) {
- return simpleXmlParseW3CAttribute(value, _parseStyleAttr, loader);
+ return simpleXmlParseW3CAttribute(value, strlen(value), _parseStyleAttr, loader);
} else if (!strcmp(key, "clip-path")) {
_handleClipPathAttr(loader, node, value);
} else if (!strcmp(key, "mask")) {
@@ -1271,6 +1392,8 @@ static bool _attrParseCircleNode(void* data, const char* key, const char* value)
} else if (!strcmp(key, "id")) {
if (node->id && value) free(node->id);
node->id = _copyId(value);
+ } else if (!strcmp(key, "class")) {
+ _handleCssClassAttr(loader, node, value);
} else {
return _parseStyleAttr(loader, key, value, false);
}
@@ -1278,13 +1401,13 @@ static bool _attrParseCircleNode(void* data, const char* key, const char* value)
}
-static SvgNode* _createCircleNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength)
+static SvgNode* _createCircleNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength, parseAttributes func)
{
loader->svgParse->node = _createNode(parent, SvgNodeType::Circle);
if (!loader->svgParse->node) return nullptr;
- simpleXmlParseAttributes(buf, bufLength, _attrParseCircleNode, loader);
+ func(buf, bufLength, _attrParseCircleNode, loader);
return loader->svgParse->node;
}
@@ -1325,8 +1448,10 @@ static bool _attrParseEllipseNode(void* data, const char* key, const char* value
if (!strcmp(key, "id")) {
if (node->id && value) free(node->id);
node->id = _copyId(value);
+ } else if (!strcmp(key, "class")) {
+ _handleCssClassAttr(loader, node, value);
} else if (!strcmp(key, "style")) {
- return simpleXmlParseW3CAttribute(value, _parseStyleAttr, loader);
+ return simpleXmlParseW3CAttribute(value, strlen(value), _parseStyleAttr, loader);
} else if (!strcmp(key, "clip-path")) {
_handleClipPathAttr(loader, node, value);
} else if (!strcmp(key, "mask")) {
@@ -1338,13 +1463,13 @@ static bool _attrParseEllipseNode(void* data, const char* key, const char* value
}
-static SvgNode* _createEllipseNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength)
+static SvgNode* _createEllipseNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength, parseAttributes func)
{
loader->svgParse->node = _createNode(parent, SvgNodeType::Ellipse);
if (!loader->svgParse->node) return nullptr;
- simpleXmlParseAttributes(buf, bufLength, _attrParseEllipseNode, loader);
+ func(buf, bufLength, _attrParseEllipseNode, loader);
return loader->svgParse->node;
}
@@ -1400,7 +1525,7 @@ static bool _attrParsePolygonNode(void* data, const char* key, const char* value
if (!strcmp(key, "points")) {
return _attrParsePolygonPoints(value, &polygon->points, &polygon->pointsCount);
} else if (!strcmp(key, "style")) {
- return simpleXmlParseW3CAttribute(value, _parseStyleAttr, loader);
+ return simpleXmlParseW3CAttribute(value, strlen(value), _parseStyleAttr, loader);
} else if (!strcmp(key, "clip-path")) {
_handleClipPathAttr(loader, node, value);
} else if (!strcmp(key, "mask")) {
@@ -1408,6 +1533,8 @@ static bool _attrParsePolygonNode(void* data, const char* key, const char* value
} else if (!strcmp(key, "id")) {
if (node->id && value) free(node->id);
node->id = _copyId(value);
+ } else if (!strcmp(key, "class")) {
+ _handleCssClassAttr(loader, node, value);
} else {
return _parseStyleAttr(loader, key, value, false);
}
@@ -1415,24 +1542,24 @@ static bool _attrParsePolygonNode(void* data, const char* key, const char* value
}
-static SvgNode* _createPolygonNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength)
+static SvgNode* _createPolygonNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength, parseAttributes func)
{
loader->svgParse->node = _createNode(parent, SvgNodeType::Polygon);
if (!loader->svgParse->node) return nullptr;
- simpleXmlParseAttributes(buf, bufLength, _attrParsePolygonNode, loader);
+ func(buf, bufLength, _attrParsePolygonNode, loader);
return loader->svgParse->node;
}
-static SvgNode* _createPolylineNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength)
+static SvgNode* _createPolylineNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength, parseAttributes func)
{
loader->svgParse->node = _createNode(parent, SvgNodeType::Polyline);
if (!loader->svgParse->node) return nullptr;
- simpleXmlParseAttributes(buf, bufLength, _attrParsePolygonNode, loader);
+ func(buf, bufLength, _attrParsePolygonNode, loader);
return loader->svgParse->node;
}
@@ -1482,8 +1609,10 @@ static bool _attrParseRectNode(void* data, const char* key, const char* value)
if (!strcmp(key, "id")) {
if (node->id && value) free(node->id);
node->id = _copyId(value);
+ } else if (!strcmp(key, "class")) {
+ _handleCssClassAttr(loader, node, value);
} else if (!strcmp(key, "style")) {
- ret = simpleXmlParseW3CAttribute(value, _parseStyleAttr, loader);
+ ret = simpleXmlParseW3CAttribute(value, strlen(value), _parseStyleAttr, loader);
} else if (!strcmp(key, "clip-path")) {
_handleClipPathAttr(loader, node, value);
} else if (!strcmp(key, "mask")) {
@@ -1496,7 +1625,7 @@ static bool _attrParseRectNode(void* data, const char* key, const char* value)
}
-static SvgNode* _createRectNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength)
+static SvgNode* _createRectNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength, parseAttributes func)
{
loader->svgParse->node = _createNode(parent, SvgNodeType::Rect);
@@ -1504,7 +1633,7 @@ static SvgNode* _createRectNode(SvgLoaderData* loader, SvgNode* parent, const ch
loader->svgParse->node->node.rect.hasRx = loader->svgParse->node->node.rect.hasRy = false;
- simpleXmlParseAttributes(buf, bufLength, _attrParseRectNode, loader);
+ func(buf, bufLength, _attrParseRectNode, loader);
return loader->svgParse->node;
}
@@ -1545,8 +1674,10 @@ static bool _attrParseLineNode(void* data, const char* key, const char* value)
if (!strcmp(key, "id")) {
if (node->id && value) free(node->id);
node->id = _copyId(value);
+ } else if (!strcmp(key, "class")) {
+ _handleCssClassAttr(loader, node, value);
} else if (!strcmp(key, "style")) {
- return simpleXmlParseW3CAttribute(value, _parseStyleAttr, loader);
+ return simpleXmlParseW3CAttribute(value, strlen(value), _parseStyleAttr, loader);
} else if (!strcmp(key, "clip-path")) {
_handleClipPathAttr(loader, node, value);
} else if (!strcmp(key, "mask")) {
@@ -1558,13 +1689,13 @@ static bool _attrParseLineNode(void* data, const char* key, const char* value)
}
-static SvgNode* _createLineNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength)
+static SvgNode* _createLineNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength, parseAttributes func)
{
loader->svgParse->node = _createNode(parent, SvgNodeType::Line);
if (!loader->svgParse->node) return nullptr;
- simpleXmlParseAttributes(buf, bufLength, _attrParseLineNode, loader);
+ func(buf, bufLength, _attrParseLineNode, loader);
return loader->svgParse->node;
}
@@ -1616,12 +1747,16 @@ static bool _attrParseImageNode(void* data, const char* key, const char* value)
} else if (!strcmp(key, "id")) {
if (node->id && value) free(node->id);
node->id = _copyId(value);
+ } else if (!strcmp(key, "class")) {
+ _handleCssClassAttr(loader, node, value);
} else if (!strcmp(key, "style")) {
- return simpleXmlParseW3CAttribute(value, _parseStyleAttr, loader);
+ return simpleXmlParseW3CAttribute(value, strlen(value), _parseStyleAttr, loader);
} else if (!strcmp(key, "clip-path")) {
_handleClipPathAttr(loader, node, value);
} else if (!strcmp(key, "mask")) {
_handleMaskAttr(loader, node, value);
+ } else if (!strcmp(key, "transform")) {
+ node->transform = _parseTransformationMatrix(value);
} else {
return _parseStyleAttr(loader, key, value);
}
@@ -1629,13 +1764,13 @@ static bool _attrParseImageNode(void* data, const char* key, const char* value)
}
-static SvgNode* _createImageNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength)
+static SvgNode* _createImageNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength, parseAttributes func)
{
loader->svgParse->node = _createNode(parent, SvgNodeType::Image);
if (!loader->svgParse->node) return nullptr;
- simpleXmlParseAttributes(buf, bufLength, _attrParseImageNode, loader);
+ func(buf, bufLength, _attrParseImageNode, loader);
return loader->svgParse->node;
}
@@ -1941,12 +2076,6 @@ static void _cloneNode(SvgNode* from, SvgNode* parent, int depth)
}
-static void _postponeCloneNode(SvgLoaderData* loader, SvgNode *node, char* id)
-{
- loader->cloneNodes.push({node, id});
-}
-
-
static void _clonePostponedNodes(Array<SvgNodeIdPair>* cloneNodes, SvgNode* doc)
{
for (uint32_t i = 0; i < cloneNodes->count; ++i) {
@@ -1955,6 +2084,9 @@ static void _clonePostponedNodes(Array<SvgNodeIdPair>* cloneNodes, SvgNode* doc)
auto nodeFrom = _findChildById(defs, nodeIdPair.id);
if (!nodeFrom) nodeFrom = _findChildById(doc, nodeIdPair.id);
_cloneNode(nodeFrom, nodeIdPair.node, 0);
+ if (nodeFrom && nodeFrom->type == SvgNodeType::Symbol && nodeIdPair.node->type == SvgNodeType::Use) {
+ nodeIdPair.node->node.use.symbol = nodeFrom;
+ }
free(nodeIdPair.id);
}
}
@@ -1967,10 +2099,10 @@ static constexpr struct
int sz;
size_t offset;
} useTags[] = {
- {"x", SvgParserLengthType::Horizontal, sizeof("x"), offsetof(SvgRectNode, x)},
- {"y", SvgParserLengthType::Vertical, sizeof("y"), offsetof(SvgRectNode, y)},
- {"width", SvgParserLengthType::Horizontal, sizeof("width"), offsetof(SvgRectNode, w)},
- {"height", SvgParserLengthType::Vertical, sizeof("height"), offsetof(SvgRectNode, h)}
+ {"x", SvgParserLengthType::Horizontal, sizeof("x"), offsetof(SvgUseNode, x)},
+ {"y", SvgParserLengthType::Vertical, sizeof("y"), offsetof(SvgUseNode, y)},
+ {"width", SvgParserLengthType::Horizontal, sizeof("width"), offsetof(SvgUseNode, w)},
+ {"height", SvgParserLengthType::Vertical, sizeof("height"), offsetof(SvgUseNode, h)}
};
@@ -1986,6 +2118,10 @@ static bool _attrParseUseNode(void* data, const char* key, const char* value)
for (unsigned int i = 0; i < sizeof(useTags) / sizeof(useTags[0]); i++) {
if (useTags[i].sz - 1 == sz && !strncmp(useTags[i].tag, key, sz)) {
*((float*)(array + useTags[i].offset)) = _toFloat(loader->svgParse, value, useTags[i].type);
+
+ if (useTags[i].offset == offsetof(SvgUseNode, w)) use->isWidthSet = true;
+ else if (useTags[i].offset == offsetof(SvgUseNode, h)) use->isHeightSet = true;
+
return true;
}
}
@@ -1996,12 +2132,13 @@ static bool _attrParseUseNode(void* data, const char* key, const char* value)
nodeFrom = _findChildById(defs, id);
if (nodeFrom) {
_cloneNode(nodeFrom, node, 0);
+ if (nodeFrom->type == SvgNodeType::Symbol) use->symbol = nodeFrom;
free(id);
} else {
//some svg export software include <defs> element at the end of the file
//if so the 'from' element won't be found now and we have to repeat finding
//after the whole file is parsed
- _postponeCloneNode(loader, node, id);
+ _postpone(loader->cloneNodes, node, id);
}
} else {
return _attrParseGNode(data, key, value);
@@ -2010,16 +2147,20 @@ static bool _attrParseUseNode(void* data, const char* key, const char* value)
}
-static SvgNode* _createUseNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength)
+static SvgNode* _createUseNode(SvgLoaderData* loader, SvgNode* parent, const char* buf, unsigned bufLength, parseAttributes func)
{
loader->svgParse->node = _createNode(parent, SvgNodeType::Use);
if (!loader->svgParse->node) return nullptr;
- simpleXmlParseAttributes(buf, bufLength, _attrParseUseNode, loader);
+ loader->svgParse->node->node.use.isWidthSet = false;
+ loader->svgParse->node->node.use.isHeightSet = false;
+
+ func(buf, bufLength, _attrParseUseNode, loader);
return loader->svgParse->node;
}
+
//TODO: Implement 'text' primitive
static constexpr struct
{
@@ -2049,7 +2190,9 @@ static constexpr struct
{"g", sizeof("g"), _createGNode},
{"svg", sizeof("svg"), _createSvgNode},
{"mask", sizeof("mask"), _createMaskNode},
- {"clipPath", sizeof("clipPath"), _createClipPathNode}
+ {"clipPath", sizeof("clipPath"), _createClipPathNode},
+ {"style", sizeof("style"), _createCssStyleNode},
+ {"symbol", sizeof("symbol"), _createSymbolNode}
};
@@ -2204,8 +2347,8 @@ static bool _attrParseRadialGradientNode(void* data, const char* key, const char
} else if (!strcmp(key, "href") || !strcmp(key, "xlink:href")) {
if (grad->ref && value) free(grad->ref);
grad->ref = _idFromHref(value);
- } else if (!strcmp(key, "gradientUnits") && !strcmp(value, "userSpaceOnUse")) {
- grad->userSpace = true;
+ } else if (!strcmp(key, "gradientUnits")) {
+ if (!strcmp(value, "userSpaceOnUse")) grad->userSpace = true;
} else if (!strcmp(key, "gradientTransform")) {
grad->transform = _parseTransformationMatrix(value);
} else {
@@ -2291,7 +2434,7 @@ static bool _attrParseStops(void* data, const char* key, const char* value)
_toColor(value, &stop->r, &stop->g, &stop->b, nullptr);
}
} else if (!strcmp(key, "style")) {
- simpleXmlParseW3CAttribute(value, _attrParseStopsStyle, data);
+ simpleXmlParseW3CAttribute(value, strlen(value), _attrParseStopsStyle, data);
} else {
return false;
}
@@ -2394,8 +2537,8 @@ static bool _attrParseLinearGradientNode(void* data, const char* key, const char
} else if (!strcmp(key, "href") || !strcmp(key, "xlink:href")) {
if (grad->ref && value) free(grad->ref);
grad->ref = _idFromHref(value);
- } else if (!strcmp(key, "gradientUnits") && !strcmp(value, "userSpaceOnUse")) {
- grad->userSpace = true;
+ } else if (!strcmp(key, "gradientUnits")) {
+ if (!strcmp(value, "userSpaceOnUse")) grad->userSpace = true;
} else if (!strcmp(key, "gradientTransform")) {
grad->transform = _parseTransformationMatrix(value);
} else {
@@ -2479,11 +2622,13 @@ static constexpr struct
{"svg", sizeof("svg")},
{"defs", sizeof("defs")},
{"mask", sizeof("mask")},
- {"clipPath", sizeof("clipPath")}
+ {"clipPath", sizeof("clipPath")},
+ {"style", sizeof("style")},
+ {"symbol", sizeof("symbol")}
};
-static void _svgLoaderParerXmlClose(SvgLoaderData* loader, const char* content)
+static void _svgLoaderParserXmlClose(SvgLoaderData* loader, const char* content)
{
content = _skipSpace(content, nullptr);
@@ -2531,13 +2676,20 @@ static void _svgLoaderParserXmlOpen(SvgLoaderData* loader, const char* content,
if (empty) return;
if (!loader->doc) {
if (strcmp(tagName, "svg")) return; //Not a valid svg document
- node = method(loader, nullptr, attrs, attrsLength);
+ node = method(loader, nullptr, attrs, attrsLength, simpleXmlParseAttributes);
loader->doc = node;
} else {
if (!strcmp(tagName, "svg")) return; //Already loaded <svg>(SvgNodeType::Doc) tag
if (loader->stack.count > 0) parent = loader->stack.data[loader->stack.count - 1];
else parent = loader->doc;
- node = method(loader, parent, attrs, attrsLength);
+ if (!strcmp(tagName, "style")) {
+ node = method(loader, nullptr, attrs, attrsLength, simpleXmlParseAttributes);
+ loader->cssStyle = node;
+ loader->doc->node.doc.style = node;
+ loader->style = true;
+ } else {
+ node = method(loader, parent, attrs, attrsLength, simpleXmlParseAttributes);
+ }
}
if (!node) return;
@@ -2547,7 +2699,7 @@ static void _svgLoaderParserXmlOpen(SvgLoaderData* loader, const char* content,
} else if ((method = _findGraphicsFactory(tagName))) {
if (loader->stack.count > 0) parent = loader->stack.data[loader->stack.count - 1];
else parent = loader->doc;
- node = method(loader, parent, attrs, attrsLength);
+ node = method(loader, parent, attrs, attrsLength, simpleXmlParseAttributes);
} else if ((gradientMethod = _findGradientFactory(tagName))) {
SvgStyleGradient* gradient;
gradient = gradientMethod(loader, attrs, attrsLength);
@@ -2578,6 +2730,42 @@ static void _svgLoaderParserXmlOpen(SvgLoaderData* loader, const char* content,
}
+static void _svgLoaderParserXmlCssStyle(SvgLoaderData* loader, const char* content, unsigned int length)
+{
+ char* tag;
+ char* name;
+ const char* attrs = nullptr;
+ unsigned int attrsLength = 0;
+
+ FactoryMethod method;
+ GradientFactoryMethod gradientMethod;
+ SvgNode *node = nullptr;
+
+ while (auto next = simpleXmlParseCSSAttribute(content, length, &tag, &name, &attrs, &attrsLength)) {
+ if ((method = _findGroupFactory(tag))) {
+ if ((node = method(loader, loader->cssStyle, attrs, attrsLength, simpleXmlParseW3CAttribute))) node->id = _copyId(name);
+ } else if ((method = _findGraphicsFactory(tag))) {
+ if ((node = method(loader, loader->cssStyle, attrs, attrsLength, simpleXmlParseW3CAttribute))) node->id = _copyId(name);
+ } else if ((gradientMethod = _findGradientFactory(tag))) {
+ TVGLOG("SVG", "Unsupported elements used in the internal CSS style sheets [Elements: %s]", tag);
+ } else if (!strcmp(tag, "stop")) {
+ TVGLOG("SVG", "Unsupported elements used in the internal CSS style sheets [Elements: %s]", tag);
+ } else if (!strcmp(tag, "all")) {
+ if ((node = _createCssStyleNode(loader, loader->cssStyle, attrs, attrsLength, simpleXmlParseW3CAttribute))) node->id = _copyId(name);
+ } else if (!isIgnoreUnsupportedLogElements(tag)) {
+ TVGLOG("SVG", "Unsupported elements used in the internal CSS style sheets [Elements: %s]", tag);
+ }
+
+ length -= next - content;
+ content = next;
+
+ free(tag);
+ free(name);
+ }
+ loader->style = false;
+}
+
+
static bool _svgLoaderParser(void* data, SimpleXMLType type, const char* content, unsigned int length)
{
SvgLoaderData* loader = (SvgLoaderData*)data;
@@ -2592,11 +2780,14 @@ static bool _svgLoaderParser(void* data, SimpleXMLType type, const char* content
break;
}
case SimpleXMLType::Close: {
- _svgLoaderParerXmlClose(loader, content);
+ _svgLoaderParserXmlClose(loader, content);
break;
}
case SimpleXMLType::Data:
- case SimpleXMLType::CData:
+ case SimpleXMLType::CData: {
+ if (loader->style) _svgLoaderParserXmlCssStyle(loader, content, length);
+ break;
+ }
case SimpleXMLType::DoctypeChild: {
break;
}
@@ -2619,7 +2810,7 @@ static void _inefficientNodeCheck(TVG_UNUSED SvgNode* node)
#ifdef THORVG_LOG_ENABLED
auto type = simpleXmlNodeTypeToString(node->type);
- if (!node->display && node->type != SvgNodeType::ClipPath) TVGLOG("SVG", "Inefficient elements used [Display is none][Node Type : %s]", type);
+ if (!node->display && node->type != SvgNodeType::ClipPath && node->type != SvgNodeType::Symbol) TVGLOG("SVG", "Inefficient elements used [Display is none][Node Type : %s]", type);
if (node->style->opacity == 0) TVGLOG("SVG", "Inefficient elements used [Opacity is zero][Node Type : %s]", type);
if (node->style->fill.opacity == 0 && node->style->stroke.opacity == 0) TVGLOG("SVG", "Inefficient elements used [Fill opacity and stroke opacity are zero][Node Type : %s]", type);
@@ -2749,6 +2940,7 @@ static void _freeNodeStyle(SvgStyleProperty* style)
//style->clipPath.node and style->mask.node has only the addresses of node. Therefore, node is released from _freeNode.
free(style->clipPath.url);
free(style->mask.url);
+ free(style->cssClass);
if (style->fill.paint.gradient) {
style->fill.paint.gradient->clear();
@@ -2793,6 +2985,7 @@ static void _freeNode(SvgNode* node)
}
case SvgNodeType::Doc: {
_freeNode(node->node.doc.defs);
+ _freeNode(node->node.doc.style);
break;
}
case SvgNodeType::Defs: {
@@ -2846,7 +3039,7 @@ static bool _svgLoaderParserForValidCheckXmlOpen(SvgLoaderData* loader, const ch
if ((method = _findGroupFactory(tagName))) {
if (!loader->doc) {
if (strcmp(tagName, "svg")) return true; //Not a valid svg document
- node = method(loader, nullptr, attrs, attrsLength);
+ node = method(loader, nullptr, attrs, attrsLength, simpleXmlParseAttributes);
loader->doc = node;
loader->stack.push(node);
return false;
@@ -2906,16 +3099,20 @@ void SvgLoader::run(unsigned tid)
if (!simpleXmlParse(content, size, true, _svgLoaderParser, &(loaderData))) return;
if (loaderData.doc) {
- _updateStyle(loaderData.doc, nullptr);
auto defs = loaderData.doc->node.doc.defs;
- _updateComposite(loaderData.doc, loaderData.doc);
- if (defs) _updateComposite(loaderData.doc, defs);
+ if (loaderData.nodesToStyle.count > 0) cssApplyStyleToPostponeds(loaderData.nodesToStyle, loaderData.cssStyle);
+ if (loaderData.cssStyle) cssUpdateStyle(loaderData.doc, loaderData.cssStyle);
if (loaderData.cloneNodes.count > 0) _clonePostponedNodes(&loaderData.cloneNodes, loaderData.doc);
+ _updateComposite(loaderData.doc, loaderData.doc);
+ if (defs) _updateComposite(loaderData.doc, defs);
+
if (loaderData.gradients.count > 0) _updateGradient(loaderData.doc, &loaderData.gradients);
if (defs) _updateGradient(loaderData.doc, &defs->node.defs.gradients);
+
+ _updateStyle(loaderData.doc, nullptr);
}
root = svgSceneBuild(loaderData.doc, vx, vy, vw, vh, w, h, preserveAspect, svgPath);
}
diff --git a/thirdparty/thorvg/src/loaders/svg/tvgSvgLoader.h b/thirdparty/thorvg/src/loaders/svg/tvgSvgLoader.h
index 468f05801d..093fb671b3 100644
--- a/thirdparty/thorvg/src/loaders/svg/tvgSvgLoader.h
+++ b/thirdparty/thorvg/src/loaders/svg/tvgSvgLoader.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/svg/tvgSvgLoaderCommon.h b/thirdparty/thorvg/src/loaders/svg/tvgSvgLoaderCommon.h
index cceef915f0..1f25e82adc 100644
--- a/thirdparty/thorvg/src/loaders/svg/tvgSvgLoaderCommon.h
+++ b/thirdparty/thorvg/src/loaders/svg/tvgSvgLoaderCommon.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -51,6 +51,8 @@ enum class SvgNodeType
Video,
ClipPath,
Mask,
+ CssStyle,
+ Symbol,
Unknown
};
@@ -111,7 +113,8 @@ enum class SvgStyleFlags
Transform = 0x800,
ClipPath = 0x1000,
Mask = 0x2000,
- Display = 0x4000
+ MaskType = 0x4000,
+ Display = 0x8000
};
enum class SvgStopStyleFlags
@@ -127,6 +130,12 @@ enum class SvgFillRule
OddEven = 1
};
+enum class SvgMaskType
+{
+ Luminance = 0,
+ Alpha
+};
+
//Length type to recalculate %, pt, pc, mm, cm etc
enum class SvgParserLengthType
{
@@ -145,6 +154,7 @@ struct SvgDocNode
float vw;
float vh;
SvgNode* defs;
+ SvgNode* style;
bool preserveAspect;
};
@@ -157,12 +167,22 @@ struct SvgDefsNode
Array<SvgStyleGradient*> gradients;
};
+struct SvgSymbolNode
+{
+ float w, h;
+ float vx, vy, vw, vh;
+ bool preserveAspect;
+ bool overflowVisible;
+};
+
struct SvgUseNode
{
float x, y, w, h;
+ bool isWidthSet;
+ bool isHeightSet;
+ SvgNode* symbol;
};
-
struct SvgEllipseNode
{
float cx;
@@ -215,11 +235,21 @@ struct SvgPolygonNode
float* points;
};
-struct SvgCompositeNode
+struct SvgClipNode
{
bool userSpace;
};
+struct SvgMaskNode
+{
+ SvgMaskType type;
+ bool userSpace;
+};
+
+struct SvgCssStyleNode
+{
+};
+
struct SvgLinearGradient
{
float x1;
@@ -328,6 +358,7 @@ struct SvgStyleProperty
int opacity;
SvgColor color;
bool curColorSet;
+ char* cssClass;
SvgStyleFlags flags;
};
@@ -352,7 +383,10 @@ struct SvgNode
SvgPathNode path;
SvgLineNode line;
SvgImageNode image;
- SvgCompositeNode comp;
+ SvgMaskNode mask;
+ SvgClipNode clip;
+ SvgCssStyleNode cssStyle;
+ SvgSymbolNode symbol;
} node;
bool display;
~SvgNode();
@@ -384,15 +418,18 @@ struct SvgNodeIdPair
struct SvgLoaderData
{
- Array<SvgNode *> stack = {nullptr, 0, 0};
+ Array<SvgNode*> stack = {nullptr, 0, 0};
SvgNode* doc = nullptr;
SvgNode* def = nullptr;
+ SvgNode* cssStyle = nullptr;
Array<SvgStyleGradient*> gradients;
SvgStyleGradient* latestGradient = nullptr; //For stops
SvgParser* svgParse = nullptr;
Array<SvgNodeIdPair> cloneNodes;
+ Array<SvgNodeIdPair> nodesToStyle;
int level = 0;
bool result = false;
+ bool style = false;
};
/*
diff --git a/thirdparty/thorvg/src/loaders/svg/tvgSvgPath.cpp b/thirdparty/thorvg/src/loaders/svg/tvgSvgPath.cpp
index 32685ee620..a09a2797d0 100644
--- a/thirdparty/thorvg/src/loaders/svg/tvgSvgPath.cpp
+++ b/thirdparty/thorvg/src/loaders/svg/tvgSvgPath.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/svg/tvgSvgPath.h b/thirdparty/thorvg/src/loaders/svg/tvgSvgPath.h
index 7f26c4a213..8f5f9035dc 100644
--- a/thirdparty/thorvg/src/loaders/svg/tvgSvgPath.h
+++ b/thirdparty/thorvg/src/loaders/svg/tvgSvgPath.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/svg/tvgSvgSceneBuilder.cpp b/thirdparty/thorvg/src/loaders/svg/tvgSvgSceneBuilder.cpp
index ae17634f31..90705f2523 100644
--- a/thirdparty/thorvg/src/loaders/svg/tvgSvgSceneBuilder.cpp
+++ b/thirdparty/thorvg/src/loaders/svg/tvgSvgSceneBuilder.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -68,12 +68,12 @@ struct Box
static bool _appendShape(SvgNode* node, Shape* shape, const Box& vBox, const string& svgPath);
-static unique_ptr<Scene> _sceneBuildHelper(const SvgNode* node, const Box& vBox, const string& svgPath, bool mask);
+static unique_ptr<Scene> _sceneBuildHelper(const SvgNode* node, const Box& vBox, const string& svgPath, bool mask, bool* isMaskWhite = nullptr);
static inline bool _isGroupType(SvgNodeType type)
{
- if (type == SvgNodeType::Doc || type == SvgNodeType::G || type == SvgNodeType::Use || type == SvgNodeType::ClipPath) return true;
+ if (type == SvgNodeType::Doc || type == SvgNodeType::G || type == SvgNodeType::Use || type == SvgNodeType::ClipPath || type == SvgNodeType::Symbol) return true;
return false;
}
@@ -276,15 +276,21 @@ static void _applyComposition(Paint* paint, const SvgNode* node, const Box& vBox
Composition can be applied recursively if its children nodes have composition target to this one. */
if (node->style->mask.applying) {
TVGLOG("SVG", "Multiple Composition Tried! Check out Circular dependency?");
- } else {
+ } else {
auto compNode = node->style->mask.node;
if (compNode && compNode->child.count > 0) {
node->style->mask.applying = true;
- auto comp = _sceneBuildHelper(compNode, vBox, svgPath, true);
+ bool isMaskWhite = true;
+ auto comp = _sceneBuildHelper(compNode, vBox, svgPath, true, &isMaskWhite);
if (comp) {
if (node->transform) comp->transform(*node->transform);
- paint->composite(move(comp), CompositeMethod::AlphaMask);
+
+ if (compNode->node.mask.type == SvgMaskType::Luminance && !isMaskWhite) {
+ paint->composite(move(comp), CompositeMethod::LumaMask);
+ } else {
+ paint->composite(move(comp), CompositeMethod::AlphaMask);
+ }
}
node->style->mask.applying = false;
@@ -534,57 +540,137 @@ static unique_ptr<Picture> _imageBuildHelper(SvgNode* node, const Box& vBox, con
string imagePath = href;
if (strncmp(href, "/", 1)) {
auto last = svgPath.find_last_of("/");
- imagePath = svgPath.substr(0, (last == string::npos ? 0 : last + 1 )) + imagePath;
+ imagePath = svgPath.substr(0, (last == string::npos ? 0 : last + 1)) + imagePath;
}
if (picture->load(imagePath) != Result::Success) return nullptr;
}
float w, h;
+ Matrix m = {1, 0, 0, 0, 1, 0, 0, 0, 1};
if (picture->size(&w, &h) == Result::Success && w > 0 && h > 0) {
auto sx = node->node.image.w / w;
auto sy = node->node.image.h / h;
- Matrix m = {sx, 0, node->node.image.x, 0, sy, node->node.image.y, 0, 0, 1};
- picture->transform(m);
+ m = {sx, 0, node->node.image.x, 0, sy, node->node.image.y, 0, 0, 1};
}
+ if (node->transform) m = mathMultiply(node->transform, &m);
+ picture->transform(m);
_applyComposition(picture.get(), node, vBox, svgPath);
return picture;
}
-static unique_ptr<Scene> _useBuildHelper(const SvgNode* node, const Box& vBox, const string& svgPath)
+static unique_ptr<Scene> _useBuildHelper(const SvgNode* node, const Box& vBox, const string& svgPath, bool* isMaskWhite)
{
- auto scene = _sceneBuildHelper(node, vBox, svgPath, false);
+ unique_ptr<Scene> finalScene;
+ auto scene = _sceneBuildHelper(node, vBox, svgPath, false, isMaskWhite);
+
+ // mUseTransform = mUseTransform * mTranslate
+ Matrix mUseTransform = {1, 0, 0, 0, 1, 0, 0, 0, 1};
+ if (node->transform) mUseTransform = *node->transform;
if (node->node.use.x != 0.0f || node->node.use.y != 0.0f) {
- scene->translate(node->node.use.x, node->node.use.y);
+ Matrix mTranslate = {1, 0, node->node.use.x, 0, 1, node->node.use.y, 0, 0, 1};
+ mUseTransform = mathMultiply(&mUseTransform, &mTranslate);
}
- if (node->node.use.w > 0.0f && node->node.use.h > 0.0f) {
- //TODO: handle width/height properties
+
+ if (node->node.use.symbol) {
+ auto symbol = node->node.use.symbol->node.symbol;
+
+ auto width = symbol.w;
+ if (node->node.use.isWidthSet) width = node->node.use.w;
+ auto height = symbol.h;
+ if (node->node.use.isHeightSet) height = node->node.use.h;
+
+ Matrix mViewBox = {1, 0, 0, 0, 1, 0, 0, 0, 1};
+ if ((!mathEqual(width, symbol.vw) || !mathEqual(height, symbol.vh)) && symbol.vw > 0 && symbol.vh > 0) {
+ auto sx = width / symbol.vw;
+ auto sy = height / symbol.vh;
+ if (symbol.preserveAspect) {
+ if (sx < sy) sy = sx;
+ else sx = sy;
+ }
+
+ auto tvx = symbol.vx * sx;
+ auto tvy = symbol.vy * sy;
+ auto tvw = symbol.vw * sx;
+ auto tvh = symbol.vh * sy;
+ tvy -= (symbol.h - tvh) * 0.5f;
+ tvx -= (symbol.w - tvw) * 0.5f;
+ mViewBox = {sx, 0, -tvx, 0, sy, -tvy, 0, 0, 1};
+ } else if (!mathZero(symbol.vx) || !mathZero(symbol.vy)) {
+ mViewBox = {1, 0, -symbol.vx, 0, 1, -symbol.vy, 0, 0, 1};
+ }
+
+ // mSceneTransform = mUseTransform * mSymbolTransform * mViewBox
+ Matrix mSceneTransform = mViewBox;
+ if (node->node.use.symbol->transform) {
+ mSceneTransform = mathMultiply(node->node.use.symbol->transform, &mViewBox);
+ }
+ mSceneTransform = mathMultiply(&mUseTransform, &mSceneTransform);
+ scene->transform(mSceneTransform);
+
+ if (node->node.use.symbol->node.symbol.overflowVisible) {
+ finalScene = move(scene);
+ } else {
+ auto viewBoxClip = Shape::gen();
+ viewBoxClip->appendRect(0, 0, width, height, 0, 0);
+
+ // mClipTransform = mUseTransform * mSymbolTransform
+ Matrix mClipTransform = mUseTransform;
+ if (node->node.use.symbol->transform) {
+ mClipTransform = mathMultiply(&mUseTransform, node->node.use.symbol->transform);
+ }
+ viewBoxClip->transform(mClipTransform);
+
+ auto compositeLayer = Scene::gen();
+ compositeLayer->composite(move(viewBoxClip), CompositeMethod::ClipPath);
+ compositeLayer->push(move(scene));
+
+ auto root = Scene::gen();
+ root->push(move(compositeLayer));
+
+ finalScene = move(root);
+ }
+ } else {
+ if (!mathIdentity((const Matrix*)(&mUseTransform))) scene->transform(mUseTransform);
+ finalScene = move(scene);
}
- return scene;
+
+ return finalScene;
}
-static unique_ptr<Scene> _sceneBuildHelper(const SvgNode* node, const Box& vBox, const string& svgPath, bool mask)
+static unique_ptr<Scene> _sceneBuildHelper(const SvgNode* node, const Box& vBox, const string& svgPath, bool mask, bool* isMaskWhite)
{
if (_isGroupType(node->type) || mask) {
auto scene = Scene::gen();
- if (!mask && node->transform) scene->transform(*node->transform);
+ // For a Symbol node, the viewBox transformation has to be applied first - see _useBuildHelper()
+ if (!mask && node->transform && node->type != SvgNodeType::Symbol) scene->transform(*node->transform);
if (node->display && node->style->opacity != 0) {
auto child = node->child.data;
for (uint32_t i = 0; i < node->child.count; ++i, ++child) {
if (_isGroupType((*child)->type)) {
if ((*child)->type == SvgNodeType::Use)
- scene->push(_useBuildHelper(*child, vBox, svgPath));
+ scene->push(_useBuildHelper(*child, vBox, svgPath, isMaskWhite));
else
- scene->push(_sceneBuildHelper(*child, vBox, svgPath, false));
+ scene->push(_sceneBuildHelper(*child, vBox, svgPath, false, isMaskWhite));
} else if ((*child)->type == SvgNodeType::Image) {
auto image = _imageBuildHelper(*child, vBox, svgPath);
if (image) scene->push(move(image));
} else if ((*child)->type != SvgNodeType::Mask) {
auto shape = _shapeBuildHelper(*child, vBox, svgPath);
- if (shape) scene->push(move(shape));
+ if (shape) {
+ if (isMaskWhite) {
+ uint8_t r, g, b;
+ shape->fillColor(&r, &g, &b, nullptr);
+ if (shape->fill() || r < 255 || g < 255 || b < 255 || shape->strokeFill() ||
+ (shape->strokeColor(&r, &g, &b, nullptr) == Result::Success && (r < 255 || g < 255 || b < 255))) {
+ *isMaskWhite = false;
+ }
+ }
+ scene->push(move(shape));
+ }
}
}
_applyComposition(scene.get(), node, vBox, svgPath);
@@ -620,17 +706,13 @@ unique_ptr<Scene> svgSceneBuild(SvgNode* node, float vx, float vy, float vw, flo
auto tvy = vy * scale;
auto tvw = vw * scale;
auto tvh = vh * scale;
- if (vw > vh) tvy -= (h - tvh) * 0.5f;
- else tvx -= (w - tvw) * 0.5f;
+ tvx -= (w - tvw) * 0.5f;
+ tvy -= (h - tvh) * 0.5f;
docNode->translate(-tvx, -tvy);
} else {
//Align
auto tvx = vx * sx;
auto tvy = vy * sy;
- auto tvw = vw * sx;
- auto tvh = vh * sy;
- if (tvw > tvh) tvy -= (h - tvh) * 0.5f;
- else tvx -= (w - tvw) * 0.5f;
Matrix m = {sx, 0, -tvx, 0, sy, -tvy, 0, 0, 1};
docNode->transform(m);
}
diff --git a/thirdparty/thorvg/src/loaders/svg/tvgSvgSceneBuilder.h b/thirdparty/thorvg/src/loaders/svg/tvgSvgSceneBuilder.h
index 4232aca612..cecbbf02a8 100644
--- a/thirdparty/thorvg/src/loaders/svg/tvgSvgSceneBuilder.h
+++ b/thirdparty/thorvg/src/loaders/svg/tvgSvgSceneBuilder.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/svg/tvgSvgUtil.cpp b/thirdparty/thorvg/src/loaders/svg/tvgSvgUtil.cpp
index 9f269b29a2..1f1fe2a718 100644
--- a/thirdparty/thorvg/src/loaders/svg/tvgSvgUtil.cpp
+++ b/thirdparty/thorvg/src/loaders/svg/tvgSvgUtil.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/svg/tvgSvgUtil.h b/thirdparty/thorvg/src/loaders/svg/tvgSvgUtil.h
index 4320cfed4e..b5e6e1bdb2 100644
--- a/thirdparty/thorvg/src/loaders/svg/tvgSvgUtil.h
+++ b/thirdparty/thorvg/src/loaders/svg/tvgSvgUtil.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/svg/tvgXmlParser.cpp b/thirdparty/thorvg/src/loaders/svg/tvgXmlParser.cpp
index ee199da231..a12689c7dd 100644
--- a/thirdparty/thorvg/src/loaders/svg/tvgXmlParser.cpp
+++ b/thirdparty/thorvg/src/loaders/svg/tvgXmlParser.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -236,6 +236,14 @@ static SimpleXMLType _getXMLType(const char* itr, const char* itrEnd, size_t &to
}
+static char* _strndup(const char* src, unsigned len)
+{
+ auto ret = (char*)malloc(len + 1);
+ if (!ret) return nullptr;
+ ret[len] = '\0';
+ return (char*)memcpy(ret, src, len);
+}
+
/************************************************************************/
/* External Class Implementation */
/************************************************************************/
@@ -264,6 +272,7 @@ const char* simpleXmlNodeTypeToString(TVG_UNUSED SvgNodeType type)
"Video",
"ClipPath",
"Mask",
+ "Symbol",
"Unknown",
};
return TYPE_NAMES[(int) type];
@@ -450,7 +459,7 @@ bool simpleXmlParse(const char* buf, unsigned bufLength, bool strip, simpleXMLCb
}
-bool simpleXmlParseW3CAttribute(const char* buf, simpleXMLAttributeCb func, const void* data)
+bool simpleXmlParseW3CAttribute(const char* buf, unsigned bufLength, simpleXMLAttributeCb func, const void* data)
{
const char* end;
char* key;
@@ -459,7 +468,7 @@ bool simpleXmlParseW3CAttribute(const char* buf, simpleXMLAttributeCb func, cons
if (!buf) return false;
- end = buf + strlen(buf);
+ end = buf + bufLength;
key = (char*)alloca(end - buf + 1);
val = (char*)alloca(end - buf + 1);
@@ -468,6 +477,11 @@ bool simpleXmlParseW3CAttribute(const char* buf, simpleXMLAttributeCb func, cons
do {
char* sep = (char*)strchr(buf, ':');
next = (char*)strchr(buf, ';');
+ if (sep >= end) {
+ next = nullptr;
+ sep = nullptr;
+ }
+ if (next >= end) next = nullptr;
key[0] = '\0';
val[0] = '\0';
@@ -509,6 +523,47 @@ bool simpleXmlParseW3CAttribute(const char* buf, simpleXMLAttributeCb func, cons
}
+/*
+ * Supported formats:
+ * tag {}, .name {}, tag.name{}
+ */
+const char* simpleXmlParseCSSAttribute(const char* buf, unsigned bufLength, char** tag, char** name, const char** attrs, unsigned* attrsLength)
+{
+ if (!buf) return nullptr;
+
+ *tag = *name = nullptr;
+ *attrsLength = 0;
+
+ auto itr = _simpleXmlSkipWhiteSpace(buf, buf + bufLength);
+ auto itrEnd = (const char*)memchr(buf, '{', bufLength);
+
+ if (!itrEnd || itr == itrEnd) return nullptr;
+
+ auto nextElement = (const char*)memchr(itrEnd, '}', bufLength - (itrEnd - buf));
+ if (!nextElement) return nullptr;
+
+ *attrs = itrEnd + 1;
+ *attrsLength = nextElement - *attrs;
+
+ const char *p;
+
+ itrEnd = _simpleXmlUnskipWhiteSpace(itrEnd, itr);
+ if (*(itrEnd - 1) == '.') return nullptr;
+
+ for (p = itr; p < itrEnd; p++) {
+ if (*p == '.') break;
+ }
+
+ if (p == itr) *tag = strdup("all");
+ else *tag = _strndup(itr, p - itr);
+
+ if (p == itrEnd) *name = nullptr;
+ else *name = _strndup(p + 1, itrEnd - p - 1);
+
+ return (nextElement ? nextElement + 1 : nullptr);
+}
+
+
const char* simpleXmlFindAttributesTag(const char* buf, unsigned bufLength)
{
const char *itr = buf, *itrEnd = buf + bufLength;
diff --git a/thirdparty/thorvg/src/loaders/svg/tvgXmlParser.h b/thirdparty/thorvg/src/loaders/svg/tvgXmlParser.h
index d96a631528..e2761ca8da 100644
--- a/thirdparty/thorvg/src/loaders/svg/tvgXmlParser.h
+++ b/thirdparty/thorvg/src/loaders/svg/tvgXmlParser.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2020 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -32,7 +32,7 @@ const int xmlEntityLength[] = {6, 6, 6, 5, 4, 4, 6, 6};
enum class SimpleXMLType
{
Open = 0, //!< \<tag attribute="value"\>
- OpenEmpty, //!< \<tag attribute="value" /\>
+ OpenEmpty, //!< \<tag attribute="value" /\>
Close, //!< \</tag\>
Data, //!< tag text data
CData, //!< \<![cdata[something]]\>
@@ -41,16 +41,17 @@ enum class SimpleXMLType
Doctype, //!< \<!doctype html
Comment, //!< \<!-- something --\>
Ignored, //!< whatever is ignored by parser, like whitespace
- DoctypeChild //!< \<!doctype_child
+ DoctypeChild //!< \<!doctype_child
};
typedef bool (*simpleXMLCb)(void* data, SimpleXMLType type, const char* content, unsigned int length);
typedef bool (*simpleXMLAttributeCb)(void* data, const char* key, const char* value);
-bool simpleXmlParseAttributes(const char* buf, unsigned buflen, simpleXMLAttributeCb func, const void* data);
-bool simpleXmlParse(const char* buf, unsigned buflen, bool strip, simpleXMLCb func, const void* data);
-bool simpleXmlParseW3CAttribute(const char* buf, simpleXMLAttributeCb func, const void* data);
-const char *simpleXmlFindAttributesTag(const char* buf, unsigned buflen);
+bool simpleXmlParseAttributes(const char* buf, unsigned bufLength, simpleXMLAttributeCb func, const void* data);
+bool simpleXmlParse(const char* buf, unsigned bufLength, bool strip, simpleXMLCb func, const void* data);
+bool simpleXmlParseW3CAttribute(const char* buf, unsigned bufLength, simpleXMLAttributeCb func, const void* data);
+const char* simpleXmlParseCSSAttribute(const char* buf, unsigned bufLength, char** tag, char** name, const char** attrs, unsigned* attrsLength);
+const char* simpleXmlFindAttributesTag(const char* buf, unsigned bufLength);
bool isIgnoreUnsupportedLogElements(const char* tagName);
const char* simpleXmlNodeTypeToString(SvgNodeType type);
diff --git a/thirdparty/thorvg/src/loaders/tvg/tvgTvgBinInterpreter.cpp b/thirdparty/thorvg/src/loaders/tvg/tvgTvgBinInterpreter.cpp
index b0364b1055..2b85342b2c 100644
--- a/thirdparty/thorvg/src/loaders/tvg/tvgTvgBinInterpreter.cpp
+++ b/thirdparty/thorvg/src/loaders/tvg/tvgTvgBinInterpreter.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/tvg/tvgTvgCommon.h b/thirdparty/thorvg/src/loaders/tvg/tvgTvgCommon.h
index e7c3eba488..62181605a2 100644
--- a/thirdparty/thorvg/src/loaders/tvg/tvgTvgCommon.h
+++ b/thirdparty/thorvg/src/loaders/tvg/tvgTvgCommon.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/tvg/tvgTvgLoader.cpp b/thirdparty/thorvg/src/loaders/tvg/tvgTvgLoader.cpp
index d7f3184435..95d629d1f6 100644
--- a/thirdparty/thorvg/src/loaders/tvg/tvgTvgLoader.cpp
+++ b/thirdparty/thorvg/src/loaders/tvg/tvgTvgLoader.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/loaders/tvg/tvgTvgLoader.h b/thirdparty/thorvg/src/loaders/tvg/tvgTvgLoader.h
index d276ded33a..3ae841aa85 100644
--- a/thirdparty/thorvg/src/loaders/tvg/tvgTvgLoader.h
+++ b/thirdparty/thorvg/src/loaders/tvg/tvgTvgLoader.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/savers/tvg/tvgTvgSaver.cpp b/thirdparty/thorvg/src/savers/tvg/tvgTvgSaver.cpp
index 9dd57e5a89..aa54d21342 100644
--- a/thirdparty/thorvg/src/savers/tvg/tvgTvgSaver.cpp
+++ b/thirdparty/thorvg/src/savers/tvg/tvgTvgSaver.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/src/savers/tvg/tvgTvgSaver.h b/thirdparty/thorvg/src/savers/tvg/tvgTvgSaver.h
index 27186b5d4a..4acb35e76a 100644
--- a/thirdparty/thorvg/src/savers/tvg/tvgTvgSaver.h
+++ b/thirdparty/thorvg/src/savers/tvg/tvgTvgSaver.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2021 - 2022 Samsung Electronics Co., Ltd. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/thirdparty/thorvg/update-thorvg.sh b/thirdparty/thorvg/update-thorvg.sh
index ce3d5eed1c..29b5677983 100755
--- a/thirdparty/thorvg/update-thorvg.sh
+++ b/thirdparty/thorvg/update-thorvg.sh
@@ -1,4 +1,4 @@
-VERSION=0.7.1
+VERSION=0.8.0
rm -rf AUTHORS inc LICENSE src *.zip
curl -L -O https://github.com/Samsung/thorvg/archive/refs/tags/v$VERSION.zip
bsdtar --strip-components=1 -xvf *.zip