summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/classes/@GlobalScope.xml2
-rw-r--r--doc/classes/AnimationLibrary.xml8
-rw-r--r--doc/classes/Array.xml45
-rw-r--r--doc/classes/AudioEffectCapture.xml2
-rw-r--r--doc/classes/Button.xml3
-rw-r--r--doc/classes/Color.xml22
-rw-r--r--doc/classes/ColorPicker.xml3
-rw-r--r--doc/classes/CurveTexture.xml8
-rw-r--r--doc/classes/CurveXYZTexture.xml7
-rw-r--r--doc/classes/Dictionary.xml8
-rw-r--r--doc/classes/EditorPlugin.xml35
-rw-r--r--doc/classes/FontData.xml14
-rw-r--r--doc/classes/GradientTexture1D.xml2
-rw-r--r--doc/classes/GradientTexture2D.xml2
-rw-r--r--doc/classes/LightmapGI.xml44
-rw-r--r--doc/classes/LightmapGIData.xml10
-rw-r--r--doc/classes/LightmapProbe.xml3
-rw-r--r--doc/classes/Lightmapper.xml3
-rw-r--r--doc/classes/LightmapperRD.xml3
-rw-r--r--doc/classes/Mesh.xml2
-rw-r--r--doc/classes/MeshInstance2D.xml2
-rw-r--r--doc/classes/NavigationAgent2D.xml5
-rw-r--r--doc/classes/NavigationAgent3D.xml5
-rw-r--r--doc/classes/NavigationMesh.xml70
-rw-r--r--doc/classes/NavigationMeshGenerator.xml2
-rw-r--r--doc/classes/NavigationRegion2D.xml9
-rw-r--r--doc/classes/NavigationRegion3D.xml10
-rw-r--r--doc/classes/NavigationServer2D.xml30
-rw-r--r--doc/classes/NavigationServer3D.xml30
-rw-r--r--doc/classes/Node2D.xml3
-rw-r--r--doc/classes/NodePath.xml8
-rw-r--r--doc/classes/OS.xml2
-rw-r--r--doc/classes/ProjectSettings.xml29
-rw-r--r--doc/classes/Range.xml2
-rw-r--r--doc/classes/RenderingServer.xml12
-rw-r--r--doc/classes/SceneTreeTimer.xml2
-rw-r--r--doc/classes/String.xml8
-rw-r--r--doc/classes/StringName.xml8
-rw-r--r--doc/classes/TextServer.xml22
-rw-r--r--doc/classes/TextServerExtension.xml22
-rw-r--r--doc/classes/Texture2D.xml3
-rw-r--r--doc/classes/Viewport.xml8
-rw-r--r--doc/classes/VisualShaderNodeFloatFunc.xml2
-rw-r--r--doc/classes/VisualShaderNodeVectorFunc.xml2
-rw-r--r--doc/classes/WorldEnvironment.xml1
-rwxr-xr-xdoc/tools/make_rst.py47
-rw-r--r--doc/translations/ar.po98
-rw-r--r--doc/translations/ca.po98
-rw-r--r--doc/translations/classes.pot98
-rw-r--r--doc/translations/cs.po101
-rw-r--r--doc/translations/de.po98
-rw-r--r--doc/translations/el.po98
-rw-r--r--doc/translations/es.po179
-rw-r--r--doc/translations/fa.po98
-rw-r--r--doc/translations/fi.po98
-rw-r--r--doc/translations/fil.po98
-rw-r--r--doc/translations/fr.po1278
-rw-r--r--doc/translations/gl.po98
-rw-r--r--doc/translations/hi.po98
-rw-r--r--doc/translations/hu.po98
-rw-r--r--doc/translations/id.po98
-rw-r--r--doc/translations/is.po98
-rw-r--r--doc/translations/it.po98
-rw-r--r--doc/translations/ja.po104
-rw-r--r--doc/translations/ko.po103
-rw-r--r--doc/translations/lt.po98
-rw-r--r--doc/translations/lv.po98
-rw-r--r--doc/translations/mr.po98
-rw-r--r--doc/translations/nb.po98
-rw-r--r--doc/translations/ne.po98
-rw-r--r--doc/translations/nl.po98
-rw-r--r--doc/translations/pl.po101
-rw-r--r--doc/translations/pt.po98
-rw-r--r--doc/translations/pt_BR.po107
-rw-r--r--doc/translations/ro.po98
-rw-r--r--doc/translations/ru.po173
-rw-r--r--doc/translations/sk.po98
-rw-r--r--doc/translations/sr_Cyrl.po98
-rw-r--r--doc/translations/sv.po98
-rw-r--r--doc/translations/th.po98
-rw-r--r--doc/translations/tl.po98
-rw-r--r--doc/translations/tr.po100
-rw-r--r--doc/translations/uk.po106
-rw-r--r--doc/translations/vi.po101
-rw-r--r--doc/translations/zh_CN.po407
-rw-r--r--doc/translations/zh_TW.po98
86 files changed, 4150 insertions, 2024 deletions
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml
index 43101d6e5e..dce96fb315 100644
--- a/doc/classes/@GlobalScope.xml
+++ b/doc/classes/@GlobalScope.xml
@@ -2626,6 +2626,8 @@
<constant name="METHOD_FLAG_FROM_SCRIPT" value="64" enum="MethodFlags">
Deprecated method flag, unused.
</constant>
+ <constant name="METHOD_FLAG_VARARG" value="128" enum="MethodFlags">
+ </constant>
<constant name="METHOD_FLAG_STATIC" value="256" enum="MethodFlags">
</constant>
<constant name="METHOD_FLAG_OBJECT_CORE" value="512" enum="MethodFlags">
diff --git a/doc/classes/AnimationLibrary.xml b/doc/classes/AnimationLibrary.xml
index 0a731edadd..d856c65dfc 100644
--- a/doc/classes/AnimationLibrary.xml
+++ b/doc/classes/AnimationLibrary.xml
@@ -51,18 +51,18 @@
</members>
<signals>
<signal name="animation_added">
- <argument index="0" name="name" type="Animation" />
+ <argument index="0" name="name" type="StringName" />
<description>
</description>
</signal>
<signal name="animation_removed">
- <argument index="0" name="name" type="Animation" />
+ <argument index="0" name="name" type="StringName" />
<description>
</description>
</signal>
<signal name="animation_renamed">
- <argument index="0" name="name" type="Animation" />
- <argument index="1" name="to_name" type="Animation" />
+ <argument index="0" name="name" type="StringName" />
+ <argument index="1" name="to_name" type="StringName" />
<description>
</description>
</signal>
diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml
index ef4f86f1a9..94181db95f 100644
--- a/doc/classes/Array.xml
+++ b/doc/classes/Array.xml
@@ -123,6 +123,48 @@
</constructor>
</constructors>
<methods>
+ <method name="all" qualifiers="const">
+ <return type="bool" />
+ <argument index="0" name="method" type="Callable" />
+ <description>
+ Calls the provided [Callable] on each element in the array and returns [code]true[/code] if the [Callable] returns [code]true[/code] for [i]all[/i] elements in the array. If the [Callable] returns [code]false[/code] for one array element or more, this method returns [code]false[/code].
+ The callable's method should take one [Variant] parameter (the current array element) and return a boolean value.
+ [codeblock]
+ func _ready():
+ print([6, 10, 6].all(greater_than_5)) # Prints True (3 elements evaluate to `true`).
+ print([4, 10, 4].all(greater_than_5)) # Prints False (1 elements evaluate to `true`).
+ print([4, 4, 4].all(greater_than_5)) # Prints False (0 elements evaluate to `true`).
+
+ print([6, 10, 6].all(func(number): return number &gt; 5)) # Prints True. Same as the first line above, but using lambda function.
+
+ func greater_than_5(number):
+ return number &gt; 5
+ [/codeblock]
+ See also [method any], [method filter], [method map] and [method reduce].
+ [b]Note:[/b] Unlike relying on the size of an array returned by [method filter], this method will return as early as possible to improve performance (especially with large arrays).
+ </description>
+ </method>
+ <method name="any" qualifiers="const">
+ <return type="bool" />
+ <argument index="0" name="method" type="Callable" />
+ <description>
+ Calls the provided [Callable] on each element in the array and returns [code]true[/code] if the [Callable] returns [code]true[/code] for [i]one or more[/i] elements in the array. If the [Callable] returns [code]false[/code] for all elements in the array, this method returns [code]false[/code].
+ The callable's method should take one [Variant] parameter (the current array element) and return a boolean value.
+ [codeblock]
+ func _ready():
+ print([6, 10, 6].any(greater_than_5)) # Prints True (3 elements evaluate to `true`).
+ print([4, 10, 4].any(greater_than_5)) # Prints True (1 elements evaluate to `true`).
+ print([4, 4, 4].any(greater_than_5)) # Prints False (0 elements evaluate to `true`).
+
+ print([6, 10, 6].any(func(number): return number &gt; 5)) # Prints True. Same as the first line above, but using lambda function.
+
+ func greater_than_5(number):
+ return number &gt; 5
+ [/codeblock]
+ See also [method all], [method filter], [method map] and [method reduce].
+ [b]Note:[/b] Unlike relying on the size of an array returned by [method filter], this method will return as early as possible to improve performance (especially with large arrays).
+ </description>
+ </method>
<method name="append">
<return type="void" />
<argument index="0" name="value" type="Variant" />
@@ -232,6 +274,7 @@
func remove_1(number):
return number != 1
[/codeblock]
+ See also [method any], [method all], [method map] and [method reduce].
</description>
</method>
<method name="find" qualifiers="const">
@@ -333,6 +376,7 @@
func negate(number):
return -number
[/codeblock]
+ See also [method filter], [method reduce], [method any] and [method all].
</description>
</method>
<method name="max" qualifiers="const">
@@ -398,6 +442,7 @@
func sum(accum, number):
return accum + number
[/codeblock]
+ See also [method map], [method filter], [method any] and [method all].
</description>
</method>
<method name="remove_at">
diff --git a/doc/classes/AudioEffectCapture.xml b/doc/classes/AudioEffectCapture.xml
index 5ab4403be5..7a7f1f8e8a 100644
--- a/doc/classes/AudioEffectCapture.xml
+++ b/doc/classes/AudioEffectCapture.xml
@@ -5,7 +5,7 @@
</brief_description>
<description>
AudioEffectCapture is an AudioEffect which copies all audio frames from the attached audio effect bus into its internal ring buffer.
- Application code should consume these audio frames from this ring buffer using [method get_buffer] and process it as needed, for example to capture data from a microphone, implement application defined effects, or to transmit audio over the network.
+ Application code should consume these audio frames from this ring buffer using [method get_buffer] and process it as needed, for example to capture data from a microphone, implement application defined effects, or to transmit audio over the network. When capturing audio data from a microphone, the format of the samples will be stereo 32-bit floating point PCM.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Button.xml b/doc/classes/Button.xml
index d85d02fbfb..4ece57fa81 100644
--- a/doc/classes/Button.xml
+++ b/doc/classes/Button.xml
@@ -92,6 +92,9 @@
<member name="text_direction" type="int" setter="set_text_direction" getter="get_text_direction" enum="Control.TextDirection" default="0">
Base text writing direction.
</member>
+ <member name="text_overrun_behavior" type="int" setter="set_text_overrun_behavior" getter="get_text_overrun_behavior" enum="TextParagraph.OverrunBehavior" default="0">
+ Sets the clipping behavior when the text exceeds the node's bounding rectangle. See [enum TextParagraph.OverrunBehavior] for a description of all modes.
+ </member>
</members>
<theme_items>
<theme_item name="font_color" data_type="color" type="Color" default="Color(0.875, 0.875, 0.875, 1)">
diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml
index 7b8a57ed22..59ad104ad1 100644
--- a/doc/classes/Color.xml
+++ b/doc/classes/Color.xml
@@ -157,10 +157,28 @@
Constructs a color from an [url=https://en.wikipedia.org/wiki/HSL_and_HSV]HSV profile[/url]. [code]h[/code] (hue), [code]s[/code] (saturation), and [code]v[/code] (value) are typically between 0 and 1.
[codeblocks]
[gdscript]
- var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8)
+ var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8)
[/gdscript]
[csharp]
- var c = Color.FromHsv(0.58f, 0.5f, 0.79f, 0.8f);
+ var color = Color.FromHsv(0.58f, 0.5f, 0.79f, 0.8f);
+ [/csharp]
+ [/codeblocks]
+ </description>
+ </method>
+ <method name="from_ok_hsl" qualifiers="static">
+ <return type="Color" />
+ <argument index="0" name="h" type="float" />
+ <argument index="1" name="s" type="float" />
+ <argument index="2" name="l" type="float" />
+ <argument index="3" name="alpha" type="float" default="1.0" />
+ <description>
+ Constructs a color from an [url=https://bottosson.github.io/posts/colorpicker/]OK HSL profile[/url]. [code]h[/code] (hue), [code]s[/code] (saturation), and [code]v[/code] (value) are typically between 0 and 1.
+ [codeblocks]
+ [gdscript]
+ var color = Color.from_ok_hsl(0.58, 0.5, 0.79, 0.8)
+ [/gdscript]
+ [csharp]
+ var color = Color.FromOkHsl(0.58f, 0.5f, 0.79f, 0.8f);
[/csharp]
[/codeblocks]
</description>
diff --git a/doc/classes/ColorPicker.xml b/doc/classes/ColorPicker.xml
index 5c47d6fb54..7c9c4ed4d6 100644
--- a/doc/classes/ColorPicker.xml
+++ b/doc/classes/ColorPicker.xml
@@ -91,6 +91,9 @@
<constant name="SHAPE_VHS_CIRCLE" value="2" enum="PickerShapeType">
HSV Color Model circle color space. Use Saturation as a radius.
</constant>
+ <constant name="SHAPE_OKHSL_CIRCLE" value="3" enum="PickerShapeType">
+ HSL OK Color Model circle color space.
+ </constant>
</constants>
<theme_items>
<theme_item name="h_width" data_type="constant" type="int" default="30">
diff --git a/doc/classes/CurveTexture.xml b/doc/classes/CurveTexture.xml
index 6aa39e453e..85473fc237 100644
--- a/doc/classes/CurveTexture.xml
+++ b/doc/classes/CurveTexture.xml
@@ -5,23 +5,27 @@
</brief_description>
<description>
Renders a given [Curve] provided to it. Simplifies the task of drawing curves and/or saving them as image files.
+ If you need to store up to 3 curves within a single texture, use [CurveXYZTexture] instead. See also [GradientTexture1D] and [GradientTexture2D].
</description>
<tutorials>
</tutorials>
<members>
<member name="curve" type="Curve" setter="set_curve" getter="get_curve">
- The [code]curve[/code] rendered onto the texture.
+ The [Curve] that is rendered onto the texture.
</member>
<member name="texture_mode" type="int" setter="set_texture_mode" getter="get_texture_mode" enum="CurveTexture.TextureMode" default="0">
+ The format the texture should be generated with. When passing a CurveTexture as a input to a [Shader], this may need to be adjusted.
</member>
<member name="width" type="int" setter="set_width" getter="get_width" default="256">
- The width of the texture.
+ The width of the texture (in pixels). Higher values make it possible to represent high-frequency data better (such as sudden direction changes), at the cost of increased generation time and memory usage.
</member>
</members>
<constants>
<constant name="TEXTURE_MODE_RGB" value="0" enum="TextureMode">
+ Store the curve equally across the red, green and blue channels. This uses more video memory, but is more compatible with shaders that only read the green and blue values.
</constant>
<constant name="TEXTURE_MODE_RED" value="1" enum="TextureMode">
+ Store the curve only in the red channel. This saves video memory, but some custom shaders may not be able to work with this.
</constant>
</constants>
</class>
diff --git a/doc/classes/CurveXYZTexture.xml b/doc/classes/CurveXYZTexture.xml
index d289e394aa..e3f2e8fc45 100644
--- a/doc/classes/CurveXYZTexture.xml
+++ b/doc/classes/CurveXYZTexture.xml
@@ -1,19 +1,26 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CurveXYZTexture" inherits="Texture2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
+ A texture that shows 3 different curves (stored on the red, green and blue color channels).
</brief_description>
<description>
+ Renders 3 given [Curve]s provided to it, on the red, green and blue channels respectively. Compared to using separate [CurveTexture]s, this further simplifies the task of drawing curves and/or saving them as image files.
+ If you only need to store one curve within a single texture, use [CurveTexture] instead. See also [GradientTexture1D] and [GradientTexture2D].
</description>
<tutorials>
</tutorials>
<members>
<member name="curve_x" type="Curve" setter="set_curve_x" getter="get_curve_x">
+ The [Curve] that is rendered onto the texture's red channel.
</member>
<member name="curve_y" type="Curve" setter="set_curve_y" getter="get_curve_y">
+ The [Curve] that is rendered onto the texture's green channel.
</member>
<member name="curve_z" type="Curve" setter="set_curve_z" getter="get_curve_z">
+ The [Curve] that is rendered onto the texture's blue channel.
</member>
<member name="width" type="int" setter="set_width" getter="get_width" default="256">
+ The width of the texture (in pixels). Higher values make it possible to represent high-frequency data better (such as sudden direction changes), at the cost of increased generation time and memory usage.
</member>
</members>
</class>
diff --git a/doc/classes/Dictionary.xml b/doc/classes/Dictionary.xml
index b46719c758..6f2ad5205c 100644
--- a/doc/classes/Dictionary.xml
+++ b/doc/classes/Dictionary.xml
@@ -291,6 +291,14 @@
Returns the list of keys in the [Dictionary].
</description>
</method>
+ <method name="merge">
+ <return type="void" />
+ <argument index="0" name="dictionary" type="Dictionary" />
+ <argument index="1" name="overwrite" type="bool" default="false" />
+ <description>
+ Adds elements from [code]dictionary[/code] to this [Dictionary]. By default, duplicate keys will not be copied over, unless [code]overwrite[/code] is [code]true[/code].
+ </description>
+ </method>
<method name="size" qualifiers="const">
<return type="int" />
<description>
diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml
index 7bbb2ae26c..1514b82ff8 100644
--- a/doc/classes/EditorPlugin.xml
+++ b/doc/classes/EditorPlugin.xml
@@ -261,14 +261,28 @@
<method name="_get_state" qualifiers="virtual const">
<return type="Dictionary" />
<description>
- Gets the state of your plugin editor. This is used when saving the scene (so state is kept when opening it again) and for switching tabs (so state can be restored when the tab returns).
+ Override this method to provide a state data you want to be saved, like view position, grid settings, folding, etc. This is used when saving the scene (so state is kept when opening it again) and for switching tabs (so state can be restored when the tab returns). This data is automatically saved for each scene in an [code]editstate[/code] file in the editor metadata folder. If you want to store global (scene-independent) editor data for your plugin, you can use [method _get_window_layout] instead.
+ Use [method _set_state] to restore your saved state.
+ [b]Note:[/b] This method should not be used to save important settings that should persist with the project.
+ [b]Note:[/b] You must implement [method _get_plugin_name] for the state to be stored and restored correctly.
+ [codeblock]
+ func _get_state():
+ var state = {"zoom": zoom, "preferred_color": my_color}
+ return state
+ [/codeblock]
</description>
</method>
<method name="_get_window_layout" qualifiers="virtual">
<return type="void" />
<argument index="0" name="configuration" type="ConfigFile" />
<description>
- Gets the GUI layout of the plugin. This is used to save the project's editor layout when [method queue_save_layout] is called or the editor layout was changed(For example changing the position of a dock).
+ Override this method to provide the GUI layout of the plugin or any other data you want to be stored. This is used to save the project's editor layout when [method queue_save_layout] is called or the editor layout was changed (for example changing the position of a dock). The data is stored in the [code]editor_layout.cfg[/code] file in the editor metadata directory.
+ Use [method _set_window_layout] to restore your saved layout.
+ [codeblock]
+ func _get_window_layout(configuration):
+ configuration.set_value("MyPlugin", "window_position", $Window.position)
+ configuration.set_value("MyPlugin", "icon_color", $Icon.modulate)
+ [/codeblock]
</description>
</method>
<method name="_handles" qualifiers="virtual const">
@@ -302,14 +316,25 @@
<return type="void" />
<argument index="0" name="state" type="Dictionary" />
<description>
- Restore the state saved by [method _get_state].
+ Restore the state saved by [method _get_state]. This method is called when the current scene tab is changed in the editor.
+ [b]Note:[/b] Your plugin must implement [method _get_plugin_name], otherwise it will not be recognized and this method will not be called.
+ [codeblock]
+ func _set_state(data):
+ zoom = data.get("zoom", 1.0)
+ preferred_color = data.get("my_color", Color.white)
+ [/codeblock]
</description>
</method>
<method name="_set_window_layout" qualifiers="virtual">
<return type="void" />
<argument index="0" name="configuration" type="ConfigFile" />
<description>
- Restore the plugin GUI layout saved by [method _get_window_layout].
+ Restore the plugin GUI layout and data saved by [method _get_window_layout]. This method is called for every plugin on editor startup. Use the provided [code]configuration[/code] file to read your saved data.
+ [codeblock]
+ func _set_window_layout(configuration):
+ $Window.position = configuration.get_value("MyPlugin", "window_position", Vector2())
+ $Icon.modulate = configuration.get_value("MyPlugin", "icon_color", Color.white)
+ [/codeblock]
</description>
</method>
<method name="add_autoload_singleton">
@@ -479,7 +504,7 @@
<method name="get_script_create_dialog">
<return type="ScriptCreateDialog" />
<description>
- Gets the Editor's dialogue used for making scripts.
+ Gets the Editor's dialog used for making scripts.
[b]Note:[/b] Users can configure it before use.
[b]Warning:[/b] Removing and freeing this node will render a part of the editor useless and may cause a crash.
</description>
diff --git a/doc/classes/FontData.xml b/doc/classes/FontData.xml
index a423d7a4e4..d32e7b3a94 100644
--- a/doc/classes/FontData.xml
+++ b/doc/classes/FontData.xml
@@ -3,7 +3,7 @@
<brief_description>
Font source data and prerendered glyph cache, imported from dynamic or bitmap font.
Supported font formats:
- - Dynamic font importer: TrueType (.ttf), OpenType (.otf), WOFF (.woff), WOFF2 (.woff2), Type 1 (.pfb, .pfm).
+ - Dynamic font importer: TrueType (.ttf), TrueType collection (.ttc), OpenType (.otf), OpenType collection (.otc), WOFF (.woff), WOFF2 (.woff2), Type 1 (.pfb, .pfm).
- Bitmap font importer: AngelCode BMFont (.fnt, .font), text and binary (version 3) format variants.
- Monospace image font importer: All supported image formats.
</brief_description>
@@ -87,6 +87,12 @@
Returns font descent (number of pixels below the baseline).
</description>
</method>
+ <method name="get_face_count" qualifiers="const">
+ <return type="int" />
+ <description>
+ Returns number of faces in the TrueType / OpenType collection.
+ </description>
+ </method>
<method name="get_glyph_advance" qualifiers="const">
<return type="Vector2" />
<argument index="0" name="cache_index" type="int" />
@@ -318,7 +324,8 @@
<return type="int" enum="Error" />
<argument index="0" name="path" type="String" />
<description>
- Loads a TrueType (.ttf), OpenType (.otf), WOFF (.woff), WOFF2 (.woff2) or Type 1 (.pfb, .pfm) dynamic font from file [code]path[/code].
+ Loads a TrueType (.ttf), TrueType collection (.ttc), OpenType (.otf), OpenType collection (.otc), WOFF (.woff), WOFF2 (.woff2) or Type 1 (.pfb, .pfm) dynamic font from file [code]path[/code].
+ [b]Note:[/b] Use [member face_index] to select specific face from the collection file.
[b]Warning:[/b] This method should only be used in the editor or in cases when you need to load external fonts at run-time, such as fonts located at the [code]user://[/code] directory.
</description>
</method>
@@ -570,6 +577,9 @@
<member name="embolden" type="float" setter="set_embolden" getter="get_embolden" default="0.0">
If is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.
</member>
+ <member name="face_index" type="int" setter="set_face_index" getter="get_face_index" default="0">
+ Active face index in the TrueType / OpenType collection file.
+ </member>
<member name="fixed_size" type="int" setter="set_fixed_size" getter="get_fixed_size" default="0">
Font size, used only for the bitmap fonts.
</member>
diff --git a/doc/classes/GradientTexture1D.xml b/doc/classes/GradientTexture1D.xml
index a124753a9f..3254754ac1 100644
--- a/doc/classes/GradientTexture1D.xml
+++ b/doc/classes/GradientTexture1D.xml
@@ -4,7 +4,7 @@
Gradient-filled texture.
</brief_description>
<description>
- GradientTexture1D uses a [Gradient] to fill the texture data. The gradient will be filled from left to right using colors obtained from the gradient. This means the texture does not necessarily represent an exact copy of the gradient, but instead an interpolation of samples obtained from the gradient at fixed steps (see [member width]).
+ GradientTexture1D uses a [Gradient] to fill the texture data. The gradient will be filled from left to right using colors obtained from the gradient. This means the texture does not necessarily represent an exact copy of the gradient, but instead an interpolation of samples obtained from the gradient at fixed steps (see [member width]). See also [GradientTexture2D], [CurveTexture] and [CurveXYZTexture].
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/GradientTexture2D.xml b/doc/classes/GradientTexture2D.xml
index 4362578932..7561f1b947 100644
--- a/doc/classes/GradientTexture2D.xml
+++ b/doc/classes/GradientTexture2D.xml
@@ -4,7 +4,7 @@
Gradient-filled 2D texture.
</brief_description>
<description>
- The texture uses a [Gradient] to fill the texture data in 2D space. The gradient is filled according to the specified [member fill] and [member repeat] types using colors obtained from the gradient. The texture does not necessarily represent an exact copy of the gradient, but instead an interpolation of samples obtained from the gradient at fixed steps (see [member width] and [member height]).
+ The texture uses a [Gradient] to fill the texture data in 2D space. The gradient is filled according to the specified [member fill] and [member repeat] types using colors obtained from the gradient. The texture does not necessarily represent an exact copy of the gradient, but instead an interpolation of samples obtained from the gradient at fixed steps (see [member width] and [member height]). See also [GradientTexture1D], [CurveTexture] and [CurveXYZTexture].
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/LightmapGI.xml b/doc/classes/LightmapGI.xml
index ee98356962..ffde0d95ce 100644
--- a/doc/classes/LightmapGI.xml
+++ b/doc/classes/LightmapGI.xml
@@ -4,80 +4,122 @@
Computes and stores baked lightmaps for fast global illumination.
</brief_description>
<description>
- The [LightmapGI] node is used to compute and store baked lightmaps. Lightmaps are used to provide high-quality indirect lighting with very little light leaking. [LightmapGI] can also provide rough reflections using spherical harmonics if [member directional] is enabled. Dynamic objects can receive indirect lighting thanks to [i]light probes[/i], which can be automatically placed by setting [member generate_probes_subdiv]. Additional lightmap probes can also be added by creating [LightmapProbe] nodes. The downside is that lightmaps are fully static and cannot be baked in an exported project. Baking a [LightmapGI] node is also slower compared to [VoxelGI].
+ The [LightmapGI] node is used to compute and store baked lightmaps. Lightmaps are used to provide high-quality indirect lighting with very little light leaking. [LightmapGI] can also provide rough reflections using spherical harmonics if [member directional] is enabled. Dynamic objects can receive indirect lighting thanks to [i]light probes[/i], which can be automatically placed by setting [member generate_probes_subdiv] to a value other than [constant GENERATE_PROBES_DISABLED]. Additional lightmap probes can also be added by creating [LightmapProbe] nodes. The downside is that lightmaps are fully static and cannot be baked in an exported project. Baking a [LightmapGI] node is also slower compared to [VoxelGI].
[b]Procedural generation:[/b] Lightmap baking functionality is only available in the editor. This means [LightmapGI] is not suited to procedurally generated or user-built levels. For procedurally generated or user-built levels, use [VoxelGI] or SDFGI instead (see [member Environment.sdfgi_enabled]).
[b]Performance:[/b] [LightmapGI] provides the best possible run-time performance for global illumination. It is suitable for low-end hardware including integrated graphics and mobile devices.
+ [b]Note:[/b] Due to how lightmaps work, most properties only have a visible effect once lightmaps are baked again.
+ [b]Note:[/b] Lightmap baking on [CSGShape3D]s and [PrimitiveMesh]es is not supported, as these cannot store UV2 data required for baking.
+ [b]Note:[/b] If no custom lightmappers are installed, [LightmapGI] can only be baked when using the Vulkan backend (Clustered or Mobile), not OpenGL.
</description>
<tutorials>
</tutorials>
<members>
<member name="bias" type="float" setter="set_bias" getter="get_bias" default="0.0005">
+ The bias to use when computing shadows. Increasing [member bias] can fix shadow acne on the resulting baked lightmap, but can introduce peter-panning (shadows not connecting to their casters). Real-time [Light3D] shadows are not affected by this [member bias] property.
</member>
<member name="bounces" type="int" setter="set_bounces" getter="get_bounces" default="1">
+ Number of light bounces that are taken into account during baking. Higher values result in brighter, more realistic lighting, at the cost of longer bake times. If set to [code]0[/code], only environment lighting, direct light and emissive lighting is baked.
</member>
<member name="directional" type="bool" setter="set_directional" getter="is_directional" default="false">
+ If [code]true[/code], bakes lightmaps to contain directional information as spherical harmonics. This results in more realistic lighting appearance, especially with normal mapped materials and for lights that their have direct light baked ([member Light3D.light_bake_mode] set to [constant Light3D.BAKE_STATIC]). The directional information is also used to provide rough reflections for static and dynamic objects. This has a small run-time performance cost as the shader has to perform more work to interpret the direction information from the lightmap. Directional lightmaps also take longer to bake and result in larger file sizes.
+ [b]Note:[/b] The property's name has no relationship with [DirectionalLight3D]. [member directional] works with all light types.
</member>
<member name="environment_custom_color" type="Color" setter="set_environment_custom_color" getter="get_environment_custom_color">
+ The color to use for environment lighting. Only effective if [member environment_mode] is [constant ENVIRONMENT_MODE_CUSTOM_COLOR].
</member>
<member name="environment_custom_energy" type="float" setter="set_environment_custom_energy" getter="get_environment_custom_energy">
+ The color multiplier to use for environment lighting. Only effective if [member environment_mode] is [constant ENVIRONMENT_MODE_CUSTOM_COLOR].
</member>
<member name="environment_custom_sky" type="Sky" setter="set_environment_custom_sky" getter="get_environment_custom_sky">
+ The sky to use as a source of environment lighting. Only effective if [member environment_mode] is [constant ENVIRONMENT_MODE_CUSTOM_SKY].
</member>
<member name="environment_mode" type="int" setter="set_environment_mode" getter="get_environment_mode" enum="LightmapGI.EnvironmentMode" default="0">
+ The environment mode to use when baking lightmaps.
</member>
<member name="generate_probes_subdiv" type="int" setter="set_generate_probes" getter="get_generate_probes" enum="LightmapGI.GenerateProbes" default="0">
+ The level of subdivision to use when automatically generating [LightmapProbe]s for dynamic object lighting. Higher values result in more accurate indirect lighting on dynamic objects, at the cost of longer bake times and larger file sizes.
+ [b]Note:[/b] Automatically generated [LightmapProbe]s are not visible as nodes in the Scene tree dock, and cannot be modified this way after they are generated.
+ [b]Note:[/b] Regardless of [member generate_probes_subdiv], direct lighting on dynamic objects is always applied using [Light3D] nodes in real-time.
</member>
<member name="interior" type="bool" setter="set_interior" getter="is_interior" default="false">
+ If [code]true[/code], ignore environment lighting when baking lightmaps.
</member>
<member name="light_data" type="LightmapGIData" setter="set_light_data" getter="get_light_data">
+ The [LightmapGIData] associated to this [LightmapGI] node. This resource is automatically created after baking, and is not meant to be created manually.
</member>
<member name="max_texture_size" type="int" setter="set_max_texture_size" getter="get_max_texture_size" default="16384">
+ The maximum texture size for the generated texture atlas. Higher values will result in fewer slices being generated, but may not work on all hardware as a result of hardware limitations on texture sizes. Leave [member max_texture_size] at its default value of [code]16384[/code] if unsure.
</member>
<member name="quality" type="int" setter="set_bake_quality" getter="get_bake_quality" enum="LightmapGI.BakeQuality" default="1">
+ The quality preset to use when baking lightmaps. This affects bake times, but output file sizes remain mostly identical across quality levels.
+ To further speed up bake times, decrease [member bounces], disable [member use_denoiser] and increase the lightmap texel size on 3D scenes in the Import doc.
</member>
<member name="use_denoiser" type="bool" setter="set_use_denoiser" getter="is_using_denoiser" default="true">
+ If [code]true[/code], uses a CPU-based denoising algorithm on the generated lightmap. This eliminates most noise within the generated lightmap at the cost of longer bake times. File sizes are generally not impacted significantly by the use of a denoiser, although lossless compression may do a better job at compressing a denoised image.
+ [b]Note:[/b] The built-in denoiser (OpenImageDenoise) may crash when denoising lightmaps in large scenes. If you encounter a crash at the end of lightmap baking, try disabling [member use_denoiser].
</member>
</members>
<constants>
<constant name="BAKE_QUALITY_LOW" value="0" enum="BakeQuality">
+ Low bake quality (fastest bake times). The quality of this preset can be adjusted by changing [member ProjectSettings.rendering/lightmapping/bake_quality/low_quality_ray_count] and [member ProjectSettings.rendering/lightmapping/bake_quality/low_quality_probe_ray_count].
</constant>
<constant name="BAKE_QUALITY_MEDIUM" value="1" enum="BakeQuality">
+ Medium bake quality (fast bake times). The quality of this preset can be adjusted by changing [member ProjectSettings.rendering/lightmapping/bake_quality/medium_quality_ray_count] and [member ProjectSettings.rendering/lightmapping/bake_quality/medium_quality_probe_ray_count].
</constant>
<constant name="BAKE_QUALITY_HIGH" value="2" enum="BakeQuality">
+ High bake quality (slow bake times). The quality of this preset can be adjusted by changing [member ProjectSettings.rendering/lightmapping/bake_quality/high_quality_ray_count] and [member ProjectSettings.rendering/lightmapping/bake_quality/high_quality_probe_ray_count].
</constant>
<constant name="BAKE_QUALITY_ULTRA" value="3" enum="BakeQuality">
+ Highest bake quality (slowest bake times). The quality of this preset can be adjusted by changing [member ProjectSettings.rendering/lightmapping/bake_quality/high_quality_ray_count] and [member ProjectSettings.rendering/lightmapping/bake_quality/ultra_quality_probe_ray_count].
</constant>
<constant name="GENERATE_PROBES_DISABLED" value="0" enum="GenerateProbes">
+ Don't generate lightmap probes for lighting dynamic objects.
</constant>
<constant name="GENERATE_PROBES_SUBDIV_4" value="1" enum="GenerateProbes">
+ Lowest level of subdivision (fastest bake times, smallest file sizes).
</constant>
<constant name="GENERATE_PROBES_SUBDIV_8" value="2" enum="GenerateProbes">
+ Low level of subdivision (fast bake times, small file sizes).
</constant>
<constant name="GENERATE_PROBES_SUBDIV_16" value="3" enum="GenerateProbes">
+ High level of subdivision (slow bake times, large file sizes).
</constant>
<constant name="GENERATE_PROBES_SUBDIV_32" value="4" enum="GenerateProbes">
+ Highest level of subdivision (slowest bake times, largest file sizes).
</constant>
<constant name="BAKE_ERROR_OK" value="0" enum="BakeError">
+ Lightmap baking was successful.
</constant>
<constant name="BAKE_ERROR_NO_LIGHTMAPPER" value="1" enum="BakeError">
+ Lightmap baking failed as there is no lightmapper available in this Godot build.
</constant>
<constant name="BAKE_ERROR_NO_SAVE_PATH" value="2" enum="BakeError">
+ Lightmap baking failed as the [LightmapGIData] save path isn't configured in the resource.
</constant>
<constant name="BAKE_ERROR_NO_MESHES" value="3" enum="BakeError">
+ Lightmap baking failed as there are no meshes whose [member GeometryInstance3D.gi_mode] is [constant GeometryInstance3D.GI_MODE_STATIC] and with valid UV2 mapping in the current scene. You may need to select 3D scenes in the Import dock and change their global illumination mode accordingly.
</constant>
<constant name="BAKE_ERROR_MESHES_INVALID" value="4" enum="BakeError">
+ Lightmap baking failed as the lightmapper failed to analyze some of the meshes marked as static for baking.
</constant>
<constant name="BAKE_ERROR_CANT_CREATE_IMAGE" value="5" enum="BakeError">
+ Lightmap baking failed as the resulting image couldn't be saved or imported by Godot after it was saved.
</constant>
<constant name="BAKE_ERROR_USER_ABORTED" value="6" enum="BakeError">
+ The user aborted the lightmap baking operation (typically by clicking the [b]Cancel[/b] button in the progress dialog).
</constant>
<constant name="ENVIRONMENT_MODE_DISABLED" value="0" enum="EnvironmentMode">
+ Ignore environment lighting when baking lightmaps.
</constant>
<constant name="ENVIRONMENT_MODE_SCENE" value="1" enum="EnvironmentMode">
+ Use the scene's environment lighting when baking lightmaps.
+ [b]Note:[/b] If baking lightmaps in a scene with no [WorldEnvironment] node, this will act like [constant ENVIRONMENT_MODE_DISABLED]. The editor's preview sky and sun is [i]not[/i] taken into account by [LightmapGI] when baking lightmaps.
</constant>
<constant name="ENVIRONMENT_MODE_CUSTOM_SKY" value="2" enum="EnvironmentMode">
+ Use [member environment_custom_sky] as a source of environment lighting when baking lightmaps.
</constant>
<constant name="ENVIRONMENT_MODE_CUSTOM_COLOR" value="3" enum="EnvironmentMode">
+ Use [member environment_custom_color] multiplied by [member environment_custom_energy] as a constant source of environment lighting when baking lightmaps.
</constant>
</constants>
</class>
diff --git a/doc/classes/LightmapGIData.xml b/doc/classes/LightmapGIData.xml
index c2423daef0..20113ac309 100644
--- a/doc/classes/LightmapGIData.xml
+++ b/doc/classes/LightmapGIData.xml
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="LightmapGIData" inherits="Resource" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
+ Contains baked lightmap and dynamic object probe data for [LightmapGI].
</brief_description>
<description>
+ [LightmapGIData] contains baked lightmap and dynamic object probe data for [LightmapGI]. It is replaced every time lightmaps are baked in [LightmapGI].
</description>
<tutorials>
</tutorials>
@@ -14,38 +16,46 @@
<argument index="2" name="slice_index" type="int" />
<argument index="3" name="sub_instance" type="int" />
<description>
+ Adds an object that is considered baked within this [LightmapGIData].
</description>
</method>
<method name="clear_users">
<return type="void" />
<description>
+ Clear all objects that are considred baked within this [LightmapGIData].
</description>
</method>
<method name="get_user_count" qualifiers="const">
<return type="int" />
<description>
+ Returns the number of objects that are considered baked within this [LightmapGIData].
</description>
</method>
<method name="get_user_path" qualifiers="const">
<return type="NodePath" />
<argument index="0" name="user_idx" type="int" />
<description>
+ Returns the [NodePath] of the baked object at index [code]user_idx[/code].
</description>
</method>
<method name="is_using_spherical_harmonics" qualifiers="const">
<return type="bool" />
<description>
+ If [code]true[/code], lightmaps were baked with directional information. See also [member LightmapGI.directional].
</description>
</method>
<method name="set_uses_spherical_harmonics">
<return type="void" />
<argument index="0" name="uses_spherical_harmonics" type="bool" />
<description>
+ If [code]uses_spherical_harmonics[/code] is [code]true[/code], tells the engine to treat the lightmap data as if it was baked with directional information.
+ [b]Note:[/b] Changing this value on already baked lightmaps will not cause them to be baked again. This means the material appearance will look incorrect until lightmaps are baked again, in which case the value set here is discarded as the entire [LightmapGIData] resource is replaced by the lightmapper.
</description>
</method>
</methods>
<members>
<member name="light_texture" type="TextureLayered" setter="set_light_texture" getter="get_light_texture">
+ The lightmap atlas texture generated by the lightmapper.
</member>
</members>
</class>
diff --git a/doc/classes/LightmapProbe.xml b/doc/classes/LightmapProbe.xml
index a5ba6294b9..cb4879b6c7 100644
--- a/doc/classes/LightmapProbe.xml
+++ b/doc/classes/LightmapProbe.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="LightmapProbe" inherits="Node3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
+ Represents a single manually placed probe for dynamic object lighting with [LightmapGI].
</brief_description>
<description>
+ [LightmapProbe] represents the position of a single manually placed probe for dynamic object lighting with [LightmapGI].
+ Typically, [LightmapGI] probes are placed automatically by setting [member LightmapGI.generate_probes_subdiv] to a value other than [constant LightmapGI.GENERATE_PROBES_DISABLED]. By creating [LightmapProbe] nodes before baking lightmaps, you can add more probes in specific areas for greater detail, or disable automatic generation and rely only on manually placed probes instead.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Lightmapper.xml b/doc/classes/Lightmapper.xml
index f9a1e2fa99..58ef2ed0cf 100644
--- a/doc/classes/Lightmapper.xml
+++ b/doc/classes/Lightmapper.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Lightmapper" inherits="RefCounted" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
+ Abstract class extended by lightmappers, for use in [LightmapGI].
</brief_description>
<description>
+ This class should be extended by custom lightmapper classes. Lightmappers can then be used with [LightmapGI] to provide fast baked global illumination in 3D.
+ Godot contains a built-in GPU-based lightmapper [LightmapperRD] that uses compute shaders, but custom lightmappers can be implemented by C++ modules.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/LightmapperRD.xml b/doc/classes/LightmapperRD.xml
index 29d95244ce..e4b68a7ef8 100644
--- a/doc/classes/LightmapperRD.xml
+++ b/doc/classes/LightmapperRD.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="LightmapperRD" inherits="Lightmapper" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
+ The built-in GPU-based lightmapper for use with [LightmapGI].
</brief_description>
<description>
+ LightmapperRD ("RD" stands for [RenderingDevice]) is the built-in GPU-based lightmapper for use with [LightmapGI]. On most dedicated GPUs, it can bake lightmaps much faster than most CPU-based lightmappers. LightmapperRD uses compute shaders to bake lightmaps, so it does not require CUDA or OpenCL libraries to be installed to be usable.
+ [b]Note:[/b] Only usable when using the Vulkan backend (Clustered or Mobile), not OpenGL.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Mesh.xml b/doc/classes/Mesh.xml
index 2b24901fe2..eeb6af24c9 100644
--- a/doc/classes/Mesh.xml
+++ b/doc/classes/Mesh.xml
@@ -123,7 +123,7 @@
<method name="generate_triangle_mesh" qualifiers="const">
<return type="TriangleMesh" />
<description>
- Generate a [TriangleMesh] from the mesh.
+ Generate a [TriangleMesh] from the mesh. Considers only surfaces using one of these primitive types: [constant PRIMITIVE_TRIANGLES], [constant PRIMITIVE_TRIANGLE_STRIP].
</description>
</method>
<method name="get_aabb" qualifiers="const">
diff --git a/doc/classes/MeshInstance2D.xml b/doc/classes/MeshInstance2D.xml
index 96e66f850a..e9666337a1 100644
--- a/doc/classes/MeshInstance2D.xml
+++ b/doc/classes/MeshInstance2D.xml
@@ -4,7 +4,7 @@
Node used for displaying a [Mesh] in 2D.
</brief_description>
<description>
- Node used for displaying a [Mesh] in 2D. Can be constructed from an existing [Sprite2D] via a tool in the editor toolbar. Select "Sprite2D" then "Convert to Mesh2D", select settings in popup and press "Create Mesh2D".
+ Node used for displaying a [Mesh] in 2D. A [MeshInstance2D] can be automatically created from an existing [Sprite2D] via a tool in the editor toolbar. Select the [Sprite2D] node, then choose [b]Sprite2D &gt; Convert to MeshInstance2D[/b] at the top of the 2D editor viewport.
</description>
<tutorials>
<link title="2D meshes">$DOCS_URL/tutorials/2d/2d_meshes.html</link>
diff --git a/doc/classes/NavigationAgent2D.xml b/doc/classes/NavigationAgent2D.xml
index 942579f564..945947ad9f 100644
--- a/doc/classes/NavigationAgent2D.xml
+++ b/doc/classes/NavigationAgent2D.xml
@@ -5,6 +5,7 @@
</brief_description>
<description>
2D Agent that is used in navigation to reach a location while avoiding static and dynamic obstacles. The dynamic obstacles are avoided using RVO collision avoidance. The agent needs navigation data to work correctly. [NavigationAgent2D] is physics safe.
+ [b]Note:[/b] After [method set_target_location] is used it is required to use the [method get_next_location] function once every physics frame to update the internal path logic of the NavigationAgent. The returned vector position from this function should be used as the next movement position for the agent's parent Node.
</description>
<tutorials>
</tutorials>
@@ -24,7 +25,7 @@
<method name="get_nav_path" qualifiers="const">
<return type="PackedVector2Array" />
<description>
- Returns the path from start to finish in global coordinates.
+ Returns this agent's current path from start to finish in global coordinates. The path only updates when the target location is changed or the agent requires a repath. The path array is not intended to be used in direct path movement as the agent has its own internal path logic that would get corrupted by changing the path array manually. Use the intended [method get_next_location] once every physics frame to receive the next path point for the agents movement as this function also updates the internal path logic.
</description>
</method>
<method name="get_nav_path_index" qualifiers="const">
@@ -36,7 +37,7 @@
<method name="get_next_location">
<return type="Vector2" />
<description>
- Returns a [Vector2] in global coordinates, that can be moved to, making sure that there are no static objects in the way. If the agent does not have a navigation path, it will return the position of the agent's parent.
+ Returns the next location in global coordinates that can be moved to, making sure that there are no static objects in the way. If the agent does not have a navigation path, it will return the position of the agent's parent. The use of this function once every physics frame is required to update the internal path logic of the NavigationAgent.
</description>
</method>
<method name="get_rid" qualifiers="const">
diff --git a/doc/classes/NavigationAgent3D.xml b/doc/classes/NavigationAgent3D.xml
index db2210b6e3..7f7e058742 100644
--- a/doc/classes/NavigationAgent3D.xml
+++ b/doc/classes/NavigationAgent3D.xml
@@ -5,6 +5,7 @@
</brief_description>
<description>
3D Agent that is used in navigation to reach a location while avoiding static and dynamic obstacles. The dynamic obstacles are avoided using RVO collision avoidance. The agent needs navigation data to work correctly. [NavigationAgent3D] is physics safe.
+ [b]Note:[/b] After [method set_target_location] is used it is required to use the [method get_next_location] function once every physics frame to update the internal path logic of the NavigationAgent. The returned vector position from this function should be used as the next movement position for the agent's parent Node.
</description>
<tutorials>
</tutorials>
@@ -24,7 +25,7 @@
<method name="get_nav_path" qualifiers="const">
<return type="PackedVector3Array" />
<description>
- Returns the path from start to finish in global coordinates.
+ Returns this agent's current path from start to finish in global coordinates. The path only updates when the target location is changed or the agent requires a repath. The path array is not intended to be used in direct path movement as the agent has its own internal path logic that would get corrupted by changing the path array manually. Use the intended [method get_next_location] once every physics frame to receive the next path point for the agents movement as this function also updates the internal path logic.
</description>
</method>
<method name="get_nav_path_index" qualifiers="const">
@@ -36,7 +37,7 @@
<method name="get_next_location">
<return type="Vector3" />
<description>
- Returns a [Vector3] in global coordinates, that can be moved to, making sure that there are no static objects in the way. If the agent does not have a navigation path, it will return the origin of the agent's parent.
+ Returns the next location in global coordinates that can be moved to, making sure that there are no static objects in the way. If the agent does not have a navigation path, it will return the position of the agent's parent. The use of this function once every physics frame is required to update the internal path logic of the NavigationAgent.
</description>
</method>
<method name="get_rid" qualifiers="const">
diff --git a/doc/classes/NavigationMesh.xml b/doc/classes/NavigationMesh.xml
index bee459273b..3c18b56658 100644
--- a/doc/classes/NavigationMesh.xml
+++ b/doc/classes/NavigationMesh.xml
@@ -34,7 +34,7 @@
<return type="bool" />
<argument index="0" name="layer_number" type="int" />
<description>
- Returns whether or not the specified layer of the [member geometry/collision_mask] is enabled, given a [code]layer_number[/code] between 1 and 32.
+ Returns whether or not the specified layer of the [member geometry_collision_mask] is enabled, given a [code]layer_number[/code] between 1 and 32.
</description>
</method>
<method name="get_polygon">
@@ -61,7 +61,7 @@
<argument index="0" name="layer_number" type="int" />
<argument index="1" name="value" type="bool" />
<description>
- Based on [code]value[/code], enables or disables the specified layer in the [member geometry/collision_mask], given a [code]layer_number[/code] between 1 and 32.
+ Based on [code]value[/code], enables or disables the specified layer in the [member geometry_collision_mask], given a [code]layer_number[/code] between 1 and 32.
</description>
</method>
<method name="set_vertices">
@@ -73,75 +73,75 @@
</method>
</methods>
<members>
- <member name="agent/height" type="float" setter="set_agent_height" getter="get_agent_height" default="1.5">
+ <member name="agent_height" type="float" setter="set_agent_height" getter="get_agent_height" default="1.5">
The minimum floor to ceiling height that will still allow the floor area to be considered walkable.
- [b]Note:[/b] While baking, this value will be rounded up to the nearest multiple of [member cell/height].
+ [b]Note:[/b] While baking, this value will be rounded up to the nearest multiple of [member cell_height].
</member>
- <member name="agent/max_climb" type="float" setter="set_agent_max_climb" getter="get_agent_max_climb" default="0.25">
+ <member name="agent_max_climb" type="float" setter="set_agent_max_climb" getter="get_agent_max_climb" default="0.25">
The minimum ledge height that is considered to still be traversable.
- [b]Note:[/b] While baking, this value will be rounded down to the nearest multiple of [member cell/height].
+ [b]Note:[/b] While baking, this value will be rounded down to the nearest multiple of [member cell_height].
</member>
- <member name="agent/max_slope" type="float" setter="set_agent_max_slope" getter="get_agent_max_slope" default="45.0">
+ <member name="agent_max_slope" type="float" setter="set_agent_max_slope" getter="get_agent_max_slope" default="45.0">
The maximum slope that is considered walkable, in degrees.
</member>
- <member name="agent/radius" type="float" setter="set_agent_radius" getter="get_agent_radius" default="0.5">
+ <member name="agent_radius" type="float" setter="set_agent_radius" getter="get_agent_radius" default="0.5">
The distance to erode/shrink the walkable area of the heightfield away from obstructions.
- [b]Note:[/b] While baking, this value will be rounded up to the nearest multiple of [member cell/size].
+ [b]Note:[/b] While baking, this value will be rounded up to the nearest multiple of [member cell_size].
</member>
- <member name="cell/height" type="float" setter="set_cell_height" getter="get_cell_height" default="0.25">
+ <member name="cell_height" type="float" setter="set_cell_height" getter="get_cell_height" default="0.25">
The Y axis cell size to use for fields.
</member>
- <member name="cell/size" type="float" setter="set_cell_size" getter="get_cell_size" default="0.25">
+ <member name="cell_size" type="float" setter="set_cell_size" getter="get_cell_size" default="0.25">
The XZ plane cell size to use for fields.
</member>
- <member name="detail/sample_distance" type="float" setter="set_detail_sample_distance" getter="get_detail_sample_distance" default="6.0">
+ <member name="detail_sample_distance" type="float" setter="set_detail_sample_distance" getter="get_detail_sample_distance" default="6.0">
The sampling distance to use when generating the detail mesh, in cell unit.
</member>
- <member name="detail/sample_max_error" type="float" setter="set_detail_sample_max_error" getter="get_detail_sample_max_error" default="1.0">
+ <member name="detail_sample_max_error" type="float" setter="set_detail_sample_max_error" getter="get_detail_sample_max_error" default="1.0">
The maximum distance the detail mesh surface should deviate from heightfield, in cell unit.
</member>
- <member name="edge/max_error" type="float" setter="set_edge_max_error" getter="get_edge_max_error" default="1.3">
+ <member name="edge_max_error" type="float" setter="set_edge_max_error" getter="get_edge_max_error" default="1.3">
The maximum distance a simplfied contour's border edges should deviate the original raw contour.
</member>
- <member name="edge/max_length" type="float" setter="set_edge_max_length" getter="get_edge_max_length" default="12.0">
+ <member name="edge_max_length" type="float" setter="set_edge_max_length" getter="get_edge_max_length" default="12.0">
The maximum allowed length for contour edges along the border of the mesh.
- [b]Note:[/b] While baking, this value will be rounded up to the nearest multiple of [member cell/size].
+ [b]Note:[/b] While baking, this value will be rounded up to the nearest multiple of [member cell_size].
</member>
- <member name="filter/filter_walkable_low_height_spans" type="bool" setter="set_filter_walkable_low_height_spans" getter="get_filter_walkable_low_height_spans" default="false">
- If [code]true[/code], marks walkable spans as not walkable if the clearance above the span is less than [member agent/height].
- </member>
- <member name="filter/ledge_spans" type="bool" setter="set_filter_ledge_spans" getter="get_filter_ledge_spans" default="false">
+ <member name="filter_ledge_spans" type="bool" setter="set_filter_ledge_spans" getter="get_filter_ledge_spans" default="false">
If [code]true[/code], marks spans that are ledges as non-walkable.
</member>
- <member name="filter/low_hanging_obstacles" type="bool" setter="set_filter_low_hanging_obstacles" getter="get_filter_low_hanging_obstacles" default="false">
- If [code]true[/code], marks non-walkable spans as walkable if their maximum is within [member agent/max_climb] of a walkable neighbor.
+ <member name="filter_low_hanging_obstacles" type="bool" setter="set_filter_low_hanging_obstacles" getter="get_filter_low_hanging_obstacles" default="false">
+ If [code]true[/code], marks non-walkable spans as walkable if their maximum is within [member agent_max_climb] of a walkable neighbor.
+ </member>
+ <member name="filter_walkable_low_height_spans" type="bool" setter="set_filter_walkable_low_height_spans" getter="get_filter_walkable_low_height_spans" default="false">
+ If [code]true[/code], marks walkable spans as not walkable if the clearance above the span is less than [member agent_height].
</member>
- <member name="geometry/collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask">
+ <member name="geometry_collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="4294967295">
The physics layers to scan for static colliders.
- Only used when [member geometry/parsed_geometry_type] is [constant PARSED_GEOMETRY_STATIC_COLLIDERS] or [constant PARSED_GEOMETRY_BOTH].
+ Only used when [member geometry_parsed_geometry_type] is [constant PARSED_GEOMETRY_STATIC_COLLIDERS] or [constant PARSED_GEOMETRY_BOTH].
</member>
- <member name="geometry/parsed_geometry_type" type="int" setter="set_parsed_geometry_type" getter="get_parsed_geometry_type" enum="NavigationMesh.ParsedGeometryType" default="0">
+ <member name="geometry_parsed_geometry_type" type="int" setter="set_parsed_geometry_type" getter="get_parsed_geometry_type" enum="NavigationMesh.ParsedGeometryType" default="0">
Determines which type of nodes will be parsed as geometry. See [enum ParsedGeometryType] for possible values.
</member>
- <member name="geometry/source_geometry_mode" type="int" setter="set_source_geometry_mode" getter="get_source_geometry_mode" enum="NavigationMesh.SourceGeometryMode" default="0">
+ <member name="geometry_source_geometry_mode" type="int" setter="set_source_geometry_mode" getter="get_source_geometry_mode" enum="NavigationMesh.SourceGeometryMode" default="0">
The source of the geometry used when baking. See [enum SourceGeometryMode] for possible values.
</member>
- <member name="geometry/source_group_name" type="StringName" setter="set_source_group_name" getter="get_source_group_name">
+ <member name="geometry_source_group_name" type="StringName" setter="set_source_group_name" getter="get_source_group_name" default="&amp;&quot;navmesh&quot;">
The name of the group to scan for geometry.
- Only used when [member geometry/source_geometry_mode] is [constant SOURCE_GEOMETRY_GROUPS_WITH_CHILDREN] or [constant SOURCE_GEOMETRY_GROUPS_EXPLICIT].
+ Only used when [member geometry_source_geometry_mode] is [constant SOURCE_GEOMETRY_GROUPS_WITH_CHILDREN] or [constant SOURCE_GEOMETRY_GROUPS_EXPLICIT].
</member>
- <member name="polygon/verts_per_poly" type="float" setter="set_verts_per_poly" getter="get_verts_per_poly" default="6.0">
+ <member name="polygon_verts_per_poly" type="float" setter="set_verts_per_poly" getter="get_verts_per_poly" default="6.0">
The maximum number of vertices allowed for polygons generated during the contour to polygon conversion process.
</member>
- <member name="region/merge_size" type="float" setter="set_region_merge_size" getter="get_region_merge_size" default="20.0">
+ <member name="region_merge_size" type="float" setter="set_region_merge_size" getter="get_region_merge_size" default="20.0">
Any regions with a size smaller than this will be merged with larger regions if possible.
[b]Note:[/b] This value will be squared to calculate the number of cells. For example, a value of 20 will set the number of cells to 400.
</member>
- <member name="region/min_size" type="float" setter="set_region_min_size" getter="get_region_min_size" default="2.0">
+ <member name="region_min_size" type="float" setter="set_region_min_size" getter="get_region_min_size" default="2.0">
The minimum size of a region for it to be created.
[b]Note:[/b] This value will be squared to calculate the minimum number of cells allowed to form isolated island areas. For example, a value of 8 will set the number of cells to 64.
</member>
- <member name="sample_partition_type/sample_partition_type" type="int" setter="set_sample_partition_type" getter="get_sample_partition_type" enum="NavigationMesh.SamplePartitionType" default="0">
+ <member name="sample_partition_type" type="int" setter="set_sample_partition_type" getter="get_sample_partition_type" enum="NavigationMesh.SamplePartitionType" default="0">
Partitioning algorithm for creating the navigation mesh polys. See [enum SamplePartitionType] for possible values.
</member>
</members>
@@ -162,7 +162,7 @@
Parses mesh instances as geometry. This includes [MeshInstance3D], [CSGShape3D], and [GridMap] nodes.
</constant>
<constant name="PARSED_GEOMETRY_STATIC_COLLIDERS" value="1" enum="ParsedGeometryType">
- Parses [StaticBody3D] colliders as geometry. The collider should be in any of the layers specified by [member geometry/collision_mask].
+ Parses [StaticBody3D] colliders as geometry. The collider should be in any of the layers specified by [member geometry_collision_mask].
</constant>
<constant name="PARSED_GEOMETRY_BOTH" value="2" enum="ParsedGeometryType">
Both [constant PARSED_GEOMETRY_MESH_INSTANCES] and [constant PARSED_GEOMETRY_STATIC_COLLIDERS].
@@ -174,10 +174,10 @@
Scans the child nodes of [NavigationRegion3D] recursively for geometry.
</constant>
<constant name="SOURCE_GEOMETRY_GROUPS_WITH_CHILDREN" value="1" enum="SourceGeometryMode">
- Scans nodes in a group and their child nodes recursively for geometry. The group is specified by [member geometry/source_group_name].
+ Scans nodes in a group and their child nodes recursively for geometry. The group is specified by [member geometry_source_group_name].
</constant>
<constant name="SOURCE_GEOMETRY_GROUPS_EXPLICIT" value="2" enum="SourceGeometryMode">
- Uses nodes in a group for geometry. The group is specified by [member geometry/source_group_name].
+ Uses nodes in a group for geometry. The group is specified by [member geometry_source_group_name].
</constant>
<constant name="SOURCE_GEOMETRY_MAX" value="3" enum="SourceGeometryMode">
Represents the size of the [enum SourceGeometryMode] enum.
diff --git a/doc/classes/NavigationMeshGenerator.xml b/doc/classes/NavigationMeshGenerator.xml
index 36588ce2f5..b92183fda0 100644
--- a/doc/classes/NavigationMeshGenerator.xml
+++ b/doc/classes/NavigationMeshGenerator.xml
@@ -17,7 +17,7 @@
<argument index="0" name="nav_mesh" type="NavigationMesh" />
<argument index="1" name="root_node" type="Node" />
<description>
- Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child nodes under the provided [code]root_node[/code] or a specific group of nodes for potential source geometry. The parse behavior can be controlled with the [member NavigationMesh.geometry/parsed_geometry_type] and [member NavigationMesh.geometry/source_geometry_mode] properties on the [NavigationMesh] resource.
+ Bakes navigation data to the provided [code]nav_mesh[/code] by parsing child nodes under the provided [code]root_node[/code] or a specific group of nodes for potential source geometry. The parse behavior can be controlled with the [member NavigationMesh.geometry_parsed_geometry_type] and [member NavigationMesh.geometry_source_geometry_mode] properties on the [NavigationMesh] resource.
</description>
</method>
<method name="clear">
diff --git a/doc/classes/NavigationRegion2D.xml b/doc/classes/NavigationRegion2D.xml
index 5cd2e035b6..542aa8f619 100644
--- a/doc/classes/NavigationRegion2D.xml
+++ b/doc/classes/NavigationRegion2D.xml
@@ -7,6 +7,9 @@
A region of the navigation map. It tells the [NavigationServer2D] what can be navigated and what cannot, based on its [NavigationPolygon] resource.
Two regions can be connected to each other if they share a similar edge. You can set the minimum distance between two vertices required to connect two edges by using [method NavigationServer2D.map_set_edge_connection_margin].
[b]Note:[/b] Overlapping two regions' polygons is not enough for connecting two regions. They must share a similar edge.
+ The pathfinding cost of entering this region from another region can be controlled with the [member enter_cost] value.
+ [b]Note[/b]: This value is not added to the path cost when the start position is already inside this region.
+ The pathfinding cost of traveling distances inside this region can be controlled with the [member travel_cost] multiplier.
</description>
<tutorials>
</tutorials>
@@ -22,11 +25,17 @@
<member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="true">
Determines if the [NavigationRegion2D] is enabled or disabled.
</member>
+ <member name="enter_cost" type="float" setter="set_enter_cost" getter="get_enter_cost" default="0.0">
+ When pathfinding enters this regions navmesh from another regions navmesh the [code]enter_cost[/code] value is added to the path distance for determining the shortest path.
+ </member>
<member name="layers" type="int" setter="set_layers" getter="get_layers" default="1">
A bitfield determining all layers the region belongs to. These layers can be checked upon when requesting a path with [method NavigationServer2D.map_get_path].
</member>
<member name="navpoly" type="NavigationPolygon" setter="set_navigation_polygon" getter="get_navigation_polygon">
The [NavigationPolygon] resource to use.
</member>
+ <member name="travel_cost" type="float" setter="set_travel_cost" getter="get_travel_cost" default="1.0">
+ When pathfinding moves inside this regions navmesh the traveled distances are multiplied with [code]travel_cost[/code] for determining the shortest path.
+ </member>
</members>
</class>
diff --git a/doc/classes/NavigationRegion3D.xml b/doc/classes/NavigationRegion3D.xml
index 42f0e0c5d9..e45bca7f8b 100644
--- a/doc/classes/NavigationRegion3D.xml
+++ b/doc/classes/NavigationRegion3D.xml
@@ -6,6 +6,10 @@
<description>
A region of the navigation map. It tells the [NavigationServer3D] what can be navigated and what cannot, based on its [NavigationMesh] resource.
Two regions can be connected to each other if they share a similar edge. You can set the minimum distance between two vertices required to connect two edges by using [method NavigationServer3D.map_set_edge_connection_margin].
+ [b]Note:[/b] Overlapping two regions' navmeshes is not enough for connecting two regions. They must share a similar edge.
+ The cost of entering this region from another region can be controlled with the [member enter_cost] value.
+ [b]Note[/b]: This value is not added to the path cost when the start position is already inside this region.
+ The cost of traveling distances inside this region can be controlled with the [member travel_cost] multiplier.
</description>
<tutorials>
</tutorials>
@@ -28,12 +32,18 @@
<member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="true">
Determines if the [NavigationRegion3D] is enabled or disabled.
</member>
+ <member name="enter_cost" type="float" setter="set_enter_cost" getter="get_enter_cost" default="0.0">
+ When pathfinding enters this regions navmesh from another regions navmesh the [code]enter_cost[/code] value is added to the path distance for determining the shortest path.
+ </member>
<member name="layers" type="int" setter="set_layers" getter="get_layers" default="1">
A bitfield determining all layers the region belongs to. These layers can be checked upon when requesting a path with [method NavigationServer3D.map_get_path].
</member>
<member name="navmesh" type="NavigationMesh" setter="set_navigation_mesh" getter="get_navigation_mesh">
The [NavigationMesh] resource to use.
</member>
+ <member name="travel_cost" type="float" setter="set_travel_cost" getter="get_travel_cost" default="1.0">
+ When pathfinding moves inside this regions navmesh the traveled distances are multiplied with [code]travel_cost[/code] for determining the shortest path.
+ </member>
</members>
<signals>
<signal name="bake_finished">
diff --git a/doc/classes/NavigationServer2D.xml b/doc/classes/NavigationServer2D.xml
index 1994a7a4c4..7b0dac99c3 100644
--- a/doc/classes/NavigationServer2D.xml
+++ b/doc/classes/NavigationServer2D.xml
@@ -247,6 +247,13 @@
Returns how many connections this [code]region[/code] has with other regions in the map.
</description>
</method>
+ <method name="region_get_enter_cost" qualifiers="const">
+ <return type="float" />
+ <argument index="0" name="region" type="RID" />
+ <description>
+ Returns the [code]enter_cost[/code] of this [code]region[/code].
+ </description>
+ </method>
<method name="region_get_layers" qualifiers="const">
<return type="int" />
<argument index="0" name="region" type="RID" />
@@ -261,6 +268,21 @@
Returns the navigation map [RID] the requested [code]region[/code] is currently assigned to.
</description>
</method>
+ <method name="region_get_travel_cost" qualifiers="const">
+ <return type="float" />
+ <argument index="0" name="region" type="RID" />
+ <description>
+ Returns the [code]travel_cost[/code] of this [code]region[/code].
+ </description>
+ </method>
+ <method name="region_set_enter_cost" qualifiers="const">
+ <return type="void" />
+ <argument index="0" name="region" type="RID" />
+ <argument index="1" name="enter_cost" type="float" />
+ <description>
+ Sets the [code]enter_cost[/code] for this [code]region[/code].
+ </description>
+ </method>
<method name="region_set_layers" qualifiers="const">
<return type="void" />
<argument index="0" name="region" type="RID" />
@@ -293,6 +315,14 @@
Sets the global transformation for the region.
</description>
</method>
+ <method name="region_set_travel_cost" qualifiers="const">
+ <return type="void" />
+ <argument index="0" name="region" type="RID" />
+ <argument index="1" name="travel_cost" type="float" />
+ <description>
+ Sets the [code]travel_cost[/code] for this [code]region[/code].
+ </description>
+ </method>
</methods>
<signals>
<signal name="map_changed">
diff --git a/doc/classes/NavigationServer3D.xml b/doc/classes/NavigationServer3D.xml
index 2a729e7108..d6574dd69a 100644
--- a/doc/classes/NavigationServer3D.xml
+++ b/doc/classes/NavigationServer3D.xml
@@ -297,6 +297,13 @@
Returns how many connections this [code]region[/code] has with other regions in the map.
</description>
</method>
+ <method name="region_get_enter_cost" qualifiers="const">
+ <return type="float" />
+ <argument index="0" name="region" type="RID" />
+ <description>
+ Returns the [code]enter_cost[/code] of this [code]region[/code].
+ </description>
+ </method>
<method name="region_get_layers" qualifiers="const">
<return type="int" />
<argument index="0" name="region" type="RID" />
@@ -311,6 +318,21 @@
Returns the navigation map [RID] the requested [code]region[/code] is currently assigned to.
</description>
</method>
+ <method name="region_get_travel_cost" qualifiers="const">
+ <return type="float" />
+ <argument index="0" name="region" type="RID" />
+ <description>
+ Returns the [code]travel_cost[/code] of this [code]region[/code].
+ </description>
+ </method>
+ <method name="region_set_enter_cost" qualifiers="const">
+ <return type="void" />
+ <argument index="0" name="region" type="RID" />
+ <argument index="1" name="enter_cost" type="float" />
+ <description>
+ Sets the [code]enter_cost[/code] for this [code]region[/code].
+ </description>
+ </method>
<method name="region_set_layers" qualifiers="const">
<return type="void" />
<argument index="0" name="region" type="RID" />
@@ -343,6 +365,14 @@
Sets the global transformation for the region.
</description>
</method>
+ <method name="region_set_travel_cost" qualifiers="const">
+ <return type="void" />
+ <argument index="0" name="region" type="RID" />
+ <argument index="1" name="travel_cost" type="float" />
+ <description>
+ Sets the [code]travel_cost[/code] for this [code]region[/code].
+ </description>
+ </method>
<method name="set_active" qualifiers="const">
<return type="void" />
<argument index="0" name="active" type="bool" />
diff --git a/doc/classes/Node2D.xml b/doc/classes/Node2D.xml
index bb73019668..e65c666900 100644
--- a/doc/classes/Node2D.xml
+++ b/doc/classes/Node2D.xml
@@ -102,6 +102,9 @@
<member name="global_scale" type="Vector2" setter="set_global_scale" getter="get_global_scale">
Global scale.
</member>
+ <member name="global_skew" type="float" setter="set_global_skew" getter="get_global_skew">
+ Global skew in radians.
+ </member>
<member name="global_transform" type="Transform2D" setter="set_global_transform" getter="get_global_transform">
Global [Transform2D].
</member>
diff --git a/doc/classes/NodePath.xml b/doc/classes/NodePath.xml
index 3319e5d822..00c5dcaa3d 100644
--- a/doc/classes/NodePath.xml
+++ b/doc/classes/NodePath.xml
@@ -107,7 +107,7 @@
<return type="StringName" />
<argument index="0" name="idx" type="int" />
<description>
- Gets the node name indicated by [code]idx[/code] (0 to [method get_name_count]).
+ Gets the node name indicated by [code]idx[/code] (0 to [method get_name_count] - 1).
[codeblocks]
[gdscript]
var node_path = NodePath("Path2D/PathFollow2D/Sprite2D")
@@ -157,6 +157,12 @@
For example, [code]"Path2D/PathFollow2D/Sprite2D:texture:load_path"[/code] has 2 subnames.
</description>
</method>
+ <method name="hash" qualifiers="const">
+ <return type="int" />
+ <description>
+ Returns the 32-bit hash value representing the [NodePath]'s contents.
+ </description>
+ </method>
<method name="is_absolute" qualifiers="const">
<return type="bool" />
<description>
diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml
index 266a2573de..2512dec4b3 100644
--- a/doc/classes/OS.xml
+++ b/doc/classes/OS.xml
@@ -550,7 +550,7 @@
Requests the OS to open a resource with the most appropriate program. For example:
- [code]OS.shell_open("C:\\Users\name\Downloads")[/code] on Windows opens the file explorer at the user's Downloads folder.
- [code]OS.shell_open("https://godotengine.org")[/code] opens the default web browser on the official Godot website.
- - [code]OS.shell_open("mailto:example@example.com")[/code] opens the default email client with the "To" field set to [code]example@example.com[/code]. See [url=https://blog.escapecreative.com/customizing-mailto-links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields that can be added.
+ - [code]OS.shell_open("mailto:example@example.com")[/code] opens the default email client with the "To" field set to [code]example@example.com[/code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The [code]mailto[/code] URL scheme[/url] for a list of fields that can be added.
Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] or [code]user://[/code] path into a system path for use with this method.
[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS and Windows.
</description>
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index 98205e0e16..25f0a997ba 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -216,6 +216,9 @@
<member name="application/config/description" type="String" setter="" getter="" default="&quot;&quot;">
The project's description, displayed as a tooltip in the Project Manager when hovering the project.
</member>
+ <member name="application/config/features" type="PackedStringArray" setter="" getter="">
+ List of internal features associated with the project, like [code]Double Precision[/code] or [code]C#[/code]. Not to be confused with feature tags.
+ </member>
<member name="application/config/icon" type="String" setter="" getter="" default="&quot;&quot;">
Icon used for the project, set when project loads. Exporters will also use this icon when possible.
</member>
@@ -811,6 +814,12 @@
<member name="internationalization/locale/test" type="String" setter="" getter="" default="&quot;&quot;">
If non-empty, this locale will be used when running the project from the editor.
</member>
+ <member name="internationalization/locale/translation_remaps" type="PackedStringArray" setter="" getter="">
+ Locale-dependent resource remaps. Edit them in the "Localization" tab of Project Settings editor.
+ </member>
+ <member name="internationalization/locale/translations" type="PackedStringArray" setter="" getter="">
+ List of translation files available in the project. Edit them in the "Localization" tab of Project Settings editor.
+ </member>
<member name="internationalization/pseudolocalization/double_vowels" type="bool" setter="" getter="" default="false">
Double vowels in strings during pseudolocalization to simulate the lengthening of text due to localization.
</member>
@@ -1375,10 +1384,10 @@
<member name="navigation/2d/default_edge_connection_margin" type="int" setter="" getter="" default="1">
Default edge connection margin for 2D navigation maps. See [method NavigationServer2D.map_set_edge_connection_margin].
</member>
- <member name="navigation/3d/default_cell_size" type="float" setter="" getter="" default="0.3">
+ <member name="navigation/3d/default_cell_size" type="float" setter="" getter="" default="0.25">
Default cell size for 3D navigation maps. See [method NavigationServer3D.map_set_cell_size].
</member>
- <member name="navigation/3d/default_edge_connection_margin" type="float" setter="" getter="" default="0.3">
+ <member name="navigation/3d/default_edge_connection_margin" type="float" setter="" getter="" default="0.25">
Default edge connection margin for 3D navigation maps. See [method NavigationServer3D.map_set_edge_connection_margin].
</member>
<member name="network/limits/debugger/max_chars_per_second" type="int" setter="" getter="" default="32768">
@@ -1584,6 +1593,10 @@
</member>
<member name="rendering/anti_aliasing/quality/use_debanding" type="bool" setter="" getter="" default="false">
</member>
+ <member name="rendering/anti_aliasing/quality/use_taa" type="bool" setter="" getter="" default="false">
+ Enables Temporal Anti-Aliasing for the default screen [Viewport]. TAA works by jittering the camera and accumulating the images of the last rendered frames, motion vector rendering is used to account for camera and object motion.
+ [b]Note:[/b] The implementation is not complete yet, some visual instances such as particles and skinned meshes may show artifacts.
+ </member>
<member name="rendering/anti_aliasing/screen_space_roughness_limiter/amount" type="float" setter="" getter="" default="0.25">
</member>
<member name="rendering/anti_aliasing/screen_space_roughness_limiter/enabled" type="bool" setter="" getter="" default="true">
@@ -1701,28 +1714,40 @@
<member name="rendering/global_illumination/voxel_gi/quality" type="int" setter="" getter="" default="0">
</member>
<member name="rendering/lightmapping/bake_performance/max_rays_per_pass" type="int" setter="" getter="" default="32">
+ The maximum number of rays that can be thrown per pass when baking lightmaps with [LightmapGI]. Depending on the scene, adjusting this value may result in higher GPU utilization when baking lightmaps, leading to faster bake times.
</member>
<member name="rendering/lightmapping/bake_performance/max_rays_per_probe_pass" type="int" setter="" getter="" default="64">
+ The maximum number of rays that can be thrown per pass when baking dynamic object lighting in [LightmapProbe]s with [LightmapGI]. Depending on the scene, adjusting this value may result in higher GPU utilization when baking lightmaps, leading to faster bake times.
</member>
<member name="rendering/lightmapping/bake_performance/region_size" type="int" setter="" getter="" default="512">
+ The region size to use when baking lightmaps with [LightmapGI].
</member>
<member name="rendering/lightmapping/bake_quality/high_quality_probe_ray_count" type="int" setter="" getter="" default="512">
+ The number of rays to use for baking dynamic object lighting in [LightmapProbe]s when [member LightmapGI.quality] is [constant LightmapGI.BAKE_QUALITY_HIGH].
</member>
<member name="rendering/lightmapping/bake_quality/high_quality_ray_count" type="int" setter="" getter="" default="256">
+ The number of rays to use for baking lightmaps with [LightmapGI] when [member LightmapGI.quality] is [constant LightmapGI.BAKE_QUALITY_HIGH].
</member>
<member name="rendering/lightmapping/bake_quality/low_quality_probe_ray_count" type="int" setter="" getter="" default="64">
+ The number of rays to use for baking dynamic object lighting in [LightmapProbe]s when [member LightmapGI.quality] is [constant LightmapGI.BAKE_QUALITY_LOW].
</member>
<member name="rendering/lightmapping/bake_quality/low_quality_ray_count" type="int" setter="" getter="" default="16">
+ The number of rays to use for baking lightmaps with [LightmapGI] when [member LightmapGI.quality] is [constant LightmapGI.BAKE_QUALITY_LOW].
</member>
<member name="rendering/lightmapping/bake_quality/medium_quality_probe_ray_count" type="int" setter="" getter="" default="256">
+ The number of rays to use for baking dynamic object lighting in [LightmapProbe]s when [member LightmapGI.quality] is [constant LightmapGI.BAKE_QUALITY_MEDIUM].
</member>
<member name="rendering/lightmapping/bake_quality/medium_quality_ray_count" type="int" setter="" getter="" default="64">
+ The number of rays to use for baking lightmaps with [LightmapGI] when [member LightmapGI.quality] is [constant LightmapGI.BAKE_QUALITY_MEDIUM].
</member>
<member name="rendering/lightmapping/bake_quality/ultra_quality_probe_ray_count" type="int" setter="" getter="" default="2048">
+ The number of rays to use for baking dynamic object lighting in [LightmapProbe]s when [member LightmapGI.quality] is [constant LightmapGI.BAKE_QUALITY_ULTRA].
</member>
<member name="rendering/lightmapping/bake_quality/ultra_quality_ray_count" type="int" setter="" getter="" default="1024">
+ The number of rays to use for baking lightmaps with [LightmapGI] when [member LightmapGI.quality] is [constant LightmapGI.BAKE_QUALITY_ULTRA].
</member>
<member name="rendering/lightmapping/probe_capture/update_speed" type="float" setter="" getter="" default="15">
+ The framerate-independent update speed when representing dynamic object lighting from [LightmapProbe]s. Higher values make dynamic object lighting update faster. Higher values can prevent fast-moving objects from having "outdated" indirect lighting displayed on them, at the cost of possible flickering when an object moves from a bright area to a shaded area.
</member>
<member name="rendering/limits/cluster_builder/max_clustered_elements" type="float" setter="" getter="" default="512">
</member>
diff --git a/doc/classes/Range.xml b/doc/classes/Range.xml
index df6efd155a..22793e75d8 100644
--- a/doc/classes/Range.xml
+++ b/doc/classes/Range.xml
@@ -4,7 +4,7 @@
Abstract base class for range-based controls.
</brief_description>
<description>
- Range is a base class for [Control] nodes that change a floating-point [i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/i] and [i]page[/i], for example a [ScrollBar].
+ Range is a base class for [Control] nodes that change a floating-point [member value] between a [member min_value] and [member max_value], using a configured [member step] and [member page] size. See e.g. [ScrollBar] and [Slider] for examples of higher level nodes using Range.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml
index 4d039227ce..d92121a950 100644
--- a/doc/classes/RenderingServer.xml
+++ b/doc/classes/RenderingServer.xml
@@ -3035,7 +3035,7 @@
$Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600))
[/gdscript]
[/codeblocks]
- Using this can result in significant optimization, especially on lower-end devices. However, it comes at the cost of having to manage your viewports manually. For a further optimization see, [method viewport_set_render_direct_to_screen].
+ Using this can result in significant optimization, especially on lower-end devices. However, it comes at the cost of having to manage your viewports manually. For further optimization, see [method viewport_set_render_direct_to_screen].
</description>
</method>
<method name="viewport_create">
@@ -3340,6 +3340,14 @@
<description>
</description>
</method>
+ <method name="viewport_set_use_taa">
+ <return type="void" />
+ <argument index="0" name="viewport" type="RID" />
+ <argument index="1" name="enable" type="bool" />
+ <description>
+ If [code]true[/code], use Temporal Anti-Aliasing.
+ </description>
+ </method>
<method name="viewport_set_use_xr">
<return type="void" />
<argument index="0" name="viewport" type="RID" />
@@ -4105,6 +4113,8 @@
</constant>
<constant name="VIEWPORT_DEBUG_DRAW_OCCLUDERS" value="24" enum="ViewportDebugDraw">
</constant>
+ <constant name="VIEWPORT_DEBUG_DRAW_MOTION_VECTORS" value="25" enum="ViewportDebugDraw">
+ </constant>
<constant name="SKY_MODE_AUTOMATIC" value="0" enum="SkyMode">
</constant>
<constant name="SKY_MODE_QUALITY" value="1" enum="SkyMode">
diff --git a/doc/classes/SceneTreeTimer.xml b/doc/classes/SceneTreeTimer.xml
index 427608ead3..f28e65c5bf 100644
--- a/doc/classes/SceneTreeTimer.xml
+++ b/doc/classes/SceneTreeTimer.xml
@@ -22,7 +22,7 @@
}
[/csharp]
[/codeblocks]
- The timer will be automatically freed after its time elapses.
+ The timer will be dereferenced after its time elapses. To preserve the timer, you can keep a reference to it. See [RefCounted].
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/String.xml b/doc/classes/String.xml
index 1f3d5596aa..f4d453700c 100644
--- a/doc/classes/String.xml
+++ b/doc/classes/String.xml
@@ -412,9 +412,9 @@
</method>
<method name="left" qualifiers="const">
<return type="String" />
- <argument index="0" name="position" type="int" />
+ <argument index="0" name="length" type="int" />
<description>
- Returns a number of characters from the left of the string. If negative [code]position[/code] is used, the characters are counted downwards from [String]'s length.
+ Returns a number of characters from the left of the string. If negative [code]length[/code] is used, the characters are counted downwards from [String]'s length.
Examples:
[codeblock]
print("sample text".left(3)) #prints "sam"
@@ -599,9 +599,9 @@
</method>
<method name="right" qualifiers="const">
<return type="String" />
- <argument index="0" name="position" type="int" />
+ <argument index="0" name="length" type="int" />
<description>
- Returns a number of characters from the right of the string. If negative [code]position[/code] is used, the characters are counted downwards from [String]'s length.
+ Returns a number of characters from the right of the string. If negative [code]length[/code] is used, the characters are counted downwards from [String]'s length.
Examples:
[codeblock]
print("sample text".right(3)) #prints "ext"
diff --git a/doc/classes/StringName.xml b/doc/classes/StringName.xml
index ffa1227500..a2bcac9788 100644
--- a/doc/classes/StringName.xml
+++ b/doc/classes/StringName.xml
@@ -32,6 +32,14 @@
</description>
</constructor>
</constructors>
+ <methods>
+ <method name="hash" qualifiers="const">
+ <return type="int" />
+ <description>
+ Returns the 32-bit hash value representing the [StringName]'s contents.
+ </description>
+ </method>
+ </methods>
<operators>
<operator name="operator !=">
<return type="bool" />
diff --git a/doc/classes/TextServer.xml b/doc/classes/TextServer.xml
index 2f57b76374..19be38b323 100644
--- a/doc/classes/TextServer.xml
+++ b/doc/classes/TextServer.xml
@@ -121,6 +121,20 @@
Returns font embolden strength.
</description>
</method>
+ <method name="font_get_face_count" qualifiers="const">
+ <return type="int" />
+ <argument index="0" name="font_rid" type="RID" />
+ <description>
+ Returns number of faces in the TrueType / OpenType collection.
+ </description>
+ </method>
+ <method name="font_get_face_index" qualifiers="const">
+ <return type="int" />
+ <argument index="0" name="font_rid" type="RID" />
+ <description>
+ Recturns an active face index in the TrueType / OpenType collection.
+ </description>
+ </method>
<method name="font_get_fixed_size" qualifiers="const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
@@ -593,6 +607,14 @@
Sets font embolden strength. If [code]strength[/code] is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.
</description>
</method>
+ <method name="font_set_face_index">
+ <return type="void" />
+ <argument index="0" name="font_rid" type="RID" />
+ <argument index="1" name="face_index" type="int" />
+ <description>
+ Sets an active face index in the TrueType / OpenType collection.
+ </description>
+ </method>
<method name="font_set_fixed_size">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
diff --git a/doc/classes/TextServerExtension.xml b/doc/classes/TextServerExtension.xml
index 434d6f909c..b3be858ca1 100644
--- a/doc/classes/TextServerExtension.xml
+++ b/doc/classes/TextServerExtension.xml
@@ -114,6 +114,20 @@
Returns font embolden strength.
</description>
</method>
+ <method name="font_get_face_count" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="font_rid" type="RID" />
+ <description>
+ Returns number of faces in the TrueType / OpenType collection.
+ </description>
+ </method>
+ <method name="font_get_face_index" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="font_rid" type="RID" />
+ <description>
+ Returns an active face index in the TrueType / OpenType collection.
+ </description>
+ </method>
<method name="font_get_fixed_size" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
@@ -590,6 +604,14 @@
Sets font embolden strength. If [code]strength[/code] is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.
</description>
</method>
+ <method name="font_set_face_index" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="font_rid" type="RID" />
+ <argument index="1" name="face_index" type="int" />
+ <description>
+ Sets an active face index in the TrueType / OpenType collection.
+ </description>
+ </method>
<method name="font_set_fixed_size" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
diff --git a/doc/classes/Texture2D.xml b/doc/classes/Texture2D.xml
index 1bbebe085e..3721058d25 100644
--- a/doc/classes/Texture2D.xml
+++ b/doc/classes/Texture2D.xml
@@ -106,7 +106,8 @@
<method name="get_image" qualifiers="const">
<return type="Image" />
<description>
- Returns an [Image] that is a copy of data from this [Texture2D]. [Image]s can be accessed and manipulated directly.
+ Returns an [Image] that is a copy of data from this [Texture2D] (a new [Image] is created each time). [Image]s can be accessed and manipulated directly.
+ [b]Note:[/b] This will fetch the texture data from the GPU, which might cause performance problems when overused.
</description>
</method>
<method name="get_size" qualifiers="const">
diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml
index 148c6d7064..4727bc389e 100644
--- a/doc/classes/Viewport.xml
+++ b/doc/classes/Viewport.xml
@@ -227,7 +227,7 @@
The multisample anti-aliasing mode. A higher number results in smoother edges at the cost of significantly worse performance. A value of 2 or 4 is best unless targeting very high-end systems. See also bilinear scaling 3d [member scaling_3d_mode] for supersampling, which provides higher quality but is much more expensive.
</member>
<member name="own_world_3d" type="bool" setter="set_use_own_world_3d" getter="is_using_own_world_3d" default="false">
- If [code]true[/code], the viewport will use the [World3D] defined in [member world_3d].
+ If [code]true[/code], the viewport will use a unique copy of the [World3D] defined in [member world_3d].
</member>
<member name="physics_object_picking" type="bool" setter="set_physics_object_picking" getter="get_physics_object_picking" default="false">
If [code]true[/code], the objects rendered by viewport become subjects of mouse picking process.
@@ -279,6 +279,10 @@
If [code]true[/code], [OccluderInstance3D] nodes will be usable for occlusion culling in 3D for this viewport. For the root viewport, [member ProjectSettings.rendering/occlusion_culling/use_occlusion_culling] must be set to [code]true[/code] instead.
[b]Note:[/b] Enabling occlusion culling has a cost on the CPU. Only enable occlusion culling if you actually plan to use it, and think whether your scene can actually benefit from occlusion culling. Large, open scenes with few or no objects blocking the view will generally not benefit much from occlusion culling. Large open scenes generally benefit more from mesh LOD and visibility ranges ([member GeometryInstance3D.visibility_range_begin] and [member GeometryInstance3D.visibility_range_end]) compared to occlusion culling.
</member>
+ <member name="use_taa" type="bool" setter="set_use_taa" getter="is_using_taa" default="false">
+ Enables Temporal Anti-Aliasing for this viewport. TAA works by jittering the camera and accumulating the images of the last rendered frames, motion vector rendering is used to account for camera and object motion.
+ [b]Note:[/b] The implementation is not complete yet, some visual instances such as particles and skinned meshes may show artifacts.
+ </member>
<member name="use_xr" type="bool" setter="set_use_xr" getter="is_using_xr" default="false">
If [code]true[/code], the viewport will use the primary XR interface to render XR output. When applicable this can result in a stereoscopic image and the resulting render being output to a headset.
</member>
@@ -441,6 +445,8 @@
</constant>
<constant name="DEBUG_DRAW_OCCLUDERS" value="24" enum="DebugDraw">
</constant>
+ <constant name="DEBUG_DRAW_MOTION_VECTORS" value="25" enum="DebugDraw">
+ </constant>
<constant name="DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_NEAREST" value="0" enum="DefaultCanvasItemTextureFilter">
The texture filter reads from the nearest pixel only. The simplest and fastest method of filtering, but the texture will look pixelized.
</constant>
diff --git a/doc/classes/VisualShaderNodeFloatFunc.xml b/doc/classes/VisualShaderNodeFloatFunc.xml
index 0f057b2e6d..1226013c67 100644
--- a/doc/classes/VisualShaderNodeFloatFunc.xml
+++ b/doc/classes/VisualShaderNodeFloatFunc.xml
@@ -65,7 +65,7 @@
<constant name="FUNC_CEIL" value="16" enum="Function">
Finds the nearest integer that is greater than or equal to the parameter. Translates to [code]ceil(x)[/code] in the Godot Shader Language.
</constant>
- <constant name="FUNC_FRAC" value="17" enum="Function">
+ <constant name="FUNC_FRACT" value="17" enum="Function">
Computes the fractional part of the argument. Translates to [code]fract(x)[/code] in the Godot Shader Language.
</constant>
<constant name="FUNC_SATURATE" value="18" enum="Function">
diff --git a/doc/classes/VisualShaderNodeVectorFunc.xml b/doc/classes/VisualShaderNodeVectorFunc.xml
index bc4e12c0b3..7524025f21 100644
--- a/doc/classes/VisualShaderNodeVectorFunc.xml
+++ b/doc/classes/VisualShaderNodeVectorFunc.xml
@@ -68,7 +68,7 @@
<constant name="FUNC_FLOOR" value="17" enum="Function">
Finds the nearest integer less than or equal to the parameter.
</constant>
- <constant name="FUNC_FRAC" value="18" enum="Function">
+ <constant name="FUNC_FRACT" value="18" enum="Function">
Computes the fractional part of the argument.
</constant>
<constant name="FUNC_INVERSE_SQRT" value="19" enum="Function">
diff --git a/doc/classes/WorldEnvironment.xml b/doc/classes/WorldEnvironment.xml
index 8afe169874..ed8f0b9a04 100644
--- a/doc/classes/WorldEnvironment.xml
+++ b/doc/classes/WorldEnvironment.xml
@@ -16,6 +16,7 @@
</tutorials>
<members>
<member name="camera_effects" type="CameraEffects" setter="set_camera_effects" getter="get_camera_effects">
+ The [CameraEffects] resource used by this [WorldEnvironment], defining the default properties. This [CameraEffects] resource will be used by all [Camera3D]s that do not define their own [CameraEffects].
</member>
<member name="environment" type="Environment" setter="set_environment" getter="get_environment">
The [Environment] resource used by this [WorldEnvironment], defining the default properties.
diff --git a/doc/tools/make_rst.py b/doc/tools/make_rst.py
index 2e227ce578..f59f2ff872 100755
--- a/doc/tools/make_rst.py
+++ b/doc/tools/make_rst.py
@@ -4,7 +4,9 @@
import argparse
import os
+import platform
import re
+import sys
import xml.etree.ElementTree as ET
from collections import OrderedDict
@@ -55,9 +57,11 @@ BASE_STRINGS = [
]
strings_l10n = {}
+STYLES = {}
+
def print_error(error, state): # type: (str, State) -> None
- print("ERROR: {}".format(error))
+ print("{}{}ERROR:{} {}{}".format(STYLES["red"], STYLES["bold"], STYLES["regular"], error, STYLES["reset"]))
state.num_errors += 1
@@ -399,10 +403,26 @@ def parse_arguments(root): # type: (ET.Element) -> List[ParameterDef]
def main(): # type: () -> None
+ # Enable ANSI escape code support on Windows 10 and later (for colored console output).
+ # <https://bugs.python.org/issue29059>
+ if platform.system().lower() == "windows":
+ from ctypes import windll, c_int, byref
+
+ stdout_handle = windll.kernel32.GetStdHandle(c_int(-11))
+ mode = c_int(0)
+ windll.kernel32.GetConsoleMode(c_int(stdout_handle), byref(mode))
+ mode = c_int(mode.value | 4)
+ windll.kernel32.SetConsoleMode(c_int(stdout_handle), mode)
+
parser = argparse.ArgumentParser()
parser.add_argument("path", nargs="+", help="A path to an XML file or a directory containing XML files to parse.")
parser.add_argument("--filter", default="", help="The filepath pattern for XML files to filter.")
parser.add_argument("--lang", "-l", default="en", help="Language to use for section headings.")
+ parser.add_argument(
+ "--color",
+ action="store_true",
+ help="If passed, force colored output even if stdout is not a TTY (useful for continuous integration).",
+ )
group = parser.add_mutually_exclusive_group()
group.add_argument("--output", "-o", default=".", help="The directory to save output .rst files in.")
group.add_argument(
@@ -412,6 +432,13 @@ def main(): # type: () -> None
)
args = parser.parse_args()
+ should_color = args.color or (hasattr(sys.stdout, "isatty") and sys.stdout.isatty())
+ STYLES["red"] = "\x1b[91m" if should_color else ""
+ STYLES["green"] = "\x1b[92m" if should_color else ""
+ STYLES["bold"] = "\x1b[1m" if should_color else ""
+ STYLES["regular"] = "\x1b[22m" if should_color else ""
+ STYLES["reset"] = "\x1b[0m" if should_color else ""
+
# Retrieve heading translations for the given language.
if not args.dry_run and args.lang != "en":
lang_file = os.path.join(
@@ -464,17 +491,17 @@ def main(): # type: () -> None
try:
tree = ET.parse(cur_file)
except ET.ParseError as e:
- print_error("{}.xml: Parse error while reading the file: {}".format(cur_file, e), state)
+ print_error("{}: Parse error while reading the file: {}".format(cur_file, e), state)
continue
doc = tree.getroot()
if "version" not in doc.attrib:
- print_error('{}.xml: "version" attribute missing from "doc".'.format(cur_file), state)
+ print_error('{}: "version" attribute missing from "doc".'.format(cur_file), state)
continue
name = doc.attrib["name"]
if name in classes:
- print_error('{}.xml: Duplicate class "{}".'.format(cur_file, name), state)
+ print_error('{}: Duplicate class "{}".'.format(cur_file, name), state)
continue
classes[name] = (doc, cur_file)
@@ -499,16 +526,22 @@ def main(): # type: () -> None
make_rst_class(class_def, state, args.dry_run, args.output)
if state.num_errors == 0:
- print("No errors found in the class reference XML.")
+ print("{}No errors found in the class reference XML.{}".format(STYLES["green"], STYLES["reset"]))
if not args.dry_run:
print("Wrote reStructuredText files for each class to: %s" % args.output)
else:
if state.num_errors >= 2:
print(
- "%d errors were found in the class reference XML. Please check the messages above." % state.num_errors
+ "{}{} errors were found in the class reference XML. Please check the messages above.{}".format(
+ STYLES["red"], state.num_errors, STYLES["reset"]
+ )
)
else:
- print("1 error was found in the class reference XML. Please check the messages above.")
+ print(
+ "{}1 error was found in the class reference XML. Please check the messages above.{}".format(
+ STYLES["red"], STYLES["reset"]
+ )
+ )
exit(1)
diff --git a/doc/translations/ar.po b/doc/translations/ar.po
index 4f588d5122..e611dbc51d 100644
--- a/doc/translations/ar.po
+++ b/doc/translations/ar.po
@@ -12528,7 +12528,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14253,7 +14253,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14291,9 +14291,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14312,8 +14312,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14329,8 +14329,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14421,9 +14421,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21491,7 +21491,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23805,11 +23805,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35708,11 +35708,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36666,11 +36670,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38619,7 +38627,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40780,9 +40788,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44911,7 +44919,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45065,7 +45073,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45120,7 +45128,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45173,7 +45181,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45222,7 +45230,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45274,7 +45282,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45326,7 +45334,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49764,8 +49772,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51769,8 +51778,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53297,7 +53306,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65612,8 +65622,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69988,7 +69998,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/ca.po b/doc/translations/ca.po
index 4b3e2f27f1..ebf220d30b 100644
--- a/doc/translations/ca.po
+++ b/doc/translations/ca.po
@@ -12469,7 +12469,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14194,7 +14194,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14232,9 +14232,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14253,8 +14253,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14270,8 +14270,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14362,9 +14362,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21421,7 +21421,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23733,11 +23733,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35614,11 +35614,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36552,11 +36556,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38501,7 +38509,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40654,9 +40662,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44766,7 +44774,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44920,7 +44928,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44975,7 +44983,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45028,7 +45036,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45077,7 +45085,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45129,7 +45137,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45181,7 +45189,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49616,8 +49624,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51619,8 +51628,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53147,7 +53156,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65439,8 +65449,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69798,7 +69808,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/classes.pot b/doc/translations/classes.pot
index fcaab07a2f..30133154a8 100644
--- a/doc/translations/classes.pot
+++ b/doc/translations/classes.pot
@@ -12349,7 +12349,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14074,7 +14074,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14112,9 +14112,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14133,8 +14133,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14150,8 +14150,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14242,9 +14242,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21301,7 +21301,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23610,11 +23610,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35491,11 +35491,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36429,11 +36433,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38378,7 +38386,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40531,9 +40539,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44643,7 +44651,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44797,7 +44805,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44852,7 +44860,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44905,7 +44913,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44954,7 +44962,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45006,7 +45014,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45058,7 +45066,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49493,8 +49501,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51496,8 +51505,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53024,7 +53033,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65316,8 +65326,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69675,7 +69685,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/cs.po b/doc/translations/cs.po
index 540e9fea2d..8673936d3f 100644
--- a/doc/translations/cs.po
+++ b/doc/translations/cs.po
@@ -12875,7 +12875,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14602,7 +14602,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14640,9 +14640,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14661,8 +14661,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14678,8 +14678,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14770,9 +14770,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21870,7 +21870,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -24189,11 +24189,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -36103,11 +36103,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -37064,11 +37068,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -39017,7 +39025,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -41187,9 +41195,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45320,7 +45328,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45477,7 +45485,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45532,7 +45540,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45585,7 +45593,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45634,7 +45642,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45687,7 +45695,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45739,7 +45747,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -50182,8 +50190,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -52190,8 +52199,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53719,7 +53728,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -66083,10 +66093,11 @@ msgid ""
msgstr ""
#: doc/classes/Viewport.xml
+#, fuzzy
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
-msgstr ""
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
+msgstr "Vrátí [code] true [/code], pokud je vektor normalizován, jinak false."
#: doc/classes/Viewport.xml
msgid ""
@@ -70466,7 +70477,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/de.po b/doc/translations/de.po
index d6a5bab648..fd65d8b4bf 100644
--- a/doc/translations/de.po
+++ b/doc/translations/de.po
@@ -14438,7 +14438,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -16227,7 +16227,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -16265,9 +16265,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -16286,8 +16286,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -16303,8 +16303,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -16395,9 +16395,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -23583,7 +23583,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -25919,11 +25919,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -37910,11 +37910,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38899,11 +38903,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -40856,7 +40864,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -43041,9 +43049,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -47191,7 +47199,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -47358,7 +47366,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -47421,7 +47429,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -47483,7 +47491,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -47537,7 +47545,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -47597,7 +47605,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -47654,7 +47662,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -52138,8 +52146,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -54167,8 +54176,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
#, fuzzy
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -55711,7 +55720,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -68342,8 +68352,8 @@ msgstr ""
#: doc/classes/Viewport.xml
#, fuzzy
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
"Gibt [code]true[/code] zurück wenn der Skript Bereich lädt, ansonsten "
"[code]false[/code]."
@@ -72791,7 +72801,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/el.po b/doc/translations/el.po
index ffe896e14a..41e4925578 100644
--- a/doc/translations/el.po
+++ b/doc/translations/el.po
@@ -12373,7 +12373,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14098,7 +14098,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14136,9 +14136,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14157,8 +14157,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14174,8 +14174,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14266,9 +14266,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21336,7 +21336,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23650,11 +23650,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35547,11 +35547,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36505,11 +36509,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38458,7 +38466,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40619,9 +40627,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44737,7 +44745,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44891,7 +44899,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44946,7 +44954,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44999,7 +45007,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45048,7 +45056,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45100,7 +45108,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45152,7 +45160,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49590,8 +49598,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51595,8 +51604,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53123,7 +53132,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65438,8 +65448,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69814,7 +69824,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/es.po b/doc/translations/es.po
index 1fa0223e9b..ced2e2ad3e 100644
--- a/doc/translations/es.po
+++ b/doc/translations/es.po
@@ -16199,8 +16199,9 @@ msgstr ""
"siguiente carácter."
#: doc/classes/CanvasItem.xml
+#, fuzzy
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -16208,6 +16209,9 @@ msgid ""
"create an AntialiasedRegularPolygon2D node. That node relies on a texture "
"with custom mipmaps to perform antialiasing."
msgstr ""
+"Dibuja múltiples líneas paralelas con un [code]width[/code] uniforme y "
+"coloración segmento por segmento. Los colores asignados a los segmentos de "
+"línea coinciden por índice entre [code]points[/code] y [code]colors[/code]."
#: doc/classes/CanvasItem.xml
msgid ""
@@ -18475,7 +18479,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
"Construye un color a partir de un entero de 32 bits (cada byte representa un "
@@ -18534,12 +18538,13 @@ msgstr ""
"[/codeblock]"
#: doc/classes/Color.xml
+#, fuzzy
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
"Devuelve el color más contrastado.\n"
@@ -18566,12 +18571,13 @@ msgstr ""
"[/codeblock]"
#: doc/classes/Color.xml
+#, fuzzy
msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
"Construye un color a partir de un perfil de HSV. [code]h[/code], [code]s[/"
@@ -18594,8 +18600,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
"Devuelve el color invertido [code](1 - r, 1 - g, 1 - b, a)[/code].\n"
@@ -18740,15 +18746,16 @@ msgstr ""
"[/codeblock]"
#: doc/classes/Color.xml
+#, fuzzy
msgid ""
"Returns the color's HTML hexadecimal color string in ARGB format (ex: "
"[code]ff34f822[/code]).\n"
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
"Devuelve la cadena de color hexadecimal HTML del color en formato ARGB (ex: "
@@ -28173,7 +28180,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
#, fuzzy
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -31251,14 +31258,14 @@ msgstr ""
#: doc/classes/Environment.xml
#, fuzzy
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
"Desenfoque de 1×1 para el efecto de oclusión ambiental del espacio de la "
"pantalla."
#: doc/classes/Environment.xml
#, fuzzy
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
"No hay desenfoque para el efecto de oclusión ambiental del espacio de la "
"pantalla (más rápido)."
@@ -47018,11 +47025,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -48096,11 +48107,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -50940,7 +50955,7 @@ msgstr ""
#, fuzzy
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -53858,6 +53873,7 @@ msgid ""
msgstr ""
#: doc/classes/OS.xml
+#, fuzzy
msgid ""
"Requests the OS to open a resource with the most appropriate program. For "
"example:\n"
@@ -53867,9 +53883,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -59346,6 +59362,7 @@ msgid "A pooled array of bytes."
msgstr "Un paquete [Array] de bytes."
#: doc/classes/PoolByteArray.xml
+#, fuzzy
msgid ""
"An array specifically designed to hold bytes. Optimized for memory usage, "
"does not fragment the memory.\n"
@@ -59356,7 +59373,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -59368,6 +59385,17 @@ msgid ""
"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n"
"[/codeblock]"
msgstr ""
+"Un [Array] diseñado específicamente para mantener valores enteros de 32 "
+"bits. Empaqueta los datos de forma ajustada, por lo que ahorra memoria para "
+"los tamaños de arrays grandes.\n"
+"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia.\n"
+"[b]Nota:[/b] Este tipo almacena enteros de 32 bits con signo, lo que "
+"significa que puede tomar valores en el intervalo [code][-2^31, 2^31 - 1][/"
+"code], es decir, [code][-2147483648, 2147483647][/code]. Exceder esos "
+"límites volvera los valores al minimo inicial. En comparación, [int] usa "
+"enteros de 64 bits con signo, que pueden contener valores mucho mayores. Si "
+"necesitas empaquetar los enteros de 64 bits de forma apretada, mira "
+"[PackedInt64Array]."
#: doc/classes/PoolByteArray.xml
#, fuzzy
@@ -59540,6 +59568,7 @@ msgid "A pooled array of [Color]s."
msgstr "Un paquete de [Array] de [Color]s."
#: doc/classes/PoolColorArray.xml
+#, fuzzy
msgid ""
"An array specifically designed to hold [Color]. Optimized for memory usage, "
"does not fragment the memory.\n"
@@ -59550,7 +59579,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -59563,6 +59592,17 @@ msgid ""
"inside an Array)\n"
"[/codeblock]"
msgstr ""
+"Un [Array] diseñado específicamente para mantener valores enteros de 32 "
+"bits. Empaqueta los datos de forma ajustada, por lo que ahorra memoria para "
+"los tamaños de arrays grandes.\n"
+"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia.\n"
+"[b]Nota:[/b] Este tipo almacena enteros de 32 bits con signo, lo que "
+"significa que puede tomar valores en el intervalo [code][-2^31, 2^31 - 1][/"
+"code], es decir, [code][-2147483648, 2147483647][/code]. Exceder esos "
+"límites volvera los valores al minimo inicial. En comparación, [int] usa "
+"enteros de 64 bits con signo, que pueden contener valores mucho mayores. Si "
+"necesitas empaquetar los enteros de 64 bits de forma apretada, mira "
+"[PackedInt64Array]."
#: doc/classes/PoolColorArray.xml
#, fuzzy
@@ -59613,7 +59653,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -59677,6 +59717,7 @@ msgid "A pooled array of real numbers ([float])."
msgstr "Un paquete de [Array] de [Color]s."
#: doc/classes/PoolRealArray.xml
+#, fuzzy
msgid ""
"An array specifically designed to hold floating-point values. Optimized for "
"memory usage, does not fragment the memory.\n"
@@ -59687,7 +59728,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -59706,6 +59747,17 @@ msgid ""
"store [float]s will use roughly 6 times more memory compared to a "
"[PoolRealArray]."
msgstr ""
+"Un [Array] diseñado específicamente para mantener valores enteros de 32 "
+"bits. Empaqueta los datos de forma ajustada, por lo que ahorra memoria para "
+"los tamaños de arrays grandes.\n"
+"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia.\n"
+"[b]Nota:[/b] Este tipo almacena enteros de 32 bits con signo, lo que "
+"significa que puede tomar valores en el intervalo [code][-2^31, 2^31 - 1][/"
+"code], es decir, [code][-2147483648, 2147483647][/code]. Exceder esos "
+"límites volvera los valores al minimo inicial. En comparación, [int] usa "
+"enteros de 64 bits con signo, que pueden contener valores mucho mayores. Si "
+"necesitas empaquetar los enteros de 64 bits de forma apretada, mira "
+"[PackedInt64Array]."
#: doc/classes/PoolRealArray.xml
#, fuzzy
@@ -59731,6 +59783,7 @@ msgid "A pooled array of [String]s."
msgstr "Un paquete de [Array] de [String]s."
#: doc/classes/PoolStringArray.xml
+#, fuzzy
msgid ""
"An array specifically designed to hold [String]s. Optimized for memory "
"usage, does not fragment the memory.\n"
@@ -59741,7 +59794,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -59753,6 +59806,17 @@ msgid ""
"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n"
"[/codeblock]"
msgstr ""
+"Un [Array] diseñado específicamente para mantener valores enteros de 32 "
+"bits. Empaqueta los datos de forma ajustada, por lo que ahorra memoria para "
+"los tamaños de arrays grandes.\n"
+"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia.\n"
+"[b]Nota:[/b] Este tipo almacena enteros de 32 bits con signo, lo que "
+"significa que puede tomar valores en el intervalo [code][-2^31, 2^31 - 1][/"
+"code], es decir, [code][-2147483648, 2147483647][/code]. Exceder esos "
+"límites volvera los valores al minimo inicial. En comparación, [int] usa "
+"enteros de 64 bits con signo, que pueden contener valores mucho mayores. Si "
+"necesitas empaquetar los enteros de 64 bits de forma apretada, mira "
+"[PackedInt64Array]."
#: doc/classes/PoolStringArray.xml
#, fuzzy
@@ -59789,6 +59853,7 @@ msgid "A pooled array of [Vector2]s."
msgstr "Un empaquetado de [Array] de [Vector2]s."
#: doc/classes/PoolVector2Array.xml
+#, fuzzy
msgid ""
"An array specifically designed to hold [Vector2]. Optimized for memory "
"usage, does not fragment the memory.\n"
@@ -59799,7 +59864,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -59812,6 +59877,17 @@ msgid ""
"Array)\n"
"[/codeblock]"
msgstr ""
+"Un [Array] diseñado específicamente para mantener valores enteros de 32 "
+"bits. Empaqueta los datos de forma ajustada, por lo que ahorra memoria para "
+"los tamaños de arrays grandes.\n"
+"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia.\n"
+"[b]Nota:[/b] Este tipo almacena enteros de 32 bits con signo, lo que "
+"significa que puede tomar valores en el intervalo [code][-2^31, 2^31 - 1][/"
+"code], es decir, [code][-2147483648, 2147483647][/code]. Exceder esos "
+"límites volvera los valores al minimo inicial. En comparación, [int] usa "
+"enteros de 64 bits con signo, que pueden contener valores mucho mayores. Si "
+"necesitas empaquetar los enteros de 64 bits de forma apretada, mira "
+"[PackedInt64Array]."
#: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml
#: doc/classes/TileSet.xml
@@ -59846,6 +59922,7 @@ msgid "A pooled array of [Vector3]."
msgstr "Un empaquetado [Array] de [Vector3]s."
#: doc/classes/PoolVector3Array.xml
+#, fuzzy
msgid ""
"An array specifically designed to hold [Vector3]. Optimized for memory "
"usage, does not fragment the memory.\n"
@@ -59856,7 +59933,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -59869,6 +59946,17 @@ msgid ""
"Array)\n"
"[/codeblock]"
msgstr ""
+"Un [Array] diseñado específicamente para mantener valores enteros de 32 "
+"bits. Empaqueta los datos de forma ajustada, por lo que ahorra memoria para "
+"los tamaños de arrays grandes.\n"
+"[b]Nota:[/b] Este tipo se pasa por valor y no por referencia.\n"
+"[b]Nota:[/b] Este tipo almacena enteros de 32 bits con signo, lo que "
+"significa que puede tomar valores en el intervalo [code][-2^31, 2^31 - 1][/"
+"code], es decir, [code][-2147483648, 2147483647][/code]. Exceder esos "
+"límites volvera los valores al minimo inicial. En comparación, [int] usa "
+"enteros de 64 bits con signo, que pueden contener valores mucho mayores. Si "
+"necesitas empaquetar los enteros de 64 bits de forma apretada, mira "
+"[PackedInt64Array]."
#: doc/classes/PoolVector3Array.xml
#, fuzzy
@@ -65432,10 +65520,12 @@ msgid "Abstract base class for range-based controls."
msgstr "Clase base abstracta para controles basados en el rango."
#: doc/classes/Range.xml
+#, fuzzy
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
"Rango es una clase base para los nodos [Control] que cambian un [i]valor[/i] "
"real entre un [i]mínimo[/i] y un [i]máximo[/i], usando [i]paso[/i] y "
@@ -68197,8 +68287,8 @@ msgstr "Bloquea el eje lineal o rotacional especificado."
#: doc/classes/RigidBody.xml
#, fuzzy
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -70131,7 +70221,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
"Un temporizador de un solo uso gestionado por el árbol de la escena, que "
"emite [signal timeout] al finalizar. Véase también [method SceneTree."
@@ -85966,8 +86057,8 @@ msgstr ""
#: doc/classes/Viewport.xml
#, fuzzy
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
"Si [code]true[/code], el viewport utilizará el [World] definido en [member "
"world_3d]."
@@ -91666,7 +91757,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
"Copia el viewport a una región de la pantalla especificada por [code]rect[/"
diff --git a/doc/translations/fa.po b/doc/translations/fa.po
index 895a54a49e..8f5ee45c36 100644
--- a/doc/translations/fa.po
+++ b/doc/translations/fa.po
@@ -12788,7 +12788,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14513,7 +14513,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14551,9 +14551,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14572,8 +14572,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14589,8 +14589,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14681,9 +14681,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21740,7 +21740,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -24052,11 +24052,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35939,11 +35939,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36877,11 +36881,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38826,7 +38834,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40979,9 +40987,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45103,7 +45111,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45257,7 +45265,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45312,7 +45320,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45365,7 +45373,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45414,7 +45422,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45466,7 +45474,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45518,7 +45526,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49957,8 +49965,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51960,8 +51969,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53488,7 +53497,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65780,8 +65790,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -70139,7 +70149,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/fi.po b/doc/translations/fi.po
index 4f165869ff..316c56f70e 100644
--- a/doc/translations/fi.po
+++ b/doc/translations/fi.po
@@ -12448,7 +12448,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14174,7 +14174,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14212,9 +14212,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14233,8 +14233,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14250,8 +14250,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14342,9 +14342,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21412,7 +21412,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23726,11 +23726,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35631,11 +35631,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36590,11 +36594,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38543,7 +38551,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40704,9 +40712,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44822,7 +44830,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44976,7 +44984,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45031,7 +45039,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45084,7 +45092,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45133,7 +45141,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45185,7 +45193,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45237,7 +45245,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49675,8 +49683,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51680,8 +51689,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53208,7 +53217,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65531,8 +65541,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69909,7 +69919,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/fil.po b/doc/translations/fil.po
index 04cc07a298..7da7a394ca 100644
--- a/doc/translations/fil.po
+++ b/doc/translations/fil.po
@@ -12365,7 +12365,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14090,7 +14090,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14128,9 +14128,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14149,8 +14149,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14166,8 +14166,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14258,9 +14258,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21317,7 +21317,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23629,11 +23629,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35510,11 +35510,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36448,11 +36452,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38397,7 +38405,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40550,9 +40558,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44662,7 +44670,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44816,7 +44824,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44871,7 +44879,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44924,7 +44932,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44973,7 +44981,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45025,7 +45033,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45077,7 +45085,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49512,8 +49520,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51515,8 +51524,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53043,7 +53052,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65335,8 +65345,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69694,7 +69704,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/fr.po b/doc/translations/fr.po
index 96010072b7..587e9e0512 100644
--- a/doc/translations/fr.po
+++ b/doc/translations/fr.po
@@ -61,7 +61,7 @@ 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-05-31 22:35+0000\n"
+"PO-Revision-Date: 2022-06-08 05:20+0000\n"
"Last-Translator: Maxime Leroy <lisacintosh@gmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/fr/>\n"
@@ -3881,9 +3881,8 @@ msgid "Gamepad DPad right."
msgstr "DPad droite de la manette."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Gamepad SDL guide button."
-msgstr "Bouton guide du contrôleur de jeu SDL."
+msgstr "Bouton guide de la manette SDL."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad SDL miscellaneous button."
@@ -4414,6 +4413,11 @@ msgid ""
"arbitrary values and can be empty. The list of values serves to suggest "
"possible values."
msgstr ""
+"Indique qu'une propriété peut être une valeur parmi une liste spécifiée via "
+"une chaîne de caractères telle que [code]\"Bonjour,Salut,Autre\"[/code].\n"
+"Contrairement à [constant PROPERTY_HINT_ENUM] une propriété accepte toujours "
+"des valeurs arbitraires et peut être vide. La liste des valeurs permet donc "
+"de suggérer des valeurs possibles."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -5372,10 +5376,22 @@ msgid ""
"code] will make it so the [code]run[/code] animation uses normal and "
"specular maps."
msgstr ""
+"[AnimatedSprite] est semblable au nœud [Sprite], sauf qu'il contient "
+"plusieurs textures comme des trames d'animation. Les animations sont créées "
+"à l'aide d'une ressource [SpriteFrames] qui vous permet d'importer des "
+"fichiers d'image (ou un dossier contenant ces fichiers) pour fournir les "
+"trames d'animation pour le sprite. La ressource [SpriteFrames] peut être "
+"configurée dans l'éditeur via le panneau de fond SpriteFrames.\n"
+"[b]Note :[/b] Vous pouvez associer un ensemble de cartes normales ou "
+"speculaires en créant des ressources supplémentaires [SpriteFrames] avec un "
+"suffixe [code]_normal[/code] ou [code]_specular[/code]. Par exemple, avoir 3 "
+"[SpriteFrames] ressources [code]run[/code], [code]run_normal[/code], et "
+"[code]run_specular[/code] le fera ainsi l'animation [code]run[/code] utilise "
+"des cartes normales et speculaires."
#: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
msgid "2D Sprite animation"
-msgstr ""
+msgstr "Animation Sprite 2D"
#: doc/classes/AnimatedSprite.xml doc/classes/Area2D.xml
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
@@ -5403,13 +5419,12 @@ msgstr ""
"Arrête l'animation actuelle (ne remit pas à zéro le compteur de trames)."
#: doc/classes/AnimatedSprite.xml
-#, fuzzy
msgid ""
"The current animation from the [member frames] resource. If this value "
"changes, the [code]frame[/code] counter is reset."
msgstr ""
-"L'animation actuelle de la ressource [code]frames[/code]. S'il y a un "
-"changement dans la valeur, le compteur [code]frame[/code] est remis à zéro."
+"L'animation actuelle de la ressource [member frames]. Si cette valeur "
+"change, le compteur [code]frame[/code] est remis à zéro."
#: doc/classes/AnimatedSprite.xml doc/classes/SpriteBase3D.xml
msgid "If [code]true[/code], texture will be centered."
@@ -5437,6 +5452,9 @@ msgid ""
"option to load, edit, clear, make unique and save the states of the "
"[SpriteFrames] resource."
msgstr ""
+"La ressource [SpriteFrames] contenant les animations. Vous permet de "
+"charger, modifier, effacer, rendre unique et sauvegarder les états de la "
+"ressource [SpriteFrames]."
#: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
#: doc/classes/SpriteBase3D.xml
@@ -5656,14 +5674,13 @@ msgstr ""
"d'où c'était pausé quand cette propriété est mise à [code]false[/code]."
#: doc/classes/AnimatedTexture.xml
-#, fuzzy
msgid ""
"The maximum number of frames supported by [AnimatedTexture]. If you need "
"more frames in your animation, use [AnimationPlayer] or [AnimatedSprite]."
msgstr ""
"Le nombre maximum de trames supporté par [AnimatedTexture]. Si vous avez "
"besoin de plus de trames dans votre animation, utilisez [AnimationPlayer] ou "
-"[AnimatedSprite2D]."
+"[AnimatedSprite]."
#: doc/classes/Animation.xml
msgid "Contains data used to animate everything in the engine."
@@ -6417,7 +6434,6 @@ 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 memory, because resources "
"can be reused across the tree or scenes."
@@ -6542,7 +6558,7 @@ msgstr "AnimationTree"
#: 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 "Démo de tir à la troisième personne"
#: doc/classes/AnimationNodeAnimation.xml
msgid "Input animation to use in an [AnimationNodeBlendTree]."
@@ -6567,7 +6583,7 @@ msgstr ""
#: doc/classes/MeshInstance.xml doc/classes/MeshLibrary.xml
#: doc/classes/ProjectSettings.xml doc/classes/Transform.xml
msgid "3D Platformer Demo"
-msgstr ""
+msgstr "Démo de jeu de plateforme en 3D"
#: doc/classes/AnimationNodeAnimation.xml
msgid ""
@@ -6880,12 +6896,16 @@ msgid ""
"The blend space plays the animation of the node the blending position is "
"closest to. Useful for frame-by-frame 2D animations."
msgstr ""
+"L'espace de mélange joue l'animation du nœud la position de mélange le plus "
+"proche. Utilisable pour les animations 2D trame par trame."
#: doc/classes/AnimationNodeBlendSpace2D.xml
msgid ""
"Similar to [constant BLEND_MODE_DISCRETE], but starts the new animation at "
"the last animation's playback position."
msgstr ""
+"Semblable à [constant BLEND_MODE_DISCRETE], mais commence la nouvelle "
+"animation à la dernière position de lecture de l'animation suivante."
#: doc/classes/AnimationNodeBlendTree.xml
msgid "[AnimationTree] node resource that contains many blend type nodes."
@@ -6899,18 +6919,27 @@ msgid ""
"An [AnimationNodeOutput] node named [code]output[/code] is created by "
"default."
msgstr ""
+"Ce nœud peut contenir une sous-arborescence d'autres nœuds de type "
+"mélangeur, tels que les [AnimationNodeTransition], [AnimationNodeBlend2], "
+"[AnimationNodeBlend3], [AnimationNodeOneShot], etc. C'est l'une des racines "
+"les plus couramment utilisées.\n"
+"Un nœud [AnimationNodeOutput] nommé [code]output[/code] est créé par défaut."
#: doc/classes/AnimationNodeBlendTree.xml
msgid ""
"Adds an [AnimationNode] at the given [code]position[/code]. The [code]name[/"
"code] is used to identify the created sub-node later."
msgstr ""
+"Ajoute un [AnimationNode] à la [code]position[/code] donnée. Le nom "
+"[code]name[/code] est utilisé pour identifier le sous-node créé plus tard."
#: doc/classes/AnimationNodeBlendTree.xml
msgid ""
"Connects the output of an [AnimationNode] as input for another "
"[AnimationNode], at the input port specified by [code]input_index[/code]."
msgstr ""
+"Connecte la sortie d'un [AnimationNode] à l'entrée d'un autre "
+"[AnimationNode], au port d'entrée spécifié par [code]input_index[/code]."
#: doc/classes/AnimationNodeBlendTree.xml
msgid "Disconnects the node connected to the specified input."
@@ -6982,6 +7011,9 @@ msgid ""
"sub-animation and return once it finishes. Blend times for fading in and out "
"can be customized, as well as filters."
msgstr ""
+"Une ressource à ajouter à un [AnimationNodeBlendTree]. Ce nœud exécutera une "
+"sous-animation et retournera quand il aura fini. Les temps de foudu entrant "
+"et sortant peuvent être personnalisés, ainsi que les filtres."
#: doc/classes/AnimationNodeOneShot.xml
msgid ""
@@ -7070,6 +7102,8 @@ msgstr "Retourne le nom du nœud d'animation donné."
#: doc/classes/AnimationNodeStateMachine.xml
msgid "Returns the given node's coordinates. Used for display in the editor."
msgstr ""
+"Retourne les coordonnées du node donnée. Utilisé pour l'affichage dans "
+"l'éditeur."
#: doc/classes/AnimationNodeStateMachine.xml
msgid "Returns the given transition."
@@ -7095,6 +7129,7 @@ msgstr "Retourne [code]true[/code] si le graphe contient le nœud spécifié."
msgid ""
"Returns [code]true[/code] if there is a transition between the given nodes."
msgstr ""
+"Retourne [code]true[/code] s'il y a une transition entre les nœuds spécifiés."
#: doc/classes/AnimationNodeStateMachine.xml
msgid "Deletes the given node from the graph."
@@ -7207,12 +7242,24 @@ msgid ""
"(linear_velocity.x == 0)\n"
"[/codeblock]"
msgstr ""
+"Active l'avance automatique lorsque cette condition est définie. Le nom "
+"fourni deviendra un paramètre booléen pour le [AnimationTree] qui peut être "
+"contrôlé à partir du code (voir [url=$DOCS_URL/tutorials/animation/tree."
+"html#controlling-from-code][/url]). Par exemple, si [membre AnimationTree."
+"tree_root] est un [AnimationNodeStateMachine] et que [member "
+"advance_condition] est définit à [code]\"idle\"[/code] :\n"
+"[codeblock]\n"
+"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
+"(linear_velocity.x == 0)\n"
+"[/codeblock]"
#: doc/classes/AnimationNodeStateMachineTransition.xml
msgid ""
"Turn on the transition automatically when this state is reached. This works "
"best with [constant SWITCH_MODE_AT_END]."
msgstr ""
+"Active la transition automatiquement lorsque cet état est atteint. Cela "
+"fonctionne mieux avec [constant SWITCH_MODE_AT_END]."
#: doc/classes/AnimationNodeStateMachineTransition.xml
msgid ""
@@ -7228,6 +7275,9 @@ msgid ""
"via [method AnimationNodeStateMachinePlayback.travel] or [member "
"auto_advance]."
msgstr ""
+"Les transitions les moins prioritaires sont préférées lorsque vous voyagez à "
+"travers l'arborescence via [method AnimationNodeStateMachinePlayback.travel] "
+"ou [membre auto_advance]."
#: doc/classes/AnimationNodeStateMachineTransition.xml
msgid "The transition type."
@@ -7246,18 +7296,24 @@ msgid ""
"Switch to the next state immediately. The current state will end and blend "
"into the beginning of the new one."
msgstr ""
+"Passe à l'état suivant immédiatement. L'état actuel se terminera et se "
+"fondra au début du nouveau."
#: doc/classes/AnimationNodeStateMachineTransition.xml
msgid ""
"Switch to the next state immediately, but will seek the new state to the "
"playback position of the old state."
msgstr ""
+"Passe immédiatement à l'état suivant, mais cherchera le nouvel état à la "
+"position de lecture de l'ancien état."
#: doc/classes/AnimationNodeStateMachineTransition.xml
msgid ""
"Wait for the current state playback to end, then switch to the beginning of "
"the next state animation."
msgstr ""
+"Attend que la lecture de l'état actuelle se termine, puis passe au début de "
+"la prochaine animation de l'état."
#: doc/classes/AnimationNodeTimeScale.xml
msgid "A time-scaling animation node to be used with [AnimationTree]."
@@ -7269,6 +7325,8 @@ msgid ""
"Allows scaling the speed of the animation (or reversing it) in any children "
"nodes. Setting it to 0 will pause the animation."
msgstr ""
+"Permet de changer la vitesse de l'animation (ou de l'inverser) dans "
+"n'importe quel nœud enfant. Définir cette valeur à 0 arrêtera l'animation."
#: doc/classes/AnimationNodeTimeSeek.xml
msgid "A time-seeking animation node to be used with [AnimationTree]."
@@ -7296,6 +7354,23 @@ msgid ""
"animation_tree[\"parameters/Seek/seek_position\"] = 12.0\n"
"[/codeblock]"
msgstr ""
+"Ce nœud peut être utilisé pour avancer la lecture de n'importe quel autre "
+"nœud enfant du graphe d'animation. Utilisez ce type de nœud pour jouer une "
+"[Animation] depuis le début ou à une certaine position dans le "
+"[AnimationNodeBlendTree]. Après avoir défini le temps et changé la lecture "
+"de l'animation, le nœud s'arrêtera automatiquement à la trame suivante en "
+"définissant sa [code]seek_position[/code] à la valeur [code]-1.0[/code].\n"
+"[codeblock]\n"
+"# Jouer l'animation enfant depuis le début.\n"
+"animation_tree.set(\"parameters/Seek/seek_position\", 0.0)\n"
+"# Syntaxe alternative (avec le même résultat qu'au-dessus).\n"
+"animation_tree[\"parameters/Seek/seek_position\"] = 0.0\n"
+"\n"
+"# Jouer l'animation enfant à la 12ème seconde.\n"
+"animation_tree.set(\"parameters/Seek/seek_position\", 12.0)\n"
+"# Syntaxe alternative (avec le même résultat qu'au-dessus).\n"
+"animation_tree[\"parameters/Seek/seek_position\"] = 12.0\n"
+"[/codeblock]"
#: doc/classes/AnimationNodeTransition.xml
msgid "A generic animation transition node for [AnimationTree]."
@@ -7307,6 +7382,9 @@ msgid ""
"[AnimationNodeStateMachine]. Animations can be connected to the inputs and "
"transition times can be specified."
msgstr ""
+"Une simple machine à états pour les cas qui n'exigent pas une "
+"[AnimationNodeStateMachine] plus avancée. Les animations peuvent être "
+"connectées aux entrées et les temps de transition peuvent être spécifiés."
#: doc/classes/AnimationNodeTransition.xml
msgid "The number of available input ports for this node."
@@ -7335,6 +7413,19 @@ msgid ""
"a [Tween] node, but it requires doing everything by code.\n"
"Updating the target properties of animations occurs at process time."
msgstr ""
+"Un lecteur d'animation est utilisé pour la lecture générale des ressources "
+"[Animation]. Il contient un dictionnaire d'animations (chacune référencée "
+"par nom) et des temps de mélange personnalisés entre leurs transitions. De "
+"plus, les animations peuvent être jouées et mélangées dans différents "
+"canaux.\n"
+"[AnimationPlayer] est plus adapté que [Tween] pour les animations où vous "
+"connaissez les valeurs finales à l'avance. Par exemple, la transition à "
+"l'écran est plus facile avec un nœud [AnimationPlayer] grâce aux outils "
+"d'animation fournis par l'éditeur. Cet exemple particulier peut également "
+"être mis en œuvre avec un nœud [Tween], mais il nécessite de la faire "
+"complètement par le code.\n"
+"La mise à jour des propriétés cibles des animations se produit au moment du "
+"processus."
#: doc/classes/AnimationPlayer.xml
#, fuzzy
@@ -7354,6 +7445,10 @@ msgid ""
"animation. [code]delta[/code] is the time in seconds to shift. Events "
"between the current frame and [code]delta[/code] are handled."
msgstr ""
+"Déplace la position dans le ligne temporelle de l'animation et met "
+"immédiatement à jour l'animation. [code]delta[/code] est le moment en "
+"secondes à changer. Les événements entre la trame actuele et [code]delta[/"
+"code] sont gérés."
#: doc/classes/AnimationPlayer.xml
msgid "Returns the name of the next animation in the queue."
@@ -7372,6 +7467,9 @@ msgid ""
"[AnimationPlayer] caches animated nodes. It may not notice if a node "
"disappears; [method clear_caches] forces it to update the cache again."
msgstr ""
+"[AnimationPlayer] met en cache des nœuds animés. Il peut ne pas remarquer si "
+"un nœud disparaît ; [méthode clear_caches] le force à mettre à jour le cache "
+"à nouveau."
#: doc/classes/AnimationPlayer.xml
msgid "Clears all queued, unplayed animations."
@@ -7388,6 +7486,8 @@ msgid ""
"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
"not found."
msgstr ""
+"Retourne le [Animation] avec la clé [code]name[/code] ou [code]null[/code] "
+"s'il n'est pas trouvé."
#: doc/classes/AnimationPlayer.xml
msgid "Returns the list of stored animation names."
@@ -7408,6 +7508,10 @@ msgid ""
"[code]custom_speed[/code] argument specified when calling the [method play] "
"method."
msgstr ""
+"Retourne la vitesse réelle de lecture de l'animation actuelle ou 0 si n'est "
+"pas jouée. Cette vitesse est la propriété [member playback_speed] multipliée "
+"par l'argument [code]custom_speed[/code] spécifié lors de l'appel de la "
+"méthode [method play]."
#: doc/classes/AnimationPlayer.xml
msgid ""
@@ -7421,6 +7525,8 @@ msgid ""
"Returns [code]true[/code] if the [AnimationPlayer] stores an [Animation] "
"with key [code]name[/code]."
msgstr ""
+"Retourne [code]true[/code] si [AnimationPlayer] stocke une [Animation] avec "
+"la clé [code]name[/code]."
#: doc/classes/AnimationPlayer.xml
msgid "Returns [code]true[/code] if playing an animation."
@@ -7451,6 +7557,10 @@ msgid ""
"code] and [code]from_end = true[/code], so see its description for more "
"information."
msgstr ""
+"Joue à l'envers l'animation avec la clé [code]name[/code].\n"
+"Cette méthode est un raccourci pour [method play] avec [code]custom_speed = "
+"-1.0[/code] et [code]from_end = true[/code], ainsi voir sa description pour "
+"plus d'informations."
#: doc/classes/AnimationPlayer.xml
msgid ""
@@ -7458,6 +7568,10 @@ msgid ""
"[b]Note:[/b] If a looped animation is currently playing, the queued "
"animation will never play unless the looped animation is stopped somehow."
msgstr ""
+"Ajouter une animation pour être lue une fois que l'actuelle est terminée.\n"
+"[b]Note :[/b] Si une animation en boucle joue actuellement, l'animation "
+"ajoutée ne sera jamais joué à moins que l'animation en boucle ne soit "
+"arrêtée."
#: doc/classes/AnimationPlayer.xml
msgid "Removes the animation with key [code]name[/code]."
@@ -7500,6 +7614,13 @@ msgid ""
"[method play_backwards] without arguments or with the same animation name as "
"[member assigned_animation] will resume the animation."
msgstr ""
+"Arrête ou met en pause l'animation en cours. Si [code]reset[/code] est "
+"[code]true[/code], la position de l'animation est réinitialisée à [code]0[/"
+"code] et la vitesse de lecture est réinitialisée à [code]1.0[/code].\n"
+"Si [code]reset[/code] est [code]false[/code], la [membre "
+"current_animation_position] sera gardée et appeller [method play] ou [method "
+"play_backwards] sans arguments ou avec le même nom d'animation que [member "
+"assigned_animation] reprendra l'animation à cette position."
#: doc/classes/AnimationPlayer.xml
msgid ""
@@ -7513,7 +7634,7 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid "The name of the animation to play when the scene loads."
-msgstr ""
+msgstr "Le nom de l'animation à jouer dès que la scène est chargée."
#: doc/classes/AnimationPlayer.xml
msgid ""
@@ -7526,6 +7647,15 @@ msgid ""
"get the currently playing animation, and internally for animation playback "
"tracks. For more information, see [Animation]."
msgstr ""
+"Le nom de l'animation en cours. Si aucune animation n'est jouée, la valeur "
+"de la propriété est une chaîne de caractères vide. Changer cette valeur ne "
+"redémarre pas l'animation. Voir [methode play] pour plus d'informations sur "
+"les animations.\n"
+"[b]Note :[/b] Bien que cette propriété apparaisse dans l'inspecteur, elle "
+"n'était pas censée être modifiée et n'est pas enregistrée. Cette propriété "
+"est principalement utilisée pour obtenir l'animation en cours, et en interne "
+"pour les pistes de lecture d'animation. Pour plus d'informations, voir "
+"[Animation]."
#: doc/classes/AnimationPlayer.xml
msgid "The length (in seconds) of the currently being played animation."
@@ -7537,23 +7667,28 @@ msgstr "La position (en secondes) de l'animation actuellement jouée."
#: doc/classes/AnimationPlayer.xml
msgid "The call mode to use for Call Method tracks."
-msgstr ""
+msgstr "Le mode d'appel à utiliser pour les pistes \"Call Method\"."
#: doc/classes/AnimationPlayer.xml
msgid ""
"If [code]true[/code], updates animations in response to process-related "
"notifications."
msgstr ""
+"Si [code]true[/code], met à jour les animations en réponse aux notifications "
+"liées au processus."
#: doc/classes/AnimationPlayer.xml
msgid ""
"The default time in which to blend animations. Ranges from 0 to 4096 with "
"0.01 precision."
msgstr ""
+"Le moment par défaut où les animations sont mélangées. L'intervalle va de 0 "
+"à 4096 avec une précision de 0,01."
#: doc/classes/AnimationPlayer.xml
msgid "The process notification in which to update animations."
msgstr ""
+"La notification de processus dans laquelle mettre à jour les animations."
#: doc/classes/AnimationPlayer.xml
msgid ""
@@ -7561,6 +7696,9 @@ msgid ""
"animation plays at normal speed. If it's 0.5, then it plays at half speed. "
"If it's 2, then it plays at double speed."
msgstr ""
+"Le rapport d'échelle de vitesse. Par exemple, si cette valeur est 1, alors "
+"l'animation joue à la vitesse normale. À 0,5, elle est joué à deux fois "
+"moins vite. À 2, elle est jouée deux fois plus vite."
#: doc/classes/AnimationPlayer.xml
msgid ""
@@ -7571,10 +7709,16 @@ msgid ""
"defined by the reset animation, if any, with the editor keeping the values "
"that the nodes had before saving."
msgstr ""
+"Ceci est utilisé par l'éditeur. Si défini à [code]true[/code], la scène sera "
+"sauvegardée avec les effets de l'animation réinitialisée appliquée (comme si "
+"elle avait été cherchée à temps 0), puis rétablie après l'enregistrement.\n"
+"En d'autres termes, le fichier de scène sauvegardé contiendra la \"pose par "
+"défaut\", telle que définie par l'animation réinitialisée, le cas échéant, "
+"avec l'éditeur gardant les valeurs que les nœuds avaient avant de sauver."
#: doc/classes/AnimationPlayer.xml
msgid "The node from which node path references will travel."
-msgstr ""
+msgstr "Le nœud à partir duquel les références de chemin de nœud vont aller."
#: doc/classes/AnimationPlayer.xml
msgid ""
@@ -7583,6 +7727,10 @@ msgid ""
"[b]Note:[/b] The signal is not emitted when the animation is changed via "
"[method play] or from [AnimationTree]."
msgstr ""
+"Émis lorsqu'une animation ajouté à la file jouera après la fin de "
+"l'animation précédente. Voir [methode queue].\n"
+"[b]Note :[/b] Le signal n'est pas émis lorsque l'animation est changée via "
+"[method play] ou depuis le [AnimationTree]."
#: doc/classes/AnimationPlayer.xml
msgid "Notifies when an animation finished playing."
@@ -7597,6 +7745,8 @@ msgid ""
"Notifies when the caches have been cleared, either automatically, or "
"manually via [method clear_caches]."
msgstr ""
+"Notifie quand les caches ont été effacées, soit automatiquement ou soit "
+"manuellement par [méthode clear_caches]."
#: doc/classes/AnimationPlayer.xml doc/classes/AnimationTreePlayer.xml
msgid ""
@@ -7649,6 +7799,14 @@ msgid ""
"[AnimationPlayer] node should be used solely for adding, deleting, and "
"editing animations."
msgstr ""
+"Un nœud à utiliser pour des transitions d'animation complexes dans un "
+"[AnimationPlayer].\n"
+"[b]Note :[/b] Quand lié à un [AnimationPlayer], plusieurs propriétés et "
+"méthodes du [AnimationPlayer] correspondant ne fonctionneront pas comme "
+"prévu. La lecture et les transitions doivent être gérées en utilisant "
+"seulement le [AnimationTree] et son [AnimationNode]. Le nœud "
+"[AnimationPlayer] doit être utilisé uniquement pour ajouter, supprimer et "
+"éditer des animations."
#: doc/classes/AnimationTree.xml
msgid "Using AnimationTree"
@@ -7666,6 +7824,11 @@ msgid ""
"track of type [constant Animation.TYPE_TRANSFORM], returns an identity "
"transformation. See also [member root_motion_track] and [RootMotionView]."
msgstr ""
+"Récupére le mouvement du [membre root_motion_track] sous forme de "
+"[Transform] qui peut être utilisée ailleurs. Si [member root_motion_track] "
+"n'est pas un chemin vers une piste de type [constant Animation."
+"TYPE_TRANSFORM], retourne la transformation d'identité. Voir aussi [membrer "
+"root_motion_track] et [RootMotionView]."
#: doc/classes/AnimationTree.xml
msgid "If [code]true[/code], the [AnimationTree] will be processing."
@@ -7680,6 +7843,8 @@ msgid ""
"The process mode of this [AnimationTree]. See [enum AnimationProcessMode] "
"for available modes."
msgstr ""
+"Le mode de processus de ce [AnimationTree]. Voir [enum AnimationProcessMode] "
+"pour les modes disponibles."
#: doc/classes/AnimationTree.xml
msgid ""
@@ -7715,12 +7880,16 @@ msgid ""
"The animations will progress during the physics frame (i.e. [method Node."
"_physics_process])."
msgstr ""
+"Les animations progresseront pendant les trames physiques (dans [méthode "
+"Node._physics_process)]"
#: doc/classes/AnimationTree.xml
msgid ""
"The animations will progress during the idle frame (i.e. [method Node."
"_process])."
msgstr ""
+"Les animations progresseront pendant les trames d'inactivité (dans [méthode "
+"Node._process)]"
#: doc/classes/AnimationTree.xml
msgid "The animations will only progress manually (see [method advance])."
@@ -7733,6 +7902,8 @@ msgid ""
"[i]Deprecated.[/i] Animation player that uses a node graph for blending "
"animations. Superseded by [AnimationTree]."
msgstr ""
+"[i]Obsolète.[/i] Le lecteur d'animation qui utilise un graph de nœuds pour "
+"mélanger des animations. Remplacé par [AnimationTree]."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
@@ -7744,6 +7915,13 @@ msgid ""
"depending on the graph.\n"
"See [AnimationTree] for a more full-featured replacement of this node."
msgstr ""
+"[i]Obsolète[/i]. Un outil de graph de nœuds pour mélanger plusieurs "
+"animations liées à un [AnimationPlayer]. particulièrement utile pour animer "
+"des personnages ou d'autres éléments à base de squelette. Il peut combiner "
+"plusieurs animations pour former la pose souhaitée.\n"
+"Il prend des [Animation] d'un nœud [AnimationPlayer] et les mélange selon ce "
+"graph.\n"
+"Voir [AnimationTree] pour un remplacement plus complet de ce nœud."
#: doc/classes/AnimationTreePlayer.xml
msgid "Adds a [code]type[/code] node to the graph with name [code]id[/code]."
@@ -7762,12 +7940,16 @@ msgid ""
"Returns the [AnimationPlayer]'s [Animation] bound to the "
"[AnimationTreePlayer]'s animation node with name [code]id[/code]."
msgstr ""
+"Retourne la [Animation] du [AnimationPlayer] lié au nœud d'animation du "
+"[AnimationTreePlayer] nommé [code]id[/code]."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
"Returns the name of the [member master_player]'s [Animation] bound to this "
"animation node."
msgstr ""
+"Retourne le nom de la [Animation] du [member master_player] lié à ce nœud "
+"d'animation."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
@@ -7789,6 +7971,9 @@ msgid ""
"[code]id[/code] turns off the track modifying the property at [code]path[/"
"code]. The modified node's children continue to animate."
msgstr ""
+"Si [code]enable[/code] est [code]true[/code], le nœud d'animation avec "
+"l'identifiant [code]id[/code] désactive la piste en modifiant la propriété "
+"[code]path[/code]. Les enfants modifiés du node's continuent d'être animés."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
@@ -7817,6 +8002,12 @@ msgid ""
"At 0, output is input A. Towards 1, the influence of A gets lessened, the "
"influence of B gets raised. At 1, output is input B."
msgstr ""
+"Définit la quantité de mélange d'un nœud Blend2 à partir de son nom et sa "
+"valeur.\n"
+"Un nœud Blend2 mélange deux animations (A et B) avec une quantité entre 0 et "
+"1.\n"
+"À 0, la sortie est l'entrée A. Jusqu'à 1, l'influence de A baisse, et celle "
+"de B augmente. À 1, la sortie est l'entrée B."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
@@ -7824,6 +8015,9 @@ msgid ""
"[code]id[/code] turns off the track modifying the property at [code]path[/"
"code]. The modified node's children continue to animate."
msgstr ""
+"Si [code]enable[/code] est [code]true[/code], le nœud Blend2 avec le nom "
+"[code]id[/code] désactive la piste en modifiant la propriété [code]path[/"
+"code]. Les enfants modifiés du node's continuent d'être animés."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -7840,6 +8034,13 @@ msgid ""
"input A. From 0 to 1, the influence of A gets lessened, the influence of B+ "
"gets raised and the influence of B+ is 0. At 1, output is input B+."
msgstr ""
+"Définit la quantité de mélange d'un nœud Blend3 donné son nom et sa valeur.\n"
+"A Blend3 Node mélange trois animations (A, B-, B+) avec la quantité entre -1 "
+"et 1.\n"
+"À -1, la sortie est l'entrée B-. De -1 à 0, l'influence de B- se réduit, et "
+"celle de A augmente pendant que cette de B+ est à 0. À 0, la sortie est "
+"l'entrée A. De 0 à 1, l'influence d'A diminue, celle de B+ augmente et celle "
+"de B+ est à 0. À 1, la sortie est l'entrée B+."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -7852,6 +8053,9 @@ msgid ""
"A Blend4 Node blends two pairs of animations.\n"
"The two pairs are blended like Blend2 and then added together."
msgstr ""
+"Définit la quantité de mélange d'un nœud Blend4 donné son nom et sa valeur.\n"
+"A Blend4 Node mélange deux paires d'animations.\n"
+"Les deux paires sont mélangées comme Blend2 et ensuite ajoutées ensemble."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
@@ -7865,6 +8069,8 @@ msgstr ""
msgid ""
"Disconnects nodes connected to [code]id[/code] at the specified input slot."
msgstr ""
+"Déconnecte les nœuds connectés à [code]id[/code] à l'emplacement d'entrée "
+"spécifié."
#: doc/classes/AnimationTreePlayer.xml
msgid "Returns a [PoolStringArray] containing the name of all nodes."
@@ -7880,6 +8086,9 @@ msgid ""
"Sets the mix amount of a Mix node given its name and value.\n"
"A Mix node adds input b to input a by the amount given by ratio."
msgstr ""
+"Définit la quantité de mélange d'un nœud Mix donné son nom et sa valeur.\n"
+"Un nœud Mix ajoute l'entrée b à l'entrée a suivan la quantité donnée sous "
+"forme de ratio."
#: doc/classes/AnimationTreePlayer.xml
msgid "Check if a node exists (by name)."
@@ -7898,9 +8107,8 @@ msgid "Returns the input source for a given node input."
msgstr "Retourne la source entrante pour l'entrée spécifiée du nœud."
#: doc/classes/AnimationTreePlayer.xml
-#, fuzzy
msgid "Returns position of a node in the graph given its name."
-msgstr "Retourne la position du nœud spécifié dans le graphique du nuanceur."
+msgstr "Retourne la position du nœud spécifié dans son nom dans le graph."
#: doc/classes/AnimationTreePlayer.xml
msgid "Gets the node type, will return from [enum NodeType] enum."
@@ -7979,6 +8187,9 @@ msgid ""
"[code]id[/code] turns off the track modifying the property at [code]path[/"
"code]. The modified node's children continue to animate."
msgstr ""
+"Si [code]enable[/code] est [code]true[/code], le nœud OneShot avec "
+"l'identifiant [code]id[/code] désactive la piste en modifiant la propriété à "
+"[code]path[/code]. Les enfants modifiés du node's continuent d'être animés."
#: doc/classes/AnimationTreePlayer.xml
msgid "Starts a OneShot node given its name."
@@ -7994,6 +8205,9 @@ msgid ""
"animation nodes. Needed when external sources modify the animation nodes' "
"state."
msgstr ""
+"Recalcule manuellement le cache des informations générées de la piste à "
+"partir de nœuds d'animation. Nécessaire quand des sources extérieures "
+"modifient l'état des nœuds d'animation."
#: doc/classes/AnimationTreePlayer.xml
msgid "Removes the animation node with name [code]id[/code]."
@@ -8017,6 +8231,12 @@ msgid ""
"If applied after a blend or mix, affects all input animations to that blend "
"or mix."
msgstr ""
+"Définit l'échelle temporelle du nœud TimeScale avec le nom [code]id[/code] à "
+"[code]scale[/code].\n"
+"Le nœud TimeScale est utilisé pour accélérer [Animation] si l'échelle est "
+"supérieure à 1 ou la ralentir si elle est inférieure à 1.\n"
+"S'il est appliqué après un mélange, affecte toutes les animations d'entrée "
+"de ce mélange."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
@@ -8174,7 +8394,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 "Démo des interfaces en 3D"
#: doc/classes/Area.xml
msgid ""
@@ -8185,6 +8405,13 @@ msgid ""
"list is modified once during the physics step, not immediately after objects "
"are moved. Consider using signals instead."
msgstr ""
+"Retourne une liste de [Area] qui sont en collision. Le calque [membre "
+"CollisionObject.collision_layer] de l'aire de chevauchement doit faire "
+"partie [membre CollisionObject.collision_mask] pour être détectée.\n"
+"Pour des raisons de performance (les collisions sont toutes traitées en même "
+"temps) cette liste est modifiée une fois pendant l'étape physique, pas "
+"immédiatement après le déplacement des objets. Considérez plutôt utiliser "
+"des signaux."
#: doc/classes/Area.xml
msgid ""
@@ -8195,6 +8422,13 @@ msgid ""
"list is modified once during the physics step, not immediately after objects "
"are moved. Consider using signals instead."
msgstr ""
+"Retourne une liste de [PhysicsBody] qui sont en collision. Le calque [membre "
+"CollisionObject.collision_layer] du corps de chevauchement doit faire partie "
+"[membre CollisionObject.collision_mask] pour être détecté.\n"
+"Pour des raisons de performance (les collisions sont toutes traitées en même "
+"temps) cette liste est modifiée une fois pendant l'étape physique, pas "
+"immédiatement après le déplacement des objets. Considérez plutôt utiliser "
+"des signaux."
#: doc/classes/Area.xml
msgid ""
@@ -8203,6 +8437,11 @@ msgid ""
"For performance, list of overlaps is updated once per frame and before the "
"physics step. Consider using signals instead."
msgstr ""
+"Si [code]true[/code], la zone donnée recouvre la Area.\n"
+"[b]Note :[/b] Le résultat de ce test n'est pas immédiat après le déplacement "
+"des objets. Pour la performance, la liste des chevauchements est mise à jour "
+"une fois par trame et avant l'étape physique. Considérez plutôt utiliser des "
+"signaux."
#: doc/classes/Area.xml
msgid ""
@@ -8214,6 +8453,15 @@ msgid ""
"instance (while GridMaps are not physics body themselves, they register "
"their tiles with collision shapes as a virtual physics body)."
msgstr ""
+"Si [code]true[/code], le corps physique donné recouvre la Area.\n"
+"[b]Note :[/b] Le résultat de ce test n'est pas immédiat après le déplacement "
+"des objets. Pour la performance, la liste des chevauchements est mise à jour "
+"une fois par cadre et avant l'étape physique. Considérez plutôt utiliser des "
+"signaux.\n"
+"L'argument [code]body[/code] peut être soit un [PhysicsBody] ou une instance "
+"[GridMap] (bien que GridMap ne sont pas le corps physique eux-mêmes, ils "
+"enregistrent leurs tuiles avec des formes de collision comme un corps "
+"physique virtuel)."
#: doc/classes/Area.xml
msgid ""
@@ -8256,6 +8504,8 @@ msgid ""
"The area's gravity vector (not normalized). If gravity is a point (see "
"[member gravity_point]), this will be the point of attraction."
msgstr ""
+"Le vecteur de gravité (non normalisé). Si la gravité est un point (voir "
+"[membre gravité_point,)], ce sera le point d'attraction."
#: doc/classes/Area.xml
msgid ""
@@ -8339,6 +8589,17 @@ msgid ""
"the [PhysicsServer]. Get the [CollisionShape] node with [code]self."
"shape_owner_get_owner(local_shape_index)[/code]."
msgstr ""
+"Émis lorsque l'une des [Shape] de l'autre Area entre dans l'une des [Shape] "
+"de cette Area. Nécessite [member monitoring] à [code]true[/code].\n"
+"[code]area_rid[/code] est le [RID] du [CollisionObject] de l'autre Area "
+"utilisée par le [PhysicsServer].\n"
+"[code]area[/code] l'autre Area.\n"
+"[code]area_shape_index[/code] est l'index de la [Shape] de l'autre Area "
+"utilisée par le [PhysicsServer]. Obtenez le nœud [CollisionShape] avec "
+"[code]area.shape_owner_get_owner(area_shape_index)[/code].\n"
+"[code]local_shape_index[/code] est l'index de la [Shape] de cette Area "
+"utilisée par le [PhysicsServer]. Obtenez le nœud [CollisionShape] avec "
+"[code]self.shape_owner_get_owner(local_shape_index)[/code]."
#: doc/classes/Area.xml
msgid ""
@@ -8348,6 +8609,11 @@ msgid ""
"[code]body[/code] the [Node], if it exists in the tree, of the other "
"[PhysicsBody] or [GridMap]."
msgstr ""
+"Émis quand un [PhysicsBody] ou un [GridMap] entre dans cette Area. Nécessite "
+"[member monitoring] d'être définie à [code]true[/code]. Les [GridMap] sont "
+"détectés si la [MeshLibrary] à des [Shape] de collision.\n"
+"Le [code]body[/code] est le [Node], s'il exist dans l'arborescence, de "
+"l'autre [PhysicsBody] ou [GridMap]."
#: doc/classes/Area.xml
msgid ""
@@ -8357,6 +8623,11 @@ msgid ""
"[code]body[/code] the [Node], if it exists in the tree, of the other "
"[PhysicsBody] or [GridMap]."
msgstr ""
+"Émis quand un [PhysicsBody] ou un [GridMap] quitte cette Area. Nécessite "
+"[member monitoring] d'être définie à [code]true[/code]. Les [GridMap] sont "
+"détectés si la [MeshLibrary] à des [Shape] de collision.\n"
+"Le [code]body[/code] est le [Node], s'il exist dans l'arborescence, de "
+"l'autre [PhysicsBody] ou [GridMap]."
#: doc/classes/Area.xml
msgid ""
@@ -8467,6 +8738,15 @@ msgid ""
"[TileMap] instance (while TileMaps are not physics bodies themselves, they "
"register their tiles with collision shapes as a virtual physics body)."
msgstr ""
+"Si [code]true[/code], le corps physique donné recouvre la zone2D.\n"
+"[b]Note :[/b] Le résultat de ce test n'est pas immédiat après le déplacement "
+"des objets. Pour des raisons de performance, la liste des chevauchements est "
+"mise à jour une fois par trame et avant l'étape physique. Considérez plutôt "
+"l'utilisateur de signaux.\n"
+"L'argument [code]body[/code] peut soit être un [PhysicsBody2D] ou une "
+"instance [TileMap] (même si les TileMap ne sont pas des corps de physique en "
+"soit, ils enregistrent leurs tuiles avec des formes de collision comme un "
+"corps de physique virtuel)."
#: doc/classes/Area2D.xml
msgid ""
@@ -8475,6 +8755,10 @@ msgid ""
"See [member ProjectSettings.physics/2d/default_angular_damp] for more "
"details about damping."
msgstr ""
+"La vitesse à laquelle les objets arrêtent de tourner dans cette zone. "
+"Représente la vitesse angulaire perdue par seconde.\n"
+"Voir [membre ProjectSettings.physics/2d/default_angular_damp] pour plus de "
+"détails sur l'amortissement."
#: doc/classes/Area2D.xml
msgid ""
@@ -8482,6 +8766,9 @@ msgid ""
"multiplies the gravity vector. This is useful to alter the force of gravity "
"without altering its direction."
msgstr ""
+"L'intensité de gravité (en pixels par seconde au carré). Cette valeur "
+"multiplie le vecteur de gravité. Ceci est utile pour modifier la force de la "
+"gravité sans modifier sa direction."
#: doc/classes/Area2D.xml
msgid ""
@@ -8858,6 +9145,14 @@ msgid ""
"element is close to the beginning of the array (index 0). This is because "
"all elements placed after the removed element have to be reindexed."
msgstr ""
+"Retire le première apparition de la valeur du tableau. Si la valeur n'est "
+"pas présente, rien ne se produit. Pour retirer un élément à partir de sa "
+"position, utilisez plutôt [method remove].\n"
+"[b]Note :[/b] Cette méthode se contente de retirer l'élément et ne retourne "
+"aucune valeur.\n"
+"[b]Note :[/b] Pour les grands tableaux, cette méthode sera lente si la "
+"position de l'insertion est proche du début (index 0). C'est parce que tous "
+"les éléments placés après devront tous être décalés."
#: doc/classes/Array.xml
msgid ""
@@ -8870,6 +9165,14 @@ msgid ""
"array.fill(0) # Initialize the 10 elements to 0.\n"
"[/codeblock]"
msgstr ""
+"Assigne la valeur donnée à tous les éléments du tableau. C'est souvent "
+"utilisé avec [method resize] pour créer un tableau d'une taille donnée avec "
+"tous ses éléments initialisés:\n"
+"[codeblock]\n"
+"var array = []\n"
+"array.resize(10)\n"
+"array.fill(0) # Initialise les 10 éléments avec 0.\n"
+"[/codeblock]"
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
@@ -8890,6 +9193,8 @@ msgid ""
"Searches the array in reverse order for a value and returns its index or "
"[code]-1[/code] if not found."
msgstr ""
+"Recherche la valeur dans le tableau en sens inverse et retourne sa position "
+"ou [code]-1[/code] si n'est pas présent."
#: doc/classes/Array.xml
msgid ""
@@ -8917,6 +9222,20 @@ msgid ""
" pass\n"
"[/codeblock]"
msgstr ""
+"Retourne [code]true[/code] si le tableau contient la valeur donnée.\n"
+"[codeblock]\n"
+"[\"inside\", 7].has(\"inside\") # True\n"
+"[\"inside\", 7].has(\"outside\") # False\n"
+"[\"inside\", 7].has(7) # True\n"
+"[\"inside\", 7].has(\"7\") # False\n"
+"[/codeblock]\n"
+"[b]Note :[/b] C'est équivalent à utiliser l'opérateur [code]in[/code] comme "
+"suit :\n"
+"[codeblock]\n"
+"# Sera évalué à `true`.\n"
+"if 2 in [2, 4, 6, 8]:\n"
+" pass\n"
+"[/codeblock]"
#: doc/classes/Array.xml
msgid ""
@@ -8937,6 +9256,13 @@ msgid ""
"element is close to the beginning of the array (index 0). This is because "
"all elements placed after the newly inserted element have to be reindexed."
msgstr ""
+"Insère un nouvel élément à la position spécifiée du tableau. La position "
+"doit être valide, ou à la fin du tableau ([code]pos == size()[/code]).\n"
+"[b]Note :[/b] Cette méthode se contente d'insérer l'élément et ne retourne "
+"aucune valeur.\n"
+"[b]Note :[/b] Pour les grands tableaux, cette méthode sera lente si la "
+"position de l'insertion est proche du début (index 0). C'est parce que tous "
+"les éléments placés après devront tous être décalés."
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
@@ -9540,12 +9866,11 @@ msgid ""
msgstr ""
#: doc/classes/ARVRController.xml
-#, fuzzy
msgid ""
"If provided by the [ARVRInterface], this returns a mesh associated with the "
"controller. This can be used to visualize the controller."
msgstr ""
-"Si fourni par l'[XRInterface], ceci renvoie un maillage associé au "
+"Si fourni par la [ARVRInterface], ceci renvoie un maillage associé au "
"contrôleur. Ceci peut être utilisé pour visualiser le contrôleur."
#: doc/classes/ARVRController.xml
@@ -9725,6 +10050,12 @@ msgid ""
"[method get_render_targetsize]). Using a separate viewport node frees up the "
"main viewport for other purposes."
msgstr ""
+"Cette interface génère un périphérique externe. Si le port principal est "
+"utilisé, la sortie à l'écran est une mémoire tampon non modifié soit de "
+"l'œil gauche ou du droit (retaillé si la taille du viseur n'est pas changée "
+"au même rapport d'aspect que [method get_render_targetsize)]. L'utilisation "
+"d'un nœud de fenêtre d'affichage séparé libère le port principal pour être "
+"utilisé à d'autres choses."
#: doc/classes/ARVRInterface.xml
msgid ""
@@ -9804,6 +10135,21 @@ msgid ""
"be a child node of this car. Or, if you're implementing a teleport system to "
"move your character, you should change the position of this node."
msgstr ""
+"C'est un nœud spécial dans le système AR/VR qui cartographie l'emplacement "
+"physique du centre de notre espace de suivi à l'emplacement virtuel dans "
+"notre monde de jeu.\n"
+"Il ne devrait y avoir qu'un de ces nœuds dans votre scène et vous devez en "
+"avoir un. Tous les nœuds ARVRCamera, ARVRController et ARVRAnchor devraient "
+"être des enfants directs de ce nœud pour que le suivi spatial fonctionne "
+"correctement.\n"
+"C'est la position de ce nœud que vous mettez à jour lorsque votre personnage "
+"a besoin de passer à travers votre monde de jeu alors qu'il ne se déplace "
+"pas dans le monde réel. Le mouvement dans le monde réel est toujours en "
+"relation avec ce point d'origine.\n"
+"Par exemple, si votre personnage conduit une voiture, le nœud ARVROrigin "
+"devrait être un nœud enfant de cette voiture. Ou, si vous appliquez un "
+"système de téléportation pour déplacer votre personnage, vous devriez "
+"changer la position de ce nœud."
#: doc/classes/ARVROrigin.xml
msgid ""
@@ -9829,6 +10175,17 @@ msgid ""
"hood objects that make this all work. These are mostly exposed so that "
"GDNative-based interfaces can interact with them."
msgstr ""
+"Une instance de cet objet représente un dispositif qui est suivi, comme un "
+"contrôleur ou un point d'ancrage. Les HMD ne sont pas représentés ici car "
+"ils sont gérés en interne.\n"
+"Comme les contrôleurs sont activés et que l'interface AR/VR les détecte, les "
+"instances de cet objet sont automatiquement ajoutées à cette liste d'objets "
+"de suivi actifs et sont accessibles via [ARVRServer].\n"
+"Les [ARVRController] et [ARVRAnchor] consomment tous deux des objets de ce "
+"type et doivent être utilisés dans votre projet. Les suivant de position "
+"sont juste des objets en interne qui font fonctionner cela. Ceux-ci sont "
+"généralement exposés de sorte que les interfaces basées sur GDNative "
+"puissent interagir avec eux."
#: doc/classes/ARVRPositionalTracker.xml
msgid ""
@@ -9923,6 +10280,8 @@ msgid ""
"Registers a new [ARVRPositionalTracker] that tracks a spatial location in "
"real space."
msgstr ""
+"Enregistre un nouveau [ARVRPositionalTracker] qui suit un emplacement "
+"spatial dans l'espace réel."
#: doc/classes/ARVRServer.xml
msgid ""
@@ -9946,6 +10305,26 @@ msgid ""
"button on a controller for a short period of time, or when implementing a "
"teleport mechanism."
msgstr ""
+"C'est une fonction importante qu'il faut comprendre correctement. Les plates-"
+"formes AR et VR gèrent les positions légèrement différemment.\n"
+"Pour les plateformes qui n'offrent pas de suivi spatial, notre point "
+"d'origine (0,0,0) est l'emplacement de notre HMD, mais vous avez peu de "
+"contrôle sur la direction que le joueur fait face dans le monde réel.\n"
+"Pour les plateformes qui offrent un suivi spatial, notre point d'origine "
+"dépend beaucoup du système. Pour OpenVR, notre point d'origine est "
+"généralement le centre de l'espace de suivi, au sol. Pour d'autres plates-"
+"formes, il s'agit souvent de l'emplacement de la caméra de suivi.\n"
+"Cette méthode vous permet de centrer votre traceur sur l'emplacement du HMD. "
+"Il prendra l'emplacement actuel de l'HMD et l'utilisera pour ajuster toutes "
+"vos données de suivi ; c'est-à-dire réaligner le monde réel à la position "
+"actuelle de votre joueur dans le monde du jeu.\n"
+"Pour que cette méthode produise des résultats utilisables, des informations "
+"de suivi doivent être disponibles. Cela prend souvent quelques trames après "
+"le démarrage de votre jeu.\n"
+"Vous devriez appeler cette méthode après quelques secondes. Par exemple, "
+"lorsque l'utilisateur demande un réalignement de l'écran tenant un bouton "
+"désigné sur un contrôleur pendant une courte période, ou lors de la mise en "
+"œuvre d'un mécanisme de téléportation."
#: doc/classes/ARVRServer.xml
msgid ""
@@ -9958,6 +10337,9 @@ msgid ""
"capabilities of an AR/VR platform, you can find the interface for that "
"platform by name and initialize it."
msgstr ""
+"Trouve une interface par son nom. Par exemple, si votre projet utilise des "
+"capacités d'une plateforme AR/VR, vous pouvez trouver l'interface pour cette "
+"plate-forme par son nom et ensuite l'initialiser."
#: doc/classes/ARVRServer.xml
msgid "Returns the primary interface's transformation."
@@ -9978,6 +10360,11 @@ msgid ""
"try to initialize each interface and use the first one that returns "
"[code]true[/code]."
msgstr ""
+"Retourne le nombre d'interfaces actuellement enregistrées avec le serveur AR/"
+"VR. Si votre projet prend en charge plusieurs plateformes AR/VR, vous pouvez "
+"lister les interfaces disponibles, et présenter à l'utilisateur une "
+"sélection ou simplement essayer d'initialiser chaque interface et utiliser "
+"la première interface qui retourne [code]true[/code]."
#: doc/classes/ARVRServer.xml
msgid ""
@@ -10038,6 +10425,8 @@ msgid ""
"Allows you to adjust the scale to your game's units. Most AR/VR platforms "
"assume a scale of 1 game world unit = 1 real world meter."
msgstr ""
+"Vous permet d'ajuster l'échelle des unités de votre jeu. La plupart des "
+"plateformes AR/VR assument une échelle de 1 unité de jeu = 1 mètre réel."
#: doc/classes/ARVRServer.xml
msgid "Emitted when a new interface has been added."
@@ -10261,6 +10650,49 @@ msgid ""
"[code]1.0[/code], then this equals the sum of Euclidean distances of all "
"segments in the path."
msgstr ""
+"A* (A star) est un algorithme informatique qui est largement utilisé dans le "
+"cheminement et la traversée du graph, le processus de traçage des chemins "
+"courts parmi les sommets (points) passant par un ensemble donné de bords "
+"(segments). Il profite d'une utilisation généralisée en raison de sa "
+"performance et de sa précision. L'implémentation dans Godot de A* utilise "
+"par défaut des points dans un espace tridimensionnel et des distances "
+"euclidiennes.\n"
+"Vous devez ajouter des points manuellement avec [method add_point] et créer "
+"des segments manuellement avec [method connect_points]. Ensuite, vous pouvez "
+"tester s'il y a un chemin entre deux points avec la fonction [method "
+"are_points_connected], obtenir un chemin contenant des indices par [method "
+"get_id_path], ou un contenant des coordonnées réelles avec [method "
+"get_point_path].\n"
+"Il est également possible d'utiliser des distances non éuclidiennes. Pour ce "
+"faire, créez une classe qui hérite de [code]AStar[/code] et surchargez les "
+"méthodes [method compute_cost] et [method estimate_cost]. Prenez deux "
+"indices et retournez une longueur, comme le montre l'exemple suivant.\n"
+"[codeblock]\n"
+"clas MyAStar:\n"
+" extends AStar\n"
+"\n"
+" func _compute_cost(u, v):\n"
+" return abs(u - v)\n"
+"\n"
+" func _estimate_cost(u, v):\n"
+" return min(0, abs(u - v) - 1)\n"
+"[/codeblock]\n"
+"[method estimate_cost] doit retourne la valeur minimale de la distance, soit "
+"[code]_estimate_cost(u, v) <= compute_cost(u, v)[ /code]. Cela sert d'indice "
+"pour l'algorithme la méthode [code]_compute_cost[/code] peut être longue à "
+"calculer. Si ce n'est pas le cas, utilisez [method estimate_cost] pour "
+"retourner la même valeur que [method compute_cost] pour fournir à "
+"l'algorithme les informations les plus précises.\n"
+"Si les méthodes par défaut [method estimate_cost] et [method compute_cost] "
+"sont utilisées, ou si la méthode [method estimate_cost] fournie retourne une "
+"limite inférieure du coût du chemin, les chemins retournés par A* seront les "
+"chemins les moins coûteux. Ici, le coût d'un chemin correspond à la somme "
+"des résultats [méthode compute_cost] de tous les segments dans le chemin "
+"multiplié par le [code]weight_scale[/code]s des paramètres de fin des "
+"segments respectifs. Si les méthodes par défaut sont utilisées et que le "
+"[code]weight_scale[/code] de tous les points est [code]1.0[/code], ça "
+"correspond à la somme des distances euclidiennes de tous les segments du "
+"chemin."
#: doc/classes/AStar.xml
msgid ""
@@ -10299,6 +10731,21 @@ msgid ""
"If there already exists a point for the given [code]id[/code], its position "
"and weight scale are updated to the given values."
msgstr ""
+"Ajouter un nouveau point à la position spécifiée avec l'identifiant donné. "
+"L'identifiant [code]id[/code] doit être supérieur ou égal à 0, et le facteur "
+"[code]weight_scale[/code] doit être 0.0 ou supérieur.\n"
+"Le facteur [code]weight_scale[/code] est multiplié par le résultat de "
+"[method _compute_cost] pour déterminer le coût global d'une traversée d'un "
+"segment depuis un voisin jusqu'à ce point. Alors, si la distance est la "
+"même, l'algorithme préfèrera les points avec le facteur de poids "
+"[code]weight_scale[/code] le plus bas pour construire le chemin.\n"
+"[codeblock]\n"
+"var astar = AStar.new()\n"
+"astar.add_point(1, Vector3(1, 0, 0), 4) # Ajoute le point (1, 0, 0) avec le "
+"\"weight_scale\" à 4 et l'identifiant 1\n"
+"[/codeblock]\n"
+"Si un point existe déjà pour l'identifiant [code]id[/code] donné, sa "
+"position et sont facteur de poids seront mis à jour avec la valeur donnée."
#: doc/classes/AStar.xml
msgid ""
@@ -10517,6 +10964,8 @@ msgid ""
"Removes the point associated with the given [code]id[/code] from the points "
"pool."
msgstr ""
+"Retire le point associé à l'identifiant [code]id[/code] donné de la liste "
+"des points."
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid ""
@@ -10593,6 +11042,21 @@ msgid ""
"If there already exists a point for the given [code]id[/code], its position "
"and weight scale are updated to the given values."
msgstr ""
+"Ajouter un nouveau point à la position spécifiée avec l'identifiant donné. "
+"L'identifiant [code]id[/code] doit être supérieur ou égal à 0, et le facteur "
+"[code]weight_scale[/code] doit être 0.0 ou supérieur.\n"
+"Le facteur [code]weight_scale[/code] est multiplié par le résultat de "
+"[method _compute_cost] pour déterminer le coût global d'une traversée d'un "
+"segment depuis un voisin jusqu'à ce point. Alors, si la distance est la "
+"même, l'algorithme préfèrera les points avec le facteur de poids "
+"[code]weight_scale[/code] le plus bas pour construire le chemin.\n"
+"[codeblock]\n"
+"var astar = AStar2D.new()\n"
+"astar.add_point(1, Vector2(1, 0), 4) # Ajoute le point (1, 0) avec le "
+"\"weight_scale\" à 4 et l'identifiant 1\n"
+"[/codeblock]\n"
+"Si un point existe déjà pour l'identifiant [code]id[/code] donné, sa "
+"position et sont facteur de poids seront mis à jour avec la valeur donnée."
#: doc/classes/AStar2D.xml
msgid "Returns whether there is a connection/segment between the given points."
@@ -10997,6 +11461,9 @@ msgid ""
"level. The higher the ratio, the more the loud parts of the audio will be "
"compressed. Value can range from 1 to 48."
msgstr ""
+"La quantité de compression appliquée à l'audio après avoir franchi le seuil. "
+"Plus le rapport est élevé, plus les parties hautes de l'audio seront "
+"comprimées. La valeur peut aller de 1 à 48."
#: doc/classes/AudioEffectCompressor.xml
msgid ""
@@ -11007,12 +11474,16 @@ msgstr ""
#: doc/classes/AudioEffectCompressor.xml
msgid "Reduce the sound level using another audio bus for threshold detection."
msgstr ""
+"Réduit le niveau sonore en utilisant un autre bus audio pour détecter les "
+"seuils."
#: doc/classes/AudioEffectCompressor.xml
msgid ""
"The level above which compression is applied to the audio. Value can range "
"from -60 to 0."
msgstr ""
+"Le niveau au-dessus duquel la compression est appliquée à l'audio. La valeur "
+"peut aller de -60 à 0."
#: doc/classes/AudioEffectDelay.xml
msgid ""
@@ -11020,6 +11491,9 @@ msgid ""
"period of time.\n"
"Two tap delay and feedback options."
msgstr ""
+"Ajoute un effet audio de retard à un bus audio. Joue le signal d'entrée "
+"après une période de temps.\n"
+"Deux options de retard et de rétroaction."
#: doc/classes/AudioEffectDelay.xml
msgid ""
@@ -11475,6 +11949,10 @@ msgid ""
"(infinitely low pitch, inaudible) to [code]16[/code] (16 times higher than "
"the initial pitch)."
msgstr ""
+"L'échelle de pitch à utiliser. [code]1.0[/code] est le pitch par défaut et "
+"joue des sons non modifiés. [member pitch_scale] peut aller de [code]0.0[/"
+"code] (une hauteur infiniment basse, inaudible) à [code]16[/code] (16 fois "
+"supérieur à la hauteur initiale)."
#: doc/classes/AudioEffectPitchShift.xml
#: doc/classes/AudioEffectSpectrumAnalyzer.xml
@@ -11543,10 +12021,19 @@ msgid ""
"16-bit, or compressed). It checks whether or not the recording is active, "
"and if it is, records the sound. It then returns the recorded sample."
msgstr ""
+"Permet à l'utilisateur d'enregistrer le son d'un bus audio. Cela peut "
+"inclure toutes les sorties audio de Godot lorsqu'elles sont utilisées sur le "
+"bus audio \"Master\".\n"
+"Peut être utilisé (avec un [AudioStreamMicrophone)] pour enregistrer un "
+"microphone.\n"
+"Il définit et obtient le format dans lequel le fichier audio sera enregistré "
+"(8-bit, 16-bit ou compressé). Il vérifie si l'enregistrement est actif ou "
+"non, et si c'est le cas, enregistre le son. Il retourne ensuite "
+"l'échantillon enregistré."
#: doc/classes/AudioEffectRecord.xml
msgid "Recording with microphone"
-msgstr ""
+msgstr "L'enregistrement avec le microphone"
#: doc/classes/AudioEffectRecord.xml
msgid "Returns the recorded sample."
@@ -11561,12 +12048,16 @@ msgid ""
"If [code]true[/code], the sound will be recorded. Note that restarting the "
"recording will remove the previously recorded sample."
msgstr ""
+"Si [code]true[/code], le son sera enregistré. Notez que le redémarrage de "
+"l'enregistrement supprimera l'échantillon précédemment enregistré."
#: doc/classes/AudioEffectRecord.xml
msgid ""
"Specifies the format in which the sample will be recorded. See [enum "
"AudioStreamSample.Format] for available formats."
msgstr ""
+"Spécifie le format dans lequel l'échantillon sera enregistré. Voir [enum "
+"AudioStreamSample.Format] pour les formats disponibles."
#: doc/classes/AudioEffectReverb.xml
msgid ""
@@ -11574,6 +12065,9 @@ msgid ""
"Simulates the sound of acoustic environments such as rooms, concert halls, "
"caverns, or an open spaces."
msgstr ""
+"Ajoute un effet audio de réverbération à un bus audio.\n"
+"Simule le son des environnements acoustiques tels que les chambres, les "
+"salles de concert, les cavernes ou les espaces ouverts."
#: doc/classes/AudioEffectReverb.xml
msgid ""
@@ -14733,7 +15227,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14956,6 +15450,20 @@ msgid ""
"[/codeblock]\n"
"See also [method Font.draw]."
msgstr ""
+"Dessine le [code]text[/code] en utilisant la police [code]font[/code] "
+"spécifiée à la [code]position[/code] (le coin bas-gauche correspond à la "
+"ligne de base de la police). Le texte aura sa couleur multipliée par "
+"[code]modulate[/code]. Si [code]clip_w[/code] est supérieur ou égale à 0, le "
+"texte sera tronqué s'il dépasse cette valeur en pixels.\n"
+"[b]Exemple en utilisant la police par défaut du projet :[/b]\n"
+"[codeblock]\n"
+"# Si cette méthode est appelée souvent, déplacer la déclaration de\n"
+"# `default_font` dans une variable assignée dans `_ready()`\n"
+"# pour que le Control ne soit créé qu'une seule fois.\n"
+"var default_font = Control.new().get_font(\"font\")\n"
+"draw_string(default_font, Vector2(64, 64), \"Hello world\")\n"
+"[/codeblock]\n"
+"Voi aussi [method Font.draw]."
#: doc/classes/CanvasItem.xml
msgid "Draws a styled rectangle."
@@ -15673,21 +16181,25 @@ msgid "The check icon to display when the [CheckBox] is checked."
msgstr "L'icône de la coche à afficher quand la [CheckBox] est cochée."
#: doc/classes/CheckBox.xml
-#, fuzzy
msgid "The check icon to display when the [CheckBox] is checked and disabled."
-msgstr "Icône à afficher lorsque le [CheckButton] est coché et désactivé."
+msgstr ""
+"L'icône de la coche à afficher quand la [CheckBox] est coché et désactivé."
#: doc/classes/CheckBox.xml
msgid ""
"If the [CheckBox] is configured as a radio button, the icon to display when "
"the [CheckBox] is checked."
msgstr ""
+"Si la [CheckBox] est configurée pour être un bouton radio, l'icône à "
+"afficher quand la [CheckBox] est cochée."
#: doc/classes/CheckBox.xml
msgid ""
"If the [CheckBox] is configured as a radio button, the icon to display when "
"the [CheckBox] is unchecked."
msgstr ""
+"Si la [CheckBox] est configurée pour être un bouton radio, l'icône à "
+"afficher quand la [CheckBox] est décochée."
#: doc/classes/CheckBox.xml
msgid "The check icon to display when the [CheckBox] is unchecked."
@@ -16643,13 +17155,13 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
"Construit une couleur à partir d'un entier de 32 bits au format RGBA (chaque "
"octet représente un canal de couleur).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
#: doc/classes/Color.xml
@@ -16703,11 +17215,16 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
+"Retourne la couleur inversée [code](1 - r, 1 - g, 1 - b, a)[/code].\n"
+"[codeblock]\n"
+"var color = Color(0,3, 0,4, 0,9)\n"
+"var inverted_color = color.inverted () # Équivalent à Color(0.7, 0.6, 0.1)\n"
+"[/codeblock]"
#: doc/classes/Color.xml
msgid ""
@@ -16724,14 +17241,14 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
"Construit une couleur à partir d’un profil HSV. [code]h[/code], [code]s[/"
"code], et [code]v[/code] sont des valeurs comprises entre 0 et 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0,58, 0,5, 0,79, 0,8) # Équivalent au HSV (210, 50, "
+"var color = Color.from_hsv(0,58, 0,5, 0,79, 0,8) # Équivalent au HSV (210, 50, "
"79, 0,8) ou au Color8 (100, 151, 201, 0,8)\n"
"[/codeblock]"
@@ -16747,15 +17264,15 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
"Retourne la représentation en niveaux de gris.\n"
"La valeur de gris est calculé avec [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = c.gray() # Une valeur de 0.466667\n"
"[/codeblock]"
#: doc/classes/Color.xml
@@ -16814,7 +17331,7 @@ msgstr ""
"[codeblock]\n"
"var c1 = Color(1.0, 0.0, 0.0)\n"
"var c2 = Color(0.0, 1.0, 0.0)\n"
-"var li_c = c1.linear_interpolate(c2, 0.5) # Equivalent to Color(0.5, 0.5, "
+"var li_c = c1.linear_interpolate(c2, 0.5) # Équivalent à Color(0.5, 0.5, "
"0.0)\n"
"[/codeblock]"
@@ -16895,9 +17412,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -16915,7 +17432,7 @@ msgstr ""
"Godot.\n"
"[codeblock]\n"
"var color = Color(1, 0.5, 0.2)\n"
-"print(color.to_rgba32()) # Imprime 4281565439\n"
+"print(color.to_rgba32()) # Affiche 4281565439\n"
"[/codeblock]"
#: doc/classes/Color.xml
@@ -16932,7 +17449,7 @@ msgstr ""
"Godot.\n"
"[codeblock]\n"
"var color = Color(1, 0.5, 0.2)\n"
-"print(color.to_rgba64()) # Imprime -140736629309441\n"
+"print(color.to_rgba64()) # Affiche -140736629309441\n"
"[/codeblock]"
#: doc/classes/Color.xml
@@ -20867,6 +21384,10 @@ msgid ""
"[b]Note:[/b] The maximum size of accepted ciphertext is limited by the key "
"size."
msgstr ""
+"Décrypte le texte crypté [code]ciphertext[/code] donné avec le clé publique "
+"[code]key[/code] fournie.\n"
+"[b]Note :[/b] La taille maximale pour le texte est limitée par la taille de "
+"la clé."
#: doc/classes/Crypto.xml
msgid ""
@@ -20875,6 +21396,10 @@ msgid ""
"[b]Note:[/b] The maximum size of accepted plaintext is limited by the key "
"size."
msgstr ""
+"Crypte le texte [code]plaintext[/code] donné avec le clé publique [code]key[/"
+"code] fournie.\n"
+"[b]Note :[/b] La taille maximale pour le texte est limitée par la taille de "
+"la clé."
#: doc/classes/Crypto.xml
msgid ""
@@ -20909,6 +21434,24 @@ msgid ""
"Game Company,C=IT\")\n"
"[/codeblock]"
msgstr ""
+"Génère un [X509Certificate] auto-signé avec la clé [CryptoKey] et le nom "
+"[code]issuer_name[/code]. La date de validité du certificat est définie par "
+"[code]not_before[/code] et [code]not_after[/code] (la date de début et de "
+"fin de validité). Le nom [code]issuer_name[/code] doit contenir au moins "
+"\"CN=\" (le nom commun, par exemple le nom de domaine), "
+"\"O=\" (l'organisation, par exemple le nom de votre entreprise) et "
+"\"C=\" (le pays, un code ISO-3166 à deux lettres du pays où l'entreprise est "
+"située).\n"
+"Un court exemple pour générer une clé RSA avec un certificat X509 auto-"
+"signé.\n"
+"[codeblock]\n"
+"var crypto = Crypto.new()\n"
+"# Générer un clé RSA 4096 bits.\n"
+"var key = crypto.generate_rsa(4096)\n"
+"# Générer un certificat auto-signé à partir de la clé donnée.\n"
+"var cert = crypto.generate_self_signed_certificate(key, \"CN=example.com,"
+"O=Mon Studio de Jeux,C=FR\")\n"
+"[/codeblock]"
#: doc/classes/Crypto.xml
msgid ""
@@ -22351,7 +22894,6 @@ msgid "Dictionary type."
msgstr "Le type dictionnaire."
#: doc/classes/Dictionary.xml
-#, fuzzy
msgid ""
"Dictionary type. Associative container which contains values referenced by "
"unique keys. Dictionaries are composed of pairs of keys (which must be "
@@ -23213,6 +23755,33 @@ msgid ""
"In FontForge, use [b]File > Generate Fonts[/b], click [b]Options[/b], choose "
"the desired features then generate the font."
msgstr ""
+"DynamicFont fait le rendu d'un fichier de police vectorielle dynamiquement "
+"au lancement du jeu plutôt que d'utiliser une texture de pré-rendu comme "
+"[BitmapFont]. La lenteur de chargement par rapport à [BitmapFont] est "
+"compensée par la possibilité de modifier les paramètres de la police comme "
+"sa taille ou son espacement à partir du lancement. [DynamicFontData] est "
+"utilisée pour le chemin du fichier de police. DynamicFont permet aussi de "
+"définir une ou plusieurs polices de repli, qui seront utilisée pour "
+"l'affichage de tout caractère qui n'est pas présent dans la police "
+"principale.\n"
+"DynamicFont utilise la bibliothèque [url=https://www.freetype.org/]FreeType[/"
+"url] pour la rasterization. Les formats supportés sont TrueType ([code].ttf[/"
+"code]), OpenType ([code].otf[/code]), Web Open Font Format 1 ([code].woff[/"
+"code]), et Web Open Font Format 2 ([code].woff2[/code]).\n"
+"[codeblock]\n"
+"var dynamic_font = DynamicFont.new()\n"
+"dynamic_font.font_data = load(\"res://BarlowCondensed-Bold.ttf\")\n"
+"dynamic_font.size = 64\n"
+"$\"Label\".set(\"custom_fonts/font\", dynamic_font)\n"
+"[/codeblock]\n"
+"[b]Note :[/b] DynamicFont ne supporte par certaines fonctionnalités comme le "
+"kerning, l'écriture de droite à gauche, les ligatures, les formes de texte, "
+"les tailles variable et d'autres fonctionnalités pour le moment. Si vous "
+"souhaitez faire un pré-rendu de certaines fonctionnalités dans le fichier de "
+"police TTF, vous pouvez utiliser [url=https://fontforge.org/]FontForge[/url] "
+"pour cela. Dans FontForge, utilisez [b]Fichier > Polices Générales[/b], "
+"cliquez sur [b]Options[/b], puis choisissez la fonctionnalité voulue lors de "
+"la génération de la police"
#: doc/classes/DynamicFont.xml
msgid "Adds a fallback font."
@@ -24113,6 +24682,20 @@ msgid ""
"[/codeblock]\n"
"Return [code]true[/code] to make all options always visible."
msgstr ""
+"Cette méthode peut être surchargée pour masquer certaines options "
+"d'importation si des conditions sont réunies. C'est principalement utile "
+"pour masquer des options qui dépendre d'autres options. Par exemple :\n"
+"[codeblock]\n"
+"func get_option_visibility(option, options):\n"
+" # N'afficher que le réglage de qualité de perte (\"lossy\") si le mode "
+"de compression est à \"Lossy\".\n"
+" if option == \"compress/lossy_quality\" and options.has(\"compress/"
+"mode\"):\n"
+" return int(options[\"compress/mode\"]) == COMPRESS_LOSSY\n"
+"\n"
+" return true\n"
+"[/codeblock]\n"
+"Retourne [code]true[/code] pour toujours rendre toutes les options visibles."
#: doc/classes/EditorImportPlugin.xml
msgid ""
@@ -24900,6 +25483,8 @@ msgid ""
"Returns the [EditorInterface] object that gives you control over Godot "
"editor's window and its functionalities."
msgstr ""
+"Retourne l'objet [EditorInterface] qui vous donne le contrôle sur la fenêtre "
+"de l'éditeur Godot et de ses fonctionnalités."
#: doc/classes/EditorPlugin.xml
msgid ""
@@ -24918,6 +25503,20 @@ msgid ""
"\"EditorIcons\")\n"
"[/codeblock]"
msgstr ""
+"Surchargez cette méthode dans votre greffon pour retourner une [Texture] "
+"afin de lui donner une icône.\n"
+"Pour les greffons d'écran principal, cela apparaît en haut de l'écran, à "
+"droite des boutons \"2D\", \"3D\", \"Script\" et \"AssetLib\".\n"
+"Idéalement, l'icône de greffon doit être blanche avec un fond transparent et "
+"16x16 pixels en taille.\n"
+"[codeblock]\n"
+"func get_greffon_icon():\n"
+" # Vous pouvez utiliser une icône personnalisée :\n"
+" return preload(\"res://addons/mon_greffon/icone_de_mon_greffon.svg\")\n"
+" # Ou utilisez une icône intégrée :\n"
+" return get_editor_interface().get_base_control().get_icon(\"Node\", "
+"\"EditorIcons\")\n"
+"[/codeblock]"
#: doc/classes/EditorPlugin.xml
msgid ""
@@ -24926,14 +25525,22 @@ msgid ""
"For main screen plugins, this appears at the top of the screen, to the right "
"of the \"2D\", \"3D\", \"Script\", and \"AssetLib\" buttons."
msgstr ""
+"Surchargez cette méthode dans votre greffon pour fournir le nom du greffon "
+"lorsque affiché dans l'éditeur Godot.\n"
+"Pour les greffons d'écran principal, cela apparaît en haut de l'écran, à "
+"droite des boutons \"2D\", \"3D\", \"Script\" et \"AssetLib\"."
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
msgstr ""
+"Obtient le dialogue de l'éditeur utilisé pour faire des scripts.\n"
+"[b]Note :[/b] Les utilisateurs peuvent le configurer avant d'utiliser.\n"
+"[b]Attention :[/b] Supprimer et libérer ce nœud rend une partie de l'éditeur "
+"inutile et peut causer un accident."
#: doc/classes/EditorPlugin.xml
msgid ""
@@ -24941,12 +25548,18 @@ msgid ""
"state is kept when opening it again) and for switching tabs (so state can be "
"restored when the tab returns)."
msgstr ""
+"Retourne l'état de votre greffon de l'éditeur. Ceci est utilisé pour sauver "
+"la scène (ainsi l'état est maintenu lors de l'ouverture à nouveau) et pour "
+"les onglets (pour que l'état puisse être restauré lorsque l'onglet retourne)."
#: doc/classes/EditorPlugin.xml
msgid ""
"Gets the undo/redo object. Most actions in the editor can be undoable, so "
"use this object to make sure this happens when it's worth it."
msgstr ""
+"Obtient l'objet annuler/refaire. La plupart des actions de l'éditeur peuvent "
+"être inutilisables, alors utilisez cet objet pour s'assurer que cela se "
+"produit quand ça en vaut la peine."
#: doc/classes/EditorPlugin.xml
msgid ""
@@ -24954,6 +25567,9 @@ msgid ""
"layout when [method queue_save_layout] is called or the editor layout was "
"changed(For example changing the position of a dock)."
msgstr ""
+"Retourne la mise en page de l'interface du greffon. Ceci permet "
+"d'enregistrer la mise en page de l'éditeur du projet lorsqu'il s'agit d'un "
+"fichier d'éditeur (par exemple en changeant la position d'un dock)."
#: doc/classes/EditorPlugin.xml
msgid ""
@@ -24964,6 +25580,12 @@ msgid ""
"forward_canvas_gui_input] and [method forward_spatial_gui_input] these will "
"be called too."
msgstr ""
+"Implémentez cette fonction si votre greffon modifie un type spécifique "
+"d'objet (Resource ou Node). Si vous retournez [code]true[/code], alors vous "
+"obtiendrez les fonctions [method edit] et [method make_visible] appelé "
+"lorsque l'éditeur les demande. Si vous avez déclaré les méthodes [method "
+"forward_canvas_gui_input] et [method forward_spatial_gui_input] ceux-ci "
+"seront également appelés."
#: doc/classes/EditorPlugin.xml
msgid ""
@@ -27461,15 +28083,15 @@ msgstr ""
"rapide)."
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
-"La qualité la plus basse pour l'effet d’occlusion ambiante dans l’espace de "
+"La qualité moyenne pour l'effet d’occlusion ambiante dans l’espace de "
"l’écran."
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
-"La qualité la plus basse de l’occlusion ambiante d’espace d’écran (la plus "
+"La qualité la plus haute de l’occlusion ambiante d’espace d’écran (la plus "
"lente)."
#: doc/classes/Expression.xml
@@ -27736,9 +28358,10 @@ msgstr ""
"Le texte est interprété comme étant encodé en UTF-8."
#: doc/classes/File.xml
-#, fuzzy
msgid "Returns next [code]len[/code] bytes of the file as a [PoolByteArray]."
-msgstr "Retourne [code]true[/code] (vrai) si la chaîne de caractères est vide."
+msgstr ""
+"Retourne les [code]len[/code] prochains octets du fichier sous forme de "
+"[PoolByteArray]."
#: doc/classes/File.xml
msgid ""
@@ -27762,6 +28385,28 @@ msgid ""
"[code]\"\"[/code] for each quotation mark that needs to be interpreted as "
"such instead of the end of a text value."
msgstr ""
+"Retourne la prochaine valeur du fichier au format CSV (\"Comma-Separated "
+"Values\"). Vous pouvez utiliser un autre délimiteur [code]delim[/code] à la "
+"place de la virgule [code]\",\"[/code] (\"comma\") par défaut. Ce délimiteur "
+"doit ne faire qu'un seul caractère de long, et ne peut pas être des "
+"guillemets (\").\n"
+"Le texte est interprété comme étant encodé en UTF-8. Les textes doivent être "
+"entourés de guillemets si elles contiennent une caractère délimiteur. Les "
+"guillemets dans un texte doivent être doublées pour être échappées "
+"correctement.\n"
+"Par exemple, les lignes CSV suivantes sont valides et sont correctement "
+"interprétées comme deux textes pour chaque ligne :\n"
+"[codeblock]\n"
+"Alice,\"Salut, Bob !\"\n"
+"Bob,Alice! Quelle Surprise !\n"
+"Alice,\"Je pensais que tu me répondrais \"\"Salut, Monde !\"\".\"\n"
+"[/codeblock]\n"
+"Notez que les guillemets ne sont pas nécessaires pour la deuxième ligne "
+"puisque le délimiteur (\",\") n'est pas présent dans les deux textes. Mais "
+"il est aussi bien [i]possible[/i] d'ajouter des guillemets autour chaque "
+"texte, ça n'était qu'un exemple pour montrer les possibilités. Le deuxième "
+"texte de la troisième ligne doit être entourée de guillemets [code]\"\"[/"
+"code] pour échapper les guillemets présentes dans le texte."
#: doc/classes/File.xml
msgid "Returns the next 64 bits from the file as a floating-point number."
@@ -28072,13 +28717,12 @@ msgstr ""
"du fichier."
#: doc/classes/File.xml
-#, fuzzy
msgid ""
"Opens the file for write operations. The file is created if it does not "
"exist, and truncated if it does."
msgstr ""
-"Ouvre le fichier pour les opérations d’écriture. Créez-le si le fichier "
-"n’existe pas et tronquer s’il existe."
+"Ouvre le fichier en écriture. Crée le fichier s'il n’existe pas, et le "
+"tronque s’il existe déjà."
#: doc/classes/File.xml
msgid ""
@@ -31152,7 +31796,6 @@ msgstr ""
"itérations."
#: doc/classes/HashingContext.xml
-#, fuzzy
msgid ""
"The HashingContext class provides an interface for computing cryptographic "
"hashes over multiple iterations. This is useful for example when computing "
@@ -31209,8 +31852,7 @@ msgstr ""
" var res = ctx.finish()\n"
" # Afficher le résultat sous forme hexadécimal et en tableau.\n"
" printt(res.hex_encode(), Array(res))\n"
-"[/codeblock]\n"
-"[b]Note :[/b] N'est pas disponible pour les exports HTML5."
+"[/codeblock]"
#: doc/classes/HashingContext.xml
msgid "Closes the current context, and return the computed hash."
@@ -34800,6 +35442,9 @@ msgid ""
"the controller number, otherwise this is zero. Controllers include devices "
"such as pedals and levers."
msgstr ""
+"Si le message est [code]MIDI_MESSAGE_CONTROL_CHANGE[/code], ça indique le "
+"numéro du contrôleur, sinon c'est zéro. Les contrôleurs inclus les appareils "
+"comme les pédales et les leviers."
#: doc/classes/InputEventMIDI.xml
msgid ""
@@ -34807,6 +35452,9 @@ msgid ""
"the controller value, otherwise this is zero. Controllers include devices "
"such as pedals and levers."
msgstr ""
+"Si le message est [code]MIDI_MESSAGE_CONTROL_CHANGE[/code], ça indique la "
+"valeur du contrôleur, sinon c'est zéro. Les contrôleurs inclus les appareils "
+"comme les pédales et les leviers."
#: doc/classes/InputEventMIDI.xml
msgid ""
@@ -34848,6 +35496,8 @@ msgid ""
"The pressure of the MIDI signal. This value ranges from 0 to 127. For many "
"devices, this value is always zero."
msgstr ""
+"La pression du signal MIDI. Cette valeur va de 0 à 127. Pour plusieurs "
+"périphériques, cette valeur est toujours 0."
#: doc/classes/InputEventMIDI.xml
msgid ""
@@ -38203,6 +38853,9 @@ msgid ""
"If [code]true[/code], the [LineEdit] will show a clear button if [code]text[/"
"code] is not empty, which can be used to clear the text quickly."
msgstr ""
+"Si [code]true[/code], le [LineEdit] affichera un bouton effacer si le "
+"[code]text[/code] n'est pas vide, ce qui permet d'effacer rapidement le "
+"texte."
#: doc/classes/LineEdit.xml
msgid "If [code]true[/code], the context menu will appear when right-clicked."
@@ -38252,6 +38905,24 @@ msgid ""
"# `text_change_rejected` is emitted with \"bye\" as parameter.\n"
"[/codeblock]"
msgstr ""
+"La quantité maximale de caractères qui peuvent être entré dans ce "
+"[LineEdit]. Si [code]0[/code], il n'y a aucune limite.\n"
+"Quand une limite est définie, le texte est tronqué aux [member max_length] "
+"premiers caractères. Ça arrive pour le [member text] existant lorsque la "
+"longueur maximale est définie, ou quand un nouveau texte est inséré dans le "
+"[LineEdit], en étant par exemple collé. Si le texte est tronqué, le signal "
+"[signal text_change_rejected] est émis avec le reste du texte tronqué passé "
+"en paramètre.\n"
+"[b]Example:[/b]\n"
+"[codeblock]\n"
+"text = \"Salut le monde\"\n"
+"max_length = 5\n"
+"# `text` est tronqué à \"Salut\".\n"
+"max_length = 11\n"
+"text += \" l'univers\"\n"
+"# `text` becomes \"Salut l'uni\".\n"
+"# `text_change_rejected` est émis avec \"vers\" passé en paramètre.\n"
+"[/codeblock]"
#: doc/classes/LineEdit.xml doc/classes/TextEdit.xml
msgid ""
@@ -40705,15 +41376,20 @@ msgid "Server interface for low-level 2D navigation access."
msgstr "Interface de serveur pour l'accès audio de bas niveau."
#: doc/classes/Navigation2DServer.xml
+#, fuzzy
msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -41702,15 +42378,20 @@ msgid "Server interface for low-level 3D navigation access."
msgstr "Interface de serveur pour l'accès audio de bas niveau."
#: doc/classes/NavigationServer.xml
+#, fuzzy
msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -43874,7 +44555,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -43883,7 +44564,7 @@ msgid ""
"[/codeblock]"
msgstr ""
"Retourne le nom du nœud à l'index [code]idx[/code] (la valeur est entre 0 et "
-"[method get_name_count]).\n"
+"[method get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -44204,6 +44885,16 @@ msgid ""
"where you should use the same convention as in the C# source (typically "
"PascalCase)."
msgstr ""
+"Appelle la [code]method[/code] sur l'objet pendant un temps de repos. Cette "
+"méthode supporte un nombre variable d'arguments, ces paramètres étant passés "
+"dans une liste séparé par une virgule. Exemple :\n"
+"[codeblock]\n"
+"call_deferred(\"set\", \"position\", Vector2(42.0, 0.0))\n"
+"[/codeblock]\n"
+"[b]Note :[/b] En C#, le nom de la méthode doit être spécifiée en snake_case "
+"si c'est une méthode définie par les nœuds Godot. Ça ne s'applique pas aux "
+"méthodes définies par l'utilisateur qui devraient toujours utiliser la même "
+"convention du langage C# (typiquement en PascalCase)."
#: doc/classes/Object.xml
msgid ""
@@ -46326,6 +47017,7 @@ msgstr ""
"Windows."
#: doc/classes/OS.xml
+#, fuzzy
msgid ""
"Requests the OS to open a resource with the most appropriate program. For "
"example:\n"
@@ -46335,9 +47027,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -50069,7 +50761,6 @@ msgid ""
msgstr ""
#: doc/classes/PhysicsServer.xml
-#, fuzzy
msgid ""
"The strength with which the pinned objects try to stay in velocity relation "
"to each other.\n"
@@ -50739,6 +51430,7 @@ msgid "A pooled array of bytes."
msgstr "Un tableau compacté d'octets."
#: doc/classes/PoolByteArray.xml
+#, fuzzy
msgid ""
"An array specifically designed to hold bytes. Optimized for memory usage, "
"does not fragment the memory.\n"
@@ -50749,7 +51441,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -50761,6 +51453,27 @@ msgid ""
"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n"
"[/codeblock]"
msgstr ""
+"Un tableau spécialement prévu pour contenir des octets. Optimisé pour la "
+"mémoire, il ne se fragmente pas.\n"
+"[b]Note :[/b] Ce type est passé par valeur et non par référence. Ça veut "
+"dire que lors des [i]modifications[/i] d'un [PoolByteArray] ou d'un "
+"[PoolByteArray] dans un [Array] ou [Dictionary], ces modifications seront "
+"perdues :\n"
+"[codeblock]\n"
+"var array = [PoolByteArray()]\n"
+"array[0].push_back(123) # Accède à une copie du PoolByteArray\n"
+"print(array) # [[]] (Un PoolByteArray vide dans un Array vide)\n"
+"[/codeblock]\n"
+"Au lieu de ça, le [PoolByteArray] en entier doit être [i]réassigné[/i] avec "
+"[code]=[/code] pour que sa modification soit prise en compte :\n"
+"[codeblock]\n"
+"var array = [PoolByteArray()]\n"
+"var pool_array = array[0] # Crée une copie du PoolByteArray, puis assigne "
+"cette copie\n"
+"pool_array.push_back(123)\n"
+"array[0] = pool_array\n"
+"print(array) # [[123]] (Un PoolByteArray avec 1 élément dans un Array)\n"
+"[/codeblock]"
#: doc/classes/PoolByteArray.xml
msgid ""
@@ -50898,6 +51611,7 @@ msgid "A pooled array of [Color]s."
msgstr "Un tableau compacté de [Color]."
#: doc/classes/PoolColorArray.xml
+#, fuzzy
msgid ""
"An array specifically designed to hold [Color]. Optimized for memory usage, "
"does not fragment the memory.\n"
@@ -50908,7 +51622,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -50921,6 +51635,29 @@ msgid ""
"inside an Array)\n"
"[/codeblock]"
msgstr ""
+"Un tableau spécialement prévu pour contenir des [Color]. Optimisé pour la "
+"mémoire, il ne se fragmente pas.\n"
+"[b]Note :[/b] Ce type est passé par valeur et non par référence. Ça veut "
+"dire que lors des [i]modifications[/i] d'un [PoolColorArray] ou d'un "
+"[PoolColorArray] dans un [Array] ou [Dictionary], ces modifications seront "
+"perdues :\n"
+"[codeblock]\n"
+"var array = [PoolColorArray()]\n"
+"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4)) # Accède à une copie du "
+"PoolColorArray\n"
+"print(array) # [[]] (Un PoolColorArray vide dans un Array vide)\n"
+"[/codeblock]\n"
+"Au lieu de ça, le [PoolColorArray] en entier doit être [i]réassigné[/i] avec "
+"[code]=[/code] pour que sa modification soit prise en compte :\n"
+"[codeblock]\n"
+"var array = [PoolColorArray()]\n"
+"var pool_array = array[0] # Crée une copie du PoolColorArray, puis assigne "
+"cette copie\n"
+"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
+"array[0] = pool_array\n"
+"print(array) # [[(0.1, 0.2, 0.3, 0.4)]] (Un PoolColorArray avec 1 élément "
+"dans un Array)\n"
+"[/codeblock]"
#: doc/classes/PoolColorArray.xml
msgid ""
@@ -50953,6 +51690,7 @@ msgid "A pooled array of integers ([int])."
msgstr "Un tableau compacté d'entiers ([int])."
#: doc/classes/PoolIntArray.xml
+#, fuzzy
msgid ""
"An array specifically designed to hold integer values ([int]). Optimized for "
"memory usage, does not fragment the memory.\n"
@@ -50963,7 +51701,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -50980,6 +51718,32 @@ msgid ""
"around. In comparison, [int] uses signed 64-bit integers which can hold much "
"larger values."
msgstr ""
+"Un tableau spécialement prévu pour contenir des entier ([int]). Optimisé "
+"pour la mémoire, il ne se fragmente pas.\n"
+"[b]Note :[/b] Ce type est passé par valeur et non par référence. Ça veut "
+"dire que lors des [i]modifications[/i] d'un [PoolIntArray] ou d'un "
+"[PoolIntArray] dans un [Array] ou [Dictionary], ces modifications seront "
+"perdues :\n"
+"[codeblock]\n"
+"var array = [PoolIntArray()]\n"
+"array[0].push_back(1234) # Accède à une copie du PoolIntArray\n"
+"print(array) # [[]] (Un PoolIntArray vide dans un Array vide)\n"
+"[/codeblock]\n"
+"Au lieu de ça, le [PoolIntArray] en entier doit être [i]réassigné[/i] avec "
+"[code]=[/code] pour que sa modification soit prise en compte :\n"
+"[codeblock]\n"
+"var array = [PoolIntArray()]\n"
+"var pool_array = array[0] # Crée une copie du PoolIntArray, puis assigne "
+"cette copie\n"
+"pool_array.push_back(1234)\n"
+"array[0] = pool_array\n"
+"print(array) # [[1234]] (Un PoolIntArray avec 1 élément dans un Array)\n"
+"[/codeblock]\n"
+"[b]Note :[/b] Ce type est limité aux entiers signés de 32 bit, ce qui peut "
+"dire que l'intervalle des valeurs possibles est [code][-2^31, 2^31 - 1][/"
+"code], soit [code][-2147483648, 2147483647][/code]. Tout dépassement "
+"bouclera. En comparaison, un tableau générique [int] utilise des entiers de "
+"64 bit qui peuvent donc contenir des valeurs bien plus grandes."
#: doc/classes/PoolIntArray.xml
msgid ""
@@ -51012,6 +51776,7 @@ msgid "A pooled array of real numbers ([float])."
msgstr "Un tableau compacté de flottants ([float])."
#: doc/classes/PoolRealArray.xml
+#, fuzzy
msgid ""
"An array specifically designed to hold floating-point values. Optimized for "
"memory usage, does not fragment the memory.\n"
@@ -51022,7 +51787,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -51041,6 +51806,35 @@ msgid ""
"store [float]s will use roughly 6 times more memory compared to a "
"[PoolRealArray]."
msgstr ""
+"Un tableau spécialement prévu pour contenir des flottants. Optimisé pour la "
+"mémoire, il ne se fragmente pas.\n"
+"[b]Note :[/b] Ce type est passé par valeur et non par référence. Ça veut "
+"dire que lors des [i]modifications[/i] d'un [PoolRealArray] ou d'un "
+"[PoolRealArray] dans un [Array] ou [Dictionary], ces modifications seront "
+"perdues :\n"
+"[codeblock]\n"
+"var array = [PoolRealArray()]\n"
+"array[0].push_back(12.34) # Accède à une copie du PoolRealArray\n"
+"print(array) # [[]] (Un PoolRealArray vide dans un Array vide)\n"
+"[/codeblock]\n"
+"Au lieu de ça, le [PoolRealArray] en entier doit être [i]réassigné[/i] avec "
+"[code]=[/code] pour que sa modification soit prise en compte :\n"
+"[codeblock]\n"
+"var array = [PoolRealArray()]\n"
+"var pool_array = array[0] # Crée une copie du PoolRealArray, puis assigne "
+"cette copie\n"
+"pool_array.push_back(12.34)\n"
+"array[0] = pool_array\n"
+"print(array) # [[12.34]] (Un PoolRealArray avec 1 élément dans un Array)\n"
+"[/codeblock]\n"
+"[b]Note :[/b] Contrairement aux [float] qui sont en 64 bits, les nombres "
+"enregistrés dans les [PoolRealArray] ne sont que en 32 bits. Ça veut donc "
+"dire que les flottants dans les [PoolRealArray] ont une précision plus "
+"faible que les [float]. Si vous avez besoin d'enregistrer des flottants en "
+"64 bits dans un tableau, utilisez un [Array] standard avec des éléments "
+"[float] qui seront bien en 64 bits. En comparaison, un [Array] avec des "
+"[float] consomme approximativement 6 fois plus de mémoire qu'un "
+"[PoolRealArray]."
#: doc/classes/PoolRealArray.xml
msgid ""
@@ -51064,6 +51858,7 @@ msgid "A pooled array of [String]s."
msgstr "Un tableau compacté de [String]."
#: doc/classes/PoolStringArray.xml
+#, fuzzy
msgid ""
"An array specifically designed to hold [String]s. Optimized for memory "
"usage, does not fragment the memory.\n"
@@ -51074,7 +51869,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -51086,6 +51881,28 @@ msgid ""
"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n"
"[/codeblock]"
msgstr ""
+"Un tableau spécialement prévu pour contenir des [String]. Optimisé pour la "
+"mémoire, il ne se fragmente pas.\n"
+"[b]Note :[/b] Ce type est passé par valeur et non par référence. Ça veut "
+"dire que lors des [i]modifications[/i] d'un [PoolRealArray] ou d'un "
+"[PoolRealArray] dans un [Array] ou [Dictionary], ces modifications seront "
+"perdues :\n"
+"[codeblock]\n"
+"var array = [PoolStringArray()]\n"
+"array[0].push_back(\"hello\") # Accède à une copie du PoolStringArray\n"
+"print(array) # [[]] (Un PoolStringArray vide dans un Array vide)\n"
+"[/codeblock]\n"
+"Au lieu de ça, le [PoolStringArray] en entier doit être [i]réassigné[/i] "
+"avec [code]=[/code] pour que sa modification soit prise en compte :\n"
+"[codeblock]\n"
+"var array = [PoolStringArray()]\n"
+"var pool_array = array[0] # Crée une copie du PoolStringArray, puis assigne "
+"cette copie\n"
+"pool_array.push_back(\"hello\")\n"
+"array[0] = pool_array\n"
+"print(array) # [[\"hello\"]] (Un PoolStringArray avec 1 élément dans un "
+"Array)\n"
+"[/codeblock]"
#: doc/classes/PoolStringArray.xml
msgid ""
@@ -51121,6 +51938,7 @@ msgid "A pooled array of [Vector2]s."
msgstr "Un tableau compacté de [Vector2]."
#: doc/classes/PoolVector2Array.xml
+#, fuzzy
msgid ""
"An array specifically designed to hold [Vector2]. Optimized for memory "
"usage, does not fragment the memory.\n"
@@ -51131,7 +51949,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -51144,6 +51962,29 @@ msgid ""
"Array)\n"
"[/codeblock]"
msgstr ""
+"Un tableau spécialement prévu pour contenir des [Vector2]. Optimisé pour la "
+"mémoire, il ne se fragmente pas.\n"
+"[b]Note :[/b] Ce type est passé par valeur et non par référence. Ça veut "
+"dire que lors des [i]modifications[/i] d'un [PoolVector2Array] ou d'un "
+"[PoolVector2Array] dans un [Array] ou [Dictionary], ces modifications seront "
+"perdues :\n"
+"[codeblock]\n"
+"var array = [PoolVector2Array()]\n"
+"array[0].push_back(Vector2(12, 34)) # Accède à une copie du "
+"PoolVector2Array\n"
+"print(array) # [[]] (Un PoolVector2Array vide dans un Array vide)\n"
+"[/codeblock]\n"
+"Au lieu de ça, le [PoolVector2Array] en entier doit être [i]réassigné[/i] "
+"avec [code]=[/code] pour que sa modification soit prise en compte :\n"
+"[codeblock]\n"
+"var array = [PoolVector2Array()]\n"
+"var pool_array = array[0] # Crée une copie du PoolVector2Array, puis assigne "
+"cette copie\n"
+"pool_array.push_back(Vector2(12, 34))\n"
+"array[0] = pool_array\n"
+"print(array) # [[(12, 34)]] (Un PoolVector2Array avec 1 élément dans un "
+"Array)\n"
+"[/codeblock]"
#: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml
#: doc/classes/TileSet.xml
@@ -51175,6 +52016,7 @@ msgid "A pooled array of [Vector3]."
msgstr "Un tableau compacté de [Vector3]."
#: doc/classes/PoolVector3Array.xml
+#, fuzzy
msgid ""
"An array specifically designed to hold [Vector3]. Optimized for memory "
"usage, does not fragment the memory.\n"
@@ -51185,7 +52027,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -51198,6 +52040,29 @@ msgid ""
"Array)\n"
"[/codeblock]"
msgstr ""
+"Un tableau spécialement prévu pour contenir des [Vector3]. Optimisé pour la "
+"mémoire, il ne se fragmente pas.\n"
+"[b]Note :[/b] Ce type est passé par valeur et non par référence. Ça veut "
+"dire que lors des [i]modifications[/i] d'un [PoolVector3Array] ou d'un "
+"[PoolVector3Array] dans un [Array] ou [Dictionary], ces modifications seront "
+"perdues :\n"
+"[codeblock]\n"
+"var array = [PoolVector3Array()]\n"
+"array[0].push_back(Vector3(12, 34, 56)) # Accède à une copie du "
+"PoolColorArray\n"
+"print(array) # [[]] (Un PoolVector3Array vide dans un Array vide)\n"
+"[/codeblock]\n"
+"Au lieu de ça, le [PoolVector3Array] en entier doit être [i]réassigné[/i] "
+"avec [code]=[/code] pour que sa modification soit prise en compte :\n"
+"[codeblock]\n"
+"var array = [PoolVector3Array()]\n"
+"var pool_array = array[0] # Crée une copie du PoolVector3Array, puis assigne "
+"cette copie\n"
+"pool_array.push_back(Vector3(12, 34, 56))\n"
+"array[0] = pool_array\n"
+"print(array) # [[(12, 34, 56)]] (Un PoolVector3Array avec 1 élément dans un "
+"Array)\n"
+"[/codeblock]"
#: doc/classes/PoolVector3Array.xml
msgid ""
@@ -55693,15 +56558,14 @@ msgid "Returns the inverse of the quaternion."
msgstr "Retourne l'inverse du quaternion."
#: doc/classes/Quat.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if this quaternion and [code]quat[/code] are "
"approximately equal, by running [method @GDScript.is_equal_approx] on each "
"component."
msgstr ""
-"Retourne [code]true[/code] si cette couleur et [code]color[/code] sont "
-"approximativement égales, en exécutant [method @GDScript.is_equal_approx] "
-"sur chaque composant."
+"Retourne [code]true[/code] si ce quaternion et [code]quat[/code] sont "
+"approximativement égaux, en exécutant [method @GDScript.is_equal_approx] sur "
+"chaque composant."
#: doc/classes/Quat.xml
msgid "Returns whether the quaternion is normalized or not."
@@ -55958,10 +56822,12 @@ msgid "Abstract base class for range-based controls."
msgstr "Classe de base abstraite pour les contrôles basés sur la portée."
#: doc/classes/Range.xml
+#, fuzzy
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
"Range est une classe de base des nœuds [Control] qui change une [code]value[/"
"code] flottante entre le [code]minimum[/code] et le [code]maximum[/code], "
@@ -58133,12 +58999,17 @@ msgid "Locks the specified linear or rotational axis."
msgstr "Verrouille l'axe linéaire et de rotation spécifié."
#: doc/classes/RigidBody.xml
+#, fuzzy
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
+"La vitesse à laquelle les objets arrêtent de tourner dans cette zone. "
+"Représente la vitesse angulaire perdue par seconde.\n"
+"Voir [membre ProjectSettings.physics/2d/default_angular_damp] pour plus de "
+"détails sur l'amortissement."
#: doc/classes/RigidBody.xml
msgid "Lock the body's rotation in the X axis."
@@ -59722,6 +60593,7 @@ msgid "One-shot timer."
msgstr "Minuteur à un coup."
#: doc/classes/SceneTreeTimer.xml
+#, fuzzy
msgid ""
"A one-shot timer managed by the scene tree, which emits [signal timeout] on "
"completion. See also [method SceneTree.create_timer].\n"
@@ -59733,8 +60605,21 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
+"Un minuteur à un coup géré par l'arborescence, qui émet le signal [signal "
+"timeout] quand il se termine. Voir aussi [method SceneTree.create_timer].\n"
+"Contrairement aux [Timer], il ne nécessaire pas d'instancier un nœud. Il "
+"n'est souvent utilisé pour créer des minuteurs uniques comme dans l'exemple "
+"suivant :\n"
+"[codeblock]\n"
+"func some_function():\n"
+" print(\"Lancement du minuteur.\")\n"
+" yield(get_tree().create_timer(1.0), \"timeout\")\n"
+" print(\"Minuteur terminé.\")\n"
+"[/codeblock]\n"
+"Le minuteur sera automatiquement une fois terminé."
#: doc/classes/SceneTreeTimer.xml
msgid "The time remaining (in seconds)."
@@ -59824,6 +60709,82 @@ msgid ""
"prevent a [SceneTreeTween] from autostarting, you can call [method stop] "
"immediately after it was created."
msgstr ""
+"[SceneTreeTween] est un tween géré par l'arborescence. Contrairement à un "
+"[Tween], il ne nécessite pas la création d'un nœud.\n"
+"Les [SceneTreeTween] sont plus légers que les [AnimationPlayer], et sont "
+"donc plus adaptés pour les simples animations et les tâches générales qui ne "
+"nécessitent pas d'ajustements visuels depuis l'éditeur. Ils peuvent être "
+"utilisés de manière ponctuelles pour certaines logiques qui serait "
+"normalement faites par le code. Par exemple vous pouvez faire qu'un objet "
+"tire régulièrement avec une boucle qui crée un [CallbackTweener] avec le "
+"délai nécessaire.\n"
+"Un [SceneTreeTween] peut être créer soit avec [method SceneTree."
+"create_tween] ou [method Node.create_tween]. Les [SceneTreeTween] créés "
+"manuellement (avec [code]Tween.new()[/code]) sont invalides. Ils ne peuvent "
+"être utilisés pour interpoler les valeurs, sauf manuellement avec [method "
+"interpolate_value].\n"
+"Une animation de [SceneTreeTween] est composée d'une séquence de [Tweener], "
+"qui par défaut sont exécutés l'un après l'autre. Vous pouvez créer une "
+"séquence en ajoutant des [Tweener] au [SceneTreeTween]. Un exemple de "
+"séquence de [Tweener] peut être comme suit :\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween()\n"
+"tween.tween_property($Sprite, \"modulate\", Color.red, 1)\n"
+"tween.tween_property($Sprite, \"scale\", Vector2(), 1)\n"
+"tween.tween_callback($Sprite, \"queue_free\")\n"
+"[/codeblock]\n"
+"Cette séquence changera [code]$Sprite[/code] en rouge, puis le réduira "
+"jusqu'à le faire disparaitre et enfin [method Node.queue_free] sera appelée "
+"pour supprimer le nœud. Voir les méthodes [method tween_property], [method "
+"tween_interval], [method tween_callback] et [method tween_method] pour plus "
+"d'informations.\n"
+"Quand un [Tweener] est créé avec une des méthodes [code]tween_*[/code], une "
+"méthode peut être enchainée pour ajuster les propriétés de ce [Tweener]. Par "
+"exemple, si vous souhaitez définir un autre type de transition dans "
+"l'exemple précédent, vous pouvez faire :\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween()\n"
+"tween.tween_property($Sprite, \"modulate\", Color.red, 1).set_trans(Tween."
+"TRANS_SINE)\n"
+"tween.tween_property($Sprite, \"scale\", Vector2(), 1).set_trans(Tween."
+"TRANS_BOUNCE)\n"
+"tween.tween_callback($Sprite, \"queue_free\")\n"
+"[/codeblock]\n"
+"La plupart des méthodes [SceneTreeTween] peuvent être enchainées de cette "
+"façon. Dans cet exemple, le [SceneTreeTween] est lié et aura donc une "
+"transition par défaut :\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween().bind_node(self).set_trans(Tween."
+"TRANS_ELASTIC)\n"
+"tween.tween_property($Sprite, \"modulate\", Color.red, 1)\n"
+"tween.tween_property($Sprite, \"scale\", Vector2(), 1)\n"
+"tween.tween_callback($Sprite, \"queue_free\")\n"
+"[/codeblock]\n"
+"Un autre usage intéressant des [SceneTreeTween] est l'animation d'un "
+"ensemble arbitraire d'objets :\n"
+"[codeblock]\n"
+"var tween = create_tween()\n"
+"for sprite in get_children():\n"
+" tween.tween_property(sprite, \"position\", Vector2(), 1)\n"
+"[/codeblock]\n"
+"Dans l'exemple au-dessus, tous les enfants d'un nœud sont déplacés à leur "
+"tour à la position (0, 0).\n"
+"Certains [Tweener] utilisent des transitions et ralentissements. Les "
+"transitions fonctionnent avec les constantes de [enum Tween.TransitionType], "
+"et définissent la courbe de temps de l'animation (voir [url=https://easings."
+"net/]easings.net[/url] pour quelques exemples). Les ralentissements "
+"fonctionnent avec les constantes de [enum Tween.EaseType], et contrôle comme "
+"la transition [code]trans_type[/code] varie durant le temps écoulé de "
+"l'animation (au début, à la fin, ou les deux). Si vous ne savez pas quel "
+"comportement choisir, vous pouvez essayer différentes valeurs de [enum Tween."
+"TransitionType] avec [constant Tween.EASE_IN_OUT], et utilisez celle qui "
+"vous semble la meilleure.\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"tween_cheatsheet.png]Antisèche des types de transitions et de ralentissement "
+"des Tween[/url]\n"
+"[b]Note :[/b] Tous les [SceneTreeTween] seront automatiquement démarrés par "
+"défaut. Pour éviter qu'un [SceneTreeTween] démarre automatiquement, vous "
+"pouvez appeler [method stop] immédiatement après sa création."
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -59849,6 +60810,15 @@ msgid ""
"tween.chain().tween_property(...) # Will run after two above are finished.\n"
"[/codeblock]"
msgstr ""
+"Utiliser pour ajouter deux [Tweener] après que [method set_parallel] est "
+"appelé avec [code]true[/code].\n"
+"[codeblock]\n"
+"var tween = create_tween().set_parallel(true)\n"
+"tween.tween_property(...)\n"
+"tween.tween_property(...) # Sera lancé en parallèle avec l'appel au-dessus.\n"
+"tween.chain().tween_property(...) # Sera lancé que quand les deux appels au-"
+"dessus seront terminés.\n"
+"[/codeblock]"
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -62938,6 +63908,25 @@ msgid ""
"[LineEdit], you can use [method Control.set_drag_forwarding] on the node "
"returned by [method get_line_edit]."
msgstr ""
+"SpinBox est un champs de texte pour les valeurs numériques. Il permet "
+"d'entrer des valeurs entières ou à virgule.\n"
+"[b]Exemple :[/b]\n"
+"[codeblock]\n"
+"var spin_box = SpinBox.new()\n"
+"add_child(spin_box)\n"
+"var line_edit = spin_box.get_line_edit()\n"
+"line_edit.context_menu_enabled = false\n"
+"spin_box.align = LineEdit.ALIGN_RIGHT\n"
+"[/codeblock]\n"
+"Le code ci-dessus créera un [SpinBox], désactivant son menu contextuel "
+"désactivé et alignant le text sur la droite.\n"
+"Voir la classe [Range] pour plus d'options pour les [SpinBox].\n"
+"[b]Note :[/b] [SpinBox] utilise en interne un nœud [LineEdit]. Pour changer "
+"le thème de l'arrière-plan d'un [SpinBox], ajoutez un élément de thème à "
+"personnaliser pour les [LineEdit].\n"
+"[b]Note :[/b] Si vous souhaitez implémenter le déposé-glissé sur le "
+"[LineEdit] utilisé, vous pouvez utiliser [method Control."
+"set_drag_forwarding] sur le nœud retourné par [method get_line_edit]."
#: doc/classes/SpinBox.xml
msgid "Applies the current value of this [SpinBox]."
@@ -62951,6 +63940,11 @@ msgid ""
"may cause a crash. If you wish to hide it or any of its children, use their "
"[member CanvasItem.visible] property."
msgstr ""
+"Retourne l'instance [LineEdit] utilisé pour ce [SpinBox]. Vous pouvez "
+"l'utiliser pour accéder au propriétés et méthodes de ce [LineEdit].\n"
+"[b]Avertissement :[/b] Cette instance est nécessaire en interne, la retirer "
+"ou la libérer peut provoquer un crash. Si vous voulez la masquer elle ou ses "
+"enfants, préférez leur propriété [member CanvasItem.visible]."
#: doc/classes/SpinBox.xml
msgid "Sets the text alignment of the [SpinBox]."
@@ -62983,6 +63977,8 @@ msgstr ""
#: doc/classes/SpinBox.xml
msgid "Sets a custom [Texture] for up and down arrows of the [SpinBox]."
msgstr ""
+"Définir une [Texture] personnalisée pour les flèches haut et bas de ce "
+"[SpinBox]."
#: doc/classes/SplitContainer.xml
msgid "Container for splitting and adjusting."
@@ -63482,6 +64478,13 @@ msgid ""
"static body, so even if it doesn't move, it affects other bodies as if it "
"was moving (this is useful for simulating conveyor belts or conveyor wheels)."
msgstr ""
+"Un corps statique pour la physique 3D. Un corps statique est un simple corps "
+"qui n'est pas prévu pour être déplacé. Contrairement au [RigidBody], ils ne "
+"consomment aucune ressource du CPU tant qu'ils ne sont pas déplacés.\n"
+"De plus, une vitesse linéaire ou angulaire constante peut être définie pour "
+"ce corps statique, de sorte que même s'il ne bouge pas, il affecte d'autres "
+"corps comme s'il se déplaçait (c'est utile pour simuler les tapis ou des "
+"roues roulants)."
#: doc/classes/StaticBody.xml
msgid ""
@@ -63501,6 +64504,9 @@ msgid ""
"Deprecated, use [member PhysicsMaterial.friction] instead via [member "
"physics_material_override]."
msgstr ""
+"Le frottement du corps, de 0 (sans frottement) à 1 (frottement complet).\n"
+"Obsolète, utilisez plutôt [membre PhysicsMaterial.friction] via [membre "
+"physique_material_override]."
#: doc/classes/StaticBody2D.xml
msgid "Static body for 2D physics."
@@ -63515,6 +64521,12 @@ msgid ""
"static body, which will affect colliding bodies as if it were moving (for "
"example, a conveyor belt)."
msgstr ""
+"Un corps statique pour la physique 2D. Un StaticBody2D est un corps qui "
+"n'est pas prévu pour être déplacé. C'est idéal pour implémenter des objets "
+"dans un environnement, quand des murs ou des plateformes.\n"
+"De plus, une vitesse linéaire ou angulaire constante peut être définie pour "
+"ce corps statique, de sorte que même s'il ne bouge pas, il affecte d'autres "
+"corps comme s'il se déplaçait (par exemple pour simuler des tapis roulants)."
#: doc/classes/StaticBody2D.xml
msgid ""
@@ -64135,13 +65147,13 @@ msgid ""
msgstr ""
#: doc/classes/String.xml
-#, fuzzy
msgid ""
"Returns a copy of the string with indentation (leading tabs and spaces) "
"removed. See also [method indent] to add indentation."
msgstr ""
-"Retourne une copie de la chaîne de caractères avec indentation (tabulations "
-"et espaces antéposés)."
+"Retourne une copie de la chaîne de caractères avec l'indentation (les "
+"tabulations et les espaces) retirée. Voir aussi [method indent] pour ajouter "
+"une indentation."
#: doc/classes/String.xml
msgid ""
@@ -65065,12 +66077,35 @@ msgid ""
"corner_radius_bottom_left: 20\n"
"[/codeblock]"
msgstr ""
+"Cette [StyleBox] peut être utilisée pour afficher différents rendus sans "
+"avoir besoin d'une texture. Les propriétés suivantes peuvent être "
+"personnalisées :\n"
+"- La couleur\n"
+"- La largueur de la bordure (pour chaque bordure séparément)\n"
+"- L'arrondi des coins (un rayon différent pour chaque coin)\n"
+"- L'ombre (la rayon et le décalage)\n"
+"Utiliser un grand rayon pour les coins est permis. Dès que les coins "
+"enchevêtrerons, la stylebox passera à une mesure relative. Par exemple :\n"
+"[codeblock]\n"
+"height = 30\n"
+"corner_radius_top_left = 50\n"
+"corner_radius_bottom_left = 100\n"
+"[/codeblock]\n"
+"La mesure relative donnera un ratio de 1:2 pour les deux coins gauches pour "
+"calculer l'actuelle largeur des coins. Ces deux coins ajoutés ne seront "
+"[b]jamais[/b] plus grands que la hauteur. Voici le résultat :\n"
+"[codeblock]\n"
+"corner_radius_top_left: 10\n"
+"corner_radius_bottom_left: 20\n"
+"[/codeblock]"
#: doc/classes/StyleBoxFlat.xml
msgid ""
"Returns the given [code]margin[/code]'s border width. See [enum Margin] for "
"possible values."
msgstr ""
+"Retourne la taille de la largueur de la bordure de la marge [code]margin[/"
+"code]. Voir [enum Margin] pour les valeurs possibles."
#: doc/classes/StyleBoxFlat.xml
msgid "Returns the smallest border width out of all four borders."
@@ -65089,6 +66124,8 @@ msgid ""
"Returns the size of the given [code]margin[/code]'s expand margin. See [enum "
"Margin] for possible values."
msgstr ""
+"Retourne la taille de la marge d'expansion de la marge [code]margin[/code]. "
+"Voir [enum Margin] pour les valeurs possibles."
#: doc/classes/StyleBoxFlat.xml
msgid ""
@@ -65254,6 +66291,14 @@ msgid ""
"user may try to click an area of the StyleBox that cannot actually receive "
"clicks."
msgstr ""
+"Étend la boite en dehors du rectangle du contrôle pour la bordure du bas. "
+"Utile avec [member border_width_bottom] pour afficher une bordure en dehors "
+"du rectangle du contrôle.\n"
+"[b]Note :[/b] Contrairement à [member StyleBox.content_margin_bottom], "
+"[member expand_margin_bottom] n'étend [i]pas[/i] la taille de la zone qui "
+"peut être cliquée du [Control]. Ça peut avoir un impact négatif sur "
+"l’accessibilité si c'est mal réglé, puisque l'utilisateur peut vouloir "
+"cliquer sur cette zone de la boite qui ne reçoit pas les clics."
#: doc/classes/StyleBoxFlat.xml
msgid ""
@@ -65266,6 +66311,14 @@ msgid ""
"user may try to click an area of the StyleBox that cannot actually receive "
"clicks."
msgstr ""
+"Étend la boite en dehors du rectangle du contrôle pour la bordure de gauche. "
+"Utile avec [member border_width_left] pour afficher une bordure en dehors du "
+"rectangle du contrôle.\n"
+"[b]Note :[/b] Contrairement à [member StyleBox.content_margin_left], [member "
+"expand_margin_left] n'étend [i]pas[/i] la taille de la zone qui peut être "
+"cliquée du [Control]. Ça peut avoir un impact négatif sur l’accessibilité si "
+"c'est mal réglé, puisque l'utilisateur peut vouloir cliquer sur cette zone "
+"de la boite qui ne reçoit pas les clics."
#: doc/classes/StyleBoxFlat.xml
msgid ""
@@ -65278,6 +66331,14 @@ msgid ""
"user may try to click an area of the StyleBox that cannot actually receive "
"clicks."
msgstr ""
+"Étend la boite en dehors du rectangle du contrôle pour la bordure de droite. "
+"Utile avec [member border_width_right] pour afficher une bordure en dehors "
+"du rectangle du contrôle.\n"
+"[b]Note :[/b] Contrairement à [member StyleBox.content_margin_right], "
+"[member expand_margin_right] n'étend [i]pas[/i] la taille de la zone qui "
+"peut être cliquée du [Control]. Ça peut avoir un impact négatif sur "
+"l’accessibilité si c'est mal réglé, puisque l'utilisateur peut vouloir "
+"cliquer sur cette zone de la boite qui ne reçoit pas les clics."
#: doc/classes/StyleBoxFlat.xml
msgid ""
@@ -65289,6 +66350,14 @@ msgid ""
"[Control]s. This can negatively impact usability if used wrong, as the user "
"may try to click an area of the StyleBox that cannot actually receive clicks."
msgstr ""
+"Étend la boite en dehors du rectangle du contrôle pour la bordure du haut. "
+"Utile avec [member border_width_top] pour afficher une bordure en dehors du "
+"rectangle du contrôle.\n"
+"[b]Note :[/b] Contrairement à [member StyleBox.content_margin_top], [member "
+"expand_margin_top] n'étend [i]pas[/i] la taille de la zone qui peut être "
+"cliquée du [Control]. Ça peut avoir un impact négatif sur l’accessibilité si "
+"c'est mal réglé, puisque l'utilisateur peut vouloir cliquer sur cette zone "
+"de la boite qui ne reçoit pas les clics."
#: doc/classes/StyleBoxFlat.xml
msgid ""
@@ -65824,12 +66893,12 @@ msgstr ""
"Retourne [code]true[/code] si la piste à l'index [code]idx[/code] est active."
#: doc/classes/TabContainer.xml doc/classes/Tabs.xml
-#, fuzzy
msgid ""
"Returns the [Texture] for the tab at index [code]tab_idx[/code] or "
"[code]null[/code] if the tab has no [Texture]."
msgstr ""
-"Retourne [code]true[/code] si la piste à l'index [code]idx[/code] est active."
+"Retourne la [Texture] pour l'onglet à l'index [code]tab_idx[/code] ou "
+"[code]null[/code] si l'onglet n'a pas de [Texture]."
#: doc/classes/TabContainer.xml
msgid ""
@@ -67895,14 +68964,14 @@ 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 "
"[code]node_type[/code].\n"
"Returns [code]false[/code] if the theme does not have [code]node_type[/code]."
msgstr ""
-"Retourne [code]true[/code] si le paramètre spécifié par [code]name[/code] "
-"existe, [code]false[/code] autrement."
+"Retourne [code]true[/code] si la [Color] nommée [code]name[/code] est dans "
+"[code]node_type[/code].\n"
+"Retourne [code]false[/code] si le thème n'a pas de [code]node_type[/code]."
#: doc/classes/Theme.xml
msgid ""
@@ -67921,14 +68990,14 @@ msgstr ""
"la chaîne égale à [code]0[/code])."
#: doc/classes/Theme.xml
-#, fuzzy
msgid ""
"Returns [code]true[/code] if [Font] 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]."
msgstr ""
-"Retourne [code]true[/code] si le paramètre spécifié par [code]name[/code] "
-"existe, [code]false[/code] autrement."
+"Retourne [code]true[/code] si la [Font] nommée [code]name[/code] est dans "
+"[code]node_type[/code].\n"
+"Retourne [code]false[/code] si le thème n'a pas de [code]node_type[/code]."
#: doc/classes/Theme.xml
msgid ""
@@ -73325,9 +74394,10 @@ msgid ""
msgstr ""
#: doc/classes/Viewport.xml
+#, fuzzy
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
"Si [code]true[/code], la fenêtre d'affichage utilisera le [World] défini par "
"la propriété [code]world[/code]."
@@ -77559,6 +78629,9 @@ msgid ""
"Particles.draw_pass_1], [member Particles.draw_pass_2], [member Particles."
"draw_pass_3], and [member Particles.draw_pass_4]."
msgstr ""
+"Définit le maillage à utiliser pour les passes d'affichages spécifiées. "
+"Équivalent à [member Particles.draw_pass_1], [member Particles.draw_pass_2], "
+"[member Particles.draw_pass_3], et [member Particles.draw_pass_4]."
#: doc/classes/VisualServer.xml
msgid ""
@@ -78144,6 +79217,7 @@ msgid "Sets a viewport's canvas."
msgstr "Définit le canevas de la fenêtre d'affichage."
#: doc/classes/VisualServer.xml
+#, fuzzy
msgid ""
"Copies viewport to a region of the screen specified by [code]rect[/code]. If "
"[member Viewport.render_direct_to_screen] is [code]true[/code], then "
@@ -78161,7 +79235,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
"Copie la fenêtre d'affichage dans une région de l'écran spécifiée par "
diff --git a/doc/translations/gl.po b/doc/translations/gl.po
index 03df6b11aa..15aec4b4e1 100644
--- a/doc/translations/gl.po
+++ b/doc/translations/gl.po
@@ -12357,7 +12357,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14082,7 +14082,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14120,9 +14120,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14141,8 +14141,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14158,8 +14158,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14250,9 +14250,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21309,7 +21309,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23618,11 +23618,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35499,11 +35499,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36437,11 +36441,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38386,7 +38394,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40539,9 +40547,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44651,7 +44659,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44805,7 +44813,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44860,7 +44868,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44913,7 +44921,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44962,7 +44970,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45014,7 +45022,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45066,7 +45074,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49501,8 +49509,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51504,8 +51513,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53032,7 +53041,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65324,8 +65334,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69683,7 +69693,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/hi.po b/doc/translations/hi.po
index edf5814da1..021e1463f6 100644
--- a/doc/translations/hi.po
+++ b/doc/translations/hi.po
@@ -12356,7 +12356,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14081,7 +14081,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14119,9 +14119,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14140,8 +14140,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14157,8 +14157,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14249,9 +14249,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21308,7 +21308,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23617,11 +23617,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35498,11 +35498,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36436,11 +36440,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38385,7 +38393,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40538,9 +40546,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44650,7 +44658,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44804,7 +44812,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44859,7 +44867,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44912,7 +44920,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44961,7 +44969,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45013,7 +45021,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45065,7 +45073,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49500,8 +49508,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51503,8 +51512,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53031,7 +53040,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65323,8 +65333,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69682,7 +69692,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/hu.po b/doc/translations/hu.po
index 6e6aea6e84..7ff6d66bf1 100644
--- a/doc/translations/hu.po
+++ b/doc/translations/hu.po
@@ -12374,7 +12374,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14099,7 +14099,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14137,9 +14137,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14158,8 +14158,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14175,8 +14175,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14267,9 +14267,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21326,7 +21326,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23635,11 +23635,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35516,11 +35516,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36454,11 +36458,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38403,7 +38411,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40556,9 +40564,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44668,7 +44676,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44822,7 +44830,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44877,7 +44885,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44930,7 +44938,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44979,7 +44987,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45031,7 +45039,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45083,7 +45091,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49518,8 +49526,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51521,8 +51530,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53049,7 +53058,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65341,8 +65351,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69700,7 +69710,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/id.po b/doc/translations/id.po
index 73baa1212c..6e3e57b9e1 100644
--- a/doc/translations/id.po
+++ b/doc/translations/id.po
@@ -12769,7 +12769,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14494,7 +14494,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14532,9 +14532,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14553,8 +14553,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14570,8 +14570,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14662,9 +14662,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21721,7 +21721,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -24034,11 +24034,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35928,11 +35928,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36874,11 +36878,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38825,7 +38833,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40981,9 +40989,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45108,7 +45116,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45262,7 +45270,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45317,7 +45325,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45370,7 +45378,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45419,7 +45427,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45471,7 +45479,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45523,7 +45531,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49960,8 +49968,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51964,8 +51973,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53492,7 +53501,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65791,8 +65801,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -70155,7 +70165,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/is.po b/doc/translations/is.po
index 7346554061..34704b5dd4 100644
--- a/doc/translations/is.po
+++ b/doc/translations/is.po
@@ -12356,7 +12356,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14081,7 +14081,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14119,9 +14119,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14140,8 +14140,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14157,8 +14157,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14249,9 +14249,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21308,7 +21308,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23617,11 +23617,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35498,11 +35498,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36436,11 +36440,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38385,7 +38393,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40538,9 +40546,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44650,7 +44658,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44804,7 +44812,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44859,7 +44867,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44912,7 +44920,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44961,7 +44969,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45013,7 +45021,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45065,7 +45073,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49500,8 +49508,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51503,8 +51512,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53031,7 +53040,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65323,8 +65333,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69682,7 +69692,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/it.po b/doc/translations/it.po
index 3b4e6090e9..55dae12030 100644
--- a/doc/translations/it.po
+++ b/doc/translations/it.po
@@ -13393,7 +13393,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -15122,7 +15122,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -15160,9 +15160,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -15181,8 +15181,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -15198,8 +15198,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -15290,9 +15290,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -22448,7 +22448,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -24768,11 +24768,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -36718,11 +36718,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -37685,11 +37689,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -39643,7 +39651,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -41814,9 +41822,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45956,7 +45964,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -46111,7 +46119,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -46166,7 +46174,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -46219,7 +46227,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -46268,7 +46276,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -46321,7 +46329,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -46373,7 +46381,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -50815,8 +50823,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -52824,8 +52833,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -54354,7 +54363,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -66746,8 +66756,8 @@ msgstr ""
#: doc/classes/Viewport.xml
#, fuzzy
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
#: doc/classes/Viewport.xml
@@ -71138,7 +71148,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/ja.po b/doc/translations/ja.po
index edea8834b6..2be2d3b27e 100644
--- a/doc/translations/ja.po
+++ b/doc/translations/ja.po
@@ -15323,7 +15323,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -17115,7 +17115,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -17153,9 +17153,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -17174,8 +17174,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -17191,8 +17191,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -17283,9 +17283,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -24444,7 +24444,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -26781,12 +26781,14 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
-msgstr ""
+#, fuzzy
+msgid "Medium quality for the screen-space ambient occlusion effect."
+msgstr "ピクセル単位でアンビエントオクルージョン値を指定するテクスチャです。"
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
-msgstr ""
+#, fuzzy
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
+msgstr "ピクセル単位でアンビエントオクルージョン値を指定するテクスチャです。"
#: doc/classes/Expression.xml
msgid "A class that stores an expression you can execute."
@@ -38827,11 +38829,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -39813,11 +39819,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -41770,7 +41780,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -43958,9 +43968,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -48108,7 +48118,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -48265,7 +48275,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -48321,7 +48331,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -48379,7 +48389,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -48429,7 +48439,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -48483,7 +48493,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -48536,7 +48546,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -53007,8 +53017,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -55036,8 +55047,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
#, fuzzy
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -56579,7 +56590,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -69324,8 +69336,8 @@ msgstr ""
#: doc/classes/Viewport.xml
#, fuzzy
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
"[code]true[/code] の場合、インデックス [code]bus_idx[/code] のバスをミュート"
"します。"
@@ -73784,7 +73796,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/ko.po b/doc/translations/ko.po
index af8e0e7503..5c301f3f22 100644
--- a/doc/translations/ko.po
+++ b/doc/translations/ko.po
@@ -12494,7 +12494,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14220,7 +14220,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
"기존 색상에서 사용자 지정 알파 값으로 색상을 생성한다.\n"
@@ -14274,9 +14274,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14297,14 +14297,19 @@ msgstr ""
"[/codeblock]"
#: doc/classes/Color.xml
+#, fuzzy
msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
+"기존 색상에서 사용자 지정 알파 값으로 색상을 생성한다.\n"
+"[codeblock]\n"
+"var red = Color(Color.red, 0.5) # 50% 투명한 빨간색.\n"
+"[/codeblock]"
#: doc/classes/Color.xml
msgid ""
@@ -14318,8 +14323,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14416,9 +14421,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21547,7 +21552,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23861,11 +23866,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35772,11 +35777,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36730,11 +36739,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38808,7 +38821,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40970,9 +40983,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45100,7 +45113,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45254,7 +45267,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45309,7 +45322,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45362,7 +45375,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45411,7 +45424,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45463,7 +45476,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45515,7 +45528,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49953,8 +49966,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51958,8 +51972,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53486,7 +53500,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65813,8 +65828,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -70189,7 +70204,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/lt.po b/doc/translations/lt.po
index ea25f328bf..751cdb6809 100644
--- a/doc/translations/lt.po
+++ b/doc/translations/lt.po
@@ -12366,7 +12366,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14091,7 +14091,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14129,9 +14129,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14150,8 +14150,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14167,8 +14167,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14259,9 +14259,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21318,7 +21318,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23627,11 +23627,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35508,11 +35508,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36446,11 +36450,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38395,7 +38403,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40548,9 +40556,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44660,7 +44668,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44814,7 +44822,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44869,7 +44877,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44922,7 +44930,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44971,7 +44979,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45023,7 +45031,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45075,7 +45083,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49510,8 +49518,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51513,8 +51522,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53041,7 +53050,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65333,8 +65343,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69692,7 +69702,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/lv.po b/doc/translations/lv.po
index fec1aa6082..4d637de366 100644
--- a/doc/translations/lv.po
+++ b/doc/translations/lv.po
@@ -12371,7 +12371,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14096,7 +14096,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14134,9 +14134,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14155,8 +14155,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14172,8 +14172,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14264,9 +14264,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21323,7 +21323,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23635,11 +23635,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35516,11 +35516,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36454,11 +36458,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38403,7 +38411,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40556,9 +40564,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44668,7 +44676,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44822,7 +44830,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44877,7 +44885,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44930,7 +44938,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44979,7 +44987,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45031,7 +45039,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45083,7 +45091,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49518,8 +49526,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51521,8 +51530,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53049,7 +53058,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65341,8 +65351,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69700,7 +69710,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/mr.po b/doc/translations/mr.po
index 3e7d519563..2583c332b6 100644
--- a/doc/translations/mr.po
+++ b/doc/translations/mr.po
@@ -12354,7 +12354,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14079,7 +14079,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14117,9 +14117,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14138,8 +14138,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14155,8 +14155,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14247,9 +14247,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21306,7 +21306,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23615,11 +23615,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35496,11 +35496,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36434,11 +36438,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38383,7 +38391,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40536,9 +40544,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44648,7 +44656,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44802,7 +44810,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44857,7 +44865,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44910,7 +44918,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44959,7 +44967,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45011,7 +45019,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45063,7 +45071,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49498,8 +49506,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51501,8 +51510,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53029,7 +53038,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65321,8 +65331,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69680,7 +69690,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/nb.po b/doc/translations/nb.po
index 31c31b2ce0..8adbf00ffc 100644
--- a/doc/translations/nb.po
+++ b/doc/translations/nb.po
@@ -12366,7 +12366,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14091,7 +14091,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14129,9 +14129,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14150,8 +14150,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14167,8 +14167,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14259,9 +14259,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21318,7 +21318,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23627,11 +23627,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35508,11 +35508,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36446,11 +36450,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38395,7 +38403,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40548,9 +40556,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44660,7 +44668,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44814,7 +44822,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44869,7 +44877,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44922,7 +44930,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44971,7 +44979,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45023,7 +45031,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45075,7 +45083,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49510,8 +49518,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51513,8 +51522,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53041,7 +53050,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65333,8 +65343,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69692,7 +69702,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/ne.po b/doc/translations/ne.po
index 4b1cc1dfec..cb95b78393 100644
--- a/doc/translations/ne.po
+++ b/doc/translations/ne.po
@@ -12354,7 +12354,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14079,7 +14079,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14117,9 +14117,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14138,8 +14138,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14155,8 +14155,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14247,9 +14247,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21306,7 +21306,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23615,11 +23615,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35496,11 +35496,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36434,11 +36438,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38383,7 +38391,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40536,9 +40544,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44648,7 +44656,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44802,7 +44810,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44857,7 +44865,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44910,7 +44918,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44959,7 +44967,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45011,7 +45019,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45063,7 +45071,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49498,8 +49506,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51501,8 +51510,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53029,7 +53038,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65321,8 +65331,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69680,7 +69690,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/nl.po b/doc/translations/nl.po
index c44c11d582..2e334d337a 100644
--- a/doc/translations/nl.po
+++ b/doc/translations/nl.po
@@ -12423,7 +12423,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14148,7 +14148,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14186,9 +14186,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14207,8 +14207,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14224,8 +14224,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14316,9 +14316,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21375,7 +21375,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23687,11 +23687,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35568,11 +35568,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36506,11 +36510,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38455,7 +38463,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40608,9 +40616,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44720,7 +44728,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44874,7 +44882,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44929,7 +44937,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44982,7 +44990,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45031,7 +45039,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45083,7 +45091,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45135,7 +45143,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49570,8 +49578,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51574,8 +51583,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53102,7 +53111,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65394,8 +65404,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69753,7 +69763,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/pl.po b/doc/translations/pl.po
index e3f01e9b86..0610d7bdaa 100644
--- a/doc/translations/pl.po
+++ b/doc/translations/pl.po
@@ -12875,7 +12875,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14601,7 +14601,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14639,9 +14639,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14660,8 +14660,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14677,8 +14677,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14769,9 +14769,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21848,7 +21848,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -24167,11 +24167,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -36111,11 +36111,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -37085,11 +37089,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -39038,7 +39046,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -41210,9 +41218,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45351,7 +45359,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45505,7 +45513,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45560,7 +45568,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45613,7 +45621,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45662,7 +45670,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45714,7 +45722,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45766,7 +45774,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -50209,8 +50217,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -52217,8 +52226,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53748,7 +53757,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -66083,10 +66093,13 @@ msgid ""
msgstr ""
#: doc/classes/Viewport.xml
+#, fuzzy
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
+"Jeśli [code]true[/code], potomne węzły są sortowane. W innym przypadku jest "
+"wyłączone."
#: doc/classes/Viewport.xml
msgid ""
@@ -70467,7 +70480,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/pt.po b/doc/translations/pt.po
index 01ab730cd0..b4505ad2b5 100644
--- a/doc/translations/pt.po
+++ b/doc/translations/pt.po
@@ -13153,7 +13153,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14902,7 +14902,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14948,9 +14948,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14969,8 +14969,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14986,8 +14986,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -15078,9 +15078,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -22152,7 +22152,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -24470,11 +24470,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -36376,11 +36376,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -37338,11 +37342,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -39290,7 +39298,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -41448,9 +41456,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45560,7 +45568,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45714,7 +45722,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45769,7 +45777,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45822,7 +45830,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45871,7 +45879,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45923,7 +45931,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45975,7 +45983,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -50414,8 +50422,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -52418,8 +52427,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53948,7 +53957,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -66285,8 +66295,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -70647,7 +70657,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/pt_BR.po b/doc/translations/pt_BR.po
index 1b0664fac2..6ce8037a77 100644
--- a/doc/translations/pt_BR.po
+++ b/doc/translations/pt_BR.po
@@ -13417,7 +13417,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -15183,7 +15183,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
"Constrói uma cor a partir de um inteiro 32-bit no formato RGBA (cada byte "
@@ -15246,9 +15246,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -15263,14 +15263,20 @@ msgid ""
msgstr ""
#: doc/classes/Color.xml
+#, fuzzy
msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
+"Constrói uma cor a partir de um perfil RGB usando valores de 0 a 1. O valor "
+"Alfa sempre será 1.\n"
+"[codeblock]\n"
+"var c = Color(0.2, 1.0, 0.7) # Equivalente a RGBA(51, 255, 178, 255)\n"
+"[/codeblock]"
#: doc/classes/Color.xml
msgid ""
@@ -15284,8 +15290,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -15376,9 +15382,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -22455,7 +22461,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -24780,11 +24786,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -36738,11 +36744,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -37711,11 +37721,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -39664,7 +39678,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -41832,9 +41846,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45979,7 +45993,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -46133,7 +46147,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -46188,7 +46202,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -46241,7 +46255,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -46290,7 +46304,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -46342,7 +46356,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -46394,7 +46408,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -50840,8 +50854,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -52848,8 +52863,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -54379,7 +54394,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -66755,10 +66771,13 @@ msgid ""
msgstr ""
#: doc/classes/Viewport.xml
+#, fuzzy
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
+"Se [code]true[/code], os nós filhos são organizados, do contrário, a "
+"organização é desabilitada."
#: doc/classes/Viewport.xml
msgid ""
@@ -71142,7 +71161,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/ro.po b/doc/translations/ro.po
index fb527767a3..af828f619b 100644
--- a/doc/translations/ro.po
+++ b/doc/translations/ro.po
@@ -12386,7 +12386,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14111,7 +14111,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14149,9 +14149,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14170,8 +14170,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14187,8 +14187,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14279,9 +14279,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21338,7 +21338,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23650,11 +23650,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35531,11 +35531,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36469,11 +36473,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38418,7 +38426,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40571,9 +40579,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44683,7 +44691,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44837,7 +44845,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44892,7 +44900,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44945,7 +44953,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44994,7 +45002,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45046,7 +45054,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45098,7 +45106,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49533,8 +49541,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51536,8 +51545,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53064,7 +53073,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65356,8 +65366,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69715,7 +69725,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/ru.po b/doc/translations/ru.po
index eba76dd6d2..afb3693b6a 100644
--- a/doc/translations/ru.po
+++ b/doc/translations/ru.po
@@ -47,11 +47,12 @@
# Smadjavul <o1985af@gmail.com>, 2022.
# Bozhko Artyom Dmitrievich <jek_sun@mail.ru>, 2022.
# FuzzMix <fmwolfiechad@gmail.com>, 2022.
+# МАН69К <weblate@mah69k.net>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-05-29 02:36+0000\n"
+"PO-Revision-Date: 2022-06-08 06:47+0000\n"
"Last-Translator: FuzzMix <fmwolfiechad@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/ru/>\n"
@@ -310,24 +311,25 @@ msgid ""
"[/codeblock]"
msgstr ""
"Проверяет, что [code]condition[/code] равно [code]true[/code]. Если "
-"[code]condition[/code] равно [code]false[/code], будет сгенерирована ошибка "
-"и программа приостановится, пока вы не продолжите её. Эта функция "
-"выполняется только в отладочных сборках, или когда игра запускается в "
-"редакторе. Используйте её для целей отладки, чтобы убедиться, что выражение "
-"остаётся [code]true[/code] в течение разработки.\n"
+"[code]condition[/code] равно [code]false[/code], будет сгенерирована ошибка. "
+"Если запущено из редактора, запущенный проект приостановится, пока вы не "
+"продолжите его. Это может быть использовано как более сильная форма [method "
+"push_error] для сообщения об ошибках разработчикам проекта или пользователям "
+"дополнений.\n"
"[b]Примечание:[/b] В целях оптимизации код внутри [method assert] "
-"исполняется только в debug-сборках или при запуске из редактора. Не "
+"исполняется только в отладочных сборках или при запуске из редактора. Не "
"добавляйте дополнительную логику в вызов [method assert]. В противном случае "
"релизная сборка будет иметь иное поведение.\n"
"Если задан необязательный аргумент [code]message[/code], то он будет показан "
-"в дополнении к сообщению \"Assertion failed\". В нём вы можете предоставить "
-"дополнительные сведения о том, почему проверка была неудачной.\n"
+"в дополнении к сообщению \"Assertion failed\". Вы можете использовать его "
+"для предоставления дополнительных сведений о том, почему проверка была "
+"неудачной.\n"
"[codeblock]\n"
-"# Предположим, что вы хотите, чтобы скорость (speed) была между 0 и 20\n"
+"# Предположим, что вы хотите, чтобы скорость (speed) была между 0 и 20.\n"
"speed = -10\n"
"assert(speed < 20) # True, программа продолжит выполнение\n"
"assert(speed >= 0) # False, программа будет остановлена\n"
-"assert(speed >= 0 && speed < 20) # Вы можете комбинировать два условных "
+"assert(speed >= 0 and speed < 20) # Вы можете комбинировать два условных "
"выражения в одной проверке\n"
"assert(speed < 20, \"speed = %f, но лимит скорости равен 20\" % speed) # "
"Показывает сообщение с уточняющими деталями\n"
@@ -1483,7 +1485,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Pushes an error message to Godot's built-in debugger and to the OS "
"terminal.\n"
@@ -1499,7 +1500,11 @@ msgstr ""
"[codeblock].\n"
"push_error(\"test error\") # Выводит \"test error\" в отладчик и терминал "
"как вызов ошибки\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Примечание:[/b] Ошибки выведенные таким способом не приостанавливают "
+"выполнение проекта. Что бы вывести сообщение об ошибке и приостановить "
+"выполнение проекта в отладочных сборках - используйте [code]assert(false, "
+"\"test error\")[/code]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1531,7 +1536,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns a random floating point value between [code]from[/code] and "
"[code]to[/code] (both endpoints inclusive).\n"
@@ -1540,12 +1544,14 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code]."
msgstr ""
-"Случайное значение с плавающей запятой между [code]from[/code] и [code]to[/"
-"code].\n"
+"Возвращает случайное значение с плавающей запятой между [code]from[/code] и "
+"[code]to[/code] (включительно).\n"
"[codeblock]\n"
-"prints(rand_range(0, 1), rand_range(0, 1)) # Выведет, напр., 0.135591 "
+"prints(rand_range(0, 1), rand_range(0, 1)) # Выведет, например, 0.135591 "
"0.405263\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Примечание:[/b] Это эквивалентно [code]randf() * (to - from) + from[/"
+"code]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -10643,17 +10649,19 @@ msgstr ""
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
-msgstr ""
+msgstr "Сила искажения. Значение может варьироваться от 0 до 1."
#: doc/classes/AudioEffectDistortion.xml
msgid ""
"High-pass filter, in Hz. Frequencies higher than this value will not be "
"affected by the distortion. Value can range from 1 to 20000."
msgstr ""
+"Фильтр высоких частот, в Гц. Частоты выше этого значения не будут подвержены "
+"искажением. Значение может варьироваться от 1 до 20000."
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion type."
-msgstr ""
+msgstr "Тип искажения."
#: doc/classes/AudioEffectDistortion.xml
msgid ""
@@ -14007,7 +14015,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -15750,7 +15758,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -15788,9 +15796,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -15809,8 +15817,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -15826,8 +15834,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -15918,9 +15926,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -23105,7 +23113,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -25432,11 +25440,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -37398,11 +37406,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38370,11 +38382,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -40407,7 +40423,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -42585,9 +42601,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -46733,7 +46749,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -46892,7 +46908,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -46948,7 +46964,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -47006,7 +47022,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -47057,7 +47073,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -47112,7 +47128,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -47165,7 +47181,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -51673,8 +51689,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -53688,8 +53705,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -55217,7 +55234,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -67763,10 +67781,11 @@ msgid ""
msgstr ""
#: doc/classes/Viewport.xml
+#, fuzzy
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
-msgstr ""
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
+msgstr "Если [code]true[/code], текстура будет центрирована."
#: doc/classes/Viewport.xml
msgid ""
@@ -72170,7 +72189,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
@@ -76314,6 +76333,8 @@ msgid ""
"Default environment properties for the entire scene (post-processing "
"effects, lighting and background settings)."
msgstr ""
+"Свойства среды по умолчанию для всей сцены (эффекты постобработки, настройки "
+"освещения и фона)."
#: doc/classes/WorldEnvironment.xml
msgid ""
@@ -76334,10 +76355,12 @@ msgid ""
"The [Environment] resource used by this [WorldEnvironment], defining the "
"default properties."
msgstr ""
+"Ресурс [Environment], используемый этим [WorldEnvironment], определяющий "
+"свойства по умолчанию."
#: doc/classes/X509Certificate.xml
msgid "An X509 certificate (e.g. for SSL)."
-msgstr ""
+msgstr "Сертификат X509 (например, для SSL)."
#: doc/classes/X509Certificate.xml
msgid ""
@@ -76351,19 +76374,23 @@ msgstr ""
#: doc/classes/X509Certificate.xml
msgid "Loads a certificate from [code]path[/code] (\"*.crt\" file)."
-msgstr ""
+msgstr "Загружает сертификат из [code]пути[/code] (файл \"*.crt\")."
#: doc/classes/X509Certificate.xml
msgid ""
"Saves a certificate to the given [code]path[/code] (should be a \"*.crt\" "
"file)."
msgstr ""
+"Сохраняет сертификат по заданному [code]пути[/code] (должно быть \"*.crt\" "
+"файлом)."
#: doc/classes/XMLParser.xml
msgid ""
"Low-level class for creating parsers for [url=https://en.wikipedia.org/wiki/"
"XML]XML[/url] files."
msgstr ""
+"Низкоуровневый класс для создания парсеров для [url=https://ru.wikipedia.org/"
+"wiki/XML]XML[/url] файлов."
#: doc/classes/XMLParser.xml
msgid ""
@@ -76391,24 +76418,32 @@ msgstr ""
#: doc/classes/XMLParser.xml
msgid "Gets the current line in the parsed file (currently not implemented)."
msgstr ""
+"Получает текущую строку в проанализированном файле (в настоящее время не "
+"реализовано)."
#: doc/classes/XMLParser.xml
msgid ""
"Gets the value of a certain attribute of the current element by name. This "
"will raise an error if the element has no such attribute."
msgstr ""
+"Получает значение определенного атрибута текущего элемента по имени. Это "
+"приведет к ошибке, если элемент не имеет такого атрибута."
#: doc/classes/XMLParser.xml
msgid ""
"Gets the value of a certain attribute of the current element by name. This "
"will return an empty [String] if the attribute is not found."
msgstr ""
+"Получает значение определенного атрибута текущего элемента по имени. Это "
+"вернет пустой [String], если атрибут не найден."
#: doc/classes/XMLParser.xml
msgid ""
"Gets the contents of a text node. This will raise an error in any other type "
"of node."
msgstr ""
+"Получает содержимое из текстового узла. Это вызовет ошибку в любом другом "
+"типе узла."
#: doc/classes/XMLParser.xml
msgid ""
@@ -76430,13 +76465,15 @@ msgstr ""
#: doc/classes/XMLParser.xml
msgid "Check whether the current element has a certain attribute."
-msgstr ""
+msgstr "Проверяет, имеет ли текущий элемент определенный атрибут."
#: doc/classes/XMLParser.xml
msgid ""
"Check whether the current element is empty (this only works for completely "
"empty tags, e.g. [code]<element \\>[/code])."
msgstr ""
+"Проверяет, является ли текущий элемент пустым (это работает только для "
+"полностью пустых тегов, например, [code]<element \\>[/code])."
#: doc/classes/XMLParser.xml
msgid "Opens an XML file for parsing. This returns an error code."
diff --git a/doc/translations/sk.po b/doc/translations/sk.po
index 08756b79d0..8229fd93a9 100644
--- a/doc/translations/sk.po
+++ b/doc/translations/sk.po
@@ -12357,7 +12357,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14082,7 +14082,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14120,9 +14120,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14141,8 +14141,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14158,8 +14158,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14250,9 +14250,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21309,7 +21309,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23621,11 +23621,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35502,11 +35502,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36440,11 +36444,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38389,7 +38397,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40542,9 +40550,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44654,7 +44662,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44808,7 +44816,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44863,7 +44871,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44916,7 +44924,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44965,7 +44973,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45017,7 +45025,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45069,7 +45077,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49504,8 +49512,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51507,8 +51516,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53035,7 +53044,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65327,8 +65337,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69686,7 +69696,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/sr_Cyrl.po b/doc/translations/sr_Cyrl.po
index d5e188a57f..1dd374ba2b 100644
--- a/doc/translations/sr_Cyrl.po
+++ b/doc/translations/sr_Cyrl.po
@@ -12368,7 +12368,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14093,7 +14093,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14131,9 +14131,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14152,8 +14152,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14169,8 +14169,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14261,9 +14261,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21320,7 +21320,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23632,11 +23632,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35513,11 +35513,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36451,11 +36455,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38400,7 +38408,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40553,9 +40561,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44665,7 +44673,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44819,7 +44827,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44874,7 +44882,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44927,7 +44935,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44976,7 +44984,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45028,7 +45036,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45080,7 +45088,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49515,8 +49523,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51518,8 +51527,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53046,7 +53055,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65338,8 +65348,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69697,7 +69707,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/sv.po b/doc/translations/sv.po
index e44a073cde..afe8cf34ae 100644
--- a/doc/translations/sv.po
+++ b/doc/translations/sv.po
@@ -12357,7 +12357,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14082,7 +14082,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14120,9 +14120,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14141,8 +14141,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14158,8 +14158,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14250,9 +14250,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21309,7 +21309,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23618,11 +23618,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35499,11 +35499,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36437,11 +36441,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38386,7 +38394,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40539,9 +40547,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44651,7 +44659,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44805,7 +44813,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44860,7 +44868,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44913,7 +44921,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44962,7 +44970,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45014,7 +45022,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45066,7 +45074,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49501,8 +49509,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51504,8 +51513,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53032,7 +53041,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65324,8 +65334,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69683,7 +69693,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/th.po b/doc/translations/th.po
index 11607b058a..919ed35041 100644
--- a/doc/translations/th.po
+++ b/doc/translations/th.po
@@ -12465,7 +12465,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14190,7 +14190,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14228,9 +14228,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14249,8 +14249,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14266,8 +14266,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14358,9 +14358,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21418,7 +21418,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23731,11 +23731,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35671,11 +35671,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36618,11 +36622,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38620,7 +38628,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40777,9 +40785,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44894,7 +44902,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45048,7 +45056,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45103,7 +45111,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45156,7 +45164,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45205,7 +45213,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45257,7 +45265,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45309,7 +45317,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49752,8 +49760,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51757,8 +51766,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53285,7 +53294,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65597,8 +65607,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69960,7 +69970,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/tl.po b/doc/translations/tl.po
index 311ce61df8..7a862413b9 100644
--- a/doc/translations/tl.po
+++ b/doc/translations/tl.po
@@ -12440,7 +12440,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14165,7 +14165,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14203,9 +14203,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14224,8 +14224,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14241,8 +14241,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14333,9 +14333,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21395,7 +21395,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23707,11 +23707,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35600,11 +35600,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36544,11 +36548,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38493,7 +38501,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40649,9 +40657,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44761,7 +44769,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44915,7 +44923,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -44970,7 +44978,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45023,7 +45031,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45072,7 +45080,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45124,7 +45132,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45176,7 +45184,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49611,8 +49619,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51614,8 +51623,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53142,7 +53151,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65440,8 +65450,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69799,7 +69809,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/tr.po b/doc/translations/tr.po
index 6934fd1940..47aadf8b43 100644
--- a/doc/translations/tr.po
+++ b/doc/translations/tr.po
@@ -13145,7 +13145,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14870,7 +14870,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14908,9 +14908,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14929,8 +14929,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14946,8 +14946,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -15038,9 +15038,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -22111,7 +22111,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -24428,11 +24428,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -36350,11 +36350,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -37314,11 +37318,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -39267,7 +39275,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -41429,9 +41437,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45569,7 +45577,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45723,7 +45731,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45778,7 +45786,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45831,7 +45839,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45880,7 +45888,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45932,7 +45940,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45984,7 +45992,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -50427,8 +50435,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -52434,8 +52443,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53962,7 +53971,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -66281,10 +66291,12 @@ msgid ""
msgstr ""
#: doc/classes/Viewport.xml
+#, fuzzy
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
+"Eğer [code]true[/code] ise düğümler sıraya sokulur, yoksa sıraya sokulmaz."
#: doc/classes/Viewport.xml
msgid ""
@@ -70660,7 +70672,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/uk.po b/doc/translations/uk.po
index 6fe0b45ed0..fff6590fd7 100644
--- a/doc/translations/uk.po
+++ b/doc/translations/uk.po
@@ -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: 2022-05-29 02:36+0000\n"
+"PO-Revision-Date: 2022-06-05 10:12+0000\n"
"Last-Translator: Мирослав <hlopukmyroslav@gmail.com>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/uk/>\n"
@@ -3926,7 +3926,7 @@ msgstr ""
#: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Vector2.xml
#: doc/classes/Vector3.xml
msgid "Vector math"
-msgstr ""
+msgstr "Векторна математика"
#: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Vector2.xml
#: doc/classes/Vector3.xml
@@ -12524,7 +12524,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14250,7 +14250,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14288,9 +14288,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14309,8 +14309,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14326,8 +14326,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14418,9 +14418,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21488,7 +21488,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23799,11 +23799,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -30530,7 +30530,7 @@ msgstr ""
#: doc/classes/InputEventMouseMotion.xml
msgid "Mouse and input coordinates"
-msgstr ""
+msgstr "Мишка і координати введення"
#: doc/classes/InputEventMouseMotion.xml
msgid ""
@@ -35711,11 +35711,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36670,11 +36674,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38623,7 +38631,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40784,9 +40792,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44916,7 +44924,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45070,7 +45078,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45125,7 +45133,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45178,7 +45186,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45227,7 +45235,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45279,7 +45287,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45331,7 +45339,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49769,8 +49777,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51774,8 +51783,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53302,7 +53311,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -60902,7 +60912,7 @@ msgstr ""
#: doc/classes/Thread.xml
msgid "Using multiple threads"
-msgstr ""
+msgstr "Використання кількох потоків"
#: doc/classes/Thread.xml
msgid "Thread-safe APIs"
@@ -65623,8 +65633,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -70001,7 +70011,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/vi.po b/doc/translations/vi.po
index 2a636437bd..0cda534d16 100644
--- a/doc/translations/vi.po
+++ b/doc/translations/vi.po
@@ -12820,7 +12820,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14546,7 +14546,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14584,9 +14584,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14605,8 +14605,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14622,8 +14622,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14714,9 +14714,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21787,7 +21787,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -24101,11 +24101,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -36010,11 +36010,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36972,11 +36976,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38925,7 +38933,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -41086,9 +41094,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -45226,7 +45234,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45380,7 +45388,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45435,7 +45443,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45488,7 +45496,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45537,7 +45545,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45589,7 +45597,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45641,7 +45649,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -50086,8 +50094,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -52093,8 +52102,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53621,7 +53630,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65947,10 +65957,11 @@ msgid ""
msgstr ""
#: doc/classes/Viewport.xml
+#, fuzzy
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
-msgstr ""
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
+msgstr "Nếu [code]true[/code], họa tiết sẽ được căn ở trung tâm."
#: doc/classes/Viewport.xml
msgid ""
@@ -70332,7 +70343,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
diff --git a/doc/translations/zh_CN.po b/doc/translations/zh_CN.po
index af21d97dab..d037281462 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-05-24 13:02+0000\n"
+"PO-Revision-Date: 2022-06-08 06:47+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"
@@ -15269,8 +15269,9 @@ msgstr ""
"与可选的下一个字符的字偶距。"
#: doc/classes/CanvasItem.xml
+#, fuzzy
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -17378,11 +17379,12 @@ msgstr ""
"[/codeblock]"
#: doc/classes/Color.xml
+#, fuzzy
msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
"从 RGBA 格式的 32 位整数构造颜色,每个字节代表一个颜色通道。\n"
@@ -17437,12 +17439,13 @@ msgstr ""
"[/codeblock]"
#: doc/classes/Color.xml
+#, fuzzy
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
"返回对比度最高的颜色。\n"
@@ -17468,12 +17471,13 @@ msgstr ""
"[/codeblock]"
#: doc/classes/Color.xml
+#, fuzzy
msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
"从 HSV 配置文件中构建一个颜色。[code]h[/code]、[code]s[/code]和[code]v[/code]"
@@ -17493,12 +17497,13 @@ msgstr ""
"可以用来确定颜色是亮色还是暗色。一般认为亮度小于 0.5 的颜色是暗色。"
#: doc/classes/Color.xml
+#, fuzzy
msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
"返回颜色的灰度表示。\n"
@@ -17632,15 +17637,16 @@ msgstr ""
"[/codeblock]"
#: doc/classes/Color.xml
+#, fuzzy
msgid ""
"Returns the color's HTML hexadecimal color string in ARGB format (ex: "
"[code]ff34f822[/code]).\n"
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
"返回 ARGB 格式的 HTML 十六进制颜色字符串(例如:[code]ff34f822[/code])。\n"
@@ -17739,7 +17745,7 @@ msgstr "爱丽丝蓝。"
#: doc/classes/Color.xml
msgid "Antique white color."
-msgstr "古色古香的白色。"
+msgstr "古董白。"
#: doc/classes/Color.xml
msgid "Aqua color."
@@ -17787,7 +17793,7 @@ msgstr "癭木色。"
#: doc/classes/Color.xml
msgid "Cadet blue color."
-msgstr "军校学生的蓝色。"
+msgstr "军服蓝。"
#: doc/classes/Color.xml
msgid "Chartreuse color."
@@ -18111,7 +18117,7 @@ msgstr "鹿皮鞋颜色。"
#: doc/classes/Color.xml
msgid "Navajo white color."
-msgstr "那瓦伙族人白。"
+msgstr "纳瓦白。"
#: doc/classes/Color.xml
msgid "Navy blue color."
@@ -18119,7 +18125,7 @@ msgstr "藏青色。"
#: doc/classes/Color.xml
msgid "Old lace color."
-msgstr "旧蕾丝颜色。"
+msgstr "旧蕾丝色。"
#: doc/classes/Color.xml
msgid "Olive color."
@@ -22156,7 +22162,6 @@ msgid "A cryptographic key (RSA)."
msgstr "加密密钥(RSA)。"
#: doc/classes/CryptoKey.xml
-#, fuzzy
msgid ""
"The CryptoKey class represents a cryptographic key. Keys can be loaded and "
"saved like any other [Resource].\n"
@@ -22164,11 +22169,11 @@ msgid ""
"Crypto.generate_self_signed_certificate] and as private key in [method "
"StreamPeerSSL.accept_stream] along with the appropriate certificate."
msgstr ""
-"CryptoKey类表示加密密钥。可以像其他任何[Resource]一样加载和保存键。\n"
-"它们可用于通过[method Crypto.generate_self_signed_certificate]生成自签名"
-"[X509Certificate],并可作为[method StreamPeerSSL.accept_stream]中的私钥以及相"
-"应的证书。\n"
-"[b]注意:[/b]在HTML5导出中不可用。"
+"CryptoKey 类表示加密密钥。密钥可以像其他任何 [Resource] 一样进行加载和保"
+"存。\n"
+"密钥可以通过 [method Crypto.generate_self_signed_certificate] 生成自签名 "
+"[X509Certificate],并可作为 [method StreamPeerSSL.accept_stream] 中的私钥以及"
+"相应的证书。"
#: doc/classes/CryptoKey.xml
msgid ""
@@ -23840,7 +23845,6 @@ msgid "Dictionary type."
msgstr "字典类型。"
#: doc/classes/Dictionary.xml
-#, fuzzy
msgid ""
"Dictionary type. Associative container which contains values referenced by "
"unique keys. Dictionaries are composed of pairs of keys (which must be "
@@ -26728,8 +26732,9 @@ msgstr ""
"侧。"
#: doc/classes/EditorPlugin.xml
+#, fuzzy
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -29666,11 +29671,13 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr "低质量的屏幕空间环境遮挡效果(最快)。"
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+#, fuzzy
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr "低质量的屏幕空间环境遮挡效果。"
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+#, fuzzy
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr "低质量的屏幕空间环境遮挡效果(最慢)。"
#: doc/classes/Expression.xml
@@ -31738,7 +31745,6 @@ msgstr ""
"code],否则返回 [code]false[/code]。"
#: doc/classes/Geometry.xml
-#, fuzzy
msgid ""
"Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and "
"([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the "
@@ -31746,10 +31752,10 @@ msgid ""
"[code]null[/code].\n"
"[b]Note:[/b] The lines are specified using direction vectors, not end points."
msgstr ""
-"检查两行([code]from_a[/code],[code]dir_a[/code])和([code]from_b[/code],"
-"[code]dir_b[/code])是否相交。如果是,则将相交点返回为[Vector2]。如果没有交"
-"叉,则返回一个空的[Variant]。\n"
-"[b]注意:[/b]线是使用方向向量而不是终点指定的。"
+"检查两条直线([code]from_a[/code], [code]dir_a[/code]) 和 ([code]from_b[/"
+"code], [code]dir_b[/code]) 是否相交。如果相交,则返回 [Vector2] 形式的相交"
+"点。如果不相交,则返回 [code]null[/code]。\n"
+"[b]注意:[/b]直线是使用方向向量而不是终点指定的。"
#: doc/classes/Geometry.xml
msgid ""
@@ -31906,16 +31912,15 @@ msgstr ""
"交点的法线。"
#: doc/classes/Geometry.xml
-#, fuzzy
msgid ""
"Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and "
"([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point "
"of intersection as [Vector2]. If no intersection takes place, returns "
"[code]null[/code]."
msgstr ""
-"检查两段([code]from_a[/code], [code]to_a[/code])和([code]from_b[/code], "
-"[code]to_b[/code])是否相交。如果是,返回相交点为[Vector2]。如果没有发生相"
-"交,返回一个空的[Variant]。"
+"检查两条线段 ([code]from_a[/code], [code]to_a[/code]) 和 ([code]from_b[/"
+"code], [code]to_b[/code]) 是否相交。如果相交,则返回 [Vector2] 形式的相交点。"
+"如果不相交,则返回 [code]null[/code]。"
#: doc/classes/Geometry.xml
msgid ""
@@ -33841,7 +33846,6 @@ msgid "Context to compute cryptographic hashes over multiple iterations."
msgstr "在多次迭代中计算加密哈希的上下文。"
#: doc/classes/HashingContext.xml
-#, fuzzy
msgid ""
"The HashingContext class provides an interface for computing cryptographic "
"hashes over multiple iterations. This is useful for example when computing "
@@ -33894,8 +33898,7 @@ msgstr ""
" var res = ctx.finish()\n"
" # 以十六进制字符串和数组的形式打印结果。\n"
" printt(res.hex_encode(), Array(res))\n"
-"[/codeblock]\n"
-"[b]注意:[/b]这在导出为 HTML5 时是不可用的。"
+"[/codeblock]"
#: doc/classes/HashingContext.xml
msgid "Closes the current context, and return the computed hash."
@@ -44566,15 +44569,20 @@ msgid "Server interface for low-level 2D navigation access."
msgstr "访问底层 2D 导航的服务器接口。"
#: doc/classes/Navigation2DServer.xml
+#, fuzzy
msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -45386,7 +45394,7 @@ msgstr ""
"染的停滞。一般而言,可解析对象的总数与它们各自的大小和复杂度之间应该达到平"
"衡,防止出现帧率问题和超长的烘焙时间。合并后的网格后续会被交给 Recast 导航对"
"象,通过在网格的包围区域周边创建体素世界,来检查原始几何体中适合 "
-"[Navigationmesh] 代理行走的地形。\n"
+"[NavigationMesh] 代理行走的地形。\n"
"然后就会返回最终的导航网格,保存在 [NavigationMesh] 中,即可交付 "
"[NavigationMeshInstance] 使用。"
@@ -45690,15 +45698,20 @@ msgid "Server interface for low-level 3D navigation access."
msgstr "访问底层 3D 导航的服务器接口。"
#: doc/classes/NavigationServer.xml
+#, fuzzy
msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -47163,7 +47176,7 @@ msgid ""
"[b]and[/b] physics interpolation is enabled within the [SceneTree]. This can "
"be tested using [method is_physics_interpolated_and_enabled]."
msgstr ""
-"如果这个 Node 设置了物理插值标志,则返回 [code]true[/code](见 [method "
+"如果这个 Node 设置了物理插值标志,则返回 [code]true[/code](见 [member "
"physics_interpolation_mode])。\n"
"[b]注意:[/b]只有在设置了标志[b]并且[/b]该 [SceneTree] 启用了物理插值时,才会"
"启用插值。可以使用 [method is_physics_interpolated_and_enabled] 进行检查。"
@@ -47177,7 +47190,7 @@ msgid ""
"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
"physics/common/physics_interpolation]."
msgstr ""
-"如果启用了物理插值(见 [method physics_interpolation_mode])[b]并且[/b]该 "
+"如果启用了物理插值(见 [member physics_interpolation_mode])[b]并且[/b]该 "
"[SceneTree] 也启用了物理插值,则返回 [code]true[/code]。\n"
"这是 [method is_physics_interpolated] 的简便版本,还会检查是否全局启用了物理"
"插值。\n"
@@ -47445,7 +47458,6 @@ msgstr ""
"[b]注意:[/b]这个函数应该在移动节点[b]之后[/b]调用,而不是之前。"
#: doc/classes/Node.xml
-#, fuzzy
msgid ""
"Sends a remote procedure call request for the given [code]method[/code] to "
"peers on the network (and locally), optionally sending all additional "
@@ -47465,7 +47477,7 @@ msgstr ""
"可选择将所有附加参数作为参数发送给 RPC 调用的方法。调用请求将只被具有相同 "
"[NodePath] 的节点接收,包括完全相同的节点名称。行为取决于给定方法的 RPC 配"
"置,见 [method rpc_config]。方法在默认情况下不会暴露给 RPC。参阅 [method "
-"rset] 和[method rset_config] 的属性。返回一个空的 [Variant]。\n"
+"rset] 和[method rset_config] 的属性。返回 [code]null[/code]。\n"
"[b]注意:[/b]只有在你从 [SceneTree] 收到 [code]connected_to_server[/code] 信"
"号之后,你才能安全地在客户端使用 RPC。你还需要跟踪连接状态,可以通过 "
"[code]server_disconnected[/code] 等 [SceneTree] 信号或者检查 [code]SceneTree."
@@ -47489,31 +47501,28 @@ msgstr ""
"rset_config] 的属性。"
#: doc/classes/Node.xml
-#, fuzzy
msgid ""
"Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] "
"(see [method NetworkedMultiplayerPeer.set_target_peer]). Returns [code]null[/"
"code]."
msgstr ""
-"向由[code]peer_id[/code]确定的特定peer发送一个[method rpc](见[method "
-"NetworkedMultiplayerPeer.set_target_peer])。返回一个空的[Variant]。"
+"向由 [code]peer_id[/code] 确定的特定对等体发送一个 [method rpc](见 [method "
+"NetworkedMultiplayerPeer.set_target_peer])。返回 [code]null[/code]。"
#: doc/classes/Node.xml
-#, fuzzy
msgid ""
"Sends a [method rpc] using an unreliable protocol. Returns [code]null[/code]."
-msgstr "使用一个不可靠的协议发送一个[method rpc]。返回一个空的[Variant]。"
+msgstr "使用不可靠的协议发送一个 [method rpc]。返回 [code]null[/code]。"
#: doc/classes/Node.xml
-#, fuzzy
msgid ""
"Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] "
"using an unreliable protocol (see [method NetworkedMultiplayerPeer."
"set_target_peer]). Returns [code]null[/code]."
msgstr ""
-"使用不可靠的协议(见[method NetworkedMultiplayerPeer.set_target_peer])向由"
-"[code]peer_id[/code]标识的特定peer发送一个[method rpc]。返回一个空的"
-"[Variant]。"
+"使用不可靠的协议(见 [method NetworkedMultiplayerPeer.set_target_peer])向由 "
+"[code]peer_id[/code] 标识的特定对等体发送一个 [method rpc]。返回 [code]null[/"
+"code]。"
#: doc/classes/Node.xml
msgid ""
@@ -48345,9 +48354,10 @@ msgstr ""
"[/codeblock]"
#: doc/classes/NodePath.xml
+#, fuzzy
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -51261,6 +51271,7 @@ msgstr ""
"[b]注意:[/b]该方法在 HTML5、Linux、macOS 和 Windows 上实现。"
#: doc/classes/OS.xml
+#, fuzzy
msgid ""
"Requests the OS to open a resource with the most appropriate program. For "
"example:\n"
@@ -51270,9 +51281,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -56176,6 +56187,7 @@ msgid "A pooled array of bytes."
msgstr "字节池数组。"
#: doc/classes/PoolByteArray.xml
+#, fuzzy
msgid ""
"An array specifically designed to hold bytes. Optimized for memory usage, "
"does not fragment the memory.\n"
@@ -56186,7 +56198,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -56198,6 +56210,24 @@ msgid ""
"print(array) # [[123]] (PoolByteArray with 1 element inside an Array)\n"
"[/codeblock]"
msgstr ""
+"专门为存储字节设计的数组。针对内存使用进行了优化,不会产生内存碎片。\n"
+"[b]注意:[/b]这个类型是按值传递的,不会按引用传递。也就是说,如果对某个类的 "
+"[PoolByteArray] 类型的属性进行了[i]修改[/i],或者对 [Array] 或 [Dictionary] "
+"中的 [PoolByteArray] 进行了修改,那么这些修改就会丢失:\n"
+"[codeblock]\n"
+"var array = [PoolByteArray()]\n"
+"array[0].push_back(123)\n"
+"print(array) # [[]](空 Array 中包含了空的 PoolByteArray)\n"
+"[/codeblock]\n"
+"整个 [PoolByteArray] 属性必须使用 [code]=[/code] 进行[i]重新赋值[/i],才会发"
+"生变化:\n"
+"[codeblock]\n"
+"var array = [PoolByteArray()]\n"
+"var pool_array = array[0]\n"
+"pool_array.push_back(123)\n"
+"array[0] = pool_array\n"
+"print(array) # [[123]](Array 中包含了含有 1 个元素的 PoolByteArray)\n"
+"[/codeblock]"
#: doc/classes/PoolByteArray.xml
msgid ""
@@ -56362,11 +56392,11 @@ msgstr ""
"负的索引都被认为是从数组的末端开始的。"
#: doc/classes/PoolColorArray.xml
-#, fuzzy
msgid "A pooled array of [Color]s."
msgstr "[Color] 池数组。"
#: doc/classes/PoolColorArray.xml
+#, fuzzy
msgid ""
"An array specifically designed to hold [Color]. Optimized for memory usage, "
"does not fragment the memory.\n"
@@ -56377,7 +56407,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -56390,6 +56420,25 @@ msgid ""
"inside an Array)\n"
"[/codeblock]"
msgstr ""
+"专门为存储 [Color] 设计的数组。针对内存使用进行了优化,不会产生内存碎片。\n"
+"[b]注意:[/b]这个类型是按值传递的,不会按引用传递。也就是说,如果对某个类的 "
+"[PoolColorArray] 类型的属性进行了[i]修改[/i],或者对 [Array] 或 [Dictionary] "
+"中的 [PoolColorArray] 进行了修改,那么这些修改就会丢失:\n"
+"[codeblock]\n"
+"var array = [PoolColorArray()]\n"
+"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
+"print(array) # [[]](空 Array 中包含了空的 PoolColorArray)\n"
+"[/codeblock]\n"
+"整个 [PoolColorArray] 属性必须使用 [code]=[/code] 进行[i]重新赋值[/i],才会发"
+"生变化:\n"
+"[codeblock]\n"
+"var array = [PoolColorArray()]\n"
+"var pool_array = array[0]\n"
+"pool_array.push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
+"array[0] = pool_array\n"
+"print(array) # [[(0.1, 0.2, 0.3, 0.4)]](Array 中包含了含有 1 个元素的 "
+"PoolColorArray)\n"
+"[/codeblock]"
#: doc/classes/PoolColorArray.xml
msgid ""
@@ -56436,7 +56485,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -56453,9 +56502,25 @@ msgid ""
"around. In comparison, [int] uses signed 64-bit integers which can hold much "
"larger values."
msgstr ""
-"专门用于保存整数值([int])的数组。对内存的使用进行了优化,不会使内存碎片"
-"化。\n"
-"[b]注意:[/b]这种类型是通过值传递的,而不是引用。\n"
+"专门为存储整数([int])设计的数组。针对内存使用进行了优化,不会产生内存碎"
+"片。\n"
+"[b]注意:[/b]这个类型是按值传递的,不会按引用传递。也就是说,如果对某个类的 "
+"[PoolIntArray] 类型的属性进行了[i]修改[/i],或者对 [Array] 或 [Dictionary] 中"
+"的 [PoolIntArray] 进行了修改,那么这些修改就会丢失:\n"
+"[codeblock]\n"
+"var array = [PoolIntArray()]\n"
+"array[0].push_back(1234)\n"
+"print(array) # [[]](空 Array 中包含了空的 PoolIntArray)\n"
+"[/codeblock]\n"
+"整个 [PoolIntArray] 属性必须使用 [code]=[/code] 进行[i]重新赋值[/i],才会发生"
+"变化:\n"
+"[codeblock]\n"
+"var array = [PoolIntArray()]\n"
+"var pool_array = array[0]\n"
+"pool_array.push_back(1234)\n"
+"array[0] = pool_array\n"
+"print(array) # [[1234]](Array 中包含了含有 1 个元素的 PoolIntArray)\n"
+"[/codeblock]\n"
"[b]注意:[/b]这个类型仅限于有符号的 32 位整数,这意味着它只能在 [code]"
"[-2^31, 2^31 - 1][/code] 的区间取值,即 [code][-2147483648, 2147483647][/"
"code]。超过这些界限就会被包起来。相比之下,[int] 使用有符号的 64 位整数,可以"
@@ -56484,7 +56549,6 @@ msgid "Changes the int at the given index."
msgstr "更改给定索引处的 int。"
#: doc/classes/PoolRealArray.xml
-#, fuzzy
msgid "A pooled array of real numbers ([float])."
msgstr "实数([float])池数组。"
@@ -56500,7 +56564,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -56519,8 +56583,24 @@ msgid ""
"store [float]s will use roughly 6 times more memory compared to a "
"[PoolRealArray]."
msgstr ""
-"专门设计用于保存浮点值的数组。针对内存使用进行了优化,不会造成内存碎片。\n"
-"[b]注意:[/b]这种类型是按值传递而不是按引用传递。\n"
+"专门为存储浮点数设计的数组。针对内存使用进行了优化,不会产生内存碎片。\n"
+"[b]注意:[/b]这个类型是按值传递的,不会按引用传递。也就是说,如果对某个类的 "
+"[PoolRealArray] 类型的属性进行了[i]修改[/i],或者对 [Array] 或 [Dictionary] "
+"中的 [PoolRealArray] 进行了修改,那么这些修改就会丢失:\n"
+"[codeblock]\n"
+"var array = [PoolIntArray()]\n"
+"array[0].push_back(12.34)\n"
+"print(array) # [[]](空 Array 中包含了空的 PoolRealArray)\n"
+"[/codeblock]\n"
+"整个 [PoolRealArray] 属性必须使用 [code]=[/code] 进行[i]重新赋值[/i],才会发"
+"生变化:\n"
+"[codeblock]\n"
+"var array = [PoolRealArray()]\n"
+"var pool_array = array[0]\n"
+"pool_array.push_back(12.34)\n"
+"array[0] = pool_array\n"
+"print(array) # [[12.34]](Array 中包含了含有 1 个元素的 PoolRealArray)\n"
+"[/codeblock]\n"
"[b]注意:[/b]与 64 位原始 [float] 不同,存储在 [PoolRealArray] 中的数字是 32 "
"位浮点数。这意味着与原始 [float] 相比,存储在 [PoolRealArray] 中的值具有较低"
"的精度。如果您需要在数组中存储 64 位浮点数,请使用具有 [float] 元素的通用 "
@@ -56542,11 +56622,11 @@ msgid "Changes the float at the given index."
msgstr "更改给定索引处的浮点数。"
#: doc/classes/PoolStringArray.xml
-#, fuzzy
msgid "A pooled array of [String]s."
msgstr "[String] 池数组。"
#: doc/classes/PoolStringArray.xml
+#, fuzzy
msgid ""
"An array specifically designed to hold [String]s. Optimized for memory "
"usage, does not fragment the memory.\n"
@@ -56557,7 +56637,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -56569,6 +56649,24 @@ msgid ""
"print(array) # [[hello]] (PoolStringArray with 1 element inside an Array)\n"
"[/codeblock]"
msgstr ""
+"专门为存储 [String] 设计的数组。针对内存使用进行了优化,不会产生内存碎片。\n"
+"[b]注意:[/b]这个类型是按值传递的,不会按引用传递。也就是说,如果对某个类的 "
+"[PoolStringArray] 类型的属性进行了[i]修改[/i],或者对 [Array] 或 "
+"[Dictionary] 中的 [PoolStringArray] 进行了修改,那么这些修改就会丢失:\n"
+"[codeblock]\n"
+"var array = [PoolStringArray()]\n"
+"array[0].push_back(\"hello\")\n"
+"print(array) # [[]](空 Array 中包含了空的 PoolStringArray)\n"
+"[/codeblock]\n"
+"整个 [PoolStringArray] 属性必须使用 [code]=[/code] 进行[i]重新赋值[/i],才会"
+"发生变化:\n"
+"[codeblock]\n"
+"var array = [PoolStringArray()]\n"
+"var pool_array = array[0]\n"
+"pool_array.push_back(\"hello\")\n"
+"array[0] = pool_array\n"
+"print(array) # [[hello]](Array 中包含了含有 1 个元素的 PoolStringArray)\n"
+"[/codeblock]"
#: doc/classes/PoolStringArray.xml
msgid ""
@@ -56597,11 +56695,11 @@ msgid "Changes the [String] at the given index."
msgstr "更改给定索引处的[String]。"
#: doc/classes/PoolVector2Array.xml
-#, fuzzy
msgid "A pooled array of [Vector2]s."
msgstr "[Vector2] 池数组。"
#: doc/classes/PoolVector2Array.xml
+#, fuzzy
msgid ""
"An array specifically designed to hold [Vector2]. Optimized for memory "
"usage, does not fragment the memory.\n"
@@ -56612,7 +56710,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -56625,6 +56723,25 @@ msgid ""
"Array)\n"
"[/codeblock]"
msgstr ""
+"专门为存储 [Vector2] 设计的数组。针对内存使用进行了优化,不会产生内存碎片。\n"
+"[b]注意:[/b]这个类型是按值传递的,不会按引用传递。也就是说,如果对某个类的 "
+"[PoolVector2Array] 类型的属性进行了[i]修改[/i],或者对 [Array] 或 "
+"[Dictionary] 中的 [PoolVector2Array] 进行了修改,那么这些修改就会丢失:\n"
+"[codeblock]\n"
+"var array = [PoolVector2Array()]\n"
+"array[0].push_back(Vector2(12, 34))\n"
+"print(array) # [[]](空 Array 中包含了空的 PoolVector2Array)\n"
+"[/codeblock]\n"
+"整个 [PoolVector2Array] 属性必须使用 [code]=[/code] 进行[i]重新赋值[/i],才会"
+"发生变化:\n"
+"[codeblock]\n"
+"var array = [PoolVector2Array()]\n"
+"var pool_array = array[0]\n"
+"pool_array.push_back(Vector2(12, 34))\n"
+"array[0] = pool_array\n"
+"print(array) # [[(12, 34)]](Array 中包含了含有 1 个元素的 "
+"PoolVector2Array)\n"
+"[/codeblock]"
#: doc/classes/PoolVector2Array.xml doc/classes/TileMap.xml
#: doc/classes/TileSet.xml
@@ -56655,6 +56772,7 @@ msgid "A pooled array of [Vector3]."
msgstr "[Vector3] 池数组。"
#: doc/classes/PoolVector3Array.xml
+#, fuzzy
msgid ""
"An array specifically designed to hold [Vector3]. Optimized for memory "
"usage, does not fragment the memory.\n"
@@ -56665,7 +56783,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -56678,6 +56796,25 @@ msgid ""
"Array)\n"
"[/codeblock]"
msgstr ""
+"专门为存储 [Vector3] 设计的数组。针对内存使用进行了优化,不会产生内存碎片。\n"
+"[b]注意:[/b]这个类型是按值传递的,不会按引用传递。也就是说,如果对某个类的 "
+"[PoolVector3Array] 类型的属性进行了[i]修改[/i],或者对 [Array] 或 "
+"[Dictionary] 中的 [PoolVector3Array] 进行了修改,那么这些修改就会丢失:\n"
+"[codeblock]\n"
+"var array = [PoolVector3Array()]\n"
+"array[0].push_back(Vector3(12, 34, 56))\n"
+"print(array) # [[]](空 Array 中包含了空的 PoolVector3Array)\n"
+"[/codeblock]\n"
+"整个 [PoolVector3Array] 属性必须使用 [code]=[/code] 进行[i]重新赋值[/i],才会"
+"发生变化:\n"
+"[codeblock]\n"
+"var array = [PoolVector3Array()]\n"
+"var pool_array = array[0]\n"
+"pool_array.push_back(Vector3(12, 34, 56))\n"
+"array[0] = pool_array\n"
+"print(array) # [[(12, 34, 56)]](Array 中包含了含有 1 个元素的 "
+"PoolVector3Array)\n"
+"[/codeblock]"
#: doc/classes/PoolVector3Array.xml
msgid ""
@@ -62390,10 +62527,12 @@ msgid "Abstract base class for range-based controls."
msgstr "基于范围的控件的抽象基类。"
#: doc/classes/Range.xml
+#, fuzzy
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
"Range是一个用于[Control]节点的基类,它在[i]最小值[/i]和[i]最大值[/i]之间改变"
"一个浮点[i]值[/i],用于[i]步进[/i]和[i]页面[/i],例如[ScrollBar]。"
@@ -64947,39 +65086,39 @@ msgstr "锁定指定的线性或旋转轴。"
#: doc/classes/RigidBody.xml
#, fuzzy
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
-"实体的线性阻尼。不能小于-1.0。如果这个值与-1.0不同,任何从世界或区域派生的线"
-"性阻尼将被覆盖。\n"
-"关于阻尼的更多细节,请参阅[member ProjectSettings.physics/3d/"
-"default_linear_damp]。"
+"对 RigidBody 的旋转力进行阻尼运算。如果这个值与 -1.0 不同,将会追加到任何从世"
+"界或区域派生的线性阻尼中。\n"
+"关于阻尼的更多细节,请参阅 [member ProjectSettings.physics/3d/"
+"default_angular_damp]。"
#: doc/classes/RigidBody.xml
msgid "Lock the body's rotation in the X axis."
-msgstr "锁定实体在X轴上的旋转。"
+msgstr "锁定实体在 X 轴上的旋转。"
#: doc/classes/RigidBody.xml
msgid "Lock the body's rotation in the Y axis."
-msgstr "锁定实体在Y轴上的旋转。"
+msgstr "锁定实体在 Y 轴上的旋转。"
#: doc/classes/RigidBody.xml
msgid "Lock the body's rotation in the Z axis."
-msgstr "锁定实体在Z轴上的旋转。"
+msgstr "锁定实体在 Z 轴上的旋转。"
#: doc/classes/RigidBody.xml
msgid "Lock the body's movement in the X axis."
-msgstr "锁定实体在X轴上的移动。"
+msgstr "锁定实体在 X 轴上的移动。"
#: doc/classes/RigidBody.xml
msgid "Lock the body's movement in the Y axis."
-msgstr "锁定实体在Y轴上的移动。"
+msgstr "锁定实体在 Y 轴上的移动。"
#: doc/classes/RigidBody.xml
msgid "Lock the body's movement in the Z axis."
-msgstr "锁定实体在Z轴上的移动。"
+msgstr "锁定实体在 Z 轴上的移动。"
#: doc/classes/RigidBody.xml doc/classes/RigidBody2D.xml
#: doc/classes/StaticBody.xml doc/classes/StaticBody2D.xml
@@ -65061,7 +65200,7 @@ msgid ""
"Deprecated, use [member PhysicsMaterial.friction] instead via [member "
"physics_material_override]."
msgstr ""
-"实体的摩擦力,从 0(无摩擦)到 1(最大摩擦)。\n"
+"该实体的摩擦力,从 0(无摩擦)到 1(最大摩擦)。\n"
"已废弃,请通过 [member physics_material_override] 使用 [member "
"PhysicsMaterial.friction] 代替。"
@@ -65072,12 +65211,11 @@ msgid ""
"example, a value of 1 will be normal gravity, 2 will apply double gravity, "
"and 0.5 will apply half gravity to this object."
msgstr ""
-"这与在[b]项目 > 项目设置 > Physics > 3d[/b] 中找到的全局 3D 重力设置相乘,产"
-"生 RigidBody 的重力。例如,1 的值将是正常的重力,2 将应用双倍的重力,0.5 将对"
-"这个物体应用一半的重力。"
+"这与在[b]项目 > 项目设置 > 物理 > 3D[/b] 中找到的全局 3D 重力设置相乘,产生 "
+"RigidBody 的重力。例如,1 的值将是正常的重力,2 将应用双倍的重力,0.5 将对这"
+"个物体应用一半的重力。"
#: doc/classes/RigidBody.xml
-#, fuzzy
msgid ""
"The body's linear damp. Cannot be less than -1.0. If this value is different "
"from -1.0 it will be added to any linear damp derived from the world or "
@@ -65085,9 +65223,9 @@ msgid ""
"See [member ProjectSettings.physics/3d/default_linear_damp] for more details "
"about damping."
msgstr ""
-"实体的线性阻尼。不能小于-1.0。如果这个值与-1.0不同,任何从世界或区域派生的线"
-"性阻尼将被覆盖。\n"
-"关于阻尼的更多细节,请参阅[member ProjectSettings.physics/3d/"
+"该实体的线性阻尼。不能小于 -1.0。如果这个值与 -1.0 不同,将会追加到任何从世界"
+"或区域派生的线性阻尼中。\n"
+"关于阻尼的更多细节,请参阅 [member ProjectSettings.physics/3d/"
"default_linear_damp]。"
#: doc/classes/RigidBody.xml
@@ -65385,7 +65523,6 @@ msgstr ""
"话)。"
#: doc/classes/RigidBody2D.xml
-#, fuzzy
msgid ""
"Damps the body's [member angular_velocity]. If [code]-1[/code], the body "
"will use the [b]Default Angular Damp[/b] defined in [b]Project > Project "
@@ -65394,8 +65531,9 @@ msgid ""
"See [member ProjectSettings.physics/2d/default_angular_damp] for more "
"details about damping."
msgstr ""
-"对物体的 [member angular_velocity] 进行阻尼运算。如果为 [code]-1[/code],物体"
-"将使用[b]项目 > 项目设置 > 物理 > 2D[/b] 中定义的[b]默认角度阻尼[/b]。\n"
+"对该实体的 [member angular_velocity] 进行阻尼运算。如果为 [code]-1[/code],物"
+"体将使用[b]项目 > 项目设置 > 物理 > 2D[/b] 中定义的[b]默认角度阻尼[/b]。如果"
+"大于 [code]-1[/code],会加入到项目默认值之上。\n"
"有关阻尼的更多详细信息,请参阅 [member ProjectSettings.physics/2d/"
"default_angular_damp]。"
@@ -65494,12 +65632,11 @@ msgid ""
"this function allows you to set a custom value. Set 0 inertia to return to "
"automatically computing it."
msgstr ""
-"物体的惯性力矩。这就像质量,但对于旋转来说:它决定了旋转物体需要多大的力矩。"
-"惯性力矩通常是由质量和形状自动计算出来的,但是这个函数允许你设置一个自定义"
-"值。设置0惯性会切换回自动计算。"
+"该实体的惯性力矩。类似于质量,但是针对旋转的:它决定了旋转物体需要多大的力"
+"矩。惯性力矩通常是由质量和形状自动计算出来的,但是这个函数允许你设置一个自定"
+"义值。设置 0 惯性会切换回自动计算。"
#: doc/classes/RigidBody2D.xml
-#, fuzzy
msgid ""
"Damps the body's [member linear_velocity]. If [code]-1[/code], the body will "
"use the [b]Default Linear Damp[/b] in [b]Project > Project Settings > "
@@ -65508,9 +65645,9 @@ msgid ""
"See [member ProjectSettings.physics/2d/default_linear_damp] for more details "
"about damping."
msgstr ""
-"对物体的[member linear_velocity]进行阻尼运算。如果[code]-1[/code],物体将使用"
-"[b]项目 > 项目设置 > Physics > 2d[/b] 中的 [b]Default Linear Damp[/b](默认线"
-"性阻尼)。\n"
+"对该实体的 [member linear_velocity] 进行阻尼运算。如果为 [code]-1[/code],物"
+"体将使用[b]项目 > 项目设置 > 物理 > 2D[/b] 中的[b]默认线性阻尼[/b]。如果大于 "
+"[code]-1[/code],会加入到项目默认值之上。\n"
"有关阻尼的更多详细信息,请参阅 [member ProjectSettings.physics/2d/"
"default_linear_damp]。"
@@ -65521,21 +65658,21 @@ msgid ""
"thread and runs at a different granularity. Use [method _integrate_forces] "
"as your process loop for precise control of the body state."
msgstr ""
-"物体的线速度,单位为像素每秒。可以偶尔使用,但是[b]不要每一帧都设置它[/b],因"
-"为物理可能在另一个线程中运行,并且以不同的间隔。使用 [method "
+"该实体的线速度,单位为像素每秒。可以偶尔使用,但是[b]不要每一帧都设置它[/b],"
+"因为物理可能在另一个线程中运行,并且以不同的间隔。使用 [method "
"_integrate_forces] 作为你的进程循环,以精确控制物体状态。"
#: doc/classes/RigidBody2D.xml
msgid "The body's mode. See [enum Mode] for possible values."
-msgstr "物体的模式。可能的值见[enum Mode]。"
+msgstr "该实体的模式。可能的取值见 [enum Mode]。"
#: doc/classes/RigidBody2D.xml
msgid ""
"The body's weight based on its mass and the [b]Default Gravity[/b] value in "
"[b]Project > Project Settings > Physics > 2d[/b]."
msgstr ""
-"物体的重量基于其质量和[b]项目 > 项目设置 > Physics > 2d[/b] 中的 [b]Default "
-"Gravity[/b](默认重力)值。"
+"该实体的重量,基于其质量和[b]项目 > 项目设置 > 物理 > 2D[/b] 中的[b]默认重力"
+"[/b]值。"
#: doc/classes/RigidBody2D.xml
msgid ""
@@ -66995,6 +67132,7 @@ msgid "One-shot timer."
msgstr "一次性定时器。"
#: doc/classes/SceneTreeTimer.xml
+#, fuzzy
msgid ""
"A one-shot timer managed by the scene tree, which emits [signal timeout] on "
"completion. See also [method SceneTree.create_timer].\n"
@@ -67006,7 +67144,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
"由场景树管理的一次性定时器,它在完成时发[signal timeout] 信号。请参阅 "
"[method SceneTree.create_timer]。\n"
@@ -79636,14 +79775,13 @@ msgid "Stops animation and removes all tweens."
msgstr "停止动画,并删除所有补间。"
#: doc/classes/Tween.xml
-#, fuzzy
msgid ""
"Resets a tween to its initial value (the one given, not the one before the "
"tween), given its object and property/method pair. By default, all tweens "
"are reset, unless [code]key[/code] is specified."
msgstr ""
"将补间重置到它的初始值,即给定的值,而不是补间之前的值,指定其对象和属性或方"
-"法的对。默认情况下,除非指定了[code]key[/code],否则所有的补间都被移除。"
+"法的对。默认情况下,除非指定了[code]key[/code],否则所有的补间都会被重置。"
#: doc/classes/Tween.xml
msgid ""
@@ -82286,9 +82424,10 @@ msgstr ""
"是针对非常高端的系统,否则数值为4是最好的。"
#: doc/classes/Viewport.xml
+#, fuzzy
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
"如果为 [code]true[/code],该视窗将使用 [code]world[/code] 属性中定义的 "
"[World]。"
@@ -82383,13 +82522,13 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid "If [code]true[/code], the size override affects stretch as well."
-msgstr "如果[code]true[/code],尺寸重写也会影响拉伸。"
+msgstr "如果为 [code]true[/code],尺寸重写也会影响拉伸。"
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], the viewport should render its background as "
"transparent."
-msgstr "如果 [code]true[/code],视窗应使其背景渲染为透明。"
+msgstr "如果为 [code]true[/code],该视窗应使其背景渲染为透明。"
#: doc/classes/Viewport.xml
msgid "The rendering mode of viewport."
@@ -82415,11 +82554,11 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid "The custom [World] which can be used as 3D environment source."
-msgstr "自定义的[World],可以作为3D环境源。"
+msgstr "自定义的 [World],可以作为 3D 环境源。"
#: doc/classes/Viewport.xml
msgid "The custom [World2D] which can be used as 2D environment source."
-msgstr "自定义的[World2D],可以作为2D环境源。"
+msgstr "自定义的 [World2D],可以作为 2D 环境源。"
#: doc/classes/Viewport.xml
msgid "Emitted when a Control node grabs keyboard focus."
@@ -86399,11 +86538,10 @@ msgid "Returns the value of a certain material's parameter."
msgstr "返回特定材质的参数值。"
#: doc/classes/VisualServer.xml
-#, fuzzy
msgid ""
"Returns the default value for the param if available. Returns [code]null[/"
"code] otherwise."
-msgstr "如果可用,返回参数的默认值。否则返回一个空的 [Variant]。"
+msgstr "如果可用,返回参数的默认值。否则返回 [code]null[/code]。"
#: doc/classes/VisualServer.xml
msgid ""
@@ -87368,6 +87506,7 @@ msgid "Sets a viewport's canvas."
msgstr "设置视窗的画布。"
#: doc/classes/VisualServer.xml
+#, fuzzy
msgid ""
"Copies viewport to a region of the screen specified by [code]rect[/code]. If "
"[member Viewport.render_direct_to_screen] is [code]true[/code], then "
@@ -87385,7 +87524,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
"将视窗复制到屏幕上由[code]rect[/code]指定的区域。如果[member Viewport."
@@ -92408,7 +92547,6 @@ msgid "An X509 certificate (e.g. for SSL)."
msgstr "X509 证书(例如用于 SSL)。"
#: doc/classes/X509Certificate.xml
-#, fuzzy
msgid ""
"The X509Certificate class represents an X509 certificate. Certificates can "
"be loaded and saved like any other [Resource].\n"
@@ -92421,8 +92559,7 @@ msgstr ""
"加载和保存。\n"
"它们可以作为 [method StreamPeerSSL.accept_stream] 中的服务器证书,与适当的 "
"[CryptoKey] 一起使用,并指定通过 [method StreamPeerSSL.connect_to_stream] 连"
-"接到 SSL 服务器时应该接受的唯一证书。\n"
-"[b]注意:[/b]在 HTML5 导出中不可用。"
+"接到 SSL 服务器时应该接受的唯一证书。"
#: doc/classes/X509Certificate.xml
msgid "Loads a certificate from [code]path[/code] (\"*.crt\" file)."
diff --git a/doc/translations/zh_TW.po b/doc/translations/zh_TW.po
index 82786a4963..50436013ff 100644
--- a/doc/translations/zh_TW.po
+++ b/doc/translations/zh_TW.po
@@ -12479,7 +12479,7 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Draws a colored, unfilled circle. See also [method draw_arc], [method "
+"Draws a colored, filled circle. See also [method draw_arc], [method "
"draw_polyline] and [method draw_polygon].\n"
"[b]Note:[/b] Built-in antialiasing is not provided for [method draw_circle]. "
"As a workaround, install the [url=https://github.com/godot-extended-"
@@ -14205,7 +14205,7 @@ msgid ""
"Constructs a color from a 32-bit integer in RGBA format (each byte "
"represents a color channel).\n"
"[codeblock]\n"
-"var c = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
+"var color = Color(274) # Similar to Color(0.0, 0.0, 0.004, 0.07)\n"
"[/codeblock]"
msgstr ""
@@ -14243,9 +14243,9 @@ msgstr ""
msgid ""
"Returns the most contrasting color.\n"
"[codeblock]\n"
-"var c = Color(0.3, 0.4, 0.9)\n"
-"var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, "
-"255)\n"
+"var color = Color(0.3, 0.4, 0.9)\n"
+"var contrasted_color = color.contrasted() # Equivalent to RGBA(204, 229, "
+"102, 255)\n"
"[/codeblock]"
msgstr ""
@@ -14264,8 +14264,8 @@ msgid ""
"Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and "
"[code]v[/code] are values between 0 and 1.\n"
"[codeblock]\n"
-"var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, 50, "
-"79, 0.8) or Color8(100, 151, 201, 0.8)\n"
+"var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # Equivalent to HSV(210, "
+"50, 79, 0.8) or Color8(100, 151, 201, 0.8)\n"
"[/codeblock]"
msgstr ""
@@ -14281,8 +14281,8 @@ msgid ""
"Returns the color's grayscale representation.\n"
"The gray value is calculated as [code](r + g + b) / 3[/code].\n"
"[codeblock]\n"
-"var c = Color(0.2, 0.45, 0.82)\n"
-"var gray = c.gray() # A value of 0.466667\n"
+"var color = Color(0.2, 0.45, 0.82)\n"
+"var gray = color.gray() # A value of 0.466667\n"
"[/codeblock]"
msgstr ""
@@ -14373,9 +14373,9 @@ msgid ""
"Setting [code]with_alpha[/code] to [code]false[/code] excludes alpha from "
"the hexadecimal string.\n"
"[codeblock]\n"
-"var c = Color(1, 1, 1, 0.5)\n"
-"var s1 = c.to_html() # Returns \"7fffffff\"\n"
-"var s2 = c.to_html(false) # Returns \"ffffff\"\n"
+"var color = Color(1, 1, 1, 0.5)\n"
+"var s1 = color.to_html() # Returns \"7fffffff\"\n"
+"var s2 = color.to_html(false) # Returns \"ffffff\"\n"
"[/codeblock]"
msgstr ""
@@ -21443,7 +21443,7 @@ msgstr ""
#: doc/classes/EditorPlugin.xml
msgid ""
-"Gets the Editor's dialogue used for making scripts.\n"
+"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
"[b]Warning:[/b] Removing and freeing this node will render a part of the "
"editor useless and may cause a crash."
@@ -23757,11 +23757,11 @@ msgid "Low quality for the screen-space ambient occlusion effect (fastest)."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect."
+msgid "Medium quality for the screen-space ambient occlusion effect."
msgstr ""
#: doc/classes/Environment.xml
-msgid "Low quality for the screen-space ambient occlusion effect (slowest)."
+msgid "High quality for the screen-space ambient occlusion effect (slowest)."
msgstr ""
#: doc/classes/Expression.xml
@@ -35668,11 +35668,15 @@ msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation polygons. "
-"Together, they define the navigable areas in the 2D world. For two regions "
-"to be connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"Together, they define the navigable areas in the 2D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -36627,11 +36631,15 @@ msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
"Maps are made up of regions, which are made of navigation meshes. Together, "
-"they define the navigable areas in the 3D world. For two regions to be "
-"connected to each other, they must share a similar edge. An edge is "
-"considered connected to another if both of its two vertices are at a "
-"distance less than [member Navigation.edge_connection_margin] to the "
-"respective other edge's vertex.\n"
+"they define the navigable areas in the 3D world.\n"
+"[b]Note:[/b] Most NavigationServer changes take effect after the next "
+"physics frame and not immediately. This includes all changes made to maps, "
+"regions or agents by navigation related Nodes in the SceneTree or made "
+"through scripts.\n"
+"For two regions to be connected to each other, they must share a similar "
+"edge. An edge is considered connected to another if both of its two vertices "
+"are at a distance less than [member Navigation.edge_connection_margin] to "
+"the respective other edge's vertex.\n"
"To use the collision avoidance system, you may use agents. You can set an "
"agent's target velocity, then the servers will emit a callback with a "
"modified velocity.\n"
@@ -38580,7 +38588,7 @@ msgstr ""
#: doc/classes/NodePath.xml
msgid ""
"Gets the node name indicated by [code]idx[/code] (0 to [method "
-"get_name_count]).\n"
+"get_name_count] - 1).\n"
"[codeblock]\n"
"var node_path = NodePath(\"Path2D/PathFollow2D/Sprite\")\n"
"print(node_path.get_name(0)) # Path2D\n"
@@ -40741,9 +40749,9 @@ msgid ""
"web browser on the official Godot website.\n"
"- [code]OS.shell_open(\"mailto:example@example.com\")[/code] opens the "
"default email client with the \"To\" field set to [code]example@example.com[/"
-"code]. See [url=https://blog.escapecreative.com/customizing-mailto-"
-"links/]Customizing [code]mailto:[/code] Links[/url] for a list of fields "
-"that can be added.\n"
+"code]. See [url=https://datatracker.ietf.org/doc/html/rfc2368]RFC 2368 - The "
+"[code]mailto[/code] URL scheme[/url] for a list of fields that can be "
+"added.\n"
"Use [method ProjectSettings.globalize_path] to convert a [code]res://[/code] "
"or [code]user://[/code] path into a system path for use with this method.\n"
"[b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS "
@@ -44871,7 +44879,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolByteArray()]\n"
"array[0].push_back(123)\n"
-"print(array) # [[]] (empty PoolByteArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolByteArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolByteArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45025,7 +45033,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolColorArray()]\n"
"array[0].push_back(Color(0.1, 0.2, 0.3, 0.4))\n"
-"print(array) # [[]] (empty PoolColorArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolColorArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolColorArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45080,7 +45088,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolIntArray()]\n"
"array[0].push_back(1234)\n"
-"print(array) # [[]] (empty PoolIntArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolIntArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolIntArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45133,7 +45141,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolRealArray()]\n"
"array[0].push_back(12.34)\n"
-"print(array) # [[]] (empty PoolRealArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolRealArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolRealArray] property must be [i]reassigned[/i] with "
"[code]=[/code] for it to be changed:\n"
@@ -45182,7 +45190,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolStringArray()]\n"
"array[0].push_back(\"hello\")\n"
-"print(array) # [[]] (empty PoolStringArray within an empty Array)\n"
+"print(array) # [[]] (empty PoolStringArray within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolStringArray] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45234,7 +45242,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector2Array()]\n"
"array[0].push_back(Vector2(12, 34))\n"
-"print(array) # [[]] (empty PoolVector2Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector2Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector2Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -45286,7 +45294,7 @@ msgid ""
"[codeblock]\n"
"var array = [PoolVector3Array()]\n"
"array[0].push_back(Vector3(12, 34, 56))\n"
-"print(array) # [[]] (empty PoolVector3Array within an empty Array)\n"
+"print(array) # [[]] (empty PoolVector3Array within an Array)\n"
"[/codeblock]\n"
"Instead, the entire [PoolVector3Array] property must be [i]reassigned[/i] "
"with [code]=[/code] for it to be changed:\n"
@@ -49724,8 +49732,9 @@ msgstr ""
#: doc/classes/Range.xml
msgid ""
"Range is a base class for [Control] nodes that change a floating-point "
-"[i]value[/i] between a [i]minimum[/i] and a [i]maximum[/i], using [i]step[/"
-"i] and [i]page[/i], for example a [ScrollBar]."
+"[member value] between a [member min_value] and [member max_value], using a "
+"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
+"[Slider] for examples of higher level nodes using Range."
msgstr ""
#: doc/classes/Range.xml
@@ -51729,8 +51738,8 @@ msgstr ""
#: doc/classes/RigidBody.xml
msgid ""
-"Damps RigidBody's rotational forces. If this value is different from -1.0 it "
-"will be added to any linear damp derived from the world or areas.\n"
+"Damps the body's rotational forces. If this value is different from -1.0 it "
+"will be added to any angular damp derived from the world or areas.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
@@ -53257,7 +53266,8 @@ msgid ""
" yield(get_tree().create_timer(1.0), \"timeout\")\n"
" print(\"Timer ended.\")\n"
"[/codeblock]\n"
-"The timer will be automatically freed after its time elapses."
+"The timer will be automatically freed after its time elapses, so be aware "
+"that any reference you might have kept to it will become invalid."
msgstr ""
#: doc/classes/SceneTreeTimer.xml
@@ -65580,8 +65590,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will use [World] defined in [code]world[/"
-"code] property."
+"If [code]true[/code], the viewport will use a unique copy of the [World] "
+"defined in [member world]."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69958,7 +69968,7 @@ msgid ""
"[/codeblock]\n"
"Using this can result in significant optimization, especially on lower-end "
"devices. However, it comes at the cost of having to manage your viewports "
-"manually. For a further optimization see, [method "
+"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""