summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/classes/@GlobalScope.xml232
-rw-r--r--doc/classes/AcceptDialog.xml4
-rw-r--r--doc/classes/AnimatableBody3D.xml1
-rw-r--r--doc/classes/AnimationNode.xml7
-rw-r--r--doc/classes/AnimationNodeOneShot.xml6
-rw-r--r--doc/classes/AnimationNodeStateMachinePlayback.xml17
-rw-r--r--doc/classes/AnimationNodeStateMachineTransition.xml3
-rw-r--r--doc/classes/AnimationNodeTransition.xml8
-rw-r--r--doc/classes/AnimationTree.xml2
-rw-r--r--doc/classes/Area3D.xml1
-rw-r--r--doc/classes/Array.xml2
-rw-r--r--doc/classes/ArrayMesh.xml14
-rw-r--r--doc/classes/AudioStreamPlaybackPolyphonic.xml61
-rw-r--r--doc/classes/AudioStreamPolyphonic.xml17
-rw-r--r--doc/classes/CanvasItem.xml15
-rw-r--r--doc/classes/CharacterBody3D.xml5
-rw-r--r--doc/classes/CollisionObject3D.xml1
-rw-r--r--doc/classes/CollisionPolygon3D.xml1
-rw-r--r--doc/classes/CollisionShape3D.xml1
-rw-r--r--doc/classes/Color.xml2
-rw-r--r--doc/classes/ConfirmationDialog.xml4
-rw-r--r--doc/classes/Control.xml4
-rw-r--r--doc/classes/Cubemap.xml8
-rw-r--r--doc/classes/CubemapArray.xml8
-rw-r--r--doc/classes/Curve3D.xml2
-rw-r--r--doc/classes/DisplayServer.xml4
-rw-r--r--doc/classes/EditorPlugin.xml1
-rw-r--r--doc/classes/EditorSettings.xml14
-rw-r--r--doc/classes/ImporterMesh.xml10
-rw-r--r--doc/classes/Input.xml10
-rw-r--r--doc/classes/InputEventKey.xml52
-rw-r--r--doc/classes/InputEventWithModifiers.xml6
-rw-r--r--doc/classes/JSON.xml14
-rw-r--r--doc/classes/Light3D.xml2
-rw-r--r--doc/classes/LightmapGI.xml18
-rw-r--r--doc/classes/Marshalls.xml2
-rw-r--r--doc/classes/Material.xml6
-rw-r--r--doc/classes/Mesh.xml13
-rw-r--r--doc/classes/Node.xml3
-rw-r--r--doc/classes/OS.xml2
-rw-r--r--doc/classes/Object.xml2
-rw-r--r--doc/classes/PhysicalBone3D.xml1
-rw-r--r--doc/classes/PhysicsBody3D.xml3
-rw-r--r--doc/classes/ProjectSettings.xml19
-rw-r--r--doc/classes/Projection.xml2
-rw-r--r--doc/classes/RenderingServer.xml4
-rw-r--r--doc/classes/ResourceFormatLoader.xml7
-rw-r--r--doc/classes/RigidBody3D.xml1
-rw-r--r--doc/classes/Shader.xml10
-rw-r--r--doc/classes/StaticBody3D.xml5
-rw-r--r--doc/classes/StyleBox.xml37
-rw-r--r--doc/classes/StyleBoxTexture.xml58
-rw-r--r--doc/classes/TextEdit.xml2
-rw-r--r--doc/classes/TextServer.xml11
-rw-r--r--doc/classes/TextServerExtension.xml2
-rw-r--r--doc/classes/Texture2D.xml6
-rw-r--r--doc/classes/Texture2DArray.xml8
-rw-r--r--doc/classes/Texture3D.xml6
-rw-r--r--doc/classes/TileMap.xml14
-rw-r--r--doc/classes/TileSet.xml2
-rw-r--r--doc/classes/VehicleBody3D.xml1
-rw-r--r--doc/classes/VisualInstance3D.xml2
-rw-r--r--doc/classes/VisualShaderNode.xml7
-rw-r--r--doc/classes/Window.xml10
-rw-r--r--doc/classes/XRController3D.xml31
-rw-r--r--doc/classes/XRPositionalTracker.xml12
-rw-r--r--doc/translations/ar.po6
-rw-r--r--doc/translations/ca.po6
-rw-r--r--doc/translations/classes.pot10
-rw-r--r--doc/translations/cs.po6
-rw-r--r--doc/translations/de.po6
-rw-r--r--doc/translations/el.po6
-rw-r--r--doc/translations/es.po17
-rw-r--r--doc/translations/et.po6
-rw-r--r--doc/translations/fa.po6
-rw-r--r--doc/translations/fi.po6
-rw-r--r--doc/translations/fil.po6
-rw-r--r--doc/translations/fr.po16
-rw-r--r--doc/translations/gl.po6
-rw-r--r--doc/translations/hi.po6
-rw-r--r--doc/translations/hu.po6
-rw-r--r--doc/translations/id.po6
-rw-r--r--doc/translations/is.po6
-rw-r--r--doc/translations/it.po6
-rw-r--r--doc/translations/ja.po6
-rw-r--r--doc/translations/ko.po15
-rw-r--r--doc/translations/lt.po6
-rw-r--r--doc/translations/lv.po6
-rw-r--r--doc/translations/mr.po6
-rw-r--r--doc/translations/nb.po6
-rw-r--r--doc/translations/ne.po6
-rw-r--r--doc/translations/nl.po6
-rw-r--r--doc/translations/pl.po6
-rw-r--r--doc/translations/pt.po91
-rw-r--r--doc/translations/pt_BR.po80
-rw-r--r--doc/translations/ro.po6
-rw-r--r--doc/translations/ru.po267
-rw-r--r--doc/translations/sk.po6
-rw-r--r--doc/translations/sr_Cyrl.po6
-rw-r--r--doc/translations/sv.po6
-rw-r--r--doc/translations/th.po6
-rw-r--r--doc/translations/tl.po6
-rw-r--r--doc/translations/tr.po6
-rw-r--r--doc/translations/uk.po111
-rw-r--r--doc/translations/vi.po6
-rw-r--r--doc/translations/zh_CN.po611
-rw-r--r--doc/translations/zh_TW.po59
107 files changed, 1396 insertions, 913 deletions
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml
index 7e7cb07cef..2be15d5100 100644
--- a/doc/classes/@GlobalScope.xml
+++ b/doc/classes/@GlobalScope.xml
@@ -1767,30 +1767,15 @@
<constant name="KEY_KP_9" value="4194447" enum="Key">
Number 9 on the numeric keypad.
</constant>
- <constant name="KEY_SUPER_L" value="4194368" enum="Key">
- Left Super key (Windows key).
- </constant>
- <constant name="KEY_SUPER_R" value="4194369" enum="Key">
- Right Super key (Windows key).
- </constant>
<constant name="KEY_MENU" value="4194370" enum="Key">
Context menu key.
</constant>
- <constant name="KEY_HYPER_L" value="4194371" enum="Key">
- Left Hyper key.
- </constant>
- <constant name="KEY_HYPER_R" value="4194372" enum="Key">
- Right Hyper key.
+ <constant name="KEY_HYPER" value="4194371" enum="Key">
+ Hyper key. (On Linux/X11 only).
</constant>
<constant name="KEY_HELP" value="4194373" enum="Key">
Help key.
</constant>
- <constant name="KEY_DIRECTION_L" value="4194374" enum="Key">
- Left Direction key.
- </constant>
- <constant name="KEY_DIRECTION_R" value="4194375" enum="Key">
- Right Direction key.
- </constant>
<constant name="KEY_BACK" value="4194376" enum="Key">
Media back key. Not to be confused with the Back button on an Android device.
</constant>
@@ -1812,21 +1797,6 @@
<constant name="KEY_VOLUMEUP" value="4194382" enum="Key">
Volume up key.
</constant>
- <constant name="KEY_BASSBOOST" value="4194383" enum="Key">
- Bass Boost key.
- </constant>
- <constant name="KEY_BASSUP" value="4194384" enum="Key">
- Bass up key.
- </constant>
- <constant name="KEY_BASSDOWN" value="4194385" enum="Key">
- Bass down key.
- </constant>
- <constant name="KEY_TREBLEUP" value="4194386" enum="Key">
- Treble up key.
- </constant>
- <constant name="KEY_TREBLEDOWN" value="4194387" enum="Key">
- Treble down key.
- </constant>
<constant name="KEY_MEDIAPLAY" value="4194388" enum="Key">
Media play key.
</constant>
@@ -1911,7 +1881,7 @@
<constant name="KEY_LAUNCHF" value="4194415" enum="Key">
Launch Shortcut F key.
</constant>
- <constant name="KEY_UNKNOWN" value="16777215" enum="Key">
+ <constant name="KEY_UNKNOWN" value="8388607" enum="Key">
Unknown key.
</constant>
<constant name="KEY_SPACE" value="32" enum="Key">
@@ -2121,203 +2091,23 @@
<constant name="KEY_ASCIITILDE" value="126" enum="Key">
~ key.
</constant>
- <constant name="KEY_NOBREAKSPACE" value="160" enum="Key">
- Non-breakable space key.
- </constant>
- <constant name="KEY_EXCLAMDOWN" value="161" enum="Key">
- ¡ key.
- </constant>
- <constant name="KEY_CENT" value="162" enum="Key">
- ¢ key.
- </constant>
- <constant name="KEY_STERLING" value="163" enum="Key">
- £ key.
- </constant>
- <constant name="KEY_CURRENCY" value="164" enum="Key">
- ¤ key.
- </constant>
<constant name="KEY_YEN" value="165" enum="Key">
¥ key.
</constant>
- <constant name="KEY_BROKENBAR" value="166" enum="Key">
- ¦ key.
- </constant>
<constant name="KEY_SECTION" value="167" enum="Key">
§ key.
</constant>
- <constant name="KEY_DIAERESIS" value="168" enum="Key">
- ¨ key.
- </constant>
- <constant name="KEY_COPYRIGHT" value="169" enum="Key">
- © key.
- </constant>
- <constant name="KEY_ORDFEMININE" value="170" enum="Key">
- ª key.
- </constant>
- <constant name="KEY_GUILLEMOTLEFT" value="171" enum="Key">
- « key.
- </constant>
- <constant name="KEY_NOTSIGN" value="172" enum="Key">
- ¬ key.
- </constant>
- <constant name="KEY_HYPHEN" value="173" enum="Key">
- Soft hyphen key.
- </constant>
- <constant name="KEY_REGISTERED" value="174" enum="Key">
- ® key.
- </constant>
- <constant name="KEY_MACRON" value="175" enum="Key">
- ¯ key.
- </constant>
- <constant name="KEY_DEGREE" value="176" enum="Key">
- ° key.
- </constant>
- <constant name="KEY_PLUSMINUS" value="177" enum="Key">
- ± key.
- </constant>
- <constant name="KEY_TWOSUPERIOR" value="178" enum="Key">
- ² key.
- </constant>
- <constant name="KEY_THREESUPERIOR" value="179" enum="Key">
- ³ key.
- </constant>
- <constant name="KEY_ACUTE" value="180" enum="Key">
- ´ key.
- </constant>
- <constant name="KEY_MU" value="181" enum="Key">
- µ key.
- </constant>
- <constant name="KEY_PARAGRAPH" value="182" enum="Key">
- ¶ key.
- </constant>
- <constant name="KEY_PERIODCENTERED" value="183" enum="Key">
- · key.
- </constant>
- <constant name="KEY_CEDILLA" value="184" enum="Key">
- ¸ key.
- </constant>
- <constant name="KEY_ONESUPERIOR" value="185" enum="Key">
- ¹ key.
- </constant>
- <constant name="KEY_MASCULINE" value="186" enum="Key">
- º key.
- </constant>
- <constant name="KEY_GUILLEMOTRIGHT" value="187" enum="Key">
- » key.
- </constant>
- <constant name="KEY_ONEQUARTER" value="188" enum="Key">
- ¼ key.
- </constant>
- <constant name="KEY_ONEHALF" value="189" enum="Key">
- ½ key.
- </constant>
- <constant name="KEY_THREEQUARTERS" value="190" enum="Key">
- ¾ key.
- </constant>
- <constant name="KEY_QUESTIONDOWN" value="191" enum="Key">
- ¿ key.
- </constant>
- <constant name="KEY_AGRAVE" value="192" enum="Key">
- À key.
- </constant>
- <constant name="KEY_AACUTE" value="193" enum="Key">
- Á key.
- </constant>
- <constant name="KEY_ACIRCUMFLEX" value="194" enum="Key">
- Â key.
- </constant>
- <constant name="KEY_ATILDE" value="195" enum="Key">
- Ã key.
- </constant>
- <constant name="KEY_ADIAERESIS" value="196" enum="Key">
- Ä key.
- </constant>
- <constant name="KEY_ARING" value="197" enum="Key">
- Å key.
- </constant>
- <constant name="KEY_AE" value="198" enum="Key">
- Æ key.
- </constant>
- <constant name="KEY_CCEDILLA" value="199" enum="Key">
- Ç key.
- </constant>
- <constant name="KEY_EGRAVE" value="200" enum="Key">
- È key.
- </constant>
- <constant name="KEY_EACUTE" value="201" enum="Key">
- É key.
- </constant>
- <constant name="KEY_ECIRCUMFLEX" value="202" enum="Key">
- Ê key.
- </constant>
- <constant name="KEY_EDIAERESIS" value="203" enum="Key">
- Ë key.
- </constant>
- <constant name="KEY_IGRAVE" value="204" enum="Key">
- Ì key.
- </constant>
- <constant name="KEY_IACUTE" value="205" enum="Key">
- Í key.
- </constant>
- <constant name="KEY_ICIRCUMFLEX" value="206" enum="Key">
- Î key.
- </constant>
- <constant name="KEY_IDIAERESIS" value="207" enum="Key">
- Ï key.
- </constant>
- <constant name="KEY_ETH" value="208" enum="Key">
- Ð key.
- </constant>
- <constant name="KEY_NTILDE" value="209" enum="Key">
- Ñ key.
- </constant>
- <constant name="KEY_OGRAVE" value="210" enum="Key">
- Ò key.
- </constant>
- <constant name="KEY_OACUTE" value="211" enum="Key">
- Ó key.
- </constant>
- <constant name="KEY_OCIRCUMFLEX" value="212" enum="Key">
- Ô key.
- </constant>
- <constant name="KEY_OTILDE" value="213" enum="Key">
- Õ key.
- </constant>
- <constant name="KEY_ODIAERESIS" value="214" enum="Key">
- Ö key.
- </constant>
- <constant name="KEY_MULTIPLY" value="215" enum="Key">
- × key.
- </constant>
- <constant name="KEY_OOBLIQUE" value="216" enum="Key">
- Ø key.
- </constant>
- <constant name="KEY_UGRAVE" value="217" enum="Key">
- Ù key.
- </constant>
- <constant name="KEY_UACUTE" value="218" enum="Key">
- Ú key.
- </constant>
- <constant name="KEY_UCIRCUMFLEX" value="219" enum="Key">
- Û key.
- </constant>
- <constant name="KEY_UDIAERESIS" value="220" enum="Key">
- Ü key.
- </constant>
- <constant name="KEY_YACUTE" value="221" enum="Key">
- Ý key.
- </constant>
- <constant name="KEY_THORN" value="222" enum="Key">
- Þ key.
+ <constant name="KEY_GLOBE" value="4194416" enum="Key">
+ "Globe" key on Mac / iPad keyboard.
</constant>
- <constant name="KEY_SSHARP" value="223" enum="Key">
- ß key.
+ <constant name="KEY_KEYBOARD" value="4194417" enum="Key">
+ "On-screen keyboard" key iPad keyboard.
</constant>
- <constant name="KEY_DIVISION" value="247" enum="Key">
- ÷ key.
+ <constant name="KEY_JIS_EISU" value="4194418" enum="Key">
+ 英数 key on Mac keyboard.
</constant>
- <constant name="KEY_YDIAERESIS" value="255" enum="Key">
- ÿ key.
+ <constant name="KEY_JIS_KANA" value="4194419" enum="Key">
+ かな key on Mac keyboard.
</constant>
<constant name="KEY_CODE_MASK" value="8388607" enum="KeyModifierMask" is_bitfield="true">
Key Code mask.
diff --git a/doc/classes/AcceptDialog.xml b/doc/classes/AcceptDialog.xml
index 4da9e41ca8..c0e5d6ad07 100644
--- a/doc/classes/AcceptDialog.xml
+++ b/doc/classes/AcceptDialog.xml
@@ -53,7 +53,7 @@
<return type="void" />
<param index="0" name="button" type="Control" />
<description>
- Removes the [param button] from the dialog. Does NOT free the [param button]. The [param button] must be a [Button] added with [method add_button] or [method add_cancel_button] method. After removal, pressing the [param button] will no longer emit this dialog's [signal custom_action] or [signal cancelled] signals.
+ Removes the [param button] from the dialog. Does NOT free the [param button]. The [param button] must be a [Button] added with [method add_button] or [method add_cancel_button] method. After removal, pressing the [param button] will no longer emit this dialog's [signal custom_action] or [signal canceled] signals.
</description>
</method>
</methods>
@@ -81,7 +81,7 @@
<member name="wrap_controls" type="bool" setter="set_wrap_controls" getter="is_wrapping_controls" overrides="Window" default="true" />
</members>
<signals>
- <signal name="cancelled">
+ <signal name="canceled">
<description>
Emitted when the dialog is closed or the button created with [method add_cancel_button] is pressed.
</description>
diff --git a/doc/classes/AnimatableBody3D.xml b/doc/classes/AnimatableBody3D.xml
index 2a08c4c8f1..0733780bf7 100644
--- a/doc/classes/AnimatableBody3D.xml
+++ b/doc/classes/AnimatableBody3D.xml
@@ -7,6 +7,7 @@
Animatable body for 3D physics.
An animatable body can't be moved by external forces or contacts, but can be moved by script or animation to affect other bodies in its path. It is ideal for implementing moving objects in the environment, such as moving platforms or doors.
When the body is moved manually, either from code or from an [AnimationPlayer] (with [member AnimationPlayer.playback_process_mode] set to [code]physics[/code]), the physics will automatically compute an estimate of their linear and angular velocity. This makes them very useful for moving platforms or other AnimationPlayer-controlled objects (like a door, a bridge that opens, etc).
+ [b]Warning:[/b] With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
</description>
<tutorials>
<link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link>
diff --git a/doc/classes/AnimationNode.xml b/doc/classes/AnimationNode.xml
index a33ec2f6dc..6e3345b675 100644
--- a/doc/classes/AnimationNode.xml
+++ b/doc/classes/AnimationNode.xml
@@ -49,6 +49,13 @@
When inheriting from [AnimationRootNode], implement this virtual method to return whether the blend tree editor should display filter editing on this node.
</description>
</method>
+ <method name="_is_parameter_read_only" qualifiers="virtual const">
+ <return type="bool" />
+ <param index="0" name="parameter" type="StringName" />
+ <description>
+ When inheriting from [AnimationRootNode], implement this virtual method to return whether the [param parameter] is read-only. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees.
+ </description>
+ </method>
<method name="_process" qualifiers="virtual const">
<return type="float" />
<param index="0" name="time" type="float" />
diff --git a/doc/classes/AnimationNodeOneShot.xml b/doc/classes/AnimationNodeOneShot.xml
index 14abc34992..9e8193868c 100644
--- a/doc/classes/AnimationNodeOneShot.xml
+++ b/doc/classes/AnimationNodeOneShot.xml
@@ -28,6 +28,12 @@
</member>
</members>
<constants>
+ <constant name="ONE_SHOT_REQUEST_NONE" value="0" enum="OneShotRequest">
+ </constant>
+ <constant name="ONE_SHOT_REQUEST_FIRE" value="1" enum="OneShotRequest">
+ </constant>
+ <constant name="ONE_SHOT_REQUEST_ABORT" value="2" enum="OneShotRequest">
+ </constant>
<constant name="MIX_MODE_BLEND" value="0" enum="MixMode">
</constant>
<constant name="MIX_MODE_ADD" value="1" enum="MixMode">
diff --git a/doc/classes/AnimationNodeStateMachinePlayback.xml b/doc/classes/AnimationNodeStateMachinePlayback.xml
index 8f53ef0dcf..17a946bb3e 100644
--- a/doc/classes/AnimationNodeStateMachinePlayback.xml
+++ b/doc/classes/AnimationNodeStateMachinePlayback.xml
@@ -38,6 +38,12 @@
Returns the playback position within the current animation state.
</description>
</method>
+ <method name="get_fading_from_node" qualifiers="const">
+ <return type="StringName" />
+ <description>
+ Returns the starting state of currently fading animation.
+ </description>
+ </method>
<method name="get_travel_path" qualifiers="const">
<return type="PackedStringArray" />
<description>
@@ -50,11 +56,19 @@
Returns [code]true[/code] if an animation is playing.
</description>
</method>
+ <method name="next">
+ <return type="void" />
+ <description>
+ If there is a next path by travel or auto advance, immediately transitions from the current state to the next state.
+ </description>
+ </method>
<method name="start">
<return type="void" />
<param index="0" name="node" type="StringName" />
+ <param index="1" name="reset" type="bool" default="true" />
<description>
Starts playing the given animation.
+ If [param reset] is [code]true[/code], the animation is played from the beginning.
</description>
</method>
<method name="stop">
@@ -66,8 +80,11 @@
<method name="travel">
<return type="void" />
<param index="0" name="to_node" type="StringName" />
+ <param index="1" name="reset_on_teleport" type="bool" default="true" />
<description>
Transitions from the current state to another one, following the shortest path.
+ If the path does not connect from the current state, the animation will play after the state teleports.
+ If [param reset_on_teleport] is [code]true[/code], the animation is played from the beginning when the travel cause a teleportation.
</description>
</method>
</methods>
diff --git a/doc/classes/AnimationNodeStateMachineTransition.xml b/doc/classes/AnimationNodeStateMachineTransition.xml
index 814b2d0052..eee25fad7c 100644
--- a/doc/classes/AnimationNodeStateMachineTransition.xml
+++ b/doc/classes/AnimationNodeStateMachineTransition.xml
@@ -28,6 +28,9 @@
<member name="priority" type="int" setter="set_priority" getter="get_priority" default="1">
Lower priority transitions are preferred when travelling through the tree via [method AnimationNodeStateMachinePlayback.travel] or [member advance_mode] is set to [constant ADVANCE_MODE_AUTO].
</member>
+ <member name="reset" type="bool" setter="set_reset" getter="is_reset" default="true">
+ If [code]true[/code], the destination animation is played back from the beginning when switched.
+ </member>
<member name="switch_mode" type="int" setter="set_switch_mode" getter="get_switch_mode" enum="AnimationNodeStateMachineTransition.SwitchMode" default="0">
The transition type.
</member>
diff --git a/doc/classes/AnimationNodeTransition.xml b/doc/classes/AnimationNodeTransition.xml
index f6e2fc5eb2..bca94a568a 100644
--- a/doc/classes/AnimationNodeTransition.xml
+++ b/doc/classes/AnimationNodeTransition.xml
@@ -12,6 +12,12 @@
<link title="Third Person Shooter Demo">https://godotengine.org/asset-library/asset/678</link>
</tutorials>
<methods>
+ <method name="find_input_caption" qualifiers="const">
+ <return type="int" />
+ <param index="0" name="caption" type="String" />
+ <description>
+ </description>
+ </method>
<method name="get_input_caption" qualifiers="const">
<return type="String" />
<param index="0" name="input" type="int" />
@@ -43,7 +49,7 @@
<member name="enabled_inputs" type="int" setter="set_enabled_inputs" getter="get_enabled_inputs" default="0">
The number of enabled input ports for this node.
</member>
- <member name="from_start" type="bool" setter="set_from_start" getter="is_from_start" default="true">
+ <member name="reset" type="bool" setter="set_reset" getter="is_reset" default="true">
If [code]true[/code], the destination animation is played back from the beginning when switched.
</member>
<member name="xfade_curve" type="Curve" setter="set_xfade_curve" getter="get_xfade_curve">
diff --git a/doc/classes/AnimationTree.xml b/doc/classes/AnimationTree.xml
index a17a727d7e..49bc4ee6af 100644
--- a/doc/classes/AnimationTree.xml
+++ b/doc/classes/AnimationTree.xml
@@ -104,7 +104,7 @@
</member>
<member name="root_motion_track" type="NodePath" setter="set_root_motion_track" getter="get_root_motion_track" default="NodePath(&quot;&quot;)">
The path to the Animation track used for root motion. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. To specify a track that controls properties or bones, append its name after the path, separated by [code]":"[/code]. For example, [code]"character/skeleton:ankle"[/code] or [code]"character/mesh:transform/local"[/code].
- If the track has type [constant Animation.TYPE_POSITION_3D], [constant Animation.TYPE_ROTATION_3D] or [constant Animation.TYPE_SCALE_3D] the transformation will be cancelled visually, and the animation will appear to stay in place. See also [method get_root_motion_position], [method get_root_motion_rotation], [method get_root_motion_scale] and [RootMotionView].
+ If the track has type [constant Animation.TYPE_POSITION_3D], [constant Animation.TYPE_ROTATION_3D] or [constant Animation.TYPE_SCALE_3D] the transformation will be canceled visually, and the animation will appear to stay in place. See also [method get_root_motion_position], [method get_root_motion_rotation], [method get_root_motion_scale] and [RootMotionView].
</member>
<member name="tree_root" type="AnimationNode" setter="set_tree_root" getter="get_tree_root">
The root animation node of this [AnimationTree]. See [AnimationNode].
diff --git a/doc/classes/Area3D.xml b/doc/classes/Area3D.xml
index 8923ac8aae..d40bca99d8 100644
--- a/doc/classes/Area3D.xml
+++ b/doc/classes/Area3D.xml
@@ -7,6 +7,7 @@
3D area that detects [CollisionObject3D] nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping) and route audio to custom audio buses.
To give the area its shape, add a [CollisionShape3D] or a [CollisionPolygon3D] node as a [i]direct[/i] child (or add multiple such nodes as direct children) of the area.
[b]Warning:[/b] See [ConcavePolygonShape3D] (also called "trimesh") for a warning about possibly unexpected behavior when using that shape for an area.
+ [b]Warning:[/b] With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
</description>
<tutorials>
<link title="3D Platformer Demo">https://godotengine.org/asset-library/asset/125</link>
diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml
index 21ccf79fe2..ce4d7693d8 100644
--- a/doc/classes/Array.xml
+++ b/doc/classes/Array.xml
@@ -679,7 +679,7 @@
</description>
</operator>
<operator name="operator []">
- <return type="void" />
+ <return type="Variant" />
<param index="0" name="index" type="int" />
<description>
Returns a reference to the element of type [Variant] at the specified location. Arrays start at index 0. [param index] can be a zero or positive value to start from the beginning, or a negative value to start from the end. Out-of-bounds array access causes a run-time error, which will result in an error being printed and the project execution pausing if run from the editor.
diff --git a/doc/classes/ArrayMesh.xml b/doc/classes/ArrayMesh.xml
index f7764d5e32..7b86afcc4c 100644
--- a/doc/classes/ArrayMesh.xml
+++ b/doc/classes/ArrayMesh.xml
@@ -65,11 +65,15 @@
<param index="1" name="arrays" type="Array" />
<param index="2" name="blend_shapes" type="Array[]" default="[]" />
<param index="3" name="lods" type="Dictionary" default="{}" />
- <param index="4" name="compress_flags" type="int" enum="Mesh.ArrayFormat" default="0" />
- <description>
- Creates a new surface.
- Surfaces are created to be rendered using a [param primitive], which may be any of the types defined in [enum Mesh.PrimitiveType]. (As a note, when using indices, it is recommended to only use points, lines, or triangles.) [method Mesh.get_surface_count] will become the [code]surf_idx[/code] for this new surface.
- The [param arrays] argument is an array of arrays. See [enum Mesh.ArrayType] for the values used in this array. For example, [code]arrays[0][/code] is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this function into "index mode" where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array (or be an exact multiple of the vertex array's length, when multiple elements of a sub-array correspond to a single vertex) or be empty, except for [constant Mesh.ARRAY_INDEX] if it is used.
+ <param index="4" name="flags" type="int" enum="Mesh.ArrayFormat" default="0" />
+ <description>
+ Creates a new surface. [method Mesh.get_surface_count] will become the [code]surf_idx[/code] for this new surface.
+ Surfaces are created to be rendered using a [param primitive], which may be any of the values defined in [enum Mesh.PrimitiveType].
+ The [param arrays] argument is an array of arrays. Each of the [constant Mesh.ARRAY_MAX] elements contains an array with some of the mesh data for this surface as described by the corresponding member of [enum Mesh.ArrayType] or [code]null[/code] if it is not used by the surface. For example, [code]arrays[0][/code] is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this surface into "index mode" where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array (or be an exact multiple of the vertex array's length, when multiple elements of a sub-array correspond to a single vertex) or be empty, except for [constant Mesh.ARRAY_INDEX] if it is used.
+ The [param blend_shapes] argument is an array of vertex data for each blend shape. Each element is an array of the same structure as [param arrays], but [constant Mesh.ARRAY_VERTEX], [constant Mesh.ARRAY_NORMAL], and [constant Mesh.ARRAY_TANGENT] are set if and only if they are set in [param arrays] and all other entries are [code]null[/code].
+ The [param lods] argument is a dictionary with [float] keys and [PackedInt32Array] values. Each entry in the dictionary represents a LOD level of the surface, where the value is the [constant Mesh.ARRAY_INDEX] array to use for the LOD level and the key is roughly proportional to the distance at which the LOD stats being used. I.e., increasing the key of a LOD also increases the distance that the objects has to be from the camera before the LOD is used.
+ The [param flags] argument is the bitwise or of, as required: One value of [enum Mesh.ArrayCustomFormat] left shifted by [code]ARRAY_FORMAT_CUSTOMn_SHIFT[/code] for each custom channel in use, [constant Mesh.ARRAY_FLAG_USE_DYNAMIC_UPDATE], [constant Mesh.ARRAY_FLAG_USE_8_BONE_WEIGHTS], or [constant Mesh.ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY].
+ [b]Note:[/b] When using indices, it is recommended to only use points, lines, or triangles.
</description>
</method>
<method name="clear_blend_shapes">
diff --git a/doc/classes/AudioStreamPlaybackPolyphonic.xml b/doc/classes/AudioStreamPlaybackPolyphonic.xml
new file mode 100644
index 0000000000..8b0951153b
--- /dev/null
+++ b/doc/classes/AudioStreamPlaybackPolyphonic.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="AudioStreamPlaybackPolyphonic" inherits="AudioStreamPlayback" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ Playback instance for [AudioStreamPolyphonic].
+ </brief_description>
+ <description>
+ Playback instance for [AudioStreamPolyphonic]. After setting the [code]stream[/code] property of [AudioStreamPlayer], [AudioStreamPlayer2D], or [AudioStreamPlayer3D], the playback instance can be obtained by calling [method AudioStreamPlayer.get_stream_playback], [method AudioStreamPlayer2D.get_stream_playback] or [method AudioStreamPlayer3D.get_stream_playback] methods.
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="is_stream_playing" qualifiers="const">
+ <return type="bool" />
+ <param index="0" name="stream" type="int" />
+ <description>
+ Return true whether the stream associated with an integer ID is still playing. Check [method play_stream] for information on when this ID becomes invalid.
+ </description>
+ </method>
+ <method name="play_stream">
+ <return type="int" />
+ <param index="0" name="stream" type="AudioStream" />
+ <param index="1" name="from_offset" type="float" default="0" />
+ <param index="2" name="volume_db" type="float" default="0" />
+ <param index="3" name="pitch_scale" type="float" default="1.0" />
+ <description>
+ Play an [AudioStream] at a given offset, volume and pitch scale. Playback starts immediately.
+ The return value is an unique integer ID that is associated to this playback stream and which can be used to control it.
+ This ID becomes invalid when the stream ends (if it does not loop), when the [AudioStreamPlaybackPolyphonic] is stopped, or when [method stop_stream] is called.
+ This function returns [constant INVALID_ID] if the amount of streams currently playing equals [member AudioStreamPolyphonic.polyphony]. If you need a higher amount of maximum polyphony, raise this value.
+ </description>
+ </method>
+ <method name="set_stream_pitch_scale">
+ <return type="void" />
+ <param index="0" name="stream" type="int" />
+ <param index="1" name="pitch_scale" type="float" />
+ <description>
+ Change the stream pitch scale. The [param stream] argument is an integer ID returned by [method play_stream].
+ </description>
+ </method>
+ <method name="set_stream_volume">
+ <return type="void" />
+ <param index="0" name="stream" type="int" />
+ <param index="1" name="volume_db" type="float" />
+ <description>
+ Change the stream volume (in db). The [param stream] argument is an integer ID returned by [method play_stream].
+ </description>
+ </method>
+ <method name="stop_stream">
+ <return type="void" />
+ <param index="0" name="stream" type="int" />
+ <description>
+ Stop a stream. The [param stream] argument is an integer ID returned by [method play_stream], which becomes invalid after calling this function.
+ </description>
+ </method>
+ </methods>
+ <constants>
+ <constant name="INVALID_ID" value="-1">
+ Returned by [method play_stream] in case it could not allocate a stream for playback.
+ </constant>
+ </constants>
+</class>
diff --git a/doc/classes/AudioStreamPolyphonic.xml b/doc/classes/AudioStreamPolyphonic.xml
new file mode 100644
index 0000000000..baa1fc7037
--- /dev/null
+++ b/doc/classes/AudioStreamPolyphonic.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="AudioStreamPolyphonic" inherits="AudioStream" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ AudioStream that lets the user play custom streams at any time from code, simultaneously using a single player.
+ </brief_description>
+ <description>
+ AudioStream that lets the user play custom streams at any time from code, simultaneously using a single player.
+ Playback control is done via the [AudioStreamPlaybackPolyphonic] instance set inside the player, which can be obtained via [method AudioStreamPlayer.get_stream_playback], [method AudioStreamPlayer2D.get_stream_playback] or [method AudioStreamPlayer3D.get_stream_playback] methods. Obtaining the playback instance is only valid after the [code]stream[/code] property is set as an [AudioStreamPolyphonic] in those players.
+ </description>
+ <tutorials>
+ </tutorials>
+ <members>
+ <member name="polyphony" type="int" setter="set_polyphony" getter="get_polyphony" default="32">
+ Maximum amount of simultaneous streams that can be played.
+ </member>
+ </members>
+</class>
diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml
index 5279574d5a..c3c768c12d 100644
--- a/doc/classes/CanvasItem.xml
+++ b/doc/classes/CanvasItem.xml
@@ -42,10 +42,11 @@
<param index="3" name="end_angle" type="float" />
<param index="4" name="point_count" type="int" />
<param index="5" name="color" type="Color" />
- <param index="6" name="width" type="float" default="1.0" />
+ <param index="6" name="width" type="float" default="-1.0" />
<param index="7" name="antialiased" type="bool" default="false" />
<description>
- Draws an unfilled arc between the given angles. The larger the value of [param point_count], the smoother the curve. See also [method draw_circle].
+ Draws an unfilled arc between the given angles with a uniform [param color] and [param width] and optional antialiasing (supported only for positive [param width]). The larger the value of [param point_count], the smoother the curve. See also [method draw_circle].
+ If [param width] is negative, then the arc is drawn using [constant RenderingServer.PRIMITIVE_LINE_STRIP]. This means that when the CanvasItem is scaled, the arc will remain thin. If this behavior is not desired, then pass a positive [param width] like [code]1.0[/code].
The arc is drawn from [param start_angle] towards the value of [param end_angle] so in clockwise direction if [code]start_angle &lt; end_angle[/code] and counter-clockwise otherwise. Passing the same angles but in reversed order will produce the same arc. If absolute difference of [param start_angle] and [param end_angle] is greater than [constant @GDScript.TAU] radians, then a full circle arc is drawn (i.e. arc will not overlap itself).
</description>
</method>
@@ -243,20 +244,22 @@
<return type="void" />
<param index="0" name="points" type="PackedVector2Array" />
<param index="1" name="color" type="Color" />
- <param index="2" name="width" type="float" default="1.0" />
+ <param index="2" name="width" type="float" default="-1.0" />
<param index="3" name="antialiased" type="bool" default="false" />
<description>
- Draws interconnected line segments with a uniform [param color] and [param width] and optional antialiasing. When drawing large amounts of lines, this is faster than using individual [method draw_line] calls. To draw disconnected lines, use [method draw_multiline] instead. See also [method draw_polygon].
+ Draws interconnected line segments with a uniform [param color] and [param width] and optional antialiasing (supported only for positive [param width]). When drawing large amounts of lines, this is faster than using individual [method draw_line] calls. To draw disconnected lines, use [method draw_multiline] instead. See also [method draw_polygon].
+ If [param width] is negative, the polyline is drawn using [constant RenderingServer.PRIMITIVE_LINE_STRIP]. This means that when the CanvasItem is scaled, the polyline will remain thin. If this behavior is not desired, then pass a positive [param width] like [code]1.0[/code].
</description>
</method>
<method name="draw_polyline_colors">
<return type="void" />
<param index="0" name="points" type="PackedVector2Array" />
<param index="1" name="colors" type="PackedColorArray" />
- <param index="2" name="width" type="float" default="1.0" />
+ <param index="2" name="width" type="float" default="-1.0" />
<param index="3" name="antialiased" type="bool" default="false" />
<description>
- Draws interconnected line segments with a uniform [param width] and segment-by-segment coloring, and optional antialiasing. Colors assigned to line segments match by index between [param points] and [param colors]. When drawing large amounts of lines, this is faster than using individual [method draw_line] calls. To draw disconnected lines, use [method draw_multiline_colors] instead. See also [method draw_polygon].
+ Draws interconnected line segments with a uniform [param width] and segment-by-segment coloring, and optional antialiasing (supported only for positive [param width]). Colors assigned to line segments match by index between [param points] and [param colors]. When drawing large amounts of lines, this is faster than using individual [method draw_line] calls. To draw disconnected lines, use [method draw_multiline_colors] instead. See also [method draw_polygon].
+ If [param width] is negative, then the polyline is drawn using [constant RenderingServer.PRIMITIVE_LINE_STRIP]. This means that when the CanvasItem is scaled, the polyline will remain thin. If this behavior is not desired, then pass a positive [param width] like [code]1.0[/code].
</description>
</method>
<method name="draw_primitive">
diff --git a/doc/classes/CharacterBody3D.xml b/doc/classes/CharacterBody3D.xml
index 821117122c..2ff207acb7 100644
--- a/doc/classes/CharacterBody3D.xml
+++ b/doc/classes/CharacterBody3D.xml
@@ -5,8 +5,9 @@
</brief_description>
<description>
Character bodies are special types of bodies that are meant to be user-controlled. They are not affected by physics at all; to other types of bodies, such as a rigid body, these are the same as a [AnimatableBody3D]. However, they have two main uses:
- [b]Kinematic characters:[/b] Character bodies have an API for moving objects with walls and slopes detection ([method move_and_slide] method), in addition to collision detection (also done with [method PhysicsBody3D.move_and_collide]). This makes them really useful to implement characters that move in specific ways and collide with the world, but don't require advanced physics.
- [b]Kinematic motion:[/b] Character bodies can also be used for kinematic motion (same functionality as [AnimatableBody3D]), which allows them to be moved by code and push other bodies on their path.
+ [i]Kinematic characters:[/i] Character bodies have an API for moving objects with walls and slopes detection ([method move_and_slide] method), in addition to collision detection (also done with [method PhysicsBody3D.move_and_collide]). This makes them really useful to implement characters that move in specific ways and collide with the world, but don't require advanced physics.
+ [i]Kinematic motion:[/i] Character bodies can also be used for kinematic motion (same functionality as [AnimatableBody3D]), which allows them to be moved by code and push other bodies on their path.
+ [b]Warning:[/b] With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
</description>
<tutorials>
<link title="Kinematic character (2D)">$DOCS_URL/tutorials/physics/kinematic_character_2d.html</link>
diff --git a/doc/classes/CollisionObject3D.xml b/doc/classes/CollisionObject3D.xml
index 31b5842930..01b0d88326 100644
--- a/doc/classes/CollisionObject3D.xml
+++ b/doc/classes/CollisionObject3D.xml
@@ -5,6 +5,7 @@
</brief_description>
<description>
CollisionObject3D is the base class for physics objects. It can hold any number of collision [Shape3D]s. Each shape must be assigned to a [i]shape owner[/i]. The CollisionObject3D can have any number of shape owners. Shape owners are not nodes and do not appear in the editor, but are accessible through code using the [code]shape_owner_*[/code] methods.
+ [b]Warning:[/b] With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/CollisionPolygon3D.xml b/doc/classes/CollisionPolygon3D.xml
index 7d718cff27..29e55367a8 100644
--- a/doc/classes/CollisionPolygon3D.xml
+++ b/doc/classes/CollisionPolygon3D.xml
@@ -6,6 +6,7 @@
<description>
Allows editing a concave or convex collision polygon's vertices on a selected plane. Can also set a depth perpendicular to that plane. This class is only available in the editor. It will not appear in the scene tree at run-time. Creates several [ConvexPolygonShape3D]s at run-time to represent the original polygon using convex decomposition.
[b]Note:[/b] Since this is an editor-only helper, properties modified during gameplay will have no effect.
+ [b]Warning:[/b] A non-uniformly scaled CollisionPolygon3D node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change its [member polygon]'s vertices instead.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/CollisionShape3D.xml b/doc/classes/CollisionShape3D.xml
index 304b46ba27..c5d05670e9 100644
--- a/doc/classes/CollisionShape3D.xml
+++ b/doc/classes/CollisionShape3D.xml
@@ -6,6 +6,7 @@
<description>
Editor facility for creating and editing collision shapes in 3D space. Set the [member shape] property to configure the shape. [b]IMPORTANT[/b]: this is an Editor-only helper to create shapes, use [method CollisionObject3D.shape_owner_get_shape] to get the actual shape.
You can use this node to represent all sorts of collision shapes, for example, add this to an [Area3D] to give it a detection shape, or add it to a [PhysicsBody3D] to create a solid object.
+ [b]Warning:[/b] A non-uniformly scaled CollisionShape3D node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size of its [member shape] resource instead.
</description>
<tutorials>
<link title="Physics introduction">$DOCS_URL/tutorials/physics/physics_introduction.html</link>
diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml
index d1387d088d..57278d9241 100644
--- a/doc/classes/Color.xml
+++ b/doc/classes/Color.xml
@@ -101,7 +101,7 @@
<return type="Color" />
<param index="0" name="over" type="Color" />
<description>
- Returns a new color resulting from overlaying this color over the given color. In a painting program, you can imagine it as the [param over] color painted over this colour (including alpha).
+ Returns a new color resulting from overlaying this color over the given color. In a painting program, you can imagine it as the [param over] color painted over this color (including alpha).
[codeblocks]
[gdscript]
var bg = Color(0.0, 1.0, 0.0, 0.5) # Green with alpha of 50%
diff --git a/doc/classes/ConfirmationDialog.xml b/doc/classes/ConfirmationDialog.xml
index 48b4df9126..ac2ea5be17 100644
--- a/doc/classes/ConfirmationDialog.xml
+++ b/doc/classes/ConfirmationDialog.xml
@@ -8,10 +8,10 @@
To get cancel action, you can use:
[codeblocks]
[gdscript]
- get_cancel_button().pressed.connect(self.cancelled)
+ get_cancel_button().pressed.connect(self.canceled)
[/gdscript]
[csharp]
- GetCancelButton().Pressed += Cancelled;
+ GetCancelButton().Pressed += Canceled;
[/csharp]
[/codeblocks]
</description>
diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml
index 75afb0cdbf..7082eff97d 100644
--- a/doc/classes/Control.xml
+++ b/doc/classes/Control.xml
@@ -196,12 +196,12 @@
</description>
</method>
<method name="_structured_text_parser" qualifiers="virtual const">
- <return type="Vector2i[]" />
+ <return type="Vector3i[]" />
<param index="0" name="args" type="Array" />
<param index="1" name="text" type="String" />
<description>
User defined BiDi algorithm override function.
- Returns an [Array] of [Vector2i] text ranges, in the left-to-right order. Ranges should cover full source [param text] without overlaps. BiDi algorithm will be used on each range separately.
+ Returns an [Array] of [Vector3i] text ranges and text base directions, in the left-to-right order. Ranges should cover full source [param text] without overlaps. BiDi algorithm will be used on each range separately.
</description>
</method>
<method name="accept_event">
diff --git a/doc/classes/Cubemap.xml b/doc/classes/Cubemap.xml
index 46ddede9b1..01ec4c40d7 100644
--- a/doc/classes/Cubemap.xml
+++ b/doc/classes/Cubemap.xml
@@ -11,4 +11,12 @@
</description>
<tutorials>
</tutorials>
+ <methods>
+ <method name="create_placeholder" qualifiers="const">
+ <return type="Resource" />
+ <description>
+ Creates a placeholder version of this resource ([PlaceholderCubemap]).
+ </description>
+ </method>
+ </methods>
</class>
diff --git a/doc/classes/CubemapArray.xml b/doc/classes/CubemapArray.xml
index 2fd55b66c6..1b410671c1 100644
--- a/doc/classes/CubemapArray.xml
+++ b/doc/classes/CubemapArray.xml
@@ -12,4 +12,12 @@
</description>
<tutorials>
</tutorials>
+ <methods>
+ <method name="create_placeholder" qualifiers="const">
+ <return type="Resource" />
+ <description>
+ Creates a placeholder version of this resource ([PlaceholderCubemapArray]).
+ </description>
+ </method>
+ </methods>
</class>
diff --git a/doc/classes/Curve3D.xml b/doc/classes/Curve3D.xml
index 362d792b39..72ac95a700 100644
--- a/doc/classes/Curve3D.xml
+++ b/doc/classes/Curve3D.xml
@@ -198,7 +198,7 @@
<param index="1" name="tolerance_length" type="float" default="0.2" />
<description>
Returns a list of points along the curve, with almost uniform density. [param max_stages] controls how many subdivisions a curve segment may face before it is considered approximate enough. Each subdivision splits the segment in half, so the default 5 stages may mean up to 32 subdivisions per curve segment. Increase with care!
- [param tolerance_length] controls the maximal distance between two neighbouring points, before the segment has to be subdivided.
+ [param tolerance_length] controls the maximal distance between two neighboring points, before the segment has to be subdivided.
</description>
</method>
</methods>
diff --git a/doc/classes/DisplayServer.xml b/doc/classes/DisplayServer.xml
index 832adb6e98..b77ec4c517 100644
--- a/doc/classes/DisplayServer.xml
+++ b/doc/classes/DisplayServer.xml
@@ -1434,9 +1434,9 @@
<param index="0" name="vsync_mode" type="int" enum="DisplayServer.VSyncMode" />
<param index="1" name="window_id" type="int" default="0" />
<description>
- Sets the V-Sync mode of the given window.
+ Sets the V-Sync mode of the given window. See also [member ProjectSettings.display/window/vsync/vsync_mode].
See [enum DisplayServer.VSyncMode] for possible values and how they affect the behavior of your application.
- Depending on the platform and used renderer, the engine will fall back to [constant VSYNC_ENABLED], if the desired mode is not supported.
+ Depending on the platform and used renderer, the engine will fall back to [constant VSYNC_ENABLED] if the desired mode is not supported.
</description>
</method>
<method name="window_set_window_buttons_offset">
diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml
index 370be8e9f3..326c4f6456 100644
--- a/doc/classes/EditorPlugin.xml
+++ b/doc/classes/EditorPlugin.xml
@@ -41,6 +41,7 @@
<param index="0" name="object" type="Variant" />
<description>
This function is used for plugins that edit specific object types (nodes or resources). It requests the editor to edit the given object.
+ [param object] can be [code]null[/code] if the plugin was editing an object, but there is no longer any selected object handled by this plugin. It can be used to cleanup editing state.
</description>
</method>
<method name="_enable_plugin" qualifiers="virtual">
diff --git a/doc/classes/EditorSettings.xml b/doc/classes/EditorSettings.xml
index fca87f6a56..9015a12b43 100644
--- a/doc/classes/EditorSettings.xml
+++ b/doc/classes/EditorSettings.xml
@@ -433,12 +433,24 @@
The size to use for port previews in the visual shader uniforms (toggled by clicking the "eye" icon next to an output). The value is defined in pixels at 100% zoom, and will scale with zoom automatically.
</member>
<member name="filesystem/directories/autoscan_project_path" type="String" setter="" getter="">
- The folder where projects should be scanned for (recursively), in a way similar to the project manager's [b]Scan[/b]button. This can be set to the same value as [member filesystem/directories/default_project_path] for convenience.
+ The folder where projects should be scanned for (recursively), in a way similar to the project manager's [b]Scan[/b] button. This can be set to the same value as [member filesystem/directories/default_project_path] for convenience.
[b]Note:[/b] Setting this path to a folder with very large amounts of files/folders can slow down the project manager startup significantly. To keep the project manager quick to start up, it is recommended to set this value to a folder as "specific" as possible.
</member>
<member name="filesystem/directories/default_project_path" type="String" setter="" getter="">
The folder where new projects should be created by default when clicking the project manager's [b]New Project[/b] button. This can be set to the same value as [member filesystem/directories/autoscan_project_path] for convenience.
</member>
+ <member name="filesystem/external_programs/3d_model_editor" type="String" setter="" getter="">
+ The program that opens 3D model scene files when clicking "Open in External Program" option in Filesystem Dock. If not specified, the file will be opened in the system's default program.
+ </member>
+ <member name="filesystem/external_programs/audio_editor" type="String" setter="" getter="">
+ The program that opens audio files when clicking "Open in External Program" option in Filesystem Dock. If not specified, the file will be opened in the system's default program.
+ </member>
+ <member name="filesystem/external_programs/raster_image_editor" type="String" setter="" getter="">
+ The program that opens raster image files when clicking "Open in External Program" option in Filesystem Dock. If not specified, the file will be opened in the system's default program.
+ </member>
+ <member name="filesystem/external_programs/vector_image_editor" type="String" setter="" getter="">
+ The program that opens vector image files when clicking "Open in External Program" option in Filesystem Dock. If not specified, the file will be opened in the system's default program.
+ </member>
<member name="filesystem/file_dialog/display_mode" type="int" setter="" getter="">
The display mode to use in the editor's file dialogs.
- [b]Thumbnails[/b] takes more space, but displays dynamic resource thumbnails, making resources easier to preview without having to open them.
diff --git a/doc/classes/ImporterMesh.xml b/doc/classes/ImporterMesh.xml
index b80857a7bf..10479dfcfe 100644
--- a/doc/classes/ImporterMesh.xml
+++ b/doc/classes/ImporterMesh.xml
@@ -27,9 +27,13 @@
<param index="5" name="name" type="String" default="&quot;&quot;" />
<param index="6" name="flags" type="int" default="0" />
<description>
- Creates a new surface, analogous to [method ArrayMesh.add_surface_from_arrays].
- Surfaces are created to be rendered using a [param primitive], which may be any of the types defined in [enum Mesh.PrimitiveType]. (As a note, when using indices, it is recommended to only use points, lines, or triangles.) [method Mesh.get_surface_count] will become the [code]surf_idx[/code] for this new surface.
- The [param arrays] argument is an array of arrays. See [enum Mesh.ArrayType] for the values used in this array. For example, [code]arrays[0][/code] is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this function into "index mode" where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array (or be an exact multiple of the vertex array's length, when multiple elements of a sub-array correspond to a single vertex) or be empty, except for [constant Mesh.ARRAY_INDEX] if it is used.
+ Creates a new surface. [method Mesh.get_surface_count] will become the [code]surf_idx[/code] for this new surface.
+ Surfaces are created to be rendered using a [param primitive], which may be any of the values defined in [enum Mesh.PrimitiveType].
+ The [param arrays] argument is an array of arrays. Each of the [constant Mesh.ARRAY_MAX] elements contains an array with some of the mesh data for this surface as described by the corresponding member of [enum Mesh.ArrayType] or [code]null[/code] if it is not used by the surface. For example, [code]arrays[0][/code] is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this surface into "index mode" where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array (or be an exact multiple of the vertex array's length, when multiple elements of a sub-array correspond to a single vertex) or be empty, except for [constant Mesh.ARRAY_INDEX] if it is used.
+ The [param blend_shapes] argument is an array of vertex data for each blend shape. Each element is an array of the same structure as [param arrays], but [constant Mesh.ARRAY_VERTEX], [constant Mesh.ARRAY_NORMAL], and [constant Mesh.ARRAY_TANGENT] are set if and only if they are set in [param arrays] and all other entries are [code]null[/code].
+ The [param lods] argument is a dictionary with [float] keys and [PackedInt32Array] values. Each entry in the dictionary represents a LOD level of the surface, where the value is the [constant Mesh.ARRAY_INDEX] array to use for the LOD level and the key is roughly proportional to the distance at which the LOD stats being used. I.e., increasing the key of a LOD also increases the distance that the objects has to be from the camera before the LOD is used.
+ The [param flags] argument is the bitwise or of, as required: One value of [enum Mesh.ArrayCustomFormat] left shifted by [code]ARRAY_FORMAT_CUSTOMn_SHIFT[/code] for each custom channel in use, [constant Mesh.ARRAY_FLAG_USE_DYNAMIC_UPDATE], [constant Mesh.ARRAY_FLAG_USE_8_BONE_WEIGHTS], or [constant Mesh.ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY].
+ [b]Note:[/b] When using indices, it is recommended to only use points, lines, or triangles.
</description>
</method>
<method name="clear">
diff --git a/doc/classes/Input.xml b/doc/classes/Input.xml
index a0d2d93a7d..3b0cfb3825 100644
--- a/doc/classes/Input.xml
+++ b/doc/classes/Input.xml
@@ -224,11 +224,18 @@
Returns [code]true[/code] if the system knows the specified device. This means that it sets all button and axis indices. Unknown joypads are not expected to match these constants, but you can still retrieve events from them.
</description>
</method>
+ <method name="is_key_label_pressed" qualifiers="const">
+ <return type="bool" />
+ <param index="0" name="keycode" type="int" enum="Key" />
+ <description>
+ Returns [code]true[/code] if you are pressing the key with the [param keycode] printed on it. You can pass a [enum Key] constant or any Unicode character code.
+ </description>
+ </method>
<method name="is_key_pressed" qualifiers="const">
<return type="bool" />
<param index="0" name="keycode" type="int" enum="Key" />
<description>
- Returns [code]true[/code] if you are pressing the key in the current keyboard layout. You can pass a [enum Key] constant.
+ Returns [code]true[/code] if you are pressing the Latin key in the current keyboard layout. You can pass a [enum Key] constant.
[method is_key_pressed] is only recommended over [method is_physical_key_pressed] in non-game applications. This ensures that shortcut keys behave as expected depending on the user's keyboard layout, as keyboard shortcuts are generally dependent on the keyboard layout in non-game applications. If in doubt, use [method is_physical_key_pressed].
[b]Note:[/b] Due to keyboard ghosting, [method is_key_pressed] may return [code]false[/code] even if one of the action's keys is pressed. See [url=$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events]Input examples[/url] in the documentation for more information.
</description>
@@ -297,6 +304,7 @@
[param hotspot] must be within [param image]'s size.
[b]Note:[/b] [AnimatedTexture]s aren't supported as custom mouse cursors. If using an [AnimatedTexture], only the first frame will be displayed.
[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or [b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] compression mode can't be used for custom cursors.
+ [b]Note:[/b] On the web platform, the maximum allowed cursor image size is 128×128. Cursor images larger than 32×32 will also only be displayed if the mouse cursor image is entirely located within the page for [url=https://chromestatus.com/feature/5825971391299584]security reasons[/url].
</description>
</method>
<method name="set_default_cursor_shape">
diff --git a/doc/classes/InputEventKey.xml b/doc/classes/InputEventKey.xml
index c3d682de9e..4d10a183d4 100644
--- a/doc/classes/InputEventKey.xml
+++ b/doc/classes/InputEventKey.xml
@@ -5,15 +5,42 @@
</brief_description>
<description>
Stores key presses on the keyboard. Supports key presses, key releases and [member echo] events.
+ [b]Note:[/b] Events received from the keyboard usually have all properties set. Event mappings should have only one of the [member keycode], [member physical_keycode] or [member unicode] set.
+ When events are compared, properties are checked in the following priority - [member keycode], [member physical_keycode] and [member unicode], events with the first matching value will be considered equal.
</description>
<tutorials>
<link title="InputEvent">$DOCS_URL/tutorials/inputs/inputevent.html</link>
</tutorials>
<methods>
+ <method name="as_text_key_label" qualifiers="const">
+ <return type="String" />
+ <description>
+ Returns a [String] representation of the event's [member key_label] and modifiers.
+ </description>
+ </method>
+ <method name="as_text_keycode" qualifiers="const">
+ <return type="String" />
+ <description>
+ Returns a [String] representation of the event's [member keycode] and modifiers.
+ </description>
+ </method>
+ <method name="as_text_physical_keycode" qualifiers="const">
+ <return type="String" />
+ <description>
+ Returns a [String] representation of the event's [member physical_keycode] and modifiers.
+ </description>
+ </method>
+ <method name="get_key_label_with_modifiers" qualifiers="const">
+ <return type="int" enum="Key" />
+ <description>
+ Returns the localized key label combined with modifier keys such as [kbd]Shift[/kbd] or [kbd]Alt[/kbd]. See also [InputEventWithModifiers].
+ To get a human-readable representation of the [InputEventKey] with modifiers, use [code]OS.get_keycode_string(event.get_key_label_with_modifiers())[/code] where [code]event[/code] is the [InputEventKey].
+ </description>
+ </method>
<method name="get_keycode_with_modifiers" qualifiers="const">
<return type="int" enum="Key" />
<description>
- Returns the keycode combined with modifier keys such as [kbd]Shift[/kbd] or [kbd]Alt[/kbd]. See also [InputEventWithModifiers].
+ Returns the Latin keycode combined with modifier keys such as [kbd]Shift[/kbd] or [kbd]Alt[/kbd]. See also [InputEventWithModifiers].
To get a human-readable representation of the [InputEventKey] with modifiers, use [code]OS.get_keycode_string(event.get_keycode_with_modifiers())[/code] where [code]event[/code] is the [InputEventKey].
</description>
</method>
@@ -29,19 +56,36 @@
<member name="echo" type="bool" setter="set_echo" getter="is_echo" default="false">
If [code]true[/code], the key was already pressed before this event. It means the user is holding the key down.
</member>
+ <member name="key_label" type="int" setter="set_key_label" getter="get_key_label" enum="Key" default="0">
+ Represents the localized label printed on the key in the current keyboard layout, which corresponds to one of the [enum Key] constants or any valid Unicode character.
+ For keyboard layouts with a single label on the key, it is equivalent to [member keycode].
+ To get a human-readable representation of the [InputEventKey], use [code]OS.get_keycode_string(event.key_label)[/code] where [code]event[/code] is the [InputEventKey].
+ [codeblock]
+ +-----+ +-----+
+ | Q | | Q | - "Q" - keycode
+ | Й | | ض | - "Й" and "ض" - key_label
+ +-----+ +-----+
+ [/codeblock]
+ </member>
<member name="keycode" type="int" setter="set_keycode" getter="get_keycode" enum="Key" default="0">
- The key keycode, which corresponds to one of the [enum Key] constants. Represent key in the current keyboard layout.
+ Latin label printed on the key in the current keyboard layout, which corresponds to one of the [enum Key] constants.
To get a human-readable representation of the [InputEventKey], use [code]OS.get_keycode_string(event.keycode)[/code] where [code]event[/code] is the [InputEventKey].
+ [codeblock]
+ +-----+ +-----+
+ | Q | | Q | - "Q" - keycode
+ | Й | | ض | - "Й" and "ض" - key_label
+ +-----+ +-----+
+ [/codeblock]
</member>
<member name="physical_keycode" type="int" setter="set_physical_keycode" getter="get_physical_keycode" enum="Key" default="0">
- Key physical keycode, which corresponds to one of the [enum Key] constants. Represent the physical location of a key on the 101/102-key US QWERTY keyboard.
+ Represents the physical location of a key on the 101/102-key US QWERTY keyboard, which corresponds to one of the [enum Key] constants.
To get a human-readable representation of the [InputEventKey], use [code]OS.get_keycode_string(event.keycode)[/code] where [code]event[/code] is the [InputEventKey].
</member>
<member name="pressed" type="bool" setter="set_pressed" getter="is_pressed" default="false">
If [code]true[/code], the key's state is pressed. If [code]false[/code], the key's state is released.
</member>
<member name="unicode" type="int" setter="set_unicode" getter="get_unicode" default="0">
- The key Unicode identifier (when relevant). Unicode identifiers for the composite characters and complex scripts may not be available unless IME input mode is active. See [method Window.set_ime_active] for more information.
+ The key Unicode character code (when relevant), shifted by modifier keys. Unicode character codes for composite characters and complex scripts may not be available unless IME input mode is active. See [method Window.set_ime_active] for more information.
</member>
</members>
</class>
diff --git a/doc/classes/InputEventWithModifiers.xml b/doc/classes/InputEventWithModifiers.xml
index c6311d780c..26b88e6ff2 100644
--- a/doc/classes/InputEventWithModifiers.xml
+++ b/doc/classes/InputEventWithModifiers.xml
@@ -10,6 +10,12 @@
<link title="InputEvent">$DOCS_URL/tutorials/inputs/inputevent.html</link>
</tutorials>
<methods>
+ <method name="get_modifiers_mask" qualifiers="const">
+ <return type="int" enum="KeyModifierMask" />
+ <description>
+ Returns the keycode combination of modifier keys.
+ </description>
+ </method>
<method name="is_command_or_control_pressed" qualifiers="const">
<return type="bool" />
<description>
diff --git a/doc/classes/JSON.xml b/doc/classes/JSON.xml
index 93731cf553..6fe53dfaac 100644
--- a/doc/classes/JSON.xml
+++ b/doc/classes/JSON.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="JSON" inherits="RefCounted" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="JSON" inherits="Resource" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
Helper class for creating and parsing JSON data.
</brief_description>
@@ -49,13 +49,21 @@
Returns an empty string if the last call to [method parse] was successful, or the error message if it failed.
</description>
</method>
+ <method name="get_parsed_text" qualifiers="const">
+ <return type="String" />
+ <description>
+ Return the text parsed by [method parse] as long as the function is instructed to keep it.
+ </description>
+ </method>
<method name="parse">
<return type="int" enum="Error" />
- <param index="0" name="json_string" type="String" />
+ <param index="0" name="json_text" type="String" />
+ <param index="1" name="keep_text" type="bool" default="false" />
<description>
- Attempts to parse the [param json_string] provided.
+ Attempts to parse the [param json_text] provided.
Returns an [enum Error]. If the parse was successful, it returns [constant OK] and the result can be retrieved using [member data]. If unsuccessful, use [method get_error_line] and [method get_error_message] for identifying the source of the failure.
Non-static variant of [method parse_string], if you want custom error handling.
+ The optional [param keep_text] argument instructs the parser to keep a copy of the original text. This text can be obtained later by using the [method get_parsed_text] function and is used when saving the resource (instead of generating new text from [member data]).
</description>
</method>
<method name="parse_string" qualifiers="static">
diff --git a/doc/classes/Light3D.xml b/doc/classes/Light3D.xml
index fe7756faaf..95c39d535e 100644
--- a/doc/classes/Light3D.xml
+++ b/doc/classes/Light3D.xml
@@ -80,7 +80,7 @@
A typical household lightbulb can range from around 600 lumens to 1,200 lumens, a candle is about 13 lumens, while a streetlight can be approximately 60,000 lumens.
</member>
<member name="light_intensity_lux" type="float" setter="set_param" getter="get_param">
- Used by [DirectionalLight3D]s when [member ProjectSettings.rendering/lights_and_shadows/use_physical_light_units] is [code]true[/code]. Sets the intensity of the light source measured in Lux. Lux is a measure pf luminous flux per unit area, it is equal to one lumen per square metre. Lux is the measure of how much light hits a surface at a given time.
+ Used by [DirectionalLight3D]s when [member ProjectSettings.rendering/lights_and_shadows/use_physical_light_units] is [code]true[/code]. Sets the intensity of the light source measured in Lux. Lux is a measure of luminous flux per unit area, it is equal to one lumen per square meter. Lux is the measure of how much light hits a surface at a given time.
On a clear sunny day a surface in direct sunlight may be approximately 100,000 lux, a typical room in a home may be approximately 50 lux, while the moonlit ground may be approximately 0.1 lux.
</member>
<member name="light_negative" type="bool" setter="set_negative" getter="is_negative" default="false">
diff --git a/doc/classes/LightmapGI.xml b/doc/classes/LightmapGI.xml
index 53dae1a8e6..723e6bbf21 100644
--- a/doc/classes/LightmapGI.xml
+++ b/doc/classes/LightmapGI.xml
@@ -93,22 +93,28 @@
<constant name="BAKE_ERROR_OK" value="0" enum="BakeError">
Lightmap baking was successful.
</constant>
- <constant name="BAKE_ERROR_NO_LIGHTMAPPER" value="1" enum="BakeError">
+ <constant name="BAKE_ERROR_NO_SCENE_ROOT" value="1" enum="BakeError">
+ Lightmap baking failed because the root node for the edited scene could not be accessed.
+ </constant>
+ <constant name="BAKE_ERROR_FOREIGN_DATA" value="2" enum="BakeError">
+ Lightmap baking failed as the lightmap data resource is embedded in a foreign resource.
+ </constant>
+ <constant name="BAKE_ERROR_NO_LIGHTMAPPER" value="3" 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">
+ <constant name="BAKE_ERROR_NO_SAVE_PATH" value="4" 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">
+ <constant name="BAKE_ERROR_NO_MESHES" value="5" 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">
+ <constant name="BAKE_ERROR_MESHES_INVALID" value="6" 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">
+ <constant name="BAKE_ERROR_CANT_CREATE_IMAGE" value="7" 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">
+ <constant name="BAKE_ERROR_USER_ABORTED" value="8" 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">
diff --git a/doc/classes/Marshalls.xml b/doc/classes/Marshalls.xml
index 102e4b75ed..1eeb0be7ce 100644
--- a/doc/classes/Marshalls.xml
+++ b/doc/classes/Marshalls.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Marshalls" inherits="Object" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Data transformation (marshalling) and encoding helpers.
+ Data transformation (marshaling) and encoding helpers.
</brief_description>
<description>
Provides data transformation and encoding utility functions.
diff --git a/doc/classes/Material.xml b/doc/classes/Material.xml
index c5d567c1fe..bdd5cee797 100644
--- a/doc/classes/Material.xml
+++ b/doc/classes/Material.xml
@@ -31,6 +31,12 @@
<description>
</description>
</method>
+ <method name="create_placeholder" qualifiers="const">
+ <return type="Resource" />
+ <description>
+ Creates a placeholder version of this resource ([PlaceholderMaterial]).
+ </description>
+ </method>
<method name="inspect_native_shader_code">
<return type="void" />
<description>
diff --git a/doc/classes/Mesh.xml b/doc/classes/Mesh.xml
index 94e80ffb2b..ece3199aab 100644
--- a/doc/classes/Mesh.xml
+++ b/doc/classes/Mesh.xml
@@ -114,6 +114,12 @@
[b]Note:[/b] This method typically returns the vertices in reverse order (e.g. clockwise to counterclockwise).
</description>
</method>
+ <method name="create_placeholder" qualifiers="const">
+ <return type="Resource" />
+ <description>
+ Creates a placeholder version of this resource ([PlaceholderMesh]).
+ </description>
+ </method>
<method name="create_trimesh_shape" qualifiers="const">
<return type="ConcavePolygonShape3D" />
<description>
@@ -227,10 +233,10 @@
Contains custom color channel 3. [PackedByteArray] if [code](format &gt;&gt; [constant ARRAY_FORMAT_CUSTOM3_SHIFT]) &amp; [constant ARRAY_FORMAT_CUSTOM_MASK])[/code] is [constant ARRAY_CUSTOM_RGBA8_UNORM], [constant ARRAY_CUSTOM_RGBA8_UNORM], [constant ARRAY_CUSTOM_RG_HALF] or [constant ARRAY_CUSTOM_RGBA_HALF]. [PackedFloat32Array] otherwise.
</constant>
<constant name="ARRAY_BONES" value="10" enum="ArrayType">
- [PackedFloat32Array] or [PackedInt32Array] of bone indices. Each element is a group of 4 numbers.
+ [PackedFloat32Array] or [PackedInt32Array] of bone indices. Contains either 4 or 8 numbers per vertex depending on the presence of the [constant ARRAY_FLAG_USE_8_BONE_WEIGHTS] flag.
</constant>
<constant name="ARRAY_WEIGHTS" value="11" enum="ArrayType">
- [PackedFloat32Array] of bone weights. Each element in groups of 4 floats.
+ [PackedFloat32Array] or [PackedFloat64Array] of bone weights in the range [code]0.0[/code] to [code]1.0[/code] (inclusive). Contains either 4 or 8 numbers per vertex depending on the presence of the [constant ARRAY_FLAG_USE_8_BONE_WEIGHTS] flag.
</constant>
<constant name="ARRAY_INDEX" value="12" enum="ArrayType">
[PackedInt32Array] of integers used as indices referencing vertices, colors, normals, tangents, and textures. All of those arrays must have the same number of elements as the vertex array. No index can be beyond the vertex array size. When this index array is present, it puts the function into "index mode," where the index selects the *i*'th vertex, normal, tangent, color, UV, etc. This means if you want to have different normals or colors along an edge, you have to duplicate the vertices.
@@ -341,6 +347,9 @@
<constant name="ARRAY_FLAG_USE_8_BONE_WEIGHTS" value="134217728" enum="ArrayFormat" is_bitfield="true">
Flag used to mark that the mesh contains up to 8 bone influences per vertex. This flag indicates that [constant ARRAY_BONES] and [constant ARRAY_WEIGHTS] elements will have double length.
</constant>
+ <constant name="ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY" value="268435456" enum="ArrayFormat" is_bitfield="true">
+ Flag used to mark that the mesh intentionally contains no vertex array.
+ </constant>
<constant name="BLEND_SHAPE_MODE_NORMALIZED" value="0" enum="BlendShapeMode">
Blend shapes are normalized.
</constant>
diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml
index 02fd6dae30..7b27f16d82 100644
--- a/doc/classes/Node.xml
+++ b/doc/classes/Node.xml
@@ -909,6 +909,9 @@
<constant name="NOTIFICATION_ENABLED" value="29">
Notification received when the node is enabled again after being disabled. See [constant PROCESS_MODE_DISABLED].
</constant>
+ <constant name="NOTIFICATION_NODE_RECACHE_REQUESTED" value="30">
+ Notification received when other nodes in the tree may have been removed/replaced and node pointers may require re-caching.
+ </constant>
<constant name="NOTIFICATION_EDITOR_PRE_SAVE" value="9001">
Notification received right before the scene with the node is saved in the editor. This notification is only sent in the Godot editor and will not occur in exported projects.
</constant>
diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml
index 1bc81ffb42..0058bf8a2f 100644
--- a/doc/classes/OS.xml
+++ b/doc/classes/OS.xml
@@ -566,7 +566,7 @@
<method name="open_midi_inputs">
<return type="void" />
<description>
- Initialises the singleton for the system MIDI driver.
+ Initializes the singleton for the system MIDI driver.
[b]Note:[/b] This method is implemented on Linux, macOS and Windows.
</description>
</method>
diff --git a/doc/classes/Object.xml b/doc/classes/Object.xml
index a9e17f4666..1a805007e6 100644
--- a/doc/classes/Object.xml
+++ b/doc/classes/Object.xml
@@ -883,7 +883,7 @@
<param index="0" name="name" type="StringName" />
<param index="1" name="value" type="Variant" />
<description>
- Adds or changes the entry [param name] inside the object's metadata. The metadata [param value] can be any [Variant], although some types cannot be serialised correctly.
+ Adds or changes the entry [param name] inside the object's metadata. The metadata [param value] can be any [Variant], although some types cannot be serialized correctly.
If [param value] is [code]null[/code], the entry is removed. This is the equivalent of using [method remove_meta]. See also [method has_meta] and [method get_meta].
[b]Note:[/b] Metadata that has a [param name] starting with an underscore ([code]_[/code]) is considered editor-only. Editor-only metadata is not displayed in the Inspector dock and should not be edited.
</description>
diff --git a/doc/classes/PhysicalBone3D.xml b/doc/classes/PhysicalBone3D.xml
index 0768df31cc..f38130fe0c 100644
--- a/doc/classes/PhysicalBone3D.xml
+++ b/doc/classes/PhysicalBone3D.xml
@@ -3,6 +3,7 @@
<brief_description>
</brief_description>
<description>
+ [b]Warning:[/b] With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/PhysicsBody3D.xml b/doc/classes/PhysicsBody3D.xml
index 2ef54683f2..3e100e3280 100644
--- a/doc/classes/PhysicsBody3D.xml
+++ b/doc/classes/PhysicsBody3D.xml
@@ -4,7 +4,8 @@
Base class for all objects affected by physics in 3D space.
</brief_description>
<description>
- PhysicsBody3D is an abstract base class for implementing a physics body. All *Body types inherit from it.
+ PhysicsBody3D is an abstract base class for implementing a physics body. All *Body3D types inherit from it.
+ [b]Warning:[/b] With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
</description>
<tutorials>
<link title="Physics introduction">$DOCS_URL/tutorials/physics/physics_introduction.html</link>
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index de41edc305..84df014fa4 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -384,6 +384,9 @@
<member name="debug/gdscript/warnings/assert_always_true" type="int" setter="" getter="" default="1">
When set to [code]warn[/code] or [code]error[/code], produces a warning or an error respectively when an [code]assert[/code] call always evaluates to true.
</member>
+ <member name="debug/gdscript/warnings/confusable_identifier" type="int" setter="" getter="" default="1">
+ When set to [code]warn[/code] or [code]error[/code], produces a warning or an error respectively when an identifier contains characters that can be confused with something else, like when mixing different alphabets.
+ </member>
<member name="debug/gdscript/warnings/constant_used_as_function" type="int" setter="" getter="" default="1">
When set to [code]warn[/code] or [code]error[/code], produces a warning or an error respectively when a constant is used as a function.
</member>
@@ -615,8 +618,17 @@
Main window content is expanded to the full size of the window. Unlike a borderless window, the frame is left intact and can be used to resize the window, and the title bar is transparent, but has minimize/maximize/close buttons.
[b]Note:[/b] This setting is implemented only on macOS.
</member>
- <member name="display/window/size/initial_screen" type="int" setter="" getter="" default="-2">
- Main window initial screen.
+ <member name="display/window/size/initial_position" type="Vector2i" setter="" getter="" default="Vector2i(0, 0)">
+ Main window initial position (in virtual desktop coordinates), this settings is used only if [member display/window/size/initial_position_type] is set to "Absolute" ([code]0[/code]).
+ </member>
+ <member name="display/window/size/initial_position_type" type="int" setter="" getter="" default="1">
+ Main window initial position.
+ [code]0[/code] - "Absolute", [member display/window/size/initial_position] is used to set window position.
+ [code]1[/code] - "Primary Screen Center".
+ [code]2[/code] - "Other Screen Center", [member display/window/size/initial_screen] is used to set window position.
+ </member>
+ <member name="display/window/size/initial_screen" type="int" setter="" getter="" default="0">
+ Main window initial screen, this settings is used only if [member display/window/size/initial_position_type] is set to "Other Screen Center" ([code]2[/code]).
</member>
<member name="display/window/size/mode" type="int" setter="" getter="" default="0">
Main window mode. See [enum DisplayServer.WindowMode] for possible values and how each mode behaves.
@@ -650,7 +662,8 @@
<member name="display/window/vsync/vsync_mode" type="int" setter="" getter="" default="1">
Sets the V-Sync mode for the main game window.
See [enum DisplayServer.VSyncMode] for possible values and how they affect the behavior of your application.
- Depending on the platform and used renderer, the engine will fall back to [code]Enabled[/code], if the desired mode is not supported.
+ Depending on the platform and used renderer, the engine will fall back to [code]Enabled[/code] if the desired mode is not supported.
+ [b]Note:[/b] This property is only read when the project starts. To change the V-Sync mode at runtime, call [method DisplayServer.window_set_vsync_mode] instead.
</member>
<member name="dotnet/project/assembly_name" type="String" setter="" getter="" default="&quot;&quot;">
Name of the .NET assembly. This name is used as the name of the [code].csproj[/code] and [code].sln[/code] files. By default, it's set to the name of the project ([member application/config/name]) allowing to change it in the future without affecting the .NET assembly.
diff --git a/doc/classes/Projection.xml b/doc/classes/Projection.xml
index 602833bca5..99e3f1725f 100644
--- a/doc/classes/Projection.xml
+++ b/doc/classes/Projection.xml
@@ -149,7 +149,7 @@
<param index="4" name="flip_fov" type="bool" />
<param index="5" name="eye" type="int" />
<param index="6" name="intraocular_dist" type="float" />
- <param index="7" name=" convergence_dist" type="float" />
+ <param index="7" name="convergence_dist" type="float" />
<description>
Creates a new [Projection] that projects positions using a perspective projection with the given Y-axis field of view (in degrees), X:Y aspect ratio, and clipping distances. The projection is adjusted for a head-mounted display with the given distance between eyes and distance to a point that can be focused on.
[param eye] creates the projection for the left eye when set to 1, or the right eye when set to 2.
diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml
index 33170e6606..fc08a16619 100644
--- a/doc/classes/RenderingServer.xml
+++ b/doc/classes/RenderingServer.xml
@@ -291,7 +291,7 @@
<param index="0" name="item" type="RID" />
<param index="1" name="points" type="PackedVector2Array" />
<param index="2" name="colors" type="PackedColorArray" />
- <param index="3" name="width" type="float" default="1.0" />
+ <param index="3" name="width" type="float" default="-1.0" />
<param index="4" name="antialiased" type="bool" default="false" />
<description>
</description>
@@ -3810,6 +3810,8 @@
</constant>
<constant name="ARRAY_FLAG_USE_8_BONE_WEIGHTS" value="134217728" enum="ArrayFormat" is_bitfield="true">
</constant>
+ <constant name="ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY" value="268435456" enum="ArrayFormat" is_bitfield="true">
+ </constant>
<constant name="PRIMITIVE_POINTS" value="0" enum="PrimitiveType">
Primitive to draw consists of points.
</constant>
diff --git a/doc/classes/ResourceFormatLoader.xml b/doc/classes/ResourceFormatLoader.xml
index 2b6376f2cd..bb55123b37 100644
--- a/doc/classes/ResourceFormatLoader.xml
+++ b/doc/classes/ResourceFormatLoader.xml
@@ -38,6 +38,13 @@
Gets the list of extensions for files this loader is able to read.
</description>
</method>
+ <method name="_get_resource_script_class" qualifiers="virtual const">
+ <return type="String" />
+ <param index="0" name="path" type="String" />
+ <description>
+ Returns the script class name associated with the [Resource] under the given [param path]. If the resource has no script or the script isn't a named class, it should return [code]""[/code].
+ </description>
+ </method>
<method name="_get_resource_type" qualifiers="virtual const">
<return type="String" />
<param index="0" name="path" type="String" />
diff --git a/doc/classes/RigidBody3D.xml b/doc/classes/RigidBody3D.xml
index 8380d56de3..148cdf96ee 100644
--- a/doc/classes/RigidBody3D.xml
+++ b/doc/classes/RigidBody3D.xml
@@ -8,6 +8,7 @@
You can switch the body's behavior using [member lock_rotation], [member freeze], and [member freeze_mode].
[b]Note:[/b] Don't change a RigidBody3D's position every frame or very often. Sporadic changes work fine, but physics runs at a different granularity (fixed Hz) than usual rendering (process callback) and maybe even in a separate thread, so changing this from a process loop may result in strange behavior. If you need to directly affect the body's state, use [method _integrate_forces], which allows you to directly access the physics state.
If you need to override the default physics behavior, you can write a custom force integration function. See [member custom_integrator].
+ [b]Warning:[/b] With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
</description>
<tutorials>
<link title="Physics introduction">$DOCS_URL/tutorials/physics/physics_introduction.html</link>
diff --git a/doc/classes/Shader.xml b/doc/classes/Shader.xml
index 75f835260a..c472ab647e 100644
--- a/doc/classes/Shader.xml
+++ b/doc/classes/Shader.xml
@@ -26,12 +26,12 @@
Returns the shader mode for the shader, either [constant MODE_CANVAS_ITEM], [constant MODE_SPATIAL] or [constant MODE_PARTICLES].
</description>
</method>
- <method name="has_parameter" qualifiers="const">
- <return type="bool" />
- <param index="0" name="name" type="StringName" />
+ <method name="get_shader_uniform_list">
+ <return type="Array" />
+ <param index="0" name="get_groups" type="bool" default="false" />
<description>
- Returns [code]true[/code] if the shader has this param defined as a uniform in its code.
- [b]Note:[/b] [param name] must match the name of the uniform in the code exactly.
+ Get the list of shader uniforms that can be assigned to a [ShaderMaterial], for use with [method ShaderMaterial.set_shader_parameter] and [method ShaderMaterial.get_shader_parameter]. The parameters returned are contained in dictionaries in a similar format to the ones returned by [method Object.get_property_list].
+ If argument [param get_groups] is true, parameter grouping hints will be provided.
</description>
</method>
<method name="set_default_texture_parameter">
diff --git a/doc/classes/StaticBody3D.xml b/doc/classes/StaticBody3D.xml
index 0beaa6bb52..7bebd46004 100644
--- a/doc/classes/StaticBody3D.xml
+++ b/doc/classes/StaticBody3D.xml
@@ -7,8 +7,9 @@
Static body for 3D physics.
A static body is a simple body that doesn't move under physics simulation, i.e. it can't be moved by external forces or contacts but its transformation can still be updated manually by the user. It is ideal for implementing objects in the environment, such as walls or platforms. In contrast to [RigidBody3D], it doesn't consume any CPU resources as long as they don't move.
They have extra functionalities to move and affect other bodies:
- [b]Static transform change:[/b] Static bodies can be moved by animation or script. In this case, they are just teleported and don't affect other bodies on their path.
- [b]Constant velocity:[/b] When [member constant_linear_velocity] or [member constant_angular_velocity] is set, static bodies don't move themselves but affect touching bodies as if they were moving. This is useful for simulating conveyor belts or conveyor wheels.
+ [i]Static transform change:[/i] Static bodies can be moved by animation or script. In this case, they are just teleported and don't affect other bodies on their path.
+ [i]Constant velocity:[/i] When [member constant_linear_velocity] or [member constant_angular_velocity] is set, static bodies don't move themselves but affect touching bodies as if they were moving. This is useful for simulating conveyor belts or conveyor wheels.
+ [b]Warning:[/b] With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
</description>
<tutorials>
<link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link>
diff --git a/doc/classes/StyleBox.xml b/doc/classes/StyleBox.xml
index ff6d4d8821..4a63f4488c 100644
--- a/doc/classes/StyleBox.xml
+++ b/doc/classes/StyleBox.xml
@@ -17,21 +17,16 @@
<description>
</description>
</method>
- <method name="_get_center_size" qualifiers="virtual const">
- <return type="Vector2" />
- <description>
- </description>
- </method>
<method name="_get_draw_rect" qualifiers="virtual const">
<return type="Rect2" />
<param index="0" name="rect" type="Rect2" />
<description>
</description>
</method>
- <method name="_get_style_margin" qualifiers="virtual const">
- <return type="float" />
- <param index="0" name="side" type="int" enum="Side" />
+ <method name="_get_minimum_size" qualifiers="virtual const">
+ <return type="Vector2" />
<description>
+ Virtual method to be implemented by the user. Returns a custom minimum size that the stylebox must respect when drawing. By default [method get_minimum_size] only takes content margins into account. This method can be overridden to add another size restriction. A combination of the default behavior and the output of this method will be used, to account for both sizes.
</description>
</method>
<method name="_test_mask" qualifiers="virtual const">
@@ -50,10 +45,11 @@
The [RID] value can either be the result of [method CanvasItem.get_canvas_item] called on an existing [CanvasItem]-derived node, or directly from creating a canvas item in the [RenderingServer] with [method RenderingServer.canvas_item_create].
</description>
</method>
- <method name="get_center_size" qualifiers="const">
- <return type="Vector2" />
+ <method name="get_content_margin" qualifiers="const">
+ <return type="float" />
+ <param index="0" name="margin" type="int" enum="Side" />
<description>
- Returns the size of this [StyleBox] without the margins.
+ Returns the default margin of the specified [enum Side].
</description>
</method>
<method name="get_current_item_drawn" qualifiers="const">
@@ -62,13 +58,6 @@
Returns the [CanvasItem] that handles its [constant CanvasItem.NOTIFICATION_DRAW] or [method CanvasItem._draw] callback at this moment.
</description>
</method>
- <method name="get_default_margin" qualifiers="const">
- <return type="float" />
- <param index="0" name="margin" type="int" enum="Side" />
- <description>
- Returns the default margin of the specified [enum Side].
- </description>
- </method>
<method name="get_margin" qualifiers="const">
<return type="float" />
<param index="0" name="margin" type="int" enum="Side" />
@@ -89,7 +78,7 @@
Returns the "offset" of a stylebox. This helper function returns a value equivalent to [code]Vector2(style.get_margin(MARGIN_LEFT), style.get_margin(MARGIN_TOP))[/code].
</description>
</method>
- <method name="set_default_margin">
+ <method name="set_content_margin">
<return type="void" />
<param index="0" name="margin" type="int" enum="Side" />
<param index="1" name="offset" type="float" />
@@ -97,7 +86,7 @@
Sets the default value of the specified [enum Side] to [param offset] pixels.
</description>
</method>
- <method name="set_default_margin_all">
+ <method name="set_content_margin_all">
<return type="void" />
<param index="0" name="offset" type="float" />
<description>
@@ -114,21 +103,21 @@
</method>
</methods>
<members>
- <member name="content_margin_bottom" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0">
+ <member name="content_margin_bottom" type="float" setter="set_content_margin" getter="get_content_margin" default="-1.0">
The bottom margin for the contents of this style box. Increasing this value reduces the space available to the contents from the bottom.
If this value is negative, it is ignored and a child-specific margin is used instead. For example for [StyleBoxFlat] the border thickness (if any) is used instead.
It is up to the code using this style box to decide what these contents are: for example, a [Button] respects this content margin for the textual contents of the button.
[method get_margin] should be used to fetch this value as consumer instead of reading these properties directly. This is because it correctly respects negative values and the fallback mentioned above.
</member>
- <member name="content_margin_left" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0">
+ <member name="content_margin_left" type="float" setter="set_content_margin" getter="get_content_margin" default="-1.0">
The left margin for the contents of this style box. Increasing this value reduces the space available to the contents from the left.
Refer to [member content_margin_bottom] for extra considerations.
</member>
- <member name="content_margin_right" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0">
+ <member name="content_margin_right" type="float" setter="set_content_margin" getter="get_content_margin" default="-1.0">
The right margin for the contents of this style box. Increasing this value reduces the space available to the contents from the right.
Refer to [member content_margin_bottom] for extra considerations.
</member>
- <member name="content_margin_top" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0">
+ <member name="content_margin_top" type="float" setter="set_content_margin" getter="get_content_margin" default="-1.0">
The top margin for the contents of this style box. Increasing this value reduces the space available to the contents from the top.
Refer to [member content_margin_bottom] for extra considerations.
</member>
diff --git a/doc/classes/StyleBoxTexture.xml b/doc/classes/StyleBoxTexture.xml
index aeba777b43..745187ed63 100644
--- a/doc/classes/StyleBoxTexture.xml
+++ b/doc/classes/StyleBoxTexture.xml
@@ -9,36 +9,36 @@
<tutorials>
</tutorials>
<methods>
- <method name="get_expand_margin_size" qualifiers="const">
+ <method name="get_expand_margin" qualifiers="const">
<return type="float" />
<param index="0" name="margin" type="int" enum="Side" />
<description>
Returns the expand margin size of the specified [enum Side].
</description>
</method>
- <method name="get_margin_size" qualifiers="const">
+ <method name="get_texture_margin" qualifiers="const">
<return type="float" />
<param index="0" name="margin" type="int" enum="Side" />
<description>
Returns the margin size of the specified [enum Side].
</description>
</method>
- <method name="set_expand_margin_all">
+ <method name="set_expand_margin">
<return type="void" />
- <param index="0" name="size" type="float" />
+ <param index="0" name="margin" type="int" enum="Side" />
+ <param index="1" name="size" type="float" />
<description>
- Sets the expand margin to [param size] pixels for all margins.
+ Sets the expand margin to [param size] pixels for the specified [enum Side].
</description>
</method>
- <method name="set_expand_margin_size">
+ <method name="set_expand_margin_all">
<return type="void" />
- <param index="0" name="margin" type="int" enum="Side" />
- <param index="1" name="size" type="float" />
+ <param index="0" name="size" type="float" />
<description>
- Sets the expand margin to [param size] pixels for the specified [enum Side].
+ Sets the expand margin to [param size] pixels for all margins.
</description>
</method>
- <method name="set_margin_size">
+ <method name="set_texture_margin">
<return type="void" />
<param index="0" name="margin" type="int" enum="Side" />
<param index="1" name="size" type="float" />
@@ -46,7 +46,7 @@
Sets the margin to [param size] pixels for the specified [enum Side].
</description>
</method>
- <method name="set_margin_size_all">
+ <method name="set_texture_margin_all">
<return type="void" />
<param index="0" name="size" type="float" />
<description>
@@ -64,48 +64,48 @@
<member name="draw_center" type="bool" setter="set_draw_center" getter="is_draw_center_enabled" default="true">
If [code]true[/code], the nine-patch texture's center tile will be drawn.
</member>
- <member name="expand_margin_bottom" type="float" setter="set_expand_margin_size" getter="get_expand_margin_size" default="0.0">
+ <member name="expand_margin_bottom" type="float" setter="set_expand_margin" getter="get_expand_margin" default="0.0">
Expands the bottom margin of this style box when drawing, causing it to be drawn larger than requested.
</member>
- <member name="expand_margin_left" type="float" setter="set_expand_margin_size" getter="get_expand_margin_size" default="0.0">
+ <member name="expand_margin_left" type="float" setter="set_expand_margin" getter="get_expand_margin" default="0.0">
Expands the left margin of this style box when drawing, causing it to be drawn larger than requested.
</member>
- <member name="expand_margin_right" type="float" setter="set_expand_margin_size" getter="get_expand_margin_size" default="0.0">
+ <member name="expand_margin_right" type="float" setter="set_expand_margin" getter="get_expand_margin" default="0.0">
Expands the right margin of this style box when drawing, causing it to be drawn larger than requested.
</member>
- <member name="expand_margin_top" type="float" setter="set_expand_margin_size" getter="get_expand_margin_size" default="0.0">
+ <member name="expand_margin_top" type="float" setter="set_expand_margin" getter="get_expand_margin" default="0.0">
Expands the top margin of this style box when drawing, causing it to be drawn larger than requested.
</member>
- <member name="margin_bottom" type="float" setter="set_margin_size" getter="get_margin_size" default="0.0">
+ <member name="modulate_color" type="Color" setter="set_modulate" getter="get_modulate" default="Color(1, 1, 1, 1)">
+ Modulates the color of the texture when this style box is drawn.
+ </member>
+ <member name="region_rect" type="Rect2" setter="set_region_rect" getter="get_region_rect" default="Rect2(0, 0, 0, 0)">
+ Species a sub-region of the texture to use.
+ This is equivalent to first wrapping the texture in an [AtlasTexture] with the same region.
+ </member>
+ <member name="texture" type="Texture2D" setter="set_texture" getter="get_texture">
+ The texture to use when drawing this style box.
+ </member>
+ <member name="texture_margin_bottom" type="float" setter="set_texture_margin" getter="get_texture_margin" default="0.0">
Increases the bottom margin of the 3×3 texture box.
A higher value means more of the source texture is considered to be part of the bottom border of the 3×3 box.
This is also the value used as fallback for [member StyleBox.content_margin_bottom] if it is negative.
</member>
- <member name="margin_left" type="float" setter="set_margin_size" getter="get_margin_size" default="0.0">
+ <member name="texture_margin_left" type="float" setter="set_texture_margin" getter="get_texture_margin" default="0.0">
Increases the left margin of the 3×3 texture box.
A higher value means more of the source texture is considered to be part of the left border of the 3×3 box.
This is also the value used as fallback for [member StyleBox.content_margin_left] if it is negative.
</member>
- <member name="margin_right" type="float" setter="set_margin_size" getter="get_margin_size" default="0.0">
+ <member name="texture_margin_right" type="float" setter="set_texture_margin" getter="get_texture_margin" default="0.0">
Increases the right margin of the 3×3 texture box.
A higher value means more of the source texture is considered to be part of the right border of the 3×3 box.
This is also the value used as fallback for [member StyleBox.content_margin_right] if it is negative.
</member>
- <member name="margin_top" type="float" setter="set_margin_size" getter="get_margin_size" default="0.0">
+ <member name="texture_margin_top" type="float" setter="set_texture_margin" getter="get_texture_margin" default="0.0">
Increases the top margin of the 3×3 texture box.
A higher value means more of the source texture is considered to be part of the top border of the 3×3 box.
This is also the value used as fallback for [member StyleBox.content_margin_top] if it is negative.
</member>
- <member name="modulate_color" type="Color" setter="set_modulate" getter="get_modulate" default="Color(1, 1, 1, 1)">
- Modulates the color of the texture when this style box is drawn.
- </member>
- <member name="region_rect" type="Rect2" setter="set_region_rect" getter="get_region_rect" default="Rect2(0, 0, 0, 0)">
- Species a sub-region of the texture to use.
- This is equivalent to first wrapping the texture in an [AtlasTexture] with the same region.
- </member>
- <member name="texture" type="Texture2D" setter="set_texture" getter="get_texture">
- The texture to use when drawing this style box.
- </member>
</members>
<constants>
<constant name="AXIS_STRETCH_MODE_STRETCH" value="0" enum="AxisStretchMode">
diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml
index 1efd0f9326..ccd79cd170 100644
--- a/doc/classes/TextEdit.xml
+++ b/doc/classes/TextEdit.xml
@@ -696,7 +696,7 @@
<method name="merge_overlapping_carets">
<return type="void" />
<description>
- Merges any overlapping carets. Will favour the newest caret, or the caret with a selection.
+ Merges any overlapping carets. Will favor the newest caret, or the caret with a selection.
[b]Note:[/b] This is not called when a caret changes position but after certain actions, so it is possible to get into a state where carets overlap.
</description>
</method>
diff --git a/doc/classes/TextServer.xml b/doc/classes/TextServer.xml
index d2c6dee373..711fb89217 100644
--- a/doc/classes/TextServer.xml
+++ b/doc/classes/TextServer.xml
@@ -1042,7 +1042,7 @@
</description>
</method>
<method name="parse_structured_text" qualifiers="const">
- <return type="Vector2i[]" />
+ <return type="Vector3i[]" />
<param index="0" name="parser_type" type="int" enum="TextServer.StructuredTextParser" />
<param index="1" name="args" type="Array" />
<param index="2" name="text" type="String" />
@@ -1634,6 +1634,9 @@
<constant name="DIRECTION_RTL" value="2" enum="Direction">
Text is written from right to left.
</constant>
+ <constant name="DIRECTION_INHERITED" value="3" enum="Direction">
+ Text writing direction is the same as base string writing direction. Used for BiDi override only.
+ </constant>
<constant name="ORIENTATION_HORIZONTAL" value="0" enum="Orientation">
Text is written horizontally.
</constant>
@@ -1881,7 +1884,7 @@
Font have fixed-width characters.
</constant>
<constant name="STRUCTURED_TEXT_DEFAULT" value="0" enum="StructuredTextParser">
- Use default behavior. Same as [constant STRUCTURED_TEXT_NONE] unless specified otherwise in the control description.
+ Use default Unicode BiDi algorithm.
</constant>
<constant name="STRUCTURED_TEXT_URI" value="1" enum="StructuredTextParser">
BiDi override for URI.
@@ -1896,8 +1899,8 @@
BiDi override for lists.
Structured text options: list separator [code]String[/code].
</constant>
- <constant name="STRUCTURED_TEXT_NONE" value="5" enum="StructuredTextParser">
- Use default Unicode BiDi algorithm.
+ <constant name="STRUCTURED_TEXT_GDSCRIPT" value="5" enum="StructuredTextParser">
+ BiDi override for GDScript.
</constant>
<constant name="STRUCTURED_TEXT_CUSTOM" value="6" enum="StructuredTextParser">
User defined structured text BiDi override function.
diff --git a/doc/classes/TextServerExtension.xml b/doc/classes/TextServerExtension.xml
index e144b09eb6..f4b306cf96 100644
--- a/doc/classes/TextServerExtension.xml
+++ b/doc/classes/TextServerExtension.xml
@@ -896,7 +896,7 @@
</description>
</method>
<method name="_parse_structured_text" qualifiers="virtual const">
- <return type="Vector2i[]" />
+ <return type="Vector3i[]" />
<param index="0" name="parser_type" type="int" enum="TextServer.StructuredTextParser" />
<param index="1" name="args" type="Array" />
<param index="2" name="text" type="String" />
diff --git a/doc/classes/Texture2D.xml b/doc/classes/Texture2D.xml
index aac197090a..7329ebb868 100644
--- a/doc/classes/Texture2D.xml
+++ b/doc/classes/Texture2D.xml
@@ -74,6 +74,12 @@
Called when a pixel's opaque state in the [Texture2D] is queried at the specified [code](x, y)[/code] position.
</description>
</method>
+ <method name="create_placeholder" qualifiers="const">
+ <return type="Resource" />
+ <description>
+ Creates a placeholder version of this resource ([PlaceholderTexture2D]).
+ </description>
+ </method>
<method name="draw" qualifiers="const">
<return type="void" />
<param index="0" name="canvas_item" type="RID" />
diff --git a/doc/classes/Texture2DArray.xml b/doc/classes/Texture2DArray.xml
index ec00198db1..6c9fb55bef 100644
--- a/doc/classes/Texture2DArray.xml
+++ b/doc/classes/Texture2DArray.xml
@@ -10,4 +10,12 @@
</description>
<tutorials>
</tutorials>
+ <methods>
+ <method name="create_placeholder" qualifiers="const">
+ <return type="Resource" />
+ <description>
+ Creates a placeholder version of this resource ([PlaceholderTexture2DArray]).
+ </description>
+ </method>
+ </methods>
</class>
diff --git a/doc/classes/Texture3D.xml b/doc/classes/Texture3D.xml
index 1a66932d62..d2df82a74d 100644
--- a/doc/classes/Texture3D.xml
+++ b/doc/classes/Texture3D.xml
@@ -47,6 +47,12 @@
Called when the presence of mipmaps in the [Texture3D] is queried.
</description>
</method>
+ <method name="create_placeholder" qualifiers="const">
+ <return type="Resource" />
+ <description>
+ Creates a placeholder version of this resource ([PlaceholderTexture3D]).
+ </description>
+ </method>
<method name="get_data" qualifiers="const">
<return type="Image[]" />
<description>
diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml
index f67b84f96f..2fd42666b4 100644
--- a/doc/classes/TileMap.xml
+++ b/doc/classes/TileMap.xml
@@ -104,7 +104,8 @@
<param index="1" name="coords" type="Vector2i" />
<param index="2" name="use_proxies" type="bool" default="false" />
<description>
- Returns the tile source ID of the cell on layer [param layer] at coordinates [param coords]. If [param use_proxies] is [code]false[/code], ignores the [TileSet]'s tile proxies, returning the raw alternative identifier. See [method TileSet.map_tile_proxy].
+ Returns the tile source ID of the cell on layer [param layer] at coordinates [param coords]. Returns [code]-1[/code] if the cell does not exist.
+ If [param use_proxies] is [code]false[/code], ignores the [TileSet]'s tile proxies, returning the raw alternative identifier. See [method TileSet.map_tile_proxy].
</description>
</method>
<method name="get_cell_tile_data" qualifiers="const">
@@ -113,8 +114,17 @@
<param index="1" name="coords" type="Vector2i" />
<param index="2" name="use_proxies" type="bool" default="false" />
<description>
- Returns the [TileData] object associated with the given cell, or [code]null[/code] if the cell is not a [TileSetAtlasSource].
+ Returns the [TileData] object associated with the given cell, or [code]null[/code] if the cell does not exist or is not a [TileSetAtlasSource].
If [param use_proxies] is [code]false[/code], ignores the [TileSet]'s tile proxies, returning the raw alternative identifier. See [method TileSet.map_tile_proxy].
+ [codeblock]
+ func get_clicked_tile_power():
+ var clicked_cell = tile_map.local_to_map(tile_map.get_local_mouse_position())
+ var data = tile_map.get_cell_tile_data(0, clicked_cell)
+ if data:
+ return data.get_custom_data("power")
+ else:
+ return 0
+ [/codeblock]
</description>
</method>
<method name="get_coords_for_body_rid">
diff --git a/doc/classes/TileSet.xml b/doc/classes/TileSet.xml
index 7fc6ba8161..a812b52307 100644
--- a/doc/classes/TileSet.xml
+++ b/doc/classes/TileSet.xml
@@ -589,7 +589,7 @@
<param index="0" name="terrain_set" type="int" />
<param index="1" name="mode" type="int" enum="TileSet.TerrainMode" />
<description>
- Sets a terrain mode. Each mode determines which bits of a tile shape is used to match the neighbouring tiles' terrains.
+ Sets a terrain mode. Each mode determines which bits of a tile shape is used to match the neighboring tiles' terrains.
</description>
</method>
</methods>
diff --git a/doc/classes/VehicleBody3D.xml b/doc/classes/VehicleBody3D.xml
index e1689133de..9f905c0ec5 100644
--- a/doc/classes/VehicleBody3D.xml
+++ b/doc/classes/VehicleBody3D.xml
@@ -7,6 +7,7 @@
This node implements all the physics logic needed to simulate a car. It is based on the raycast vehicle system commonly found in physics engines. You will need to add a [CollisionShape3D] for the main body of your vehicle and add [VehicleWheel3D] nodes for the wheels. You should also add a [MeshInstance3D] to this node for the 3D model of your car but this model should not include meshes for the wheels. You should control the vehicle by using the [member brake], [member engine_force], and [member steering] properties and not change the position or orientation of this node directly.
[b]Note:[/b] The origin point of your VehicleBody3D will determine the center of gravity of your vehicle so it is better to keep this low and move the [CollisionShape3D] and [MeshInstance3D] upwards.
[b]Note:[/b] This class has known issues and isn't designed to provide realistic 3D vehicle physics. If you want advanced vehicle physics, you will probably have to write your own physics integration using another [PhysicsBody3D] class.
+ [b]Warning:[/b] With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
</description>
<tutorials>
<link title="3D Truck Town Demo">https://godotengine.org/asset-library/asset/524</link>
diff --git a/doc/classes/VisualInstance3D.xml b/doc/classes/VisualInstance3D.xml
index e069642e50..3781045c02 100644
--- a/doc/classes/VisualInstance3D.xml
+++ b/doc/classes/VisualInstance3D.xml
@@ -64,7 +64,7 @@
<member name="sorting_offset" type="float" setter="set_sorting_offset" getter="get_sorting_offset" default="0.0">
The sorting offset used by this [VisualInstance3D]. Adjusting it to a higher value will make the [VisualInstance3D] reliably draw on top of other [VisualInstance3D]s that are otherwise positioned at the same spot.
</member>
- <member name="sorting_use_aabb_center" type="bool" setter="set_sorting_use_aabb_center" getter="is_sorting_use_aabb_center" default="true">
+ <member name="sorting_use_aabb_center" type="bool" setter="set_sorting_use_aabb_center" getter="is_sorting_use_aabb_center">
If [code]true[/code], the object is sorted based on the [AABB] center. The object will be sorted based on the global position otherwise.
The [AABB] center based sorting is generally more accurate for 3D models. The position based sorting instead allows to better control the drawing order when working with [GPUParticles3D] and [CPUParticles3D].
</member>
diff --git a/doc/classes/VisualShaderNode.xml b/doc/classes/VisualShaderNode.xml
index f95f871e52..685f5d5eef 100644
--- a/doc/classes/VisualShaderNode.xml
+++ b/doc/classes/VisualShaderNode.xml
@@ -58,13 +58,6 @@
Sets the output port index which will be showed for preview. If set to [code]-1[/code] no port will be open for preview.
</member>
</members>
- <signals>
- <signal name="editor_refresh_request">
- <description>
- Emitted when the node requests an editor refresh. Currently called only in setter of [member VisualShaderNodeTexture.source], [VisualShaderNodeTexture], and [VisualShaderNodeCubemap] (and their derivatives).
- </description>
- </signal>
- </signals>
<constants>
<constant name="PORT_TYPE_SCALAR" value="0" enum="PortType">
Floating-point scalar. Translated to [code]float[/code] type in shader code.
diff --git a/doc/classes/Window.xml b/doc/classes/Window.xml
index da31e6761e..c4ea11ab66 100644
--- a/doc/classes/Window.xml
+++ b/doc/classes/Window.xml
@@ -771,8 +771,16 @@
Right-to-left layout direction.
</constant>
<constant name="WINDOW_INITIAL_POSITION_ABSOLUTE" value="0" enum="WindowInitialPosition">
+ Initial window position is determined by [member position].
</constant>
- <constant name="WINDOW_INITIAL_POSITION_CENTER_SCREEN" value="1" enum="WindowInitialPosition">
+ <constant name="WINDOW_INITIAL_POSITION_CENTER_PRIMARY_SCREEN" value="1" enum="WindowInitialPosition">
+ Initial window position is a center of the primary screen.
+ </constant>
+ <constant name="WINDOW_INITIAL_POSITION_CENTER_MAIN_WINDOW_SCREEN" value="2" enum="WindowInitialPosition">
+ Initial window position is a center of the main window screen.
+ </constant>
+ <constant name="WINDOW_INITIAL_POSITION_CENTER_OTHER_SCREEN" value="3" enum="WindowInitialPosition">
+ Initial window position is a center of [member current_screen] screen.
</constant>
</constants>
<theme_items>
diff --git a/doc/classes/XRController3D.xml b/doc/classes/XRController3D.xml
index 9e192177e5..0b21002893 100644
--- a/doc/classes/XRController3D.xml
+++ b/doc/classes/XRController3D.xml
@@ -13,11 +13,18 @@
<link title="XR documentation index">$DOCS_URL/tutorials/xr/index.html</link>
</tutorials>
<methods>
- <method name="get_axis" qualifiers="const">
- <return type="Vector2" />
+ <method name="get_float" qualifiers="const">
+ <return type="float" />
<param index="0" name="name" type="StringName" />
<description>
- Returns a [Vector2] for the input with the given [param name]. This is used for thumbsticks and thumbpads found on many controllers.
+ Returns a numeric value for the input with the given [param name]. This is used for triggers and grip sensors.
+ </description>
+ </method>
+ <method name="get_input" qualifiers="const">
+ <return type="Variant" />
+ <param index="0" name="name" type="StringName" />
+ <description>
+ Returns a [Variant] for the input with the given [param name]. This works for any input type, the variant will be typed according to the actions configuration.
</description>
</method>
<method name="get_tracker_hand" qualifiers="const">
@@ -26,11 +33,11 @@
Returns the hand holding this controller, if known. See [enum XRPositionalTracker.TrackerHand].
</description>
</method>
- <method name="get_value" qualifiers="const">
- <return type="float" />
+ <method name="get_vector2" qualifiers="const">
+ <return type="Vector2" />
<param index="0" name="name" type="StringName" />
<description>
- Returns a numeric value for the input with the given [param name]. This is used for triggers and grip sensors.
+ Returns a [Vector2] for the input with the given [param name]. This is used for thumbsticks and thumbpads found on many controllers.
</description>
</method>
<method name="is_button_pressed" qualifiers="const">
@@ -54,18 +61,18 @@
Emitted when a button on this controller is released.
</description>
</signal>
- <signal name="input_axis_changed">
+ <signal name="input_float_changed">
<param index="0" name="name" type="String" />
- <param index="1" name="value" type="Vector2" />
+ <param index="1" name="value" type="float" />
<description>
- Emitted when a thumbstick or thumbpad on this controller is moved.
+ Emitted when a trigger or similar input on this controller changes value.
</description>
</signal>
- <signal name="input_value_changed">
+ <signal name="input_vector2_changed">
<param index="0" name="name" type="String" />
- <param index="1" name="value" type="float" />
+ <param index="1" name="value" type="Vector2" />
<description>
- Emitted when a trigger or similar input on this controller changes value.
+ Emitted when a thumbstick or thumbpad on this controller is moved.
</description>
</signal>
</signals>
diff --git a/doc/classes/XRPositionalTracker.xml b/doc/classes/XRPositionalTracker.xml
index db2910f25e..93e6a5497c 100644
--- a/doc/classes/XRPositionalTracker.xml
+++ b/doc/classes/XRPositionalTracker.xml
@@ -92,18 +92,18 @@
Emitted when a button on this tracker is released.
</description>
</signal>
- <signal name="input_axis_changed">
+ <signal name="input_float_changed">
<param index="0" name="name" type="String" />
- <param index="1" name="vector" type="Vector2" />
+ <param index="1" name="value" type="float" />
<description>
- Emitted when a thumbstick or thumbpad on this tracker moves.
+ Emitted when a trigger or similar input on this tracker changes value.
</description>
</signal>
- <signal name="input_value_changed">
+ <signal name="input_vector2_changed">
<param index="0" name="name" type="String" />
- <param index="1" name="value" type="float" />
+ <param index="1" name="vector" type="Vector2" />
<description>
- Emitted when a trigger or similar input on this tracker changes value.
+ Emitted when a thumbstick or thumbpad on this tracker moves.
</description>
</signal>
<signal name="pose_changed">
diff --git a/doc/translations/ar.po b/doc/translations/ar.po
index 751017b573..eb8e6dc7b6 100644
--- a/doc/translations/ar.po
+++ b/doc/translations/ar.po
@@ -30107,7 +30107,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/ca.po b/doc/translations/ca.po
index 1552c15271..cce60f13ac 100644
--- a/doc/translations/ca.po
+++ b/doc/translations/ca.po
@@ -30023,7 +30023,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/classes.pot b/doc/translations/classes.pot
index 40ab5e3413..3c793335e2 100644
--- a/doc/translations/classes.pot
+++ b/doc/translations/classes.pot
@@ -1,6 +1,6 @@
# LANGUAGE translation of the Godot Engine class reference.
-# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur.
-# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md).
+# Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md).
+# Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.
# This file is distributed under the same license as the Godot source code.
#
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
@@ -29900,7 +29900,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/cs.po b/doc/translations/cs.po
index 1bd920e19b..b2072217a1 100644
--- a/doc/translations/cs.po
+++ b/doc/translations/cs.po
@@ -30498,7 +30498,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/de.po b/doc/translations/de.po
index 1533aa651d..14d2291f8c 100644
--- a/doc/translations/de.po
+++ b/doc/translations/de.po
@@ -33701,7 +33701,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/el.po b/doc/translations/el.po
index 13c4fbfe68..63ddea8f7b 100644
--- a/doc/translations/el.po
+++ b/doc/translations/el.po
@@ -29951,7 +29951,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/es.po b/doc/translations/es.po
index 8ed223238d..9462004570 100644
--- a/doc/translations/es.po
+++ b/doc/translations/es.po
@@ -39,12 +39,13 @@
# Keyla Arroyos <keylaarroyos@protonmail.com>, 2022.
# Victor Stancioiu <victorstancioiu@gmail.com>, 2022.
# yohanger <yohangerariel@gmail.com>, 2022.
+# Mateo <mfdez920@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-11-29 20:23+0000\n"
-"Last-Translator: yohanger <yohangerariel@gmail.com>\n"
+"PO-Revision-Date: 2023-01-12 06:06+0000\n"
+"Last-Translator: Mateo <mfdez920@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/es/>\n"
"Language: es\n"
@@ -52,7 +53,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.15-dev\n"
+"X-Generator: Weblate 4.15.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -751,7 +752,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns an array of dictionaries representing the current call stack. See "
"also [method print_stack].\n"
@@ -776,7 +776,7 @@ msgid ""
"projects exported in debug mode if not connected to a debugging server."
msgstr ""
"Devuelve un conjunto de diccionarios que representan la pila de llamadas "
-"actual.\n"
+"actual. Véase también [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -39560,6 +39560,7 @@ msgid ""
msgstr ""
#: doc/classes/Input.xml
+#, fuzzy
msgid ""
"Sets a custom mouse cursor image, which is only visible inside the game "
"window. The hotspot can also be specified. Passing [code]null[/code] to the "
@@ -39571,7 +39572,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
"Establece una imagen personalizada del cursor del ratón, que sólo es visible "
"dentro de la ventana del juego. También se puede especificar el punto de "
diff --git a/doc/translations/et.po b/doc/translations/et.po
index 7f92671d8f..b7512b6ae5 100644
--- a/doc/translations/et.po
+++ b/doc/translations/et.po
@@ -29913,7 +29913,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/fa.po b/doc/translations/fa.po
index 787c7ff937..ce5dd6b0c2 100644
--- a/doc/translations/fa.po
+++ b/doc/translations/fa.po
@@ -30352,7 +30352,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/fi.po b/doc/translations/fi.po
index fc517a6ff5..0f19296424 100644
--- a/doc/translations/fi.po
+++ b/doc/translations/fi.po
@@ -30034,7 +30034,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/fil.po b/doc/translations/fil.po
index 749fea9ef9..bfa8c75c7a 100644
--- a/doc/translations/fil.po
+++ b/doc/translations/fil.po
@@ -29919,7 +29919,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/fr.po b/doc/translations/fr.po
index 2898e9ec19..a57c138429 100644
--- a/doc/translations/fr.po
+++ b/doc/translations/fr.po
@@ -60,13 +60,14 @@
# Augustin Ambiehl <ambiehlaugustin@gmail.com>, 2022.
# Landry Simo <landrysimo99@gmail.com>, 2022.
# Alexis Coudert <coudert.alex@gmail.com>, 2022.
+# Callim Ethee <callimethee@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-12-03 00:47+0000\n"
-"Last-Translator: Alexis Coudert <coudert.alex@gmail.com>\n"
+"PO-Revision-Date: 2023-01-01 02:51+0000\n"
+"Last-Translator: Callim Ethee <callimethee@gmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/fr/>\n"
"Language: fr\n"
@@ -74,7 +75,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.15-dev\n"
+"X-Generator: Weblate 4.15.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -137,9 +138,8 @@ msgid "Default"
msgstr "Défaut"
#: doc/tools/make_rst.py
-#, fuzzy
msgid "Setter"
-msgstr "Setter"
+msgstr "Donneur"
#: doc/tools/make_rst.py
msgid "value"
@@ -39456,7 +39456,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/gl.po b/doc/translations/gl.po
index 67bd7d902f..9b3ea41370 100644
--- a/doc/translations/gl.po
+++ b/doc/translations/gl.po
@@ -29908,7 +29908,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/hi.po b/doc/translations/hi.po
index 75318a4554..ca1ba04874 100644
--- a/doc/translations/hi.po
+++ b/doc/translations/hi.po
@@ -29907,7 +29907,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/hu.po b/doc/translations/hu.po
index e99babd548..f5a053dfc9 100644
--- a/doc/translations/hu.po
+++ b/doc/translations/hu.po
@@ -29927,7 +29927,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/id.po b/doc/translations/id.po
index ad63a828e5..8a1e757105 100644
--- a/doc/translations/id.po
+++ b/doc/translations/id.po
@@ -30324,7 +30324,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/is.po b/doc/translations/is.po
index 6bf49858f4..0afd2be589 100644
--- a/doc/translations/is.po
+++ b/doc/translations/is.po
@@ -29907,7 +29907,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/it.po b/doc/translations/it.po
index 37488c9ebd..35ff1ac6f3 100644
--- a/doc/translations/it.po
+++ b/doc/translations/it.po
@@ -31127,7 +31127,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/ja.po b/doc/translations/ja.po
index cabf1da54a..2798995dfa 100644
--- a/doc/translations/ja.po
+++ b/doc/translations/ja.po
@@ -33191,7 +33191,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/ko.po b/doc/translations/ko.po
index 72a7780a4c..3b3137f849 100644
--- a/doc/translations/ko.po
+++ b/doc/translations/ko.po
@@ -19,12 +19,13 @@
# 이지민 <jiminaleejung@gmail.com>, 2022.
# nulltable <un5450@naver.com>, 2022.
# Godoto <aicompose@gmail.com>, 2022.
+# 오지훈 <jule1130@naver.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-10-18 18:00+0000\n"
-"Last-Translator: Godoto <aicompose@gmail.com>\n"
+"PO-Revision-Date: 2023-01-19 14:47+0000\n"
+"Last-Translator: 오지훈 <jule1130@naver.com>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/ko/>\n"
"Language: ko\n"
@@ -32,11 +33,11 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.15-dev\n"
+"X-Generator: Weblate 4.15.1\n"
#: doc/tools/make_rst.py
msgid "Description"
-msgstr "서술"
+msgstr "설명"
#: doc/tools/make_rst.py
msgid "Tutorials"
@@ -30234,7 +30235,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/lt.po b/doc/translations/lt.po
index 1cf0ffef48..c52d238af9 100644
--- a/doc/translations/lt.po
+++ b/doc/translations/lt.po
@@ -29917,7 +29917,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/lv.po b/doc/translations/lv.po
index fd9ddf6f51..bf5aa78341 100644
--- a/doc/translations/lv.po
+++ b/doc/translations/lv.po
@@ -29925,7 +29925,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/mr.po b/doc/translations/mr.po
index 19db2e5f94..71013cc0e7 100644
--- a/doc/translations/mr.po
+++ b/doc/translations/mr.po
@@ -29905,7 +29905,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/nb.po b/doc/translations/nb.po
index 3b7f482e48..6431d1756d 100644
--- a/doc/translations/nb.po
+++ b/doc/translations/nb.po
@@ -29917,7 +29917,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/ne.po b/doc/translations/ne.po
index c616f7b4e1..b043d7c5af 100644
--- a/doc/translations/ne.po
+++ b/doc/translations/ne.po
@@ -29905,7 +29905,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/nl.po b/doc/translations/nl.po
index cf40d032cf..de3a4a7497 100644
--- a/doc/translations/nl.po
+++ b/doc/translations/nl.po
@@ -29978,7 +29978,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/pl.po b/doc/translations/pl.po
index cd2bedd302..a5c59f489b 100644
--- a/doc/translations/pl.po
+++ b/doc/translations/pl.po
@@ -30529,7 +30529,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/pt.po b/doc/translations/pt.po
index d3d9b9aadf..0f7b9f54e3 100644
--- a/doc/translations/pt.po
+++ b/doc/translations/pt.po
@@ -4,7 +4,7 @@
# This file is distributed under the same license as the Godot source code.
#
# Reubens Sanders <reubensst@protonmail.com>, 2021.
-# ssantos <ssantos@web.de>, 2022.
+# ssantos <ssantos@web.de>, 2022, 2023.
# Felipe SiFa <felipe@logus.digital>, 2022.
# Renu <ifpilucas@gmail.com>, 2022.
# Diogo Gomes <dgomes@graphnode.com>, 2022.
@@ -18,7 +18,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-11-18 16:48+0000\n"
+"PO-Revision-Date: 2023-01-11 16:51+0000\n"
"Last-Translator: ssantos <ssantos@web.de>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/pt/>\n"
@@ -27,7 +27,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.15-dev\n"
+"X-Generator: Weblate 4.15.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -394,8 +394,8 @@ msgid ""
"[/codeblock]\n"
"This is the inverse of [method ord]."
msgstr ""
-"Retorna um caractere como uma String de um dado code point Unicode (que é "
-"compatível com ASCII code);\n"
+"Retorna um caractere como uma cadeia de caracteres de um dado code point "
+"Unicode (compatível com ASCII code);\n"
"[codeblock]\n"
"a = char(65) # a é \"A\"\n"
"a = char(65 + 32) # a é \"a\"\n"
@@ -517,15 +517,15 @@ msgid ""
"want a true content-aware comparison, you have to use [code]deep_equal[/"
"code]."
msgstr ""
-"Compara dois valores verificando seu conteúdo real, por meio de recursão em "
-"um [Array] ou [Dictionary] em todos os seus níveis.\n"
-"Esta função se asemelha ou difere de [code]==[/code] de diversas maneiras:\n"
+"Compara dois valores verificando o conteúdo real deles, por meio de recursão "
+"em um [Array] ou [Dictionary] em todos os seus níveis.\n"
+"Esta função compara a [code]==[/code] de diversas maneiras:\n"
"- Para [code]null[/code], [code]int[/code], [code]float[/code], "
"[code]String[/code], [code]Object[/code] e [code] RID[/code] tanto "
"[code]deep_equal[/code] quanto [code]==[/code] funcionam da mesma forma.\n"
"- Para [code]Dictionary[/code], [code]==[/code] considera-se igual se, e "
"somente se, ambas as variáveis apontarem para o mesmo [code]Dictionary[/"
-"code], sem recursão ou checagem de seu conteúdo.\n"
+"code], sem recursão ou checagem do seu conteúdo.\n"
"- Para [code]Array[/code], [code]==[/code] considera igual se, e somente se, "
"cada item no primeiro [code]Array[/code] for igual ao seu homólogo no "
"segundo [ code]Array[/code], conforme informado pelo próprio [code]==[/"
@@ -928,7 +928,7 @@ msgid ""
"[/codeblock]"
msgstr ""
"Retorna o comprimento da Variant [code]var[/code]. Comprimento é a contagem "
-"de caracteres de uma String, contagem de elementos de uma Array, o tamanho "
+"de caracteres de uma cadeia, contagem de elementos de uma Array, o tamanho "
"de um Dicionario, etc.\n"
"[b]Note:[/b] Gera um erro fatal se Variant não puder retornar um "
"comprimento.\n"
@@ -1361,7 +1361,7 @@ msgid ""
"distinguishes them from print messages used for debugging purposes, while "
"also displaying a stack trace when an error or warning is printed."
msgstr ""
-"Converte um ou mais argumentos de qualquer tipo para string da melhor "
+"Converte um ou mais argumentos de qualquer tipo para cadeia da melhor "
"maneira possível e imprime no console\n"
"[codeblock]\n"
"a = [1, 2, 3]\n"
@@ -1370,7 +1370,7 @@ msgstr ""
"[b]Nota:[/b] Considere usar [method push_error] e [method push_warning] para "
"imprimir mensagens de erro e aviso ao invés de [method print]. Isso os "
"distinguirá de impressões com propósito de depuração e também mostrará um "
-"rastreamento de pilha quando um erro ou aviso é impresso ."
+"rastreamento de pilha quando um erro ou aviso é impresso."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1890,7 +1890,7 @@ msgid ""
"len(b) # Returns 12\n"
"[/codeblock]"
msgstr ""
-"Converte um ou mais argumentos de quaisquer tipos para string na melhor "
+"Converte um ou mais argumentos de quaisquer tipos para cadeia na melhor "
"maneira possível.\n"
"[codeblock]\n"
"var a = [10, 20, 30]\n"
@@ -1909,7 +1909,7 @@ msgid ""
"print(b[\"a\"]) # Prints 1\n"
"[/codeblock]"
msgstr ""
-"Converte um string formatado que foi retornado por [method var2str] para o "
+"Converte uma cadeia formatada que foi retornada por [method var2str] para o "
"valor original.\n"
"[codeblock]\n"
"a = '{ \"a\": 1, \"b\": 2 }'\n"
@@ -2025,8 +2025,8 @@ msgid ""
" push_error(\"Invalid JSON: \" + v)\n"
"[/codeblock]"
msgstr ""
-"Verifica se [code]json[/code] contém dados JSON válidos. Retorna um String "
-"vazio se válido, ou uma mensagem de erro caso contrário.\n"
+"Verifica se [code]json[/code] contém dados JSON válidos. Retorna uma cadeia "
+"vazia se for válida ou uma mensagem de erro caso contrário.\n"
"[codeblock]\n"
"j = to_json([1, 2, 3])\n"
"v = validate_json(j)\n"
@@ -2062,8 +2062,8 @@ msgid ""
"}\n"
"[/codeblock]"
msgstr ""
-"Converte uma Variant [code]var[/code] para um string formatado que pode ser "
-"convertido de volta com [method str2var].\n"
+"Converte uma Variant [code]var[/code] para uma cadeia formatada que pode ser "
+"convertida de volta com [method str2var].\n"
"[codeblock]\n"
"a = { \"a\": 1, \"b\": 2 }\n"
"print(var2str(a))\n"
@@ -3555,59 +3555,59 @@ msgstr "Máscara da tecla Group Switch."
#: doc/classes/@GlobalScope.xml
msgid "Left mouse button."
-msgstr "Botão esquerdo do mouse."
+msgstr "Botão esquerdo do rato."
#: doc/classes/@GlobalScope.xml
msgid "Right mouse button."
-msgstr "Botão direito do mouse."
+msgstr "Botão direito do rato."
#: doc/classes/@GlobalScope.xml
msgid "Middle mouse button."
-msgstr "Botão central do mouse."
+msgstr "Botão central do rato."
#: doc/classes/@GlobalScope.xml
msgid "Extra mouse button 1 (only present on some mice)."
-msgstr "Primeiro botão extra do mouse (disponível em apenas alguns mouses)."
+msgstr "Primeiro botão extra do rato (disponível em apenas alguns ratos)."
#: doc/classes/@GlobalScope.xml
msgid "Extra mouse button 2 (only present on some mice)."
-msgstr "Segundo botão extra do mouse (disponível em apenas alguns mouses)."
+msgstr "Segundo botão extra do rato (disponível em apenas alguns ratos)."
#: doc/classes/@GlobalScope.xml
msgid "Mouse wheel up."
-msgstr "Roda do mouse para cima."
+msgstr "Roda do rato para cima."
#: doc/classes/@GlobalScope.xml
msgid "Mouse wheel down."
-msgstr "Roda do mouse para baixo."
+msgstr "Roda do rato para baixo."
#: doc/classes/@GlobalScope.xml
msgid "Mouse wheel left button (only present on some mice)."
-msgstr "Botão esquerdo da roda do mouse (disponível em apenas alguns mouses)."
+msgstr "Botão esquerdo da roda do rato (disponível em apenas alguns ratos)."
#: doc/classes/@GlobalScope.xml
msgid "Mouse wheel right button (only present on some mice)."
-msgstr "Botão direito da roda do mouse (disponível em apenas alguns mouses)."
+msgstr "Botão direito da roda do rato (disponível em apenas alguns ratos)."
#: doc/classes/@GlobalScope.xml
msgid "Left mouse button mask."
-msgstr "Máscara do botão esquerdo do mouse."
+msgstr "Máscara do botão esquerdo do rato."
#: doc/classes/@GlobalScope.xml
msgid "Right mouse button mask."
-msgstr "Máscara do botão direito do mouse."
+msgstr "Máscara do botão direito do rato."
#: doc/classes/@GlobalScope.xml
msgid "Middle mouse button mask."
-msgstr "Máscara do botão central do mouse."
+msgstr "Máscara do botão central do rato."
#: doc/classes/@GlobalScope.xml
msgid "Extra mouse button 1 mask."
-msgstr "Máscara do primeiro botão extra do mouse."
+msgstr "Máscara do primeiro botão extra do rato."
#: doc/classes/@GlobalScope.xml
msgid "Extra mouse button 2 mask."
-msgstr "Máscara do segundo botão extra do mouse."
+msgstr "Máscara do segundo botão extra do rato."
#: doc/classes/@GlobalScope.xml
msgid "Invalid button or axis."
@@ -4354,7 +4354,6 @@ msgid ""
msgstr ""
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid ""
"Hints that a float property should be edited via an exponential easing "
"function. The hint string can include [code]\"attenuation\"[/code] to flip "
@@ -4362,9 +4361,9 @@ msgid ""
"easing."
msgstr ""
"Sugere que uma propriedade float deve ser editada através de uma função de "
-"suavização. A string de sugestão pode incluir [code]\"attenuation\"[/code] "
-"para virar a curva horizontalmente e/ou [code]\"inout\"[/code] para incluir "
-"também a suavização in/out."
+"flexibilização. A cadeia de sugestão pode incluir [code]\"attenuation\"[/"
+"code] para virar a curva horizontalmente e/ou [code]\"inout\"[/code] para "
+"incluir também a flexibilização in/out."
#: doc/classes/@GlobalScope.xml
msgid "Deprecated hint, unused."
@@ -17844,11 +17843,11 @@ msgstr ""
#: doc/classes/Control.xml
msgid "Sent when the mouse pointer enters the node."
-msgstr "Enviado quando o ponteiro do mouse entra no nó."
+msgstr "Enviado quando o ponteiro do rato entra no nó."
#: doc/classes/Control.xml
msgid "Sent when the mouse pointer exits the node."
-msgstr "Enviado quando o ponteiro do mouse sai do nó."
+msgstr "Enviado quando o ponteiro do rato sai do nó."
#: doc/classes/Control.xml
msgid "Sent when the node grabs focus."
@@ -30979,7 +30978,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
@@ -37028,7 +37031,7 @@ msgstr ""
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
#, fuzzy
msgid "Sets the position of the agent in world space."
-msgstr "Retorna a posição global do mouse."
+msgstr "Retorna a posição global do rato."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
#, fuzzy
@@ -37256,7 +37259,7 @@ msgstr ""
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
#, fuzzy
msgid "Sets the global transformation for the region."
-msgstr "Retorna a posição global do mouse."
+msgstr "Retorna a posição global do rato."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
#, fuzzy
@@ -65291,11 +65294,11 @@ msgstr "Emitido quando um item é editado."
#: doc/classes/Tree.xml
msgid "Emitted when an item is edited using the right mouse button."
-msgstr "Emitido quando um item é editado com botão direito do mouse."
+msgstr "Emitido quando um item é editado com botão direito do rato."
#: doc/classes/Tree.xml
msgid "Emitted when an item is selected with the right mouse button."
-msgstr "Emitido quando um item é selecionado com o botão direito do mouse."
+msgstr "Emitido quando um item é selecionado com o botão direito do rato."
#: doc/classes/Tree.xml
msgid "Emitted when an item is selected."
@@ -65310,7 +65313,7 @@ msgstr ""
#: doc/classes/Tree.xml
msgid "Emitted when a left mouse button click does not select any item."
msgstr ""
-"Emitido quando um clique com o botão esquerdo do mouse não seleciona nenhum "
+"Emitido quando um clique com o botão esquerdo do rato não seleciona nenhum "
"item."
#: doc/classes/Tree.xml
diff --git a/doc/translations/pt_BR.po b/doc/translations/pt_BR.po
index 463bc9c957..687566bef1 100644
--- a/doc/translations/pt_BR.po
+++ b/doc/translations/pt_BR.po
@@ -45,12 +45,13 @@
# Mr.Albino <ricmorsoleto@gmail.com>, 2022.
# Zer0-Zer0 <dankmemerson@tutanota.com>, 2022.
# Julio Yagami <juliohenrique31501234@hotmail.com>, 2022.
+# Andrey Gonçalves <kaptaryd@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-12-09 19:48+0000\n"
-"Last-Translator: Julio Yagami <juliohenrique31501234@hotmail.com>\n"
+"PO-Revision-Date: 2023-01-09 20:42+0000\n"
+"Last-Translator: Andrey Gonçalves <kaptaryd@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"godot-engine/godot-class-reference/pt_BR/>\n"
"Language: pt_BR\n"
@@ -58,7 +59,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.15-dev\n"
+"X-Generator: Weblate 4.15.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -860,7 +861,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns an interpolation or extrapolation factor considering the range "
"specified in [code]from[/code] and [code]to[/code], and the interpolated "
@@ -883,8 +883,26 @@ msgid ""
"See also [method lerp] which performs the reverse of this operation, and "
"[method range_lerp] to map a continuous series of values to another."
msgstr ""
-"Retornar a interpolação ou extrapolação do fator considerando o ranger "
-"específico [code ]para[/code]"
+"Retorna o fator de interpolação ou extrapolação considerando o intervalo "
+"especificado no [code]de[/code] e [code]para[/code], e o valor interpolado "
+"especificado no [code]peso[/code]. O valor retornado irá ser entre "
+"[code]0.0[/code] e [code]1.0[/code] se [code]peso[/code] for entre [code]de[/"
+"code] e [code]para[/code] (inclusivo). Se [code]peso[/code] está fora do "
+"intervalo especificado, então um fator de extrapolação será retornado "
+"(retorna valor menor que [code]0.0[/code] ou maior que [code]1.0[/code]). "
+"Use [method clamp] no resultado do [method inverse_lerp] se isso não for o "
+"desejado.\n"
+"[codeblock]\n"
+"# A razão da interpolação no uso do `lerp()` abaixo é 0.75.\n"
+"var meio = lerp(20, 30, 0.75)\n"
+"#`meio` agora é 27.5.\n"
+"# Agora, vamos fingir que esquecemos a razão original e o queremos de "
+"volta.\n"
+"var razao = inverse_lerp(20, 30, 27.5)\n"
+"#`razao` agora é 0.75.\n"
+"[/codeblock]\n"
+"Veja também o [method lerp] que faz o inverso desta operação, e [method "
+"range_lerp] para mapear uma série contínua de valores uns aos outros."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1423,6 +1441,17 @@ msgid ""
"print_stack] will not work in projects exported in release mode, or in "
"projects exported in debug mode if not connected to a debugging server."
msgstr ""
+"Imprime um rastreamento de pilha no local do código atual. Veja também "
+"[method get_stack]\n"
+"A saída no console seria mais ou menos assim:\n"
+"[codeblock]\n"
+"Frame 0 - res://test.gd:16 in function '_process'\n"
+"[/codeblock]\n"
+"[b]Nota:[/b] [method print_stack] só funciona se a instância em execução "
+"estiver conectada a um servidor de depuração (ou seja, uma instância do "
+"editor). [method print_stack] não funcionará em projetos exportados no modo "
+"de lançamento ou em projetos exportados no modo de depuração se não estiver "
+"conectado a um servidor de depuração."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -4070,74 +4099,105 @@ msgid ""
"down on the key after it \"bottoms out\". This message is different from "
"polyphonic after-touch as it indicates the highest pressure across all keys."
msgstr ""
+"Mensagem de pressão do canal MIDI. Esta mensagem geralmente é enviada ao "
+"pressionar a tecla após ela \"ir de dentro pra fora\". Essa mensagem é "
+"diferente do pós-toque polifônico, pois indica a pressão mais alta em todas "
+"as teclas."
#: doc/classes/@GlobalScope.xml
msgid ""
"MIDI pitch bend message. This message is sent to indicate a change in the "
"pitch bender (wheel or lever, typically)."
msgstr ""
+"Mensagem MIDI de dobra de tom (pitch bend). Esta mensagem é enviada para "
+"indicar uma mudança no dobrador de tom (roda ou alavanca, tipicamente)."
#: doc/classes/@GlobalScope.xml
msgid ""
"MIDI system exclusive message. This has behavior exclusive to the device "
"you're receiving input from. Getting this data is not implemented in Godot."
msgstr ""
+"Mensagem exclusiva do sistema MIDI. Isso tem um comportamento exclusivo do "
+"dispositivo do qual você está recebendo entrada. A obtenção desses dados não "
+"está implementada no Godot."
#: doc/classes/@GlobalScope.xml
msgid ""
"MIDI quarter frame message. Contains timing information that is used to "
"synchronize MIDI devices. Getting this data is not implemented in Godot."
msgstr ""
+"Mensagem MIDI de um quarto de quadro. Contém informações de tempo usadas "
+"para sincronizar dispositivos MIDI. A obtenção desses dados não está "
+"implementada no Godot."
#: doc/classes/@GlobalScope.xml
msgid ""
"MIDI song position pointer message. Gives the number of 16th notes since the "
"start of the song. Getting this data is not implemented in Godot."
msgstr ""
+"Mensagem de ponteiro de posição de música MIDI. Dá o número de semicolcheias "
+"(cada 16ª nota) desde o início da música. A obtenção desses dados não está "
+"implementada no Godot."
#: doc/classes/@GlobalScope.xml
msgid ""
"MIDI song select message. Specifies which sequence or song is to be played. "
"Getting this data is not implemented in Godot."
msgstr ""
+"Mensagem MIDI de seleção de música. Especifica qual sequência ou música será "
+"tocada. A obtenção desses dados não está implementada no Godot."
#: doc/classes/@GlobalScope.xml
msgid ""
"MIDI tune request message. Upon receiving a tune request, all analog "
"synthesizers should tune their oscillators."
msgstr ""
+"Mensagem de solicitação de sintonia MIDI. Ao receber uma solicitação de "
+"sintonia, todos os sintetizadores analógicos devem sintonizar seus "
+"osciladores."
#: doc/classes/@GlobalScope.xml
msgid ""
"MIDI timing clock message. Sent 24 times per quarter note when "
"synchronization is required."
msgstr ""
+"Mensagem de relógio de tempo MIDI. Enviado 24 vezes por semínima quando a "
+"sincronização é necessária."
#: doc/classes/@GlobalScope.xml
msgid ""
"MIDI start message. Start the current sequence playing. This message will be "
"followed with Timing Clocks."
msgstr ""
+"mensagem de início MIDI. Inicie a reprodução da sequência atual. Esta "
+"mensagem será seguida de relógios de temporização."
#: doc/classes/@GlobalScope.xml
msgid "MIDI continue message. Continue at the point the sequence was stopped."
msgstr ""
+"Mensagem de continuação MIDI. Continue no ponto em que a sequência foi "
+"interrompida."
#: doc/classes/@GlobalScope.xml
msgid "MIDI stop message. Stop the current sequence."
-msgstr ""
+msgstr "Mensagem de parada MIDI. Pare a sequência atual."
#: doc/classes/@GlobalScope.xml
msgid ""
"MIDI active sensing message. This message is intended to be sent repeatedly "
"to tell the receiver that a connection is alive."
msgstr ""
+"Mensagem de detecção ativa de MIDI. Esta mensagem deve ser enviada "
+"repetidamente para informar ao receptor que uma conexão está ativa."
#: doc/classes/@GlobalScope.xml
msgid ""
"MIDI system reset message. Reset all receivers in the system to power-up "
"status. It should not be sent on power-up itself."
msgstr ""
+"Mensagem de reinicialização do sistema MIDI. Redefina todos os receptores no "
+"sistema para o status de inicialização. Ele não deve ser enviado no próprio "
+"power-up."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -31205,7 +31265,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/ro.po b/doc/translations/ro.po
index dd88e8d66b..94c966c61c 100644
--- a/doc/translations/ro.po
+++ b/doc/translations/ro.po
@@ -29940,7 +29940,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/ru.po b/doc/translations/ru.po
index 9d569d7760..b76873e4f1 100644
--- a/doc/translations/ru.po
+++ b/doc/translations/ru.po
@@ -57,12 +57,14 @@
# Handsless coder <yfintktajy1@gmail.com>, 2022.
# Evgeniy Khramov <thejenjagamertjg@gmail.com>, 2022.
# Григорий <bolon667@gmail.com>, 2022.
+# Artur Leonov (Depish) <depish.eskry@yandex.ru>, 2022.
+# Patrik <avdmur@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-12-06 11:48+0000\n"
-"Last-Translator: Григорий <bolon667@gmail.com>\n"
+"PO-Revision-Date: 2022-12-23 10:00+0000\n"
+"Last-Translator: Patrik <avdmur@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/ru/>\n"
"Language: ru\n"
@@ -71,7 +73,7 @@ msgstr ""
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.15-dev\n"
+"X-Generator: Weblate 4.15.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -127,7 +129,7 @@ msgstr "Унаследовано:"
#: doc/tools/make_rst.py
msgid "(overrides %s)"
-msgstr "(переназначает %s)"
+msgstr "(переопределяет %s)"
#: doc/tools/make_rst.py
msgid "Default"
@@ -461,9 +463,9 @@ msgstr ""
"Ограничивает [code]value[/code], возвращая значение не меньше [code]min[/"
"code] и не больше [code]max[/code].\n"
"[codeblock]\n"
-"a = clamp(1000, 1, 20) # a будет 20\n"
-"a = clamp(-10, 1, 20) # a будет 1\n"
-"a = clamp(15, 1, 20) # a будет 15\n"
+"a = clamp(1000, 1, 20) # вернёт 20\n"
+"a = clamp(-10, 1, 20) # вернёт 1\n"
+"a = clamp(15, 1, 20) # вернёт 15\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -534,12 +536,12 @@ msgid ""
"a = dectime(60, 10, 0.1)) # a is 59.0\n"
"[/codeblock]"
msgstr ""
-"[b]Примечание:[/b] [code]dectime[/code] был устаревшим и будет удален в "
-"Godot 4.0, пожалуйста, используйте [метод move_toward] вместо него.\n"
+"[b]Примечание:[/b] [code]dectime[/code] устарел и будет удален в Godot 4.0, "
+"пожалуйста, используйте [method move_toward] вместо него.\n"
"Возвращает результат [code]value[/code], уменьшенный на [code]step[/code] * "
"[code]amount[/code].\n"
"[codeblock]\n"
-"a = dectime(60, 10, 0.1)) # a равно 59.0\n"
+"a = dectime(60, 10, 0.1)) # вернёт59.0\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -635,7 +637,7 @@ msgstr ""
"[/codeblock]\n"
"[url=https://raw.githubusercontent.com/godotengine/godot-docs/3.4/img/"
"ease_cheatsheet.png]ease() шпаргалка значений кривой[/url]\n"
-"См. также [метод smoothstep]. Если вам нужно выполнить более сложные "
+"См. также [method smoothstep]. Если вам нужно выполнить более сложные "
"переходы, используйте [Tween] или [AnimationPlayer]."
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -766,7 +768,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns an array of dictionaries representing the current call stack. See "
"also [method print_stack].\n"
@@ -790,22 +791,27 @@ msgid ""
"get_stack] will not work in projects exported in release mode, or in "
"projects exported in debug mode if not connected to a debugging server."
msgstr ""
-"Возвращает массив словарей, представляющий текущий стек вызовов.\n"
+"Возвращает массив словарей, представляющий текущий стек вызовов. См. также "
+"[method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
-" foo()\n"
+"\tfoo()\n"
"\n"
"func foo():\n"
-" bar()\n"
+"\tbar()\n"
"\n"
"func bar():\n"
-" print(get_stack())\n"
+"\tprint(get_stack())\n"
"[/codeblock]\n"
"выведет\n"
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Примечание:[/b] [method get_stack] работает только при подключенном "
+"сервере отладки (например в редакторе). [method get_stack] не будет работать "
+"в проектах, экспортированных в режиме release или в проектах "
+"экспортированных в режиме debug, если они не подключены к серверу отладки."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -914,7 +920,8 @@ msgstr ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` теперь 0.75.\n"
"[/codeblock]\n"
-"Смотрите также [метод lerp], который выполняет обратную этой операцию."
+"Смотрите также [method lerp], который выполняет обратную операцию и [method "
+"range_lerp] для отображения последовательного ряда значений в другом."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1048,23 +1055,23 @@ msgid ""
msgstr ""
"Линейная интерполяция между двумя углами (в радианах) по нормализованному "
"значению.\n"
-"Аналогично [методу lerp], но корректно интерполируется, когда углы "
-"оборачивают вокруг [константы @GDScript.TAU]. Чтобы выполнить упрощенную "
-"интерполяцию с помощью [метода lerp_angle], объедините его с [методом ease] "
-"или [методом smoothstep].\n"
+"Аналогично [method lerp], но корректно интерполируется, когда углы "
+"оборачивают вокруг [constant @GDScript.TAU]. Чтобы выполнить упрощенную "
+"интерполяцию с помощью [method lerp_angle], объедините его с [method ease] "
+"или [method smoothstep].\n"
"[codeblock]\n"
"extends Sprite\n"
"var elapsed = 0.0\n"
"func _process(delta):\n"
-" var min_angle = deg2rad(0.0)\n"
-" var max_angle = deg2rad(90.0)\n"
-" rotation = lerp_angle(min_angle, max_angle, elapsed)\n"
-" elapsed += delta\n"
+"\tvar min_angle = deg2rad(0.0)\n"
+"\tvar max_angle = deg2rad(90.0)\n"
+"\trotation = lerp_angle(min_angle, max_angle, elapsed)\n"
+"\telapsed += delta\n"
"[/codeblock]\n"
"[b]Примечание:[/b] Этот метод проходит через кратчайший путь между "
"[code]from[/code] и [code]to[/code]. Тем не менее, если разница между этими "
-"двумя углами и любым целым числом [code]k[/code] приблизительно [code]PI + "
-"k * TAU[/code], неочевидно в какую сторону [/code]из-за ошибок в точности "
+"двумя углами и любым целым числом [code]k[/code] приблизительно [code]PI + k "
+"* TAU[/code], неочевидно в какую сторону [/code]из-за ошибок в точности "
"чисел с плавающей точкой. Например, [code]lerp_angle(0, PI, weight)[/code] "
"оборачивается против часовой стрелки, а [code]lerp_angle(0, PI + 5 * TAU, "
"weight)[/code] оборачивается по часовой."
@@ -1098,6 +1105,7 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
"Loads a resource from the filesystem located at [code]path[/code]. The "
"resource is loaded on the method call (unless it's referenced already "
@@ -1124,19 +1132,19 @@ msgstr ""
"ссылаются в другом месте, например, в другом скрипте или в сцене), что может "
"вызвать небольшую задержку, особенно при загрузке сцен. Чтобы избежать "
"ненужных задержек при многократной загрузке чего-либо, либо сохраните ресурс "
-"в переменной, либо используйте [метод preload].\n"
+"в переменной, либо используйте [method preload].\n"
"[b]Примечание: [/b] Пути к ресурсам можно получить, щёлкнув правой кнопкой "
"мыши на ресурсе в панели «Файловая система» и выбрав \"Копировать путь\" или "
"перетащив файл из панели «Файловая система» в сценарий.\n"
"[codeblock]\n"
"# Load a scene called main located in the root of the project directory and "
"cache it in a variable.\n"
-"var main = load(\"res://main.tscn\") # main will contain a PackedScene "
-"resource.\n"
+"var main = load(\"res://main.tscn\") # main будет содержать объект "
+"PackedScene.\n"
"[/codeblock]\n"
"[b]Важно:[/b] Путь должен быть абсолютным, локальный путь просто вернет "
"[code]null[/code].\n"
-"Этот метод представляет собой упрощенную версию [метода ResourceLoader."
+"Этот метод представляет собой упрощенную версию [method ResourceLoader."
"load], который можно использовать для более сложных сценариев."
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1449,6 +1457,16 @@ msgid ""
"print_stack] will not work in projects exported in release mode, or in "
"projects exported in debug mode if not connected to a debugging server."
msgstr ""
+"Выводит стек вызовов из текущей функции. Смотрите также: [method "
+"get_stack].\n"
+"Вывод в консоли будет примерно таким:\n"
+"[codeblock]\n"
+"Frame 0 - res://test.gd:16 in function '_process'\n"
+"[/codeblock]\n"
+"[b]Примечание:[/b] [method print_stack] работает только при подключенном "
+"сервере отладки (например в редакторе). [method print_stack] не будет "
+"работать в проектах, экспортированных в режиме release или в проектах "
+"экспортированных в режиме debug, если они не подключены к серверу отладки."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1687,7 +1705,7 @@ msgid ""
"3\n"
"[/codeblock]"
msgstr ""
-"Возвращает массив с заданным диапазоном. [метод range] может быть вызван "
+"Возвращает массив с заданным диапазоном. [method range] может быть вызван "
"тремя способами:\n"
"[code]range(n: int)[/code]: Начинается с 0, увеличивается с шагом в 1 и "
"останавливается [i]перед[/i] [code]n[/code]. Аргумент [code]n[/code] это "
@@ -1702,16 +1720,16 @@ msgstr ""
"[b]инклюзив[/b] и [b]эксклюзив[/b], соответственно. Аргумент [code]s[/code] "
"[b]может[/b] быть негативным, но не [code]0[/code]. Если [code]s[/code] это "
"[code]0[/code], будет выведено сообщение об ошибке.\n"
-"[метод range] преобразует все аргументы в [int] перед обработкой.\n"
+"[method range] преобразует все аргументы в [int] перед обработкой.\n"
"[b]Примечание:[/b] Возвращает пустой массив, если ни одно значение не "
"удовлетворяет ограничению на значение (e.g. [code]range(2, 5, -1)[/code] или "
"[code]range(5, 5, 1)[/code]).\n"
"Примеры:\n"
"[codeblock]\n"
-"print(range(4)) # Prints [0, 1, 2, 3]\n"
-"print(range(2, 5)) # Prints [2, 3, 4]\n"
-"print(range(0, 6, 2)) # Prints [0, 2, 4]\n"
-"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
+"print(range(4)) # Выведет [0, 1, 2, 3]\n"
+"print(range(2, 5)) # Выведет [2, 3, 4]\n"
+"print(range(0, 6, 2)) # Выведет [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Выведет [4, 3, 2]\n"
"[/codeblock]\n"
"Чтобы выполнить итерацию по [Array] в обратном порядке, используйте:\n"
"[codeblock]\n"
@@ -1739,6 +1757,18 @@ msgid ""
"For complex use cases where you need multiple ranges, consider using [Curve] "
"or [Gradient] instead."
msgstr ""
+"Ограничивает [code]значение[/code] из диапазона [code][istart, istop][/code] "
+"до диапазона [code][ostart, ostop][/code]. Смотрите также [method lerp] и "
+"[method inverse_lerp]. Если [code]значение[/code] за пределами [code]"
+"[istart, istop][/code], тогда, выходное значение тоже будет за пределами "
+"[code][ostart, ostop][/code]. Используйте [method clamp] со значением "
+"полученным от [method range_lerp] если не хотите выходить за пределы.[/"
+"code]\n"
+"[codeblock]\n"
+"range_lerp(75, 0, 100, -1, 1) # Возвращает 0.5\n"
+"[/codeblock]\n"
+"Для случаев где вам нужно несколько диапазонов, используйте [Curve] или "
+"[Gradient]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1755,10 +1785,10 @@ msgstr ""
"в большую сторону.\n"
"[codeblock]\n"
"a = round(2.49) # Возвращает 2.0\n"
-"a = round(2.5) # Возвращает 3.0\n"
+"a = round(2.5)\t# Возвращает 3.0\n"
"a = round(2.51) # Возвращает 3.0\n"
"[/codeblock]\n"
-"См. также[метод floor], [метод ceil], [метод stepify], и [int]."
+"См. также[method floor], [method ceil], [method stepify], и [int]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1852,14 +1882,15 @@ msgstr ""
"S-образной кривой, которая соответствует значению [code]s[/code] между "
"[code]0[/code] и [code]1[/code].\n"
"S-образная кривая является кубическим эрмитовым сплайном, заданным функцией "
-"[code]f(s) = 3*s^2 - 2*s^3[/code].\n"
+"[code]f(y) = 3*y^2 - 2*y^3[/code], где [code]y = (x-from) / (to-from)[/"
+"code].\n"
"[codeblock]\n"
"smoothstep(0, 2, -5.0) # Возвращает 0.0\n"
"smoothstep(0, 2, 0.5) # Возвращает 0.15625\n"
"smoothstep(0, 2, 1.0) # Возвращает 0.5\n"
"smoothstep(0, 2, 2.0) # Возвращает 1.0\n"
"[/codeblock]\n"
-"В сравнении с [method ease] со значение кривой [code]-1.6521[/code], [метод "
+"В сравнении с [method ease] со значение кривой [code]-1.6521[/code], [method "
"smoothstep] возвращает наиболее плавную кривую без внезапных изменений "
"производной. Если вам нужно выполнить более продвинутые перемещения, "
"используйте [Tween] или [AnimationPlayer].\n"
@@ -1956,8 +1987,8 @@ msgid ""
"print(b[\"a\"]) # Prints 1\n"
"[/codeblock]"
msgstr ""
-"Преобразует форматированную строку, которая была возвращена [методом "
-"var2str] в исходное значение.\n"
+"Преобразует форматированную строку, которая была возвращена [method var2str] "
+"в исходное значение.\n"
"[codeblock]\n"
"a = '{ \"a\": 1, \"b\": 2 }'\n"
"b = str2var(a)\n"
@@ -2265,7 +2296,7 @@ msgid ""
msgstr ""
"Останавливает выполнение функции и возвращает текущее приостановленное "
"состояние вызывающей функции.\n"
-"Вызывающая функция должна вызвать [метод GDScriptFunctionState.resume] на "
+"Вызывающая функция должна вызвать [method GDScriptFunctionState.resume] на "
"состоянии для возобновления выполнения. Это аннулирует состояние. Внутри "
"возобновленной функции [code]yield()[/code] возвращает все, что было "
"передано в вызов функции [code]resume()[/code].\n"
@@ -2278,21 +2309,21 @@ msgstr ""
"работы функции:\n"
"[codeblock].\n"
"func _ready():\n"
-" yield(countdown(), \"completed\") # ожидание завершения функции "
+"\tyield(countdown(), \"completed\") # ожидание завершения функции "
"countdown()\n"
-" print('Ready')\n"
+"\tprint('Ready')\n"
"\n"
"func countdown():\n"
-" yield(get_tree(), \"idle_frame\") # возвращает объект "
+"\tyield(get_tree(), \"idle_frame\") # возвращает объект "
"GDScriptFunctionState для функции _ready()\n"
-" print(3)\n"
-" yield(get_tree().create_timer(1.0), \"timeout\")\n"
-" print(2)\n"
-" yield(get_tree().create_timer(1.0), \"timeout\")\n"
-" print(1)\n"
-" yield(get_tree().create_timer(1.0), \"timeout\")\n"
+"\tprint(3)\n"
+"\tyield(get_tree().create_timer(1.0), \"timeout\")\n"
+"\tprint(2)\n"
+"\tyield(get_tree().create_timer(1.0), \"timeout\")\n"
+"\tprint(1)\n"
+"\tyield(get_tree().create_timer(1.0), \"timeout\")\n"
"\n"
-"# печатает:\n"
+"# выведет:\n"
"# 3\n"
"# 2\n"
"# 1\n"
@@ -13808,6 +13839,7 @@ msgid "Camera node for 2D scenes."
msgstr ""
#: doc/classes/Camera2D.xml
+#, fuzzy
msgid ""
"Camera node for 2D scenes. It forces the screen (current layer) to scroll "
"following this node. This makes it easier (and faster) to program scrollable "
@@ -13836,7 +13868,7 @@ msgstr ""
"Обратите внимание, что положение узла [Camera2D] [code][/code] не отражает "
"фактическое положение экрана, которое может отличаться из-за примененного "
"сглаживания или ограничений. Для получения реального положения можно "
-"использовать [метод get_camera_screen_center]."
+"использовать [method get_camera_screen_center]."
#: doc/classes/Camera2D.xml doc/classes/TileMap.xml doc/classes/TileSet.xml
msgid "2D Isometric Demo"
@@ -16052,11 +16084,11 @@ msgstr ""
"свойства (например, CanvasItem.modulate) могут принимать значения больше 1 "
"(пересвет или цвета HDR).\n"
"Вы также можете создать цвет из стандартизированных имен цветов с помощью "
-"[метода @GDScript.ColorN] или непосредственно используя определенные здесь "
+"[method @GDScript.ColorN] или непосредственно используя определенные здесь "
"цветовые константы. Стандартизированный набор цветов основан на [url=https://"
"en.wikipedia.org/wiki/X11_color_names]именах цветов X11[/url].\n"
"Если вы хотите задать значения в диапазоне от 0 до 255, вам следует "
-"использовать [метод @GDScript.Color8].\n"
+"использовать [method @GDScript.Color8].\n"
"[b]Примечание:[/b] В булевом контексте значение Color будет равно "
"[code]false[/code], если оно равно [code]Color(0, 0, 0, 0, 1)[/code] "
"(непрозрачный черный). В противном случае значение Color всегда будет равно "
@@ -17703,24 +17735,24 @@ msgid ""
msgstr ""
"Виртуальный метод, который должен быть реализован пользователем. Используйте "
"этот метод для обработки и приема входных данных на элементах "
-"пользовательского интерфейса. См. [метод accept_event].\n"
+"пользовательского интерфейса. См. [method accept_event].\n"
"Пример: щелчок по элементу управления.\n"
"[codeblock].\n"
"func _gui_input(event):\n"
-" if event is InputEventMouseButton:\n"
-" if event.button_index == BUTTON_LEFT and event.pressed:\n"
-" print(\"На меня нажали D:\")\n"
+"\tif event is InputEventMouseButton:\n"
+"\t\tif event.button_index == BUTTON_LEFT and event.pressed:\n"
+"\t\t\tprint(\"На меня нажали D:\")\n"
"[/codeblock].\n"
"Событие не сработает, если:\n"
-"* щелчок вне элемента управления (см. [метод has_point]);\n"
+"* щелчок вне элемента управления (см. [method has_point]);\n"
"* у элемента управления [member mouse_filter] установлено значение [constant "
"MOUSE_FILTER_IGNORE];\n"
"* элемент управления загорожен другим [Control] сверху, у которого [member "
"mouse_filter] не установлен на [constant MOUSE_FILTER_IGNORE];\n"
"* родитель элемента управления имеет [member mouse_filter], установленный на "
"[constant MOUSE_FILTER_STOP] или принял событие;\n"
-"* событие происходит вне прямоугольника родителя, и у родителя включен [член "
-"rect_clip_content] или [метод _clips_input].\n"
+"* событие происходит вне прямоугольника родителя, и у родителя включен "
+"[member rect_clip_content] или [method _clips_input].\n"
"[b]Примечание:[/b] Положение события относительно начала элемента управления."
#: doc/classes/Control.xml
@@ -17852,7 +17884,7 @@ msgstr ""
"получении элементов темы для элемента управления.\n"
"[b]Примечание:[/b] Переопределение можно удалить, присвоив ему значение "
"[code]null[/code]. Это поведение устарело и будет удалено в версии 4.0, "
-"используйте [метод remove_stylebox_override] вместо этого.\n"
+"используйте [method remove_stylebox_override] вместо этого.\n"
"См. также [метод get_stylebox].\n"
"[b]Пример изменения свойства в StyleBox путем его дублирования:[/b]\n"
"[codeblock]\n"
@@ -17867,7 +17899,7 @@ msgstr ""
"$MyButton.add_stylebox_override(\"normal\", new_stylebox_normal)\n"
"# Удалите переопределение стилей.\n"
"$MyButton.add_stylebox_override(\"normal\", null)\n"
-"[/codeblock]."
+"[/codeblock]"
#: doc/classes/Control.xml
msgid ""
@@ -18583,7 +18615,7 @@ msgstr ""
"необходимое для появления всплывающей подсказки с помощью опции [code]gui/"
"timers/tooltip_delay_sec[/code] в Настройках проекта.\n"
"Всплывающая подсказка будет использовать либо реализацию по умолчанию, либо "
-"пользовательскую, которую вы можете создать, переопределив [метод "
+"пользовательскую, которую вы можете создать, переопределив [method "
"_make_custom_tooltip]. Всплывающая подсказка по умолчанию включает "
"[PopupPanel] и [Label], свойства темы которых можно настроить с помощью "
"методов [Theme] с [code]\"TooltipPanel\"[/code] и [code]\"TooltipLabel\"[/"
@@ -23673,17 +23705,17 @@ msgstr ""
"состояние можно было восстановить при возврате на вкладку). Эти данные "
"автоматически сохраняются для каждой сцены в файле [code]editstate[/code] в "
"папке метаданных редактора. Если вы хотите сохранить глобальные (независимые "
-"от сцены) данные редактора для вашего плагина, вы можете использовать [метод "
-"get_window_layout] вместо этого.\n"
+"от сцены) данные редактора для вашего плагина, вы можете использовать "
+"[method get_window_layout] вместо этого.\n"
"Используйте [method set_state] для восстановления сохраненного состояния.\n"
"[b]Примечание:[/b] Этот метод не следует использовать для сохранения важных "
"настроек, которые должны сохраняться в проекте.\n"
"[b]Примечание:[/b] Для корректного сохранения и восстановления состояния "
-"необходимо реализовать [метод get_plugin_name].\n"
+"необходимо реализовать [method get_plugin_name].\n"
"[codeblock].\n"
"func get_state():\n"
-" var state = {\"zoom\": zoom, \"preferred_color\": my_color}\n"
-" return state\n"
+"\tvar state = {\"zoom\": zoom, \"preferred_color\": my_color}\n"
+"\treturn state\n"
"[/codeblock]"
#: doc/classes/EditorPlugin.xml
@@ -27854,7 +27886,7 @@ msgstr ""
"Вершины каждого многоугольника будут округлены в соответствии с типом "
"[code]join_type[/code], см. [enum PolyJoinType].\n"
"В результате операции может быть получен внешний многоугольник (граница) и "
-"внутренний многоугольник (отверстие), которые можно отличить, вызвав [метод "
+"внутренний многоугольник (отверстие), которые можно отличить, вызвав [method "
"is_polygon_clockwise].\n"
"[b]Примечание:[/b] Для специального перевода вершин многоугольника "
"используйте метод [method Transform2D.xform]:\n"
@@ -28261,9 +28293,9 @@ msgstr ""
"занимает от 5 до 20 секунд в большинстве сцен. Уменьшение [member subdiv] "
"может ускорить запекание.\n"
"[b]Примечание:[/b] [GeometryInstance]ы и [Light]ы должны быть полностью "
-"готовы до вызова [метода bake]. Если вы создаете их процедурно и некоторые "
+"готовы до вызова [method bake]. Если вы создаете их процедурно и некоторые "
"сетки или освещение отсутствуют в вашем запекаемом [GIProbe], используйте "
-"[code]call_deferred(\"bake\")[/code] вместо прямого вызова [метода bake]."
+"[code]call_deferred(\"bake\")[/code] вместо прямого вызова [method bake]."
#: doc/classes/GIProbe.xml
msgid "Calls [method bake] with [code]create_visual_debug[/code] enabled."
@@ -30899,14 +30931,14 @@ msgid ""
"in the URL. See [method String.http_escape] for an example."
msgstr ""
"Создает запрос на базовом [HTTPClient]. Если нет ошибок конфигурации, "
-"пытается подключиться, используя [метод HTTPClient.connect_to_host] и "
-"передает параметры в [метод HTTPClient.request].\n"
+"пытается подключиться, используя [method HTTPClient.connect_to_host] и "
+"передает параметры в [method HTTPClient.request].\n"
"Возвращает [constant OK], если запрос успешно создан. (Это не означает, что "
-"сервер ответил), [константа ERR_UNCONFIGURED], если не находится в дереве, "
-"[константа ERR_BUSY], если все еще обрабатывает предыдущий запрос, "
-"[константа ERR_INVALID_PARAMETER], если заданная строка не является "
-"правильным форматом URL, или [константа ERR_CANT_CONNECT], если не "
-"используется поток и [HTTPClient] не может соединиться с хостом.\n"
+"сервер ответил), [constant ERR_UNCONFIGURED], если не находится в дереве, "
+"[constant ERR_BUSY], если все еще обрабатывает предыдущий запрос, [constant "
+"ERR_INVALID_PARAMETER], если заданная строка не является правильным форматом "
+"URL, или [constant ERR_CANT_CONNECT], если не используется поток и "
+"[HTTPClient] не может соединиться с хостом.\n"
"[b]Примечание:[/b] Если [code]метод[/code] является [constant HTTPClient."
"METHOD_GET], полезная нагрузка, отправленная через [code]request_data[/"
"code], может быть проигнорирована сервером или даже привести к отклонению "
@@ -32299,7 +32331,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
@@ -34067,38 +34103,38 @@ msgid ""
"[b]Note:[/b] Only available in the HTML5 platform."
msgstr ""
"JavaScriptObject используется для взаимодействия с объектами JavaScript, "
-"полученными или созданными с помощью [метода JavaScript.get_interface], "
-"[метода JavaScript.create_object] или [метода JavaScript.create_callback].\n"
+"полученными или созданными с помощью [method JavaScript.get_interface], "
+"[method JavaScript.create_object] или [method JavaScript.create_callback].\n"
"Пример:\n"
"[codeblock]\n"
-"расширяет Node\n"
+"extends Node\n"
"\n"
"var _my_js_callback = JavaScript.create_callback(self, \"myCallback\") # Эта "
"ссылка должна быть сохранена\n"
"var console = JavaScript.get_interface(\"console\")\n"
"\n"
"func _init():\n"
-" var buf = JavaScript.create_object(\"ArrayBuffer\", 10) # новый "
+"\tvar buf = JavaScript.create_object(\"ArrayBuffer\", 10) # новый "
"ArrayBuffer(10)\n"
-" print(buf) # печатает [JavaScriptObject:OBJECT_ID]\n"
-" var uint8arr = JavaScript.create_object(\"Uint8Array\", buf) # новый "
+"\tprint(buf) # печатает [JavaScriptObject:OBJECT_ID]\n"
+"\tvar uint8arr = JavaScript.create_object(\"Uint8Array\", buf) # новый "
"Uint8Array(buf)\n"
-" uint8arr[1] = 255\n"
-" prints(uint8arr[1], uint8arr.byteLength) # печатает 255 10\n"
-" console.log(uint8arr) # печатает в консоли браузера \"Uint8Array(10) "
-"[ 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\"\n"
+"\tuint8arr[1] = 255\n"
+"\tprints(uint8arr[1], uint8arr.byteLength) # печатает 255 10\n"
+"\tconsole.log(uint8arr) # печатает в консоли браузера \"Uint8Array(10) [ 0, "
+"255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\"\n"
"\n"
-" # Эквивалент JavaScript: Array.from(uint8arr).forEach(myCallback)\n"
-" JavaScript.get_interface(\"Array\").from(uint8arr)."
+"\t# Эквивалент JavaScript: Array.from(uint8arr).forEach(myCallback)\n"
+"\tJavaScript.get_interface(\"Array\").from(uint8arr)."
"forEach(_my_js_callback)\n"
"\n"
"func myCallback(args):\n"
-" # Будет вызван с параметрами, переданными в обратный вызов \"forEach\".\n"
-" # [0, 0, [JavaScriptObject:1173]]\n"
-" # [255, 1, [JavaScriptObject:1173]]\n"
-" # ...\n"
-" # [0, 9, [JavaScriptObject:1180]]\n"
-" print(args)\n"
+"\t# Будет вызван с параметрами, переданными в обратный вызов \"forEach\".\n"
+"\t# [0, 0, [JavaScriptObject:1173]]\n"
+"\t# [255, 1, [JavaScriptObject:1173]]\n"
+"\t# ...\n"
+"\t# [0, 9, [JavaScriptObject:1180]]\n"
+"\tprint(args)\n"
"[/codeblock].\n"
"[b]Примечание:[/b] Доступно только в платформе HTML5."
@@ -39775,7 +39811,7 @@ msgstr "Возвращает значение задержки данного к
msgid ""
"Returns the normal for the point returned by [method map_get_closest_point]."
msgstr ""
-"Возвращает нормаль для точки, возвращенной [методом map_get_closest_point]."
+"Возвращает нормаль для точки, возвращенной [method map_get_closest_point]."
#: doc/classes/NavigationServer.xml
msgid ""
@@ -39976,10 +40012,10 @@ msgstr ""
"пирами, чтобы гарантировать, что пропускная способность пиров не будет "
"превышена. Параметры пропускной способности также определяют размер окна "
"соединения, которое ограничивает количество надежных пакетов, которые могут "
-"находиться в пути в любой момент времени. Возвращает [константу OK], если "
-"клиент был создан, [константу ERR_ALREADY_IN_USE], если данный экземпляр "
+"находиться в пути в любой момент времени. Возвращает [constant OK], если "
+"клиент был создан, [constant ERR_ALREADY_IN_USE], если данный экземпляр "
"NetworkedMultiplayerENet уже имеет открытое соединение (в этом случае "
-"необходимо сначала вызвать [метод close_connection]) или [константу "
+"необходимо сначала вызвать [method close_connection]) или [constant "
"ERR_CANT_CREATE], если клиент не может быть создан. Если указано "
"[code]client_port[/code], клиент также будет слушать указанный порт; это "
"полезно для некоторых методов обхода NAT."
@@ -75012,23 +75048,24 @@ msgid ""
"viewport_set_render_direct_to_screen]."
msgstr ""
"Копирует видовой экран в область экрана, указанную [code]rect[/code]. Если "
-"[член Viewport.render_direct_to_screen] равен [code]true[/code], то вьюпорт "
-"не использует фреймбуфер и содержимое вьюпорта выводится непосредственно на "
-"экран. Однако обратите внимание, что корневой видовой экран рисуется "
-"последним, поэтому он будет рисоваться поверх экрана. Соответственно, вы "
-"должны установить корневой видовой экран на область, которая не покрывает "
-"область, к которой вы прикрепили этот видовой экран.\n"
+"[member Viewport.render_direct_to_screen] равен [code]true[/code], то "
+"вьюпорт не использует фреймбуфер и содержимое вьюпорта выводится "
+"непосредственно на экран. Однако обратите внимание, что корневой видовой "
+"экран рисуется последним, поэтому он будет рисоваться поверх экрана. "
+"Соответственно, вы должны установить корневой видовой экран на область, "
+"которая не покрывает область, к которой вы прикрепили этот видовой экран.\n"
"Например, вы можете установить корневой видовой экран так, чтобы он вообще "
"не отрисовывался, используя следующий код:\n"
"[codeblock].\n"
"func _ready():\n"
-" get_viewport().set_attach_to_screen_rect(Rect2())\n"
-" $Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600))\n"
+"\tget_viewport().set_attach_to_screen_rect(Rect2())\n"
+"\t$Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600))\n"
"[/codeblock].\n"
"Использование этого метода может привести к значительной оптимизации, "
"особенно на устройствах низкого класса. Однако за это приходится "
"расплачиваться необходимостью управлять видовыми экранами вручную. Для "
-"дальнейшей оптимизации смотрите [метод viewport_set_render_direct_to_screen]."
+"дальнейшей оптимизации смотрите [method "
+"viewport_set_render_direct_to_screen]."
#: doc/classes/VisualServer.xml
msgid ""
diff --git a/doc/translations/sk.po b/doc/translations/sk.po
index 3a58e3f2a9..d82d0b12ee 100644
--- a/doc/translations/sk.po
+++ b/doc/translations/sk.po
@@ -29911,7 +29911,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/sr_Cyrl.po b/doc/translations/sr_Cyrl.po
index 2846de07bb..2fccf2bef4 100644
--- a/doc/translations/sr_Cyrl.po
+++ b/doc/translations/sr_Cyrl.po
@@ -29922,7 +29922,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/sv.po b/doc/translations/sv.po
index 65cad9bf8a..b4ec51f179 100644
--- a/doc/translations/sv.po
+++ b/doc/translations/sv.po
@@ -29909,7 +29909,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/th.po b/doc/translations/th.po
index 54fbdbfe27..0ca308df1c 100644
--- a/doc/translations/th.po
+++ b/doc/translations/th.po
@@ -30049,7 +30049,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/tl.po b/doc/translations/tl.po
index a9b6a9e2a9..a3d46e6b1d 100644
--- a/doc/translations/tl.po
+++ b/doc/translations/tl.po
@@ -29997,7 +29997,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/tr.po b/doc/translations/tr.po
index 5d8f2afe29..a41bb69483 100644
--- a/doc/translations/tr.po
+++ b/doc/translations/tr.po
@@ -30744,7 +30744,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/uk.po b/doc/translations/uk.po
index 3714c11d88..6c071cee85 100644
--- a/doc/translations/uk.po
+++ b/doc/translations/uk.po
@@ -20,8 +20,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-11-25 12:13+0000\n"
-"Last-Translator: Лев Дворский <ne3r0n@gmail.com>\n"
+"PO-Revision-Date: 2022-12-28 14:08+0000\n"
+"Last-Translator: KazanskiyMaks <kazanskiy.maks@gmail.com>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/uk/>\n"
"Language: uk\n"
@@ -30,7 +30,7 @@ msgstr ""
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.15-dev\n"
+"X-Generator: Weblate 4.15.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -106,13 +106,11 @@ msgid "Getter"
msgstr "Отримувач"
#: doc/tools/make_rst.py
-#, fuzzy
msgid ""
"This method should typically be overridden by the user to have any effect."
msgstr "Зазвичай, цей метод перевизначається користувачем, щоб він мав вплив."
#: doc/tools/make_rst.py
-#, fuzzy
msgid ""
"This method has no side effects. It doesn't modify any of the instance's "
"member variables."
@@ -120,13 +118,11 @@ msgstr ""
"Цей метод не має побічних ефектів. Не змінює ніяку змінну екземпляра об'єкта."
#: doc/tools/make_rst.py
-#, fuzzy
msgid ""
"This method accepts any number of arguments after the ones described here."
msgstr "Цей метод приймає будь-яке число аргументів після описаних тут."
#: doc/tools/make_rst.py
-#, fuzzy
msgid "This method is used to construct a type."
msgstr "Цей метод використовується для побудови типів."
@@ -136,8 +132,8 @@ msgid ""
"This method doesn't need an instance to be called, so it can be called "
"directly using the class name."
msgstr ""
-"Для використання, цей метод не потребує створення об'єкта, тому він може "
-"бути викликаним напряму вказавши назву класу."
+"Для виклику, метод не потребує створення об'єкта, тому він може бути "
+"використаним просто вказавши назву класу."
#: doc/tools/make_rst.py
msgid ""
@@ -285,22 +281,22 @@ msgid ""
"[/codeblock]"
msgstr ""
"Перевіряє, чи [code]condition[/code] дорівнює [code]true[/code]. Якщо "
-"[code]condition[/code] дорівнює [code]false[/code], буде згенеровано "
-"помилку. Якщо виконується у редакторі, проєкт буде також призупинено, поки "
-"ви не продовжите його. Може бути використано, як більш дієва форма [method "
-"push_error] для звітування помилок розробникам проєкту, або допоміжним "
-"користувачам.\n"
+"[code]condition[/code] дорівнює [code]false[/code], буде створено помилку. "
+"Якщо виконується в редакторі, проєкт також буде призупинено, поки ви не "
+"відновите його роботу. Можна використати, як більш дієву форму [method "
+"push_error] для звітування помилок розробникам проєкту, або користувачам "
+"доповнення (add-on).\n"
"[b]Нотатка:[/b] З міркувань продуктивності, код всередині [method assert] "
-"виконується тільки у діагностичних збірках, або коли проєкт виконується у "
-"редакторі. Не використовуйте код, який негативно впливає на виконання "
-"[method assert]. Інакше, проєкт буде поводити себе інакше, якщо він буде "
-"експортованим у режимі публікації.\n"
+"виконується тільки у діагностичних збірках, або коли проєкт виконується в "
+"редакторі. Не включайте в код, де використання [method assert] призведе до "
+"побічних ефектів. У противному разі, проєкт буде поводити себе інакше, якщо "
+"він буде експортованим у режимі публікації.\n"
"Якщо задано необов'язковий аргумент [code]message[/code], то він буде "
"показаний у додаток до повідомлення \"Assertion failed\". Ви можете "
-"скористатися цим для надання додаткових відомостей щодо того, чому перевірку "
-"не було пройдено.\n"
+"скористатися цим для надання додаткових відомостей щодо причини провалу "
+"перевірки.\n"
"[codeblock]\n"
-"# Припустимо, що ви хочете, щоб швидкість (speed) була у межах від 0 до 20.\n"
+"# Припустимо, ви хочете, щоб швидкість (speed) була у межах від 0 до 20.\n"
"var speed = -10\n"
"assert(speed < 20) # Істина, програма продовжить виконання\n"
"assert(speed >= 0) # Хиба, програму буде зупинено\n"
@@ -375,6 +371,7 @@ msgstr ""
"полярну систему (відстань до початку координат та кут)."
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
"Rounds [code]s[/code] upward (towards positive infinity), returning the "
"smallest whole number that is not less than [code]s[/code].\n"
@@ -384,6 +381,13 @@ msgid ""
"[/codeblock]\n"
"See also [method floor], [method round], [method stepify], and [int]."
msgstr ""
+"Заокруглює [code]s[/code] вгору (до додатної нескінченності), повертаючи "
+"найменше число, ще не менше за [code]s[/code].\n"
+"[codeblock]\n"
+"a = ceil(1.45) # a дорівнює 2.0\n"
+"a = ceil(1.001) # a дорівнює 2.0\n"
+"[/codeblock]\n"
+"Також перегляньте [method floor], [method round], [method stepify] та [int]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -396,6 +400,13 @@ msgid ""
"[/codeblock]\n"
"This is the inverse of [method ord]."
msgstr ""
+"Повертає символ, як Рядок з даного Юнікод коду(що сумісний з ASCII кодом).\n"
+"[codeblock]\n"
+"a = char(65) # a дорівнює \"A\"\n"
+"a = char(65 + 32) # a дорівнює \"a\"\n"
+"a = char(8364) # a дорівнює \"€\"\n"
+"[/codeblock]\n"
+"Це протилежність до [method ord]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -407,6 +418,13 @@ msgid ""
"a = clamp(15, 1, 20) # a is 15\n"
"[/codeblock]"
msgstr ""
+"Затискує [code]value[/code] та повертає значення, що не менше за [code]min[/"
+"code] і не більше за [code]max[/code].\n"
+"[codeblock]\n"
+"a = clamp(1000, 1, 20) # a дорівнює 20\n"
+"a = clamp(-10, 1, 20) # a дорівнює 1\n"
+"a = clamp(15, 1, 20) # a дорівнює 15\n"
+"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -421,6 +439,16 @@ msgid ""
"print(a.length())\n"
"[/codeblock]"
msgstr ""
+"Конвертує один тип в інший у найкращий спосіб. Параметр [code]type[/code] "
+"використовує значення з [enum Variant.Type].\n"
+"[codeblock]\n"
+"a = Vector2(1, 0)\n"
+"# Виводить 1\n"
+"print(a.length())\n"
+"a = convert(a, TYPE_STRING)\n"
+"# Виводить 6, бо рядок \"(1, 0)\" складається з 6 символів\n"
+"print(a.length())\n"
+"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
#, fuzzy
@@ -431,11 +459,10 @@ msgid ""
"a = cos(PI) # a is -1.0\n"
"[/codeblock]"
msgstr ""
-"Повертає абсолютне значення параметру [code]s[/code] (тобто значення без "
-"знака, працює для цілих чисел і чисел із рухомою крапкою).\n"
+"Повертає косинус кута [code]s[/code] в радіанах.\n"
"[codeblock]\n"
-"# a дорівнює 1\n"
-"a = abs(-1)\n"
+"a = cos(TAU) # a дорівнює 1.0\n"
+"a = cos(PI) # a дорівнює -1.0\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -452,11 +479,11 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid "Converts from decibels to linear energy (audio)."
-msgstr ""
+msgstr "Перетворює з децибел в лінійну енергію (аудіо)."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid "Deprecated alias for [method step_decimals]."
-msgstr ""
+msgstr "Застарілий псевдонім для [method step_decimals]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -468,6 +495,13 @@ msgid ""
"a = dectime(60, 10, 0.1)) # a is 59.0\n"
"[/codeblock]"
msgstr ""
+"[b]Нотатка:[/b] [code]dectime[/code] застарілий і буде вилучений в Godot "
+"4.0, натомість краще використовуйте [method move_toward].\n"
+"Повертає результат [code]value[/code] зменшений на [code]step[/code] * "
+"[code]amount[/code].\n"
+"[codeblock]\n"
+"a = dectime(60, 10, 0.1)) # a дорівнює 59.0\n"
+"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -489,6 +523,23 @@ msgid ""
"want a true content-aware comparison, you have to use [code]deep_equal[/"
"code]."
msgstr ""
+"Порівнює два значення, шляхом порівняння їх реального вмісту, рекурсивно для "
+"будь-якого [Array] чи [Dictionary] аж до найглибшого рівня.\n"
+"Порівнюючи з [code]==[/code], відмітимо:\n"
+"- Для [code]null[/code], [code]int[/code], [code]float[/code], [code]String[/"
+"code], [code]Object[/code] та [code]RID[/code] що [code]deep_equal[/code], "
+"що [code]==[/code] працюють однаково.\n"
+"- Для [code]Dictionary[/code], [code]==[/code] виявляє рівність тоді й "
+"тільки тоді, коли йде порівняння з цим самим [code]Dictionary[/code], без "
+"рекурсії чи будь-якого врахування вмісту.\n"
+"- Для [code]Array[/code], [code]==[/code] виявляє рівність тоді й тільки "
+"тоді, коли кожний елемент у першому [code]Array[/code] дорівнює відповідному "
+"елементу в другому [code]Array[/code], де порівняння проходить через "
+"[code]==[/code]. Це означає, що [code]==[/code] рекурсивно порівнює "
+"[code]Array[/code], але не [code]Dictionary[/code].\n"
+"Загалом, якщо у вас потенційно використовується [code]Dictionary[/code], і "
+"вам потрібно порівняння з урахуванням вмісту, використовуйте "
+"[code]deep_equal[/code]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -30098,7 +30149,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/vi.po b/doc/translations/vi.po
index 962440bfab..36ef54b096 100644
--- a/doc/translations/vi.po
+++ b/doc/translations/vi.po
@@ -30410,7 +30410,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
diff --git a/doc/translations/zh_CN.po b/doc/translations/zh_CN.po
index 966ec9b0f9..773dda130e 100644
--- a/doc/translations/zh_CN.po
+++ b/doc/translations/zh_CN.po
@@ -3,7 +3,7 @@
# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md).
# This file is distributed under the same license as the Godot source code.
#
-# Haoyu Qiu <timothyqiu32@gmail.com>, 2020, 2021, 2022.
+# Haoyu Qiu <timothyqiu32@gmail.com>, 2020, 2021, 2022, 2023.
# fangxvan <2661712415@qq.com>, 2020.
# yzt <834950797@qq.com>, 2020.
# 懵逼Kitty <m1330586660@163.com>, 2020, 2021.
@@ -37,7 +37,7 @@
# Juer Genie Whang <2695996944@qq.com>, 2021.
# SimonChang <simon_chang@foxmail.com>, 2021.
# zeng haochen <m18621006730@163.com>, 2021.
-# suplife <2634557184@qq.com>, 2021.
+# suplife <2634557184@qq.com>, 2021, 2023.
# Magian <magian1127@gmail.com>, 2021, 2022.
# ji233 <27987772@qq.com>, 2021.
# 沈士超 <shenshichao920@hotmail.com>, 2021.
@@ -64,7 +64,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-12-12 06:48+0000\n"
+"PO-Revision-Date: 2023-01-09 20:42+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"
@@ -73,7 +73,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Weblate 4.15-dev\n"
+"X-Generator: Weblate 4.15.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -730,7 +730,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns an array of dictionaries representing the current call stack. See "
"also [method print_stack].\n"
@@ -754,7 +753,7 @@ msgid ""
"get_stack] will not work in projects exported in release mode, or in "
"projects exported in debug mode if not connected to a debugging server."
msgstr ""
-"返回一个表示当前调用堆栈的字典数组。\n"
+"返回一个表示当前调用堆栈的字典数组。另请参阅 [method print_stack]。\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -769,7 +768,11 @@ msgstr ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]注意:[/b]运行中的实例连接到调试服务器(例如编辑器实例)后,[method "
+"get_stack] 才能正常工作。[method get_stack] 无法在使用发布模式导出的项目中正"
+"常工作。使用调试模式导出的项目如果没有连接到调试服务器,则该函数也无法正常工"
+"作。"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1367,6 +1370,15 @@ msgid ""
"print_stack] will not work in projects exported in release mode, or in "
"projects exported in debug mode if not connected to a debugging server."
msgstr ""
+"输出当前代码位置的栈追踪。另请参阅 [method get_stack]。\n"
+"控制台中的输出是类似这样的:\n"
+"[codeblock]\n"
+"Frame 0 - res://test.gd:16 in function '_process'\n"
+"[/codeblock]\n"
+"[b]注意:[/b]运行中的实例连接到调试服务器(例如编辑器实例)后,[method "
+"print_stack] 才能正常工作。[method print_stack] 无法在使用发布模式导出的项目"
+"中正常工作。使用调试模式导出的项目如果没有连接到调试服务器,则该函数也无法正"
+"常工作。"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -4407,6 +4419,18 @@ msgid ""
"[b]Note:[/b] The final colon is required to specify for properly detecting "
"built-in types."
msgstr ""
+"提示一个属性代表特定的类型。如果属性为 [constant TYPE_STRING],则可以通过创建"
+"对话框设置其类型。如果你需要创建一个 [Array] 来放置特定类型的元素,则 "
+"[code]hint_string[/code] 必须使用 [code]\":\"[/code] 来编码嵌套类型,使用 "
+"[code]\"/\"[/code] 来指定 [Resource] 类型。例如:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # 整数数组。\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # 浮点数二维数组。\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # 资源数组。\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# 资源二维数组。\n"
+"[/codeblock]\n"
+"[b]注意:[/b]最后的冒号是必须的,否则无法正确检测内置类型。"
#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
@@ -8808,7 +8832,6 @@ msgstr ""
"较慢。这是因为所有放置在删除元素之后的元素都必须重新索引。"
#: doc/classes/Array.xml
-#, fuzzy
msgid ""
"Assigns the given value to all elements in the array. This can typically be "
"used together with [method resize] to create an array with a given size and "
@@ -8828,7 +8851,9 @@ msgstr ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # 将 10 个元素都初始化为 0。\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]注意:[/b]如果 [code]value[/code] 为引用类型(派生自 [Object]、[Array]、"
+"[Dictionary] 等),那么会用同一个对象的引用填充该数组,即不会创建副本。"
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
@@ -9076,7 +9101,6 @@ msgstr ""
"索引之间的变化。"
#: doc/classes/Array.xml
-#, fuzzy
msgid ""
"Sorts the array.\n"
"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
@@ -9092,6 +9116,9 @@ msgid ""
"[/codeblock]"
msgstr ""
"对数组进行排序。\n"
+"[b]注意:[/b]排序所使用的算法并不[url=https://zh.wikipedia.org/wiki/"
+"%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95#%E7%A9%A9%E5%AE%9A%E6%80%A7]稳定[/url]。"
+"也就是说,使用 [method sort] 时相等的值之间的顺序可能会改变。\n"
"[b]注意:[/b]字符串按字母顺序排序(与自然顺序相反)。当对一个以数字序列结尾的"
"字符串数组进行排序时,这可能会导致意外的行为。请看下面的例子。\n"
"[codeblock]\n"
@@ -9101,7 +9128,6 @@ msgstr ""
"[/codeblock]"
#: doc/classes/Array.xml
-#, fuzzy
msgid ""
"Sorts the array using a custom method. The arguments are an object that "
"holds the method and the name of such method. The custom method receives two "
@@ -9135,8 +9161,11 @@ msgstr ""
"对于两个元素 [code]a[/code] 和 [code]b[/code],如果给定的方法返回 "
"[code]true[/code],数组中的元素 [code]b[/code] 将排在元素 [code]a[/code] 之"
"后。\n"
-"[b]注意:[/b]你不能随机化返回值,因为堆排序算法期望一个确定的结果。而这样做会"
-"导致意外的行为。\n"
+"[b]注意:[/b]排序所使用的算法并不[url=https://zh.wikipedia.org/wiki/"
+"%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95#%E7%A9%A9%E5%AE%9A%E6%80%A7]稳定[/url]。"
+"也就是说,使用 [method sort] 时相等的值之间的顺序可能会改变。\n"
+"[b]注意:[/b]不能随机返回一个值,因为堆排序算法期望确定的结果。随机返回一个值"
+"会导致意外的行为。\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9787,7 +9816,7 @@ msgid ""
"However, at this point in time only one interface can render to an HMD."
msgstr ""
"调用这个来初始化这个接口。第一个被初始化的接口确定为主接口,用于渲染输出。\n"
-"在初始化了接口之后,需要启用视窗的 AR/VR 模式,将开始渲染。\n"
+"在初始化了接口之后,需要启用视口的 AR/VR 模式,将开始渲染。\n"
"[b]注意:[/b]对于任何使用 Godot 主输出的设备,如移动 VR,你必须在主视口上启"
"用 AR/VR 模式。\n"
"如果你为一个处理自己输出的平台这样做(如 OpenVR),Godot 就会在屏幕上只显示一"
@@ -9844,9 +9873,9 @@ msgid ""
"[method get_render_targetsize]). Using a separate viewport node frees up the "
"main viewport for other purposes."
msgstr ""
-"这个接口输出到一个外部设备。如果使用主视区,屏幕上的输出是一个未经修改的左眼"
-"或右眼的缓冲区,如果没有将视窗尺寸更改为 [method get_render_targetsize] 的相"
-"同长宽比,则被拉伸。使用一个单独的视窗节点可以释放出主视区,用于其他用途。"
+"这个接口输出到一个外部设备。如果使用主视口,屏幕上的输出是一个未经修改的左眼"
+"或右眼的缓冲区,如果没有将视口尺寸更改为 [method get_render_targetsize] 的相"
+"同长宽比,则被拉伸。使用一个单独的视口节点可以释放出主视口,用于其他用途。"
#: doc/classes/ARVRInterface.xml
msgid ""
@@ -12402,14 +12431,13 @@ msgid "Clears the audio sample data buffer."
msgstr "清除音频样本数据缓冲区。"
#: doc/classes/AudioStreamGeneratorPlayback.xml
-#, fuzzy
msgid ""
"Returns the number of frames that can be pushed to the audio sample data "
"buffer without overflowing it. If the result is [code]0[/code], the buffer "
"is full."
msgstr ""
-"如果可以将大小为 [code]amount[/code] 的缓冲区推送到音频采样数据缓冲区而不使其"
-"溢出,则返回 [code]true[/code],否则返回 [code]false[/code]。"
+"返回能够推送到音频采样数据缓冲区而不使其溢出的帧数。如果结果为 [code]0[/"
+"code],则缓冲区已满。"
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
@@ -13042,7 +13070,6 @@ msgstr ""
"[code]texture(SCREEN_TEXTURE, ...)[/code] 函数在着色器脚本中对其进行访问。"
#: doc/classes/BackBufferCopy.xml
-#, fuzzy
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
"in the [BackBufferCopy] node is buffered with the content of the screen it "
@@ -13055,44 +13082,40 @@ msgid ""
"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
-"用于对当前屏幕显示进行后台缓冲的节点。BackBufferCopy 节点中定义的区域与其覆盖"
-"屏幕的内容一起缓冲,或者根据拷贝模式设置的整个屏幕进行缓冲。在着色器脚本中使"
-"用 [code]texture(SCREEN_TEXTURE, ...)[/code] 函数来访问缓冲区。\n"
+"用于对当前显示的屏幕进行后台缓冲的节点。[BackBufferCopy] 节点中定义的区域与其"
+"覆盖屏幕的内容一起缓冲,或者根据拷贝模式设置的整个屏幕进行缓冲。在着色器脚本"
+"中使用 [code]texture(SCREEN_TEXTURE, ...)[/code] 函数来访问缓冲区。\n"
"[b]注意:[/b]由于该节点继承自 [Node2D] 而非 [Control],锚点和边距将不会应用于"
"从 [Control] 派生的子节点。这在调整窗口大小时可能会出现问题。为避免这种情况,"
-"请将 [Control] 派生节点添加为 BackBufferCopy 节点的[i]同级[/i],不要将它们添"
-"加为其子节点。"
+"请将 [Control] 派生节点添加为 [BackBufferCopy] 节点的[i]同级[/i],不要将它们"
+"添加为其子节点。"
#: doc/classes/BackBufferCopy.xml
msgid "Buffer mode. See [enum CopyMode] constants."
msgstr "缓冲区模式。见 [enum CopyMode] 常量。"
#: doc/classes/BackBufferCopy.xml
-#, fuzzy
msgid ""
"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
-"BackBufferCopy 覆盖的区域。只有当 [member copy_mode] 是 [constant "
+"该 [BackBufferCopy] 所覆盖的区域。只有当 [member copy_mode] 为 [constant "
"COPY_MODE_RECT] 时才使用。"
#: doc/classes/BackBufferCopy.xml
-#, fuzzy
msgid ""
"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
-"禁用缓冲模式。这意味着 BackBufferCopy 节点将直接使用它所覆盖的屏幕部分。"
+"禁用缓冲模式。这意味着该 [BackBufferCopy] 节点将直接使用它所覆盖的屏幕部分。"
#: doc/classes/BackBufferCopy.xml
-#, fuzzy
msgid "[BackBufferCopy] buffers a rectangular region."
-msgstr "BackBufferCopy 缓冲一个矩形区域。"
+msgstr "[BackBufferCopy] 缓冲一个矩形区域。"
#: doc/classes/BackBufferCopy.xml
-#, fuzzy
msgid "[BackBufferCopy] buffers the entire screen."
-msgstr "BackBufferCopy 缓冲整个屏幕。"
+msgstr "[BackBufferCopy] 缓冲整个屏幕。"
#: doc/classes/BakedLightmap.xml
msgid "Prerendered indirect light map for a scene."
@@ -14561,9 +14584,9 @@ msgid ""
"[Viewport] (or higher viewports) can't be displayed."
msgstr ""
"相机是一个特殊节点,用于显示从其当前位置可见的内容。相机在最近的 [Viewport] "
-"节点中注册自己(当树上行)。每个视区只能激活一个相机。如果在树上没有可用的视"
-"区,相机将在全局视区中注册。换句话说,相机只是为 [Viewport] 提供 3D 显示能"
-"力,如果没有,则无法显示在该 [Viewport] 或更高视区中注册的场景。"
+"节点中注册自己(当树上行)。每个视口只能激活一个相机。如果在树上没有可用的视"
+"口,相机将在全局视口中注册。换句话说,相机只是为 [Viewport] 提供 3D 显示能"
+"力,如果没有,则无法显示在该 [Viewport] 或更高视口中注册的场景。"
#: doc/classes/Camera.xml
msgid ""
@@ -14720,7 +14743,7 @@ msgid ""
"[/codeblock]"
msgstr ""
"返回 [Viewport] 矩形中的 2D 坐标,该坐标映射到世界空间中给定的 3D 点。\n"
-"[b]注意:[/b]当使用它来定位 3D 视区上的 GUI 元素时,如果 3D 点在相机后面,请"
+"[b]注意:[/b]当使用它来定位 3D 视口上的 GUI 元素时,如果 3D 点在相机后面,请"
"使用 [method is_position_behind] 来防止它们显示。\n"
"[codeblock]\n"
"# 这个代码块是继承自 Spatial 的脚本的一部分。\n"
@@ -14768,7 +14791,7 @@ msgstr ""
"[code]_process[/code] 方法中的变化。多普勒效果只对 [member "
"AudioStreamPlayer3D.doppler_tracking] 设置为 [constant AudioStreamPlayer3D."
"DOPPLER_TRACKING_DISABLED] 以外的值的 [AudioStreamPlayer3D] 节点进行模拟。\n"
-"[b]注意:[/b]要在编辑器中切换多普勒效果预览,使用 3D 视区左上角的透视菜单,并"
+"[b]注意:[/b]要在编辑器中切换多普勒效果预览,使用 3D 视口左上角的透视菜单,并"
"切换为[b]启用多普勒[/b]。"
#: doc/classes/Camera.xml
@@ -14816,7 +14839,7 @@ msgstr ""
#: doc/classes/Camera.xml
msgid "The horizontal (X) offset of the camera viewport."
-msgstr "相机视窗的水平(X)偏移量。"
+msgstr "相机视口的水平(X)偏移量。"
#: doc/classes/Camera.xml
msgid ""
@@ -14852,7 +14875,7 @@ msgstr ""
#: doc/classes/Camera.xml
msgid "The vertical (Y) offset of the camera viewport."
-msgstr "相机视窗的垂直(Y)偏移量。"
+msgstr "相机视口的垂直(Y)偏移量。"
#: doc/classes/Camera.xml
msgid ""
@@ -15023,7 +15046,7 @@ msgstr ""
msgid ""
"Make this the current 2D camera for the scene (viewport and layer), in case "
"there are many cameras in the scene."
-msgstr "使之成为该场景(视区和图层)的当前 2D 相机,以防场景中有很多相机。"
+msgstr "使之成为该场景(视口和图层)的当前 2D 相机,以防场景中有很多相机。"
#: doc/classes/Camera2D.xml
msgid ""
@@ -15070,7 +15093,7 @@ msgid ""
"or not a [Viewport], uses the default viewport instead."
msgstr ""
"连接到 [Camera2D] 的自定义 [Viewport] 节点。如果为 [code]null[/code] 或者不"
-"是 [Viewport],则使用默认的视区。"
+"是 [Viewport],则使用默认的视口。"
#: doc/classes/Camera2D.xml
msgid ""
@@ -15883,11 +15906,11 @@ msgstr "返回此项目的变换矩阵。"
#: doc/classes/CanvasItem.xml
msgid "Returns the viewport's boundaries as a [Rect2]."
-msgstr "以 [Rect2] 形式返回视区的边界。"
+msgstr "以 [Rect2] 形式返回视口的边界。"
#: doc/classes/CanvasItem.xml
msgid "Returns this item's transform in relation to the viewport."
-msgstr "返回这个项目相对于视区的变换。"
+msgstr "返回这个项目相对于视口的变换。"
#: doc/classes/CanvasItem.xml
msgid "Returns the [World2D] where this item is in."
@@ -16281,7 +16304,7 @@ msgid ""
"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
-"启用时,该 [CanvasLayer] 会使用视区的变换,所以它会随相机移动,而不是保持在屏"
+"启用时,该 [CanvasLayer] 会使用视口的变换,所以它会随相机移动,而不是保持在屏"
"幕上的某个固定位置。\n"
"与 [member follow_viewport_scale] 配合可以实现伪 3D 效果。"
@@ -19193,7 +19216,7 @@ msgid ""
msgstr ""
"加载指定为参数的配置文件。解析文件的内容并将其加载到调用该方法的 "
"[ConfigFile] 对象中。\n"
-"返回 [enum Error] 代码常量之一(成功时返回 [code]OK[/code])。"
+"返回 [enum Error] 错误码常量(成功时为 [code]OK[/code])。"
#: doc/classes/ConfigFile.xml
msgid ""
@@ -19204,7 +19227,7 @@ msgid ""
msgstr ""
"加载指定为参数的加密配置文件,使用提供的 [code]key[/code] 对其解密。解析文件"
"的内容并将其加载到调用该方法的 [ConfigFile] 对象中。\n"
-"返回 [enum Error] 代码常量之一(成功时返回 [code]OK[/code])。"
+"返回 [enum Error] 错误码常量(成功时为 [code]OK[/code])。"
#: doc/classes/ConfigFile.xml
msgid ""
@@ -19215,7 +19238,7 @@ msgid ""
msgstr ""
"加载作为参数的加密配置文件,使用提供的 [code]password[/code] 解密。该文件的内"
"容被解析并加载到调用该方法的 [ConfigFile] 对象中。\n"
-"返回 [enum Error] 代码常量之一(成功时返回 [code]OK[/code])。"
+"返回 [enum Error] 错误码常量(成功时为 [code]OK[/code])。"
#: doc/classes/ConfigFile.xml
msgid ""
@@ -19225,7 +19248,7 @@ msgid ""
msgstr ""
"将传递的字符串解析为配置文件的内容。该字符串被解析并加载到调用该方法的 "
"ConfigFile 对象中。\n"
-"返回 [enum Error] 常量之一,成功时返回 [code]OK[/code]。"
+"返回 [enum Error] 错误码常量(成功时为 [code]OK[/code])。"
#: doc/classes/ConfigFile.xml
msgid ""
@@ -19235,7 +19258,7 @@ msgid ""
msgstr ""
"将 [ConfigFile] 对象的内容保存到指定为参数的文件中。输出文件使用 INI 样式的结"
"构。\n"
-"返回 [enum Error] 代码常量之一(成功时返回 [code]OK[/code])。"
+"返回 [enum Error] 错误码常量(成功时为 [code]OK[/code])。"
#: doc/classes/ConfigFile.xml
msgid ""
@@ -19246,7 +19269,7 @@ msgid ""
msgstr ""
"使用提供的 [code]key[/code] 将 [ConfigFile] 对象的内容保存到作为参数指定的 "
"AES-256 加密文件中。输出文件使用 INI 样式的结构。\n"
-"返回 [enum Error] 代码常量之一(成功时返回 [code]OK[/code])。"
+"返回 [enum Error] 错误码常量(成功时为 [code]OK[/code])。"
#: doc/classes/ConfigFile.xml
msgid ""
@@ -19257,7 +19280,7 @@ msgid ""
msgstr ""
"将 [ConfigFile] 对象的内容保存到作为参数指定的 AES-256 加密文件中,使用提供"
"的 [code]password[/code]进行加密。输出文件使用 INI 风格的结构。\n"
-"返回 [enum Error] 代码常量之一(成功时返回 [code]OK[/code])。"
+"返回 [enum Error] 错误码常量(成功时为 [code]OK[/code])。"
#: doc/classes/ConfigFile.xml
msgid ""
@@ -19380,7 +19403,7 @@ msgid ""
"code] methods provided by this class."
msgstr ""
"所有 UI 相关节点的基类。[Control] 具有定义其范围的边界矩形、相对于其父控件或"
-"当前视窗的锚点位置以及表示锚点偏移的边距。当节点、其任何父节点或屏幕尺寸发生"
+"当前视口的锚点位置以及表示锚点偏移的边距。当节点、其任何父节点或屏幕尺寸发生"
"变化时,边距会自动更新。\n"
"更多关于 Godot 的 UI 系统、锚点、边距和容器的信息,请参阅手册中的相关教程。要"
"构建灵活的 UI,您需要混合使用从 [Control] 和 [Container] 节点继承的 UI 元"
@@ -19557,8 +19580,8 @@ msgid ""
"propagating, even to nodes listening to [method Node._unhandled_input] or "
"[method Node._unhandled_key_input]."
msgstr ""
-"将输入事件标记为已处理。一旦接受输入事件,它就会停止传播,甚至传播到正在侦听"
-"[method Node._unhandled_input]或[method Node._unhandled_key_input]的节点。"
+"将输入事件标记为已处理。一旦接受输入事件,传播就会停止,不会再传播到正在侦听 "
+"[method Node._unhandled_input] 和 [method Node._unhandled_key_input] 的节点。"
#: doc/classes/Control.xml
msgid ""
@@ -20647,7 +20670,7 @@ msgid ""
"handled."
msgstr ""
"关闭模态控件时,输入是否传播。\n"
-"如果为 [code]false[/code],事件处理将停止在视区的输入事件处理。该视区会先将模"
+"如果为 [code]false[/code],事件处理将停止在视口的输入事件处理。该视口会先将模"
"态控件隐藏,然后再将输入标记为已处理。"
#: doc/classes/Control.xml
@@ -20800,7 +20823,7 @@ msgstr ""
"这个值进行缩放。\n"
"[b]注意:[/b]这个属性主要用于动画用途。当控件被缩放时,控件内的文本将看起来是"
"像素化或模糊的。要在你的项目支持多种分辨率,请使用[url=$DOCS_URL/tutorials/"
-"rendering/multiple_resolutions.html]文档[/url]中描述的合适的视窗拉伸模式,而"
+"rendering/multiple_resolutions.html]文档[/url]中描述的合适的视口拉伸模式,而"
"不是单独缩放控件。\n"
"[b]注意:[/b]如果控件节点是 [Container] 节点的子节点,当场景实例化时,缩放将"
"被重置为 [code]Vector2(1, 1)[/code]。要在实例化时设置控件的缩放,使用 "
@@ -24076,7 +24099,7 @@ msgstr ""
#: doc/classes/CylinderShape.xml
msgid "Cylinder shape for collisions."
-msgstr "碰撞用的圆柱体形状。"
+msgstr "用于碰撞的圆柱体形状。"
#: doc/classes/CylinderShape.xml
msgid ""
@@ -24085,6 +24108,9 @@ msgid ""
"engine, there are several known bugs with cylinder collision shapes. Using "
"[CapsuleShape] or [BoxShape] instead is recommended."
msgstr ""
+"用于碰撞的圆柱体形状。\n"
+"[b]注意:[/b]使用 GodotPhysics 而非默认的 Bullet 物理引擎时,圆柱体碰撞形状存"
+"在已知的问题。推荐使用 [CapsuleShape] 或 [BoxShape] 代替。"
#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
@@ -24665,7 +24691,7 @@ msgstr ""
"将当前打开的目录改为参数传递的目录。参数可以是相对于当前目录的(例如 "
"[code]newdir[/code] 或 [code].../newdir[/code]),也可以是绝对路径(例如 "
"[code]/tmp/newdir[/code] 或 [code]res://somedir/newdir[/code])。\n"
-"返回 [enum Error] 代码常量之一([code]OK[/code] 成功时)。"
+"返回 [enum Error] 错误码常量(成功时为 [code]OK[/code])。"
#: doc/classes/Directory.xml
msgid ""
@@ -24677,7 +24703,7 @@ msgid ""
msgstr ""
"将 [code]from[/code] 文件复制到 [code]to[/code] 目标位置。两个参数都应该是相"
"对或绝对文件的路径。如果目标文件存在且没有访问保护,则会被覆盖。\n"
-"返回 [enum Error] 代码常量之一(成功时返回 [code]OK[/code])。"
+"返回 [enum Error] 错误码常量(成功时为 [code]OK[/code])。"
#: doc/classes/Directory.xml
msgid ""
@@ -24685,8 +24711,8 @@ msgid ""
"call is a directory ([code].[/code] and [code]..[/code] are considered "
"directories)."
msgstr ""
-"返回上一次 [method get_next] 调用处理的当前项目是否为目录([code].[/code]和"
-"[code].[/code]被认为是目录)。"
+"返回上一次 [method get_next] 调用处理的当前项目是否为目录([code].[/code] 和 "
+"[code].[/code] 属于目录)。"
#: doc/classes/Directory.xml
msgid ""
@@ -24707,16 +24733,16 @@ msgid ""
"Returns the absolute path to the currently opened directory (e.g. "
"[code]res://folder[/code] or [code]C:\\tmp\\folder[/code])."
msgstr ""
-"返回当前打开目录的绝对路径(例如[code]res://文件夹[/code]或[code]C:\\tmp\\文"
-"件夹[/code])。"
+"返回当前打开目录的绝对路径(例如 [code]res://文件夹[/code] 或 [code]C:"
+"\\tmp\\文件夹[/code])。"
#: doc/classes/Directory.xml
msgid ""
"Returns the currently opened directory's drive index. See [method get_drive] "
"to convert returned index to the name of the drive."
msgstr ""
-"返回当前打开的目录的驱动器索引。请参阅[method get_drive]将返回的索引转换为驱"
-"动器的名称。"
+"返回当前打开的目录的驱动器索引。请参阅 [method get_drive] 将返回的索引转换为"
+"驱动器的名称。"
#: doc/classes/Directory.xml
msgid ""
@@ -24757,11 +24783,12 @@ msgid ""
"closes the stream automatically (i.e. [method list_dir_end] would not be "
"mandatory in such a case)."
msgstr ""
-"返回当前目录中的下一个元素(文件或目录)(包括[code].[/code]和[code].[/"
-"code],除非[code]skip_navigational[/code]被赋予[method list_dir_begin])。\n"
+"返回当前目录中的下一个元素(文件或目录。除非将 [code]skip_navigational[/"
+"code] 赋予 [method list_dir_begin],否则包括 [code].[/code] 和 [code].[/"
+"code])。\n"
"返回的是文件或目录的名称(而不是它的完整路径)。一旦流被完全处理,该方法返回"
-"一个空的String,并自动关闭流(即在这种情况下,[method list_dir_end]将不是强制"
-"性的)。"
+"一个空的 String,并自动关闭流(即在这种情况下,[method list_dir_end] 将不是强"
+"制性的)。"
#: doc/classes/Directory.xml
msgid ""
@@ -24808,7 +24835,7 @@ msgstr ""
"创建一个目录。参数可以是当前目录的相对路径,也可以是绝对路径。目标目录应该放"
"置在一个已经存在的目录中(如果要递归创建完整的路径,请参阅 [method "
"make_dir_recursive])。\n"
-"返回 [enum Error] 代码常量之一(成功时返回 [code]OK[/code])。"
+"返回 [enum Error] 错误码常量(成功时为 [code]OK[/code])。"
#: doc/classes/Directory.xml
msgid ""
@@ -24817,9 +24844,9 @@ msgid ""
"to the current directory, or an absolute path.\n"
"Returns one of the [enum Error] code constants ([code]OK[/code] on success)."
msgstr ""
-"通过递归调用 [method make_dir]方法,创建一个目标目录和其路径中所有必要的中间"
+"通过递归调用 [method make_dir] 方法,创建一个目标目录和其路径中所有必要的中间"
"目录。参数可以是相对于当前目录的,也可以是绝对路径。\n"
-"返回 [enum Error] 代码常量之一(成功时返回 [code]OK[/code])。"
+"返回 [enum Error] 错误码常量(成功时为 [code]OK[/code])。"
#: doc/classes/Directory.xml
msgid ""
@@ -24833,7 +24860,7 @@ msgstr ""
"folder[/code]),用户目录([code]user:// folder[/code])或以下位置的绝对路径"
"内:用户文件系统(例如 [code]/tmp/folder[/code] 或 [code]C:\\tmp\\folder[/"
"code])。\n"
-"返回 [enum Error] 代码常量之一(成功时返回 [code]OK[/code])。"
+"返回 [enum Error] 错误码常量(成功时为 [code]OK[/code])。"
#: doc/classes/Directory.xml
msgid ""
@@ -24847,7 +24874,7 @@ msgstr ""
"永久删除目标文件或空目录。参数可以是相对于当前目录的,也可以是绝对路径。如果"
"目标目录不是空的,操作将失败。\n"
"如果你不想永久删除该文件/目录,请使用 [method OS.move_to_trash] 代替。\n"
-"返回 [enum Error] 代码常量之一(成功时返回 [code]OK[/code])。"
+"返回 [enum Error] 错误码常量(成功时为 [code]OK[/code])。"
#: doc/classes/Directory.xml
msgid ""
@@ -24860,7 +24887,7 @@ msgstr ""
"将 [code]from[/code] 文件或目录重命名且移动到 [code]to[/code] 目标。两个参数"
"都应该是文件或目录的相对路径或绝对路径。如果目标文件或目录存在且不受访问保"
"护,它将被覆盖。\n"
-"返回 [enum Error] 代码常量之一,成功时返回 [code]OK[/code]。"
+"返回 [enum Error] 错误码常量(成功时为 [code]OK[/code])。"
#: doc/classes/DTLSServer.xml
msgid "Helper class to implement a DTLS server."
@@ -25127,7 +25154,7 @@ msgid ""
"This can be a negative number to make the distance between words smaller."
msgstr ""
"空格字符(在 [member extra_spacing_char] 之外)的额外间距,单位为像素。\n"
-"这可以是负数,使字符之间的距离更小。"
+"可以是负数,会使字符之间的距离更小。"
#: doc/classes/DynamicFont.xml
msgid "Extra spacing at the top in pixels."
@@ -25166,9 +25193,9 @@ msgid ""
"control whose size changes over time, unless a pixel art aesthetic is "
"desired."
msgstr ""
-"如果为 [code]true[/code],将使用过滤功能。如果字体过度采样被禁用或无效,这将"
-"使字体在缩放时变得模糊,而非像素化。当在尺寸随时变化的控件中使用字体时,建议"
-"启用这个功能,除非是像素设计。"
+"如果为 [code]true[/code],将使用过滤功能。如果字体过采样被禁用或无法生效,字"
+"体在缩放时会变得模糊,而非像素化。在尺寸会随时变化的控件中使用字体时,建议启"
+"用这个功能,除非想要像素画风格。"
#: doc/classes/DynamicFont.xml
msgid ""
@@ -25176,8 +25203,8 @@ msgid ""
"appearance when downscaling it if font oversampling is disabled or "
"ineffective."
msgstr ""
-"如果为 [code]true[/code],将使用 mipmap 多级渐远纹理。在字体过度采样被禁用或"
-"无效时,可改善字体缩小时的表现。"
+"如果为 [code]true[/code],将使用 mipmap 多级渐远纹理。在字体过采样被禁用或无"
+"法生效时,可改善字体缩小时的表现。"
#: doc/classes/DynamicFont.xml
msgid "Spacing at the top."
@@ -25229,7 +25256,7 @@ msgid ""
"and viewport stretch mode."
msgstr ""
"如果设为比 [code]0.0[/code] 大的值,则会覆盖默认的字体过采样,忽略 [member "
-"SceneTree.use_font_oversampling] 的值和视口拉伸模式。"
+"SceneTree.use_font_oversampling] 的值和视口的拉伸模式。"
#: doc/classes/DynamicFontData.xml
msgid "Disables font hinting (smoother but less crisp)."
@@ -26338,7 +26365,7 @@ msgstr ""
"新)加载场景,渲染网格预览,检查和编辑资源和对象。它允许自定义窗口,保存和"
"(重新)加载场景,渲染网格预览,检查和编辑资源和对象,并提供对 "
"[EditorSettings]、[EditorFileSystem]、[EditorResourcePreview]、"
-"[ScriptEditor]、编辑器视窗和场景信息的访问。\n"
+"[ScriptEditor]、编辑器视口和场景信息的访问。\n"
"[b]注意:[/b]这个类不应该直接实例化。相反,使用 [method EditorPlugin."
"get_editor_interface] 访问单例。"
@@ -26414,7 +26441,7 @@ msgid ""
msgstr ""
"返回主编辑器控件。将其作为主屏幕的父控件。\n"
"[b]注意:[/b]这将返回包含整个编辑器的主编辑器控件,而不是具体的 2D或 3D 视"
-"窗。\n"
+"口。\n"
"[b]警告:[/b]删除和释放这个节点将使编辑器的一部分失去作用,并可能导致崩溃。"
#: doc/classes/EditorInterface.xml
@@ -26734,7 +26761,7 @@ msgid ""
"custom gizmos to the 3D preview viewport for a [Spatial].\n"
"See [method add_inspector_plugin] for an example of how to register a plugin."
msgstr ""
-"注册一个新的 [EditorSpatialGizmoPlugin]。小工具插件可以在 3D 预览视区中为 "
+"注册一个新的 [EditorSpatialGizmoPlugin]。小工具插件可以在 3D 预览视口中为 "
"[Spatial] 添加自定义的小工具。\n"
"注册插件的示例见 [method add_inspector_plugin]。"
@@ -26830,8 +26857,8 @@ msgid ""
" return false\n"
"[/codeblock]"
msgstr ""
-"引擎会在 2D 编辑器的视区发生更新时调用。使用 [code]overlay[/code] [Control] "
-"进行绘制。你可以通过调用 [method update_overlays] 手动更新视窗。\n"
+"引擎会在 2D 编辑器的视口发生更新时调用。使用 [code]overlay[/code] [Control] "
+"进行绘制。你可以通过调用 [method update_overlays] 手动更新视口。\n"
"[codeblock]\n"
"func forward_canvas_draw_over_viewport(overlay):\n"
" # 在光标位置画一个圆。\n"
@@ -26840,7 +26867,7 @@ msgstr ""
"\n"
"func forward_canvas_gui_input(event):\n"
" if event is InputEventMouseMotion:\n"
-" # 当光标被移动时,重绘视窗。\n"
+" # 当光标被移动时,重绘视口。\n"
" update_overlays()\n"
" return true\n"
" return false\n"
@@ -26883,7 +26910,7 @@ msgid ""
" return forward\n"
"[/codeblock]"
msgstr ""
-"当当前编辑场景中有一个根节点时被调用,[method handles]实现,在2D视窗中发生按"
+"当当前编辑场景中有一个根节点时被调用,[method handles]实现,在2D视口中发生按"
"键输入[InputEvent]。拦截按键输入[InputEvent],如果[code]return true[/code] "
"[EditorPlugin]消耗键值[code]event[/code],否则将键值[code]event[/code]转发给"
"其他Editor类。例子:\n"
@@ -26922,9 +26949,9 @@ msgid ""
" return false\n"
"[/codeblock]"
msgstr ""
-"引擎会在 3D 编辑器的视区发生更新时调用。使用 [code]overlay[/code] 控件 "
+"引擎会在 3D 编辑器的视口发生更新时调用。使用 [code]overlay[/code] 控件 "
"[Control] 进行绘制。你可以通过调用 [method update_overlays] 更新覆盖手动更新"
-"视窗。\n"
+"视口。\n"
"[codeblock]\n"
"func forward_spatial_draw_over_viewport(overlay):\n"
" # 在光标位置画一个圆。\n"
@@ -26932,7 +26959,7 @@ msgstr ""
"\n"
"func forward_spatial_gui_input(camera, event):\n"
" if event is InputEventMouseMotion:\n"
-" # 当光标被移动时,重绘视窗。\n"
+" # 当光标被移动时,重绘视口。\n"
" update_overlays()\n"
" return true\n"
" return false\n"
@@ -26975,7 +27002,7 @@ msgid ""
" return forward\n"
"[/codeblock]"
msgstr ""
-"在当前编辑的场景中存在根节点时调用,实现[method handles]并在3D视窗中发生按键"
+"在当前编辑的场景中存在根节点时调用,实现[method handles]并在3D视口中发生按键"
"输入[InputEvent]。拦截按键输入[InputEvent],如果[code]return true[/code],则"
"[EditorPlugin]会使用键值[code]event[/code],否则将键值[code]event[/code]转发"
"到其他Editor类。例子:\n"
@@ -27245,7 +27272,7 @@ msgid ""
"once and it will work permanently for this plugin."
msgstr ""
"启用 2D 编辑器的 [method forward_canvas_force_draw_over_viewport] 和 3D 编辑"
-"器的 [method forward_spatial_force_draw_over_viewport] 在其视窗更新时的调用。"
+"器的 [method forward_spatial_force_draw_over_viewport] 在其视口更新时的调用。"
"你只需要调用这个方法一次,它就会对这个插件永久起作用。"
#: doc/classes/EditorPlugin.xml
@@ -27312,7 +27339,7 @@ msgid ""
"forward_spatial_draw_over_viewport] and [method "
"forward_spatial_force_draw_over_viewport] to be called."
msgstr ""
-"更新 2D 和 3D 编辑器视窗的覆盖层。导致方法 [method "
+"更新 2D 和 3D 编辑器视口的覆盖层。导致方法 [method "
"forward_canvas_draw_over_viewport]、[method "
"forward_canvas_force_draw_over_viewport]、[method "
"forward_spatial_draw_over_viewport] 和 [method "
@@ -27890,7 +27917,6 @@ msgid "Base script that can be used to add extension functions to the editor."
msgstr "可用于为编辑器添加扩展功能的基础脚本。"
#: doc/classes/EditorScript.xml
-#, fuzzy
msgid ""
"Scripts extending this class and implementing its [method _run] method can "
"be executed from the Script Editor's [b]File > Run[/b] menu option (or by "
@@ -27927,7 +27953,9 @@ msgstr ""
" print(\"Hello from the Godot Editor!\")\n"
"[/codeblock]\n"
"[b]注意:[/b]脚本在编辑器上下文中运行,这意味着输出在与编辑器一起启动的控制台"
-"窗口(stdout),而不是通常的 Godot [b]输出[/b]面板 。"
+"窗口(stdout),而不是通常的 Godot [b]输出[/b]面板 。\n"
+"[b]注意:[/b]EditorScript 进行了引用计数,不再被引用时就会被销毁。在进行异步"
+"操作时,如果不再存在对该脚本的引用,就可能造成错误。"
#: doc/classes/EditorScript.xml
msgid "This method is executed by the Editor when [b]File > Run[/b] is used."
@@ -37769,6 +37797,7 @@ msgstr ""
"[b]注意:[/b]这个值在 Android 和 iOS 上可立即被硬件传感器的值所覆盖。"
#: doc/classes/Input.xml
+#, fuzzy
msgid ""
"Sets a custom mouse cursor image, which is only visible inside the game "
"window. The hotspot can also be specified. Passing [code]null[/code] to the "
@@ -37780,7 +37809,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
"设置一个自定义鼠标光标图像,该图像仅当游戏窗口内可见。还可以指定热点。将 "
"[code]null[/code] 传递给 image 参数将重置为系统光标。有关详细信息,请参阅 "
@@ -37801,7 +37834,7 @@ msgid ""
"[b]Note:[/b] This method generates an [InputEventMouseMotion] to update "
"cursor immediately."
msgstr ""
-"设置该视区中使用的默认光标形状,而不是 [constant CURSOR_ARROW]。\n"
+"设置该视口中使用的默认光标形状,而不是 [constant CURSOR_ARROW]。\n"
"[b]注意:[/b]如果要更改 [Control] 节点的默认光标形状,请改用 [member Control."
"mouse_default_cursor_shape]。\n"
"[b]注意:[/b]这个方法会生成一个 [InputEventMouseMotion] 以立即更新光标。"
@@ -41529,7 +41562,6 @@ msgstr ""
"如果为 [code]true[/code],则光线的效果会逆转,使区域变暗并投射明亮的阴影。"
#: doc/classes/Light.xml
-#, fuzzy
msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
@@ -41540,7 +41572,9 @@ msgid ""
msgstr ""
"灯光的大小,使用 Godot 的单位。只在烘焙的光照贴图中考虑,并且只在 [member "
"light_bake_mode] 被设置为 [constant BAKE_ALL] 时考虑。增加这个值会使阴影看起"
-"来更模糊。这可以在一定程度上用于模拟区域灯光。"
+"来更模糊。这可以在一定程度上用于模拟区域灯光。\n"
+"[b]注意:[/b][member light_size] 不受 [member Spatial.scale] 的影响(无论是该"
+"灯光的缩放还是其父节点的缩放)。"
#: doc/classes/Light.xml
msgid ""
@@ -44044,7 +44078,7 @@ msgid ""
"MeshInstance2D[/b] at the top of the 2D editor viewport."
msgstr ""
"用于在 2D 中显示 [Mesh] 的节点。可以通过编辑器工具栏上的工具从现有的 "
-"[Sprite] 构建。选中 [Sprite] 节点,然后在 2D 编辑器视区顶部选择[b]精灵 > 转换"
+"[Sprite] 构建。选中 [Sprite] 节点,然后在 2D 编辑器视口顶部选择[b]精灵 > 转换"
"为 MeshInstance2D[/b]。"
#: doc/classes/MeshInstance2D.xml
@@ -45547,7 +45581,6 @@ msgid "3D agent used in navigation for collision avoidance."
msgstr "在导航中用于防撞的 3D 代理。"
#: doc/classes/NavigationAgent.xml
-#, fuzzy
msgid ""
"3D agent that is used in navigation to reach a location while avoiding "
"static and dynamic obstacles. The dynamic obstacles are avoided using RVO "
@@ -45574,7 +45607,9 @@ msgstr ""
"[NavigationAgent] 是物理安全的。\n"
"[b]注意:[/b]使用 [method set_target_location] 之后,必须在每个物理帧使用一"
"次 [method get_next_location] 函数来更新 NavigationAgent 的内部路径逻辑。这个"
-"函数返回的向量位置应该用作该代理的父节点的下一次移动位置。"
+"函数返回的向量位置应该用作该代理的父节点的下一次移动位置。\n"
+"[b]注意:[/b]默认情况下,避障的大强度计算是在单独的线程中进行的。在不支持多线"
+"程的 HTML5 导出中,则会在主线程中进行,可能导致性能问题。"
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
@@ -45867,7 +45902,6 @@ msgid "2D agent used in navigation for collision avoidance."
msgstr "在导航中用于防撞的 2D 代理。"
#: doc/classes/NavigationAgent2D.xml
-#, fuzzy
msgid ""
"2D agent that is used in navigation to reach a location while avoiding "
"static and dynamic obstacles. The dynamic obstacles are avoided using RVO "
@@ -45894,7 +45928,9 @@ msgstr ""
"[NavigationAgent2D] 是物理安全的。\n"
"[b]注意:[/b]使用 [method set_target_location] 之后,必须在每个物理帧使用一"
"次 [method get_next_location] 函数来更新 NavigationAgent 的内部路径逻辑。这个"
-"函数返回的向量位置应该用作该代理的父节点的下一次移动位置。"
+"函数返回的向量位置应该用作该代理的父节点的下一次移动位置。\n"
+"[b]注意:[/b]默认情况下,避障的大强度计算是在单独的线程中进行的。在不支持多线"
+"程的 HTML5 导出中,则会在主线程中进行,可能导致性能问题。"
#: doc/classes/NavigationAgent2D.xml
msgid ""
@@ -46763,7 +46799,6 @@ 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"
@@ -46805,6 +46840,8 @@ msgstr ""
"的速度触发回调。\n"
"[b]注意:[/b]防撞系统会忽略地区。直接使用修正后的速度可能会将代理推到可导航区"
"域之外。这是防撞系统的缺陷,更复杂的情况可能需要用到物理引擎。\n"
+"[b]注意:[/b]默认情况下,避障的大强度计算是在单独的线程中进行的。在不支持多线"
+"程的 HTML5 导出中,则会在主线程中进行,可能导致性能问题。\n"
"服务器会记录所有的调用,在同步阶段统一执行。这意味着你可以放心大胆地从任何线"
"程中请求对地图进行任何修改。"
@@ -50536,9 +50573,9 @@ msgstr ""
"[OccluderShape] 是 [Occluder] 节点所使用的资源,用于几何遮挡剔除。\n"
"该多边形必须是凸多边形。多边形顶点的创建与删除可以在编辑器的检查器中进行,也"
"可以通过调用 [code]set_polygon_points[/code] 实现。每一条边的顶点都可以通过在"
-"编辑器视窗中拖拽手柄设置。\n"
+"编辑器视口中拖拽手柄设置。\n"
"另外,每一个多边形遮挡器都可以支持单个空洞。如果你在编辑器的检查器中为空洞添"
-"加至少三个顶点,就可以在编辑器视窗中拖拽空洞边缘顶点的句柄。\n"
+"加至少三个顶点,就可以在编辑器视口中拖拽空洞边缘顶点的句柄。\n"
"一般而言,多边形以及空洞的边数越少,运行时系统的处理速度就越快,所以在大多数"
"情况下你都只会设置 4 个顶点。"
@@ -50632,7 +50669,6 @@ msgstr ""
"光的衰减(下降)曲线。在[b]检查器[/b]中,通过右键点击曲线,可以获得许多预设。"
#: doc/classes/OmniLight.xml
-#, fuzzy
msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
@@ -50641,9 +50677,11 @@ msgid ""
"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
"(the light's scale or its parent's scale)."
msgstr ""
-"光的半径。请注意,有效的照明区域可能看起来更小,这取决于使用的 [member "
-"omni_attenuation]。无论使用何种 [member omni_attenuation],光线都不会到达这个"
-"半径以外的地方。"
+"该灯光的半径。请注意,根据使用的 [member omni_attenuation],有效照明区域可能"
+"看起来更小。无论使用 [member omni_attenuation] 为何值,光都不会到达此范围之外"
+"的任何东西。\n"
+"[b]注意:[/b][member omni_range] 不受 [member Spatial.scale] 的影响(无论是该"
+"灯光的缩放还是其父节点的缩放)。"
#: doc/classes/OmniLight.xml
msgid "See [enum ShadowDetail]."
@@ -51297,7 +51335,6 @@ msgid "Returns the audio driver name for the given index."
msgstr "返回给定索引的音频驱动程序名称。"
#: doc/classes/OS.xml
-#, fuzzy
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
"system's standards. On Linux, this path can be overridden by setting the "
@@ -51308,7 +51345,7 @@ msgid ""
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
-"根据操作系统的标准返回[i]全局[/i]缓存数据目录。在桌面平台上,可以通过在启动项"
+"根据操作系统的标准返回[i]全局[/i]缓存数据目录。在 Linux 上,可以通过在启动项"
"目之前设置 [code]XDG_CACHE_HOME[/code] 环境变量来覆盖此路径。有关更多信息,请"
"参阅文档中的 [url=$DOCS_URL/tutorials/io/data_paths.html]《Godot 项目中的文件"
"路径》[/url]。另请参阅 [method get_config_dir] 和 [method get_data_dir]。\n"
@@ -51362,7 +51399,6 @@ msgstr ""
"[/codeblock]"
#: doc/classes/OS.xml
-#, fuzzy
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
"operating system's standards. On Linux, this path can be overridden by "
@@ -51373,7 +51409,7 @@ msgid ""
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
-"根据操作系统的标准,返回[i]全局[/i]用户配置目录。在桌面平台上,这个路径可以在"
+"根据操作系统的标准,返回[i]全局[/i]用户配置目录。在 Linux 上,这个路径可以在"
"启动项目前通过设置[code]XDG_CONFIG_HOME[/code]环境变量来覆盖。更多信息请参见"
"文档中[url=$DOCS_URL/tutorials/io/data_paths.html]《Godot 项目中的文件路径》"
"[/url]。另请参阅 [method get_cache_dir] 和 [method get_data_dir]。\n"
@@ -51398,7 +51434,6 @@ msgid ""
msgstr "返回当前使用的视频驱动程序,使用[enum VideoDriver]中的一个值。"
#: doc/classes/OS.xml
-#, fuzzy
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
"system's standards. On Linux, this path can be overridden by setting the "
@@ -51409,7 +51444,7 @@ msgid ""
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
-"根据操作系统的标准,返回[i]全局[/i]用户数据目录。在桌面平台上,这个路径可以在"
+"根据操作系统的标准,返回[i]全局[/i]用户数据目录。在 Linux 上,这个路径可以在"
"启动项目前通过设置[code]XDG_DATA_HOME[/code]环境变量来覆盖。更多信息请参见文"
"档中[url=$DOCS_URL/tutorials/io/data_paths.html]《Godot 项目中的文件路径》[/"
"url]。另请参阅 [method get_cache_dir] 和 [method get_config_dir]。\n"
@@ -53698,14 +53733,14 @@ msgstr ""
"使用 [code]process_material[/code] 属性添加 [ParticlesMaterial] 来配置粒子外"
"观和行为。或者,您可以添加一个将应用于所有粒子的 [ShaderMaterial]。\n"
"[b]注意:[/b][Particles] 仅在使用 GLES3 渲染器时有效。如果使用 GLES2 渲染器,"
-"请改用 [CPUParticles]。您可以通过选择节点,单击 3D 编辑器视窗顶部的"
+"请改用 [CPUParticles]。您可以通过选择节点,单击 3D 编辑器视口顶部的"
"[b]Particles[/b]菜单,然后选择[b]转换为 CPUParticles[/b],将 [Particles] 转换"
"为 [CPUParticles]。\n"
"[b]注意:[/b]在 macOS 上,渲染 [Particles] 比 [CPUParticles] 要慢上很多,因为"
"变换反馈是在 CPU 上实现的,而不是 GPU。以 macOS 为目标时,请考虑使用 "
"[CPUParticles]。\n"
"[b]注意:[/b]在处理粒子节点后,记得通过选择它来更新其 [member "
-"visibility_aabb],单击 3D 编辑器视窗顶部的[b]Particles[/b]菜单,然后选择[b]生"
+"visibility_aabb],单击 3D 编辑器视口顶部的[b]Particles[/b]菜单,然后选择[b]生"
"成可见 AABB[/b]。否则,粒子可能会由于相机位置和角度的改变突然消失。"
#: doc/classes/Particles.xml
@@ -53860,15 +53895,14 @@ msgid "Particle systems (2D)"
msgstr "粒子系统(2D)"
#: doc/classes/Particles2D.xml
-#, fuzzy
msgid "2D Particles Demo"
-msgstr "2D 平台跳跃演示"
+msgstr "2D 粒子演示"
#: doc/classes/Particles2D.xml
msgid ""
"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
"player)"
-msgstr ""
+msgstr "2D Dodge The Creeps 演示(玩家身后的拖尾使用的是 GPUParticles2D)"
#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
@@ -58119,7 +58153,7 @@ msgid ""
msgstr ""
"Popup 是基本的 [Control],用于显示对话框和弹出窗口。默认情况下,它是一个子窗"
"口和模态,参阅 [Control],并具有自定义弹出行为的辅助程序。所有弹出方法都确保"
-"在视窗中正确放置。"
+"在视口中正确放置。"
#: doc/classes/Popup.xml
msgid "Popup (show the control in modal form)."
@@ -60422,7 +60456,7 @@ msgid ""
"default window size. Stretch mode settings also use this as a reference when "
"enabled."
msgstr ""
-"设置游戏的主视窗高度。在桌面平台上,这是默认的窗口大小。当启用拉伸模式设置"
+"设置游戏的主视口高度。在桌面平台上,这是默认的窗口大小。当启用拉伸模式设置"
"时,也使用此参数作为参考。"
#: doc/classes/ProjectSettings.xml
@@ -60451,7 +60485,7 @@ msgid ""
"default window size. Stretch mode settings also use this as a reference when "
"enabled."
msgstr ""
-"设置游戏的主视窗宽度。在桌面平台上,这是默认的窗口大小。当启用拉伸模式设置"
+"设置游戏的主视口宽度。在桌面平台上,这是默认的窗口大小。当启用拉伸模式设置"
"时,也使用此参数作为参考。"
#: doc/classes/ProjectSettings.xml
@@ -60585,7 +60619,7 @@ msgid ""
"and is the recommended setting."
msgstr ""
"如果已启用,则会在将 [member Viewport.gui_disable_input] 设为 [code]false[/"
-"code] 禁用视区的 GUI 输入时,将当前的鼠标悬停及聚焦丢弃。\n"
+"code] 禁用视口的 GUI 输入时,将当前的鼠标悬停及聚焦丢弃。\n"
"这样的行为能够帮助保持 GUI 状态的健壮,输入恢复时,无论当时发生了什么都不会产"
"生意外的结果。\n"
"如果已禁用,会使用旧有行为,除了禁用 GUI 输入本身不会进行额外操作。\n"
@@ -60596,8 +60630,8 @@ msgid ""
"If [code]true[/code], swaps OK and Cancel buttons in dialogs on Windows and "
"UWP to follow interface conventions."
msgstr ""
-"如果为 [code]true[/code],在Windows和UWP的对话框中交换确定和取消按钮,以遵循"
-"界面惯例。"
+"如果为 [code]true[/code],在 Windows 和 UWP 的对话框中交换确定和取消按钮,以"
+"遵循界面惯例。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -60639,9 +60673,9 @@ msgid ""
"necessary for the internal logic of several [Control]s. The events assigned "
"to the action can however be modified."
msgstr ""
-"默认用于确认焦点按钮、菜单或列表项,或验证输入的[InputEventAction]。\n"
-"[b]注意:[/b]默认的[code]ui_*[/code]动作不能被删除,因为它们是几个[Control]的"
-"内部逻辑所必需的。但是,可以修改分配给该操作的事件。"
+"默认用于确认焦点按钮、菜单或列表项,或验证输入的 [InputEventAction]。\n"
+"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需"
+"的,无法删除。但是可以修改分配给该动作的事件。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -60650,9 +60684,9 @@ msgid ""
"necessary for the internal logic of several [Control]s. The events assigned "
"to the action can however be modified."
msgstr ""
-"默认放弃一个模态或挂起的输入的[InputEventAction]。\n"
-"[b]注意:[/b]默认的[code]ui_*[/code]动作不能被删除,因为它们是几个[Control]的"
-"内部逻辑所必需的。但是,可以修改分配给该操作的事件。"
+"默认用于放弃模态或挂起的输入的 [InputEventAction]。\n"
+"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需"
+"的,无法删除。但是可以修改分配给该动作的事件。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -60661,9 +60695,9 @@ msgid ""
"necessary for the internal logic of several [Control]s. The events assigned "
"to the action can however be modified."
msgstr ""
-"默认在UI中向下移动的[InputEventAction]。\n"
-"[b]注意:[/b]默认的[code]ui_*[/code]动作不能被删除,因为它们是几个[Control]的"
-"内部逻辑所必需的。但是,可以修改分配给该操作的事件。"
+"默认在 UI 中向下移动的 [InputEventAction]。\n"
+"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需"
+"的,无法删除。但是可以修改分配给该动作的事件。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -60676,8 +60710,8 @@ msgid ""
msgstr ""
"默认[InputEventAction]去[Control]的结束位置(例如[ItemList]或[Tree]中的最后一"
"项),匹配典型桌面UI系统中[constant KEY_END]的行为。\n"
-"[b]注意:[/b]默认的[code]ui_*[/code]动作不能被删除,因为它们是几个[Control]的"
-"内部逻辑所必需的。但是,可以修改分配给该操作的事件。"
+"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需"
+"的,无法删除。但是可以修改分配给该动作的事件。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -60689,8 +60723,8 @@ msgid ""
msgstr ""
"默认聚焦场景中的下一个[Control]的[InputEventAction]。焦点行为可以通过[member "
"Control.focus_next]配置。\n"
-"[b]注意:[/b]默认的[code]ui_*[/code]动作不能被删除,因为它们是几个[Control]的"
-"内部逻辑所必需的。但是,可以修改分配给该操作的事件。"
+"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需"
+"的,无法删除。但是可以修改分配给该动作的事件。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -60702,8 +60736,8 @@ msgid ""
msgstr ""
"默认聚焦场景中的前一个[Control]的[InputEventAction]。焦点行为可以通过[member "
"Control.focus_previous]配置。\n"
-"[b]注意:[/b]默认的[code]ui_*[/code]动作不能被删除,因为它们是几个[Control]的"
-"内部逻辑所必需的。但是,可以修改分配给该操作的事件。"
+"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需"
+"的,无法删除。但是可以修改分配给该动作的事件。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -60716,8 +60750,8 @@ msgid ""
msgstr ""
"默认的将进入[Control]的起始位置(例如[ItemList]或[Tree]中的第一个项目)时的"
"[InputEventAction],与典型的桌面UI系统中[constant KEY_HOME]的行为相匹配。\n"
-"[b]注意:[/b]默认的[code]ui_*[/code]动作不能被删除,因为它们对于几个[Control]"
-"的内部逻辑是必要的。然而,分配给动作的事件可以被修改。"
+"[b]注意:[/b]默认的 [code]ui_*[/code] 动作不能被删除,因为它们是几个 "
+"[Control] 的内部逻辑所必需的。然而,分配给动作的事件可以被修改。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -60726,9 +60760,9 @@ msgid ""
"necessary for the internal logic of several [Control]s. The events assigned "
"to the action can however be modified."
msgstr ""
-"默认在UI中向左移动的[InputEventAction]。\n"
-"[b]注意:[/b]默认的[code]ui_*[/code]动作不能被删除,因为它们是几个[Control]的"
-"内部逻辑所必需的。但是,可以修改分配给该操作的事件。"
+"默认在 UI 中向左移动的[InputEventAction]。\n"
+"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需"
+"的,无法删除。但是可以修改分配给该动作的事件。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -60742,8 +60776,8 @@ msgstr ""
"默认的在 [Control](例如 [ItemList] 或 [Tree])中向下翻页的 "
"[InputEventAction],与典型桌面 UI 系统中 [constant KEY_PAGEDOWN] 的行为相匹"
"配。\n"
-"[b]注意:[/b]默认的 [code]ui_*[/code] 动作不能被删除,因为它们是几个 "
-"[Control] 的内部逻辑所必需的。但是,可以修改分配给该操作的事件。"
+"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需"
+"的,无法删除。但是可以修改分配给该动作的事件。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -60757,8 +60791,8 @@ msgstr ""
"默认的在 [Control](例如 [ItemList] 或 [Tree])中向上翻页的 "
"[InputEventAction],与典型桌面 UI 系统中 [constant KEY_PAGEUP] 的行为相匹"
"配。\n"
-"[b]注意:[/b]默认的 [code]ui_*[/code] 动作不能被删除,因为它们是几个 "
-"[Control] 的内部逻辑所必需的。但是,可以修改分配给该操作的事件。"
+"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需"
+"的,无法删除。但是可以修改分配给该动作的事件。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -60767,9 +60801,9 @@ msgid ""
"necessary for the internal logic of several [Control]s. The events assigned "
"to the action can however be modified."
msgstr ""
-"默认在UI中右移的[InputEventAction]。\n"
-"[b]注意:[/b]默认的[code]ui_*[/code]动作不能被删除,因为它们是几个[Control]的"
-"内部逻辑所必需的。但是,可以修改分配给该操作的事件。"
+"默认在 UI 中右移的[InputEventAction]。\n"
+"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需"
+"的,无法删除。但是可以修改分配给该动作的事件。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -60780,8 +60814,8 @@ msgid ""
"to the action can however be modified."
msgstr ""
"默认选择[Control](例如[ItemList]或[Tree])中的一个项目[InputEventAction]。\n"
-"[b]注意:[/b]默认的[code]ui_*[/code]动作不能被删除,因为它们是几个[Control]的"
-"内部逻辑所必需的。但是,可以修改分配给该操作的事件。"
+"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需"
+"的,无法删除。但是可以修改分配给该动作的事件。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -60790,9 +60824,9 @@ msgid ""
"necessary for the internal logic of several [Control]s. The events assigned "
"to the action can however be modified."
msgstr ""
-"默认在UI中向上移动[InputEventAction]。\n"
-"[b]注意:[/b]默认的[code]ui_*[/code]动作不能被删除,因为它们是几个[Control]的"
-"内部逻辑所必需的。但是,可以修改分配给该操作的事件。"
+"默认在 UI 中向上移动[InputEventAction]。\n"
+"[b]注意:[/b]默认的 [code]ui_*[/code] 动作是部分 [Control] 的内部逻辑所必需"
+"的,无法删除。但是可以修改分配给该动作的事件。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -63204,7 +63238,6 @@ msgstr ""
"的值通常会给出最好的结果。另见 [member rendering/quality/filters/use_fxaa]。"
#: doc/classes/ProjectSettings.xml
-#, fuzzy
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
@@ -63224,13 +63257,18 @@ msgid ""
"debanding at run-time, set [member Viewport.debanding] on the root "
"[Viewport] instead."
msgstr ""
-"如果为 [code]true[/code],则使用快速后处理过滤器使条带明显不那么明显。在某些"
-"情况下,去带可能会引入稍微明显的抖动模式。建议仅在实际需要时启用去条带,因为"
-"抖动模式会使无损压缩的屏幕截图更大。\n"
+"如果为 [code]true[/code],则使用一个快速的后期处理滤波器,使 3D 的带状现象明"
+"显减少。2D 渲染[i]不受[/i]去条带的影响,除非 [member Environment."
+"background_mode] 为 [constant Environment.BG_CANVAS]。此时 [member rendering/"
+"quality/intended_usage/framebuffer_allocation] 也必须设为 [b]3D[/b]。\n"
+"在某些情况下,去带可能会引入稍微明显的抖动模式。建议仅在实际需要时启用去条"
+"带,因为抖动模式会使无损压缩的屏幕截图更大。\n"
"[b]注意:[/b]仅在 GLES3 后端可用。[member rendering/quality/depth/hdr] 也必须"
"为 [code]true[/code] 才能使去色带有效。\n"
"[b]注意:[/b]已知在移动平台上的去色带存在破坏渲染的问题。因此,建议在用于移动"
-"平台时禁用此选项。"
+"平台时禁用此选项。\n"
+"[b]注意:[/b]这个属性在项目启动时是只读的。要在运行时设置去条带,请在根 "
+"[Viewport] 上设置 [member Viewport.debanding]。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -65372,6 +65410,13 @@ msgid ""
"[code]offset[/code], and the character before [code]offset[/code] will be "
"checked for the word boundary [code]\\b[/code]."
msgstr ""
+"在文本中搜索编译后的模式。如果找到,则将首个匹配结果放在 [RegExMatch] 容器中"
+"返回,否则返回 [code]null[/code]。\n"
+"搜索的范围可以用 [code]offset[/code] 和 [code]end[/code] 指定。可用于在上一次"
+"成功找到后再次使用相同的 [code]subject[/code] 调用这个方法,继续寻找匹配。设"
+"置这些参数和传入缩短后的字符串是不同的。例如,起点 [code]^[/code] 不会受 "
+"[code]offset[/code] 影响,单词边界 [code]\\b[/code] 会检查 [code]offset[/"
+"code] 之前的字符。"
#: modules/regex/doc_classes/RegEx.xml
msgid ""
@@ -65386,9 +65431,15 @@ msgid ""
"[code]offset[/code], and the character before [code]offset[/code] will be "
"checked for the word boundary [code]\\b[/code]."
msgstr ""
+"在文本中搜索编译后的模式。返回 [RegExMatch] 容器的数组,其中包含的是互不重叠"
+"的匹配结果。如果没有找到匹配,则返回空数组。\n"
+"搜索的范围可以用 [code]offset[/code] 和 [code]end[/code] 指定。可用于在上一次"
+"成功找到后再次使用相同的 [code]subject[/code] 调用这个方法,继续寻找匹配。设"
+"置这些参数和传入缩短后的字符串是不同的。例如,起点 [code]^[/code] 不会受 "
+"[code]offset[/code] 影响,单词边界 [code]\\b[/code] 会检查 [code]offset[/"
+"code] 之前的字符。"
#: modules/regex/doc_classes/RegEx.xml
-#, fuzzy
msgid ""
"Searches the text for the compiled pattern and replaces it with the "
"specified string. Escapes and backreferences such as [code]$1[/code] and "
@@ -65403,10 +65454,14 @@ msgid ""
"[code]offset[/code], and the character before [code]offset[/code] will be "
"checked for the word boundary [code]\\b[/code]."
msgstr ""
-"搜索文本中的编译模式,并将其替换为指定的字符串。诸如 [code]$1[/code] 和 "
+"在文本中搜索编译后的模式,并将其替换为指定的字符串。诸如 [code]$1[/code] 和 "
"[code]$name[/code] 等转义和反向引用会被展开和解决。默认情况下,只有第一个实例"
-"被替换,但可以对所有实例进行修改(全局替换)。可以指定要搜索的区域,而不需要"
-"修改开始和结束锚的位置。"
+"被替换,但可以对所有实例进行修改(全局替换)。\n"
+"搜索的范围可以用 [code]offset[/code] 和 [code]end[/code] 指定。可用于在上一次"
+"成功找到后再次使用相同的 [code]subject[/code] 调用这个方法,继续寻找匹配。设"
+"置这些参数和传入缩短后的字符串是不同的。例如,起点 [code]^[/code] 不会受 "
+"[code]offset[/code] 影响,单词边界 [code]\\b[/code] 会检查 [code]offset[/"
+"code] 之前的字符。"
#: modules/regex/doc_classes/RegExMatch.xml
msgid "Contains the results of a [RegEx] search."
@@ -65687,7 +65742,7 @@ msgstr ""
"时,这个方法会被调用。它的行为可以通过覆盖脚本中的 [method "
"_setup_local_to_scene] 进行定制。\n"
"对于大多数资源,该方法不执行任何基本逻辑。[ViewportTexture] 执行自定义逻辑以"
-"正确设置本地视窗中的代理纹理和标志。"
+"正确设置本地视口中的代理纹理和标志。"
#: doc/classes/Resource.xml
msgid ""
@@ -68854,12 +68909,11 @@ msgid ""
"quality/dynamic_fonts/use_oversampling[/code] in [ProjectSettings]. The "
"property can however be overridden at runtime as needed."
msgstr ""
-"为 [code]true[/code] 时启用字体过采样。这意味着根据视窗的缩放比例不同,"
-"[DynamicFont] 渲染的大小会比配置大小更高或更低。例如,如果视窗的缩放系数为 "
-"1.5,那么配置为 14 号大小的字体将会按照 21 号大小渲染([code]14 * 1.5[/"
-"code])。\n"
-"[b]注意:[/b]字体过采样仅在视窗拉伸模式为 [constant STRETCH_MODE_VIEWPORT] 且"
-"拉伸比例模式不是 [constant STRETCH_ASPECT_IGNORE] 时有效。\n"
+"为 [code]true[/code] 时启用字体过采样。这意味着根据视口的缩放比例不同,"
+"[DynamicFont] 渲染的大小会比配置大小更高或更低。例如,视口的缩放系数为 1.5 "
+"时,配置大小为 14 的字体将会当作大小为 21 渲染([code]14 * 1.5[/code])。\n"
+"[b]注意:[/b]只有在视口拉伸模式为 [constant STRETCH_MODE_VIEWPORT] 且拉伸比例"
+"模式不是 [constant STRETCH_ASPECT_IGNORE] 时,才会使用字体过采样。\n"
"[b]注意:[/b]项目启动时会为活动的 [SceneTree] 自动设置该属性,取值为 "
"[ProjectSettings] 的 [code]rendering/quality/dynamic_fonts/use_oversampling[/"
"code]。不过运行时可以根据需要对该属性进行覆盖。"
@@ -68932,7 +68986,7 @@ msgstr "当节点的配置更改时发出。仅在 [code]tool[/code] 模式下
#: doc/classes/SceneTree.xml
msgid "Emitted whenever a node is removed from the [SceneTree]."
-msgstr "当从 [SceneTree] 中删除节点时发出。"
+msgstr "当从 [SceneTree] 中移除节点时发出。"
#: doc/classes/SceneTree.xml
msgid "Emitted whenever a node is renamed."
@@ -68968,15 +69022,15 @@ msgstr "当 [SceneTree] 层次结构发生变化(移动或重命名子项等
#: doc/classes/SceneTree.xml
msgid "Call a group with no flags (default)."
-msgstr "对组进行调用时,不使用标志(默认)。"
+msgstr "对分组进行调用时,不使用标志(默认)。"
#: doc/classes/SceneTree.xml
msgid "Call a group in reverse scene order."
-msgstr "对组进行调用时,使用逆场景序。"
+msgstr "对分组进行调用时,使用逆场景序。"
#: doc/classes/SceneTree.xml
msgid "Call a group immediately (calls are normally made on idle)."
-msgstr "对组进行调用时,立即执行(正常情况下是在空闲时调用的)。"
+msgstr "对分组进行调用时,立即执行(正常情况下是在空闲时调用的)。"
#: doc/classes/SceneTree.xml
msgid ""
@@ -68985,6 +69039,9 @@ msgid ""
"call is unique or not. Therefore when the same method is called with "
"different arguments, only the first call will be performed."
msgstr ""
+"即便执行了多次调用,也只对分组进行一次调用。\n"
+"[b]注意:[/b]确定调用是否唯一时不考虑参数。因此,如果使用不同的参数调用了同一"
+"个方法,那么只会执行第一个调用。"
#: doc/classes/SceneTree.xml
msgid "No stretching."
@@ -71377,10 +71434,10 @@ msgstr ""
msgid ""
"Rotation part of the local transformation in degrees, specified in terms of "
"YXZ-Euler angles in the format (X angle, Y angle, Z angle)."
-msgstr "旋转部分局部变换为度,按 YXZ-Euler 角格式指定(X 角、Y 角、Z 角)。"
+msgstr ""
+"局部变换的旋转部分,单位为度,以 YXZ 欧拉角的形式表示(X 角、Y 角、Z 角)。"
#: doc/classes/Spatial.xml
-#, fuzzy
msgid ""
"Scale part of the local transformation.\n"
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
@@ -71392,7 +71449,9 @@ msgid ""
msgstr ""
"局部变换的缩放部分。\n"
"[b]注意:[/b]3D 中,变换矩阵是无法分解出正负混合的缩放的。由于 Godot 中使用变"
-"换矩阵来表示缩放,得到的缩放值要么全正、要么全负。"
+"换矩阵来表示缩放,得到的缩放值要么全正、要么全负。\n"
+"[b]注意:[/b]并不是所有节点的外观都会被 [member scale] 属性缩放。例如,"
+"[Light] 的外观就不受 [member scale] 影响。"
#: doc/classes/Spatial.xml
msgid "Local space [Transform] of this node, with respect to the parent node."
@@ -73038,6 +73097,9 @@ msgid ""
"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
"(the light's scale or its parent's scale)."
msgstr ""
+"聚光灯的角度,单位为度。\n"
+"[b]注意:[/b][member spot_angle] 不受 [member Spatial.scale] 的影响(无论是该"
+"灯光的缩放还是其父节点的缩放)。"
#: doc/classes/SpotLight.xml
msgid "The spotlight's angular attenuation curve."
@@ -73048,7 +73110,6 @@ msgid "The spotlight's light energy attenuation curve."
msgstr "聚光灯的光量衰减曲线。"
#: doc/classes/SpotLight.xml
-#, fuzzy
msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
@@ -73058,8 +73119,10 @@ msgid ""
"(the light's scale or its parent's scale)."
msgstr ""
"聚光灯可以达到的最大范围。请注意,根据使用的 [member spot_attenuation],有效"
-"照明区域可能看起来更小。无论使用[member spot_attenuation],光都不会到达此范围"
-"之外的任何东西。"
+"照明区域可能看起来更小。无论 [member spot_attenuation] 为何值,光都不会到达此"
+"范围之外的任何东西。\n"
+"[b]注意:[/b][member spot_angle] 不受 [member Spatial.scale] 的影响(无论是该"
+"灯光的缩放还是其父节点的缩放)。"
#: doc/classes/SpringArm.xml
msgid "A helper node, mostly used in 3rd person cameras."
@@ -76689,7 +76752,7 @@ msgid ""
"Centers the viewport on the line the editing cursor is at. This also resets "
"the [member scroll_horizontal] value to [code]0[/code]."
msgstr ""
-"将视区置于编辑光标所在的行上。这也会将 [member scroll_horizontal] 值重置为 "
+"将视口置于编辑光标所在的行上。这也会将 [member scroll_horizontal] 值重置为 "
"[code]0[/code]。"
#: doc/classes/TextEdit.xml
@@ -76723,7 +76786,7 @@ msgid ""
"will center at the cursor position after the move occurs."
msgstr ""
"将光标移动到指定的 [code]column[/code] 索引处。\n"
-"如果 [code]adjust_viewport[/code] 设置为 [code]true[/code],则移动发生后视窗"
+"如果 [code]adjust_viewport[/code] 设置为 [code]true[/code],则移动发生后视口"
"将以光标位置为中心。"
#: doc/classes/TextEdit.xml
@@ -76735,7 +76798,7 @@ msgid ""
"[code]line[/code] can be hidden using [method set_line_as_hidden]."
msgstr ""
"在指定的 [code]line[/code] 索引处移动光标。\n"
-"如果 [code]adjust_viewport[/code] 设置为 [code]true[/code],则移动发生后视窗"
+"如果 [code]adjust_viewport[/code] 设置为 [code]true[/code],则移动发生后视口"
"将以光标位置为中心。\n"
"如果 [code]can_be_hidden[/code] 设置为 [code]true[/code],则可以使用 [method "
"set_line_as_hidden] 隐藏指定的 [code]line[/code]。"
@@ -84329,16 +84392,16 @@ msgid ""
"to be upside down. Enabling [member render_target_v_flip] will display the "
"Viewport with the correct orientation."
msgstr ""
-"Viewport 会在屏幕上创建不同的视图,或者是另一个视窗中的子视图。子代 2D 节点会"
+"Viewport 会在屏幕上创建不同的视图,或者是另一个视口中的子视图。子代 2D 节点会"
"在其上显示,子代 3D 摄像机节点也会在其上渲染。\n"
-"另外,视窗可以有自己的 2D 或 3D 世界,所以它们不会与其他视窗共享其所绘制的内"
+"另外,视口可以有自己的 2D 或 3D 世界,所以它们不会与其他视口共享其所绘制的内"
"容。\n"
-"如果视窗是 [ViewportContainer] 的子节点,它将自动占用其大小,否则必须手动设"
+"如果视口是 [ViewportContainer] 的子节点,它将自动占用其大小,否则必须手动设"
"置。\n"
-"视窗也可以选择成为音频监听者,会根据它的 2D 或 3D 摄像机的子节点来产生位置音"
+"视口也可以选择成为音频监听者,会根据它的 2D 或 3D 摄像机的子节点来产生位置音"
"频。\n"
-"另外,如果设备有多个屏幕,视窗可以被分配到不同的屏幕。\n"
-"最后,视窗也可以作为渲染目标,在这种情况下,除非相关的纹理被用于绘制,否则它"
+"另外,如果设备有多个屏幕,视口可以被分配到不同的屏幕。\n"
+"最后,视口也可以作为渲染目标,在这种情况下,除非相关的纹理被用于绘制,否则它"
"们将不可见。\n"
"[b]注意:[/b]默认情况下,Godot 3.x 中新创建的 Viewport 是上下颠倒的。启用 "
"[member render_target_v_flip] 可以使该 Viewport 使用正确的朝向显示。"
@@ -84385,7 +84448,7 @@ msgstr "返回激活的 3D 相机。"
#: doc/classes/Viewport.xml
msgid "Returns the total transform of the viewport."
-msgstr "返回视窗的总的变换。"
+msgstr "返回视口的总的变换。"
#: doc/classes/Viewport.xml
msgid "Returns the topmost modal in the stack."
@@ -84399,7 +84462,7 @@ msgstr "返回该 [Viewport] 中鼠标的位置,使用该 [Viewport] 的坐标
#: doc/classes/Viewport.xml
msgid "Returns information about the viewport from the rendering pipeline."
-msgstr "返回渲染管道中关于视窗的信息。"
+msgstr "返回渲染管道中关于视口的信息。"
#: doc/classes/Viewport.xml
msgid "Returns the [enum ShadowAtlasQuadrantSubdiv] of the specified quadrant."
@@ -84420,7 +84483,7 @@ msgid ""
"img.flip_y()\n"
"[/codeblock]"
msgstr ""
-"返回该视窗的纹理。\n"
+"返回该视口的纹理。\n"
"[b]注意:[/b]由于 OpenGL 的工作方式,产生的 [ViewportTexture] 是垂直翻转的。"
"你可以在 [method Texture.get_data] 的结果上使用 [method Image.flip_y] 来将其"
"翻转回去,例如:\n"
@@ -84459,7 +84522,7 @@ msgid ""
"Alternative to [constant Node.NOTIFICATION_DRAG_BEGIN] and [constant Node."
"NOTIFICATION_DRAG_END] when you prefer polling the value."
msgstr ""
-"如果该视区目前正在执行拖拽操作,则返回 [code]true[/code]。\n"
+"如果该视口目前正在执行拖拽操作,则返回 [code]true[/code]。\n"
"如果你更倾向于对其进行轮询,那么就可以作为 [constant Node."
"NOTIFICATION_DRAG_BEGIN] 和 [constant Node.NOTIFICATION_DRAG_END] 的替代品。"
@@ -84540,7 +84603,6 @@ msgstr ""
"全局画布变换。"
#: doc/classes/Viewport.xml
-#, fuzzy
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
@@ -84555,9 +84617,13 @@ msgid ""
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
-"如果为 [code]true[/code],则使用一个快速的后期处理滤波器,使带状现象明显减"
-"少。在某些情况下,去带可能会引入稍微明显的抖动模式。建议只有在实际需要时才启"
-"用去带,因为抖动模式会使无损压缩的屏幕截图变大。\n"
+"如果为 [code]true[/code],则使用一个快速的后期处理滤波器,使 3D 的带状现象明"
+"显减少。2D 渲染[i]不受[/i]去条带的影响,除非 [member Environment."
+"background_mode] 为 [constant Environment.BG_CANVAS]。此时 [member usage] 也"
+"必须设为 [constant USAGE_3D]。另请参阅 [member ProjectSettings.rendering/"
+"quality/filters/use_debanding]。\n"
+"在某些情况下,去条带可能会引入稍微明显的抖动图案。建议只有在实际需要时才启用"
+"去条带,因为抖动图案会使无损压缩的屏幕截图变大。\n"
"[b]注意:[/b]仅在 GLES3 后端可用。[member hdr] 也必须是 [code]true[/code] 才"
"能使去色带生效。"
@@ -84566,13 +84632,12 @@ msgid "The overlay mode for test rendered geometry in debug purposes."
msgstr "在调试时,用于测试渲染的几何图形的叠加模式。"
#: doc/classes/Viewport.xml
-#, fuzzy
msgid ""
"If [code]true[/code], the viewport will disable 3D rendering. To actually "
"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
-"如果为 [code]true[/code],该视口将禁用 3D 渲染。对于实际禁用,使用 "
-"[code]usage[/code]。"
+"如果为 [code]true[/code],该视口将禁用 3D 渲染。要实际禁用 3D 缓冲区的分配,"
+"请设置 [member usage]。"
#: doc/classes/Viewport.xml
msgid ""
@@ -84616,7 +84681,7 @@ msgid ""
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
"如果为 [code]true[/code],视口的渲染将获益于高动态范围算法。高动态范围允许视"
-"窗接收 0-1 范围以外的数值。在 Godot 中 HDR 默认使用半精度浮点数(16 位)。要"
+"口接收 0-1 范围以外的数值。在 Godot 中 HDR 默认使用半精度浮点数(16 位)。要"
"使用全精度浮点数(32 位),请启用 [member use_32_bpc_depth]。\n"
"[b]注意:[/b]需要将 [member usage] 设置为 [constant USAGE_3D] 或 [constant "
"USAGE_3D_NO_EFFECTS],因为 HDR 不支持 2D。\n"
@@ -84635,7 +84700,7 @@ msgid ""
"require input in linear color space!"
msgstr ""
"如果为 [code]true[/code],3D 渲染后的结果将不会应用线性到 sRGB 的颜色转换。当"
-"视口被用作渲染目标时,这点很重要,因为渲染结果会被用作另一个视窗中渲染的 3D "
+"视口被用作渲染目标时,这点很重要,因为渲染结果会被用作另一个视口中渲染的 3D "
"物体的纹理。如果视口被用来创建不基于颜色的数据,噪声、高度图、采图等,这也很"
"重要。当视口被用作 2D 对象的纹理时,或者视口是你的最终输出时,请不要启用这个"
"功能。对于 GLES2 驱动来说,这将把 sRGB 输出转换为线性输出,这应该只用于需要线"
@@ -84725,7 +84790,7 @@ msgid ""
msgstr ""
"阴影图集的分辨率(用于全向光和聚光)。该值将四舍五入到最接近的 2 的幂。\n"
"[b]注意:[/b]如果设置为 [code]0[/code],点阴影和方向阴影[i]都[/i]将不可见。由"
-"于用户创建的视区默认值为 [code]0[/code],因此必须手动将此值设置为大于 "
+"于用户创建的视口默认值为 [code]0[/code],因此必须手动将此值设置为大于 "
"[code]0[/code](一般至少是 [code]256[/code])。"
#: doc/classes/Viewport.xml
@@ -84736,7 +84801,7 @@ msgid ""
"Values around [code]0.5[/code] generally give the best results. See also "
"[member fxaa]."
msgstr ""
-"如果设置为大于 [code]0.0[/code] 的值,对比度适应性锐化将被应用到3D视窗中。这"
+"如果设置为大于 [code]0.0[/code] 的值,对比度适应性锐化将被应用到3D视口中。这"
"具有较低的性能成本,可以用来恢复使用 FXAA 所损失的一些锐度。一般来说,"
"[code]0.5[/code] 左右的数值可以得到最好的效果。另请参阅 [member fxaa]。"
@@ -84759,7 +84824,6 @@ msgid ""
msgstr "如果为 [code]true[/code],该视口应使其背景渲染为透明。"
#: doc/classes/Viewport.xml
-#, fuzzy
msgid ""
"The viewport's rendering mode. This controls which buffers are allocated for "
"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
@@ -84768,7 +84832,8 @@ msgid ""
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
msgstr ""
-"视区的渲染模式。\n"
+"该视口的渲染模式。控制的是为该视口分配哪些缓冲区(仅 2D 或者 2D + 3D)。仅 "
+"2D 的选项能够降低内存占用、略微提升性能,尤其是在低端设备上。\n"
"[b]注意:[/b]如果设为 [constant USAGE_2D] 或 [constant "
"USAGE_2D_NO_SAMPLING],则启用 [member hdr] 不会生效,因为 2D 不支持 HDR。"
@@ -84783,7 +84848,7 @@ msgid ""
"enable [member debanding] instead.\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
-"如果为 [code]true[/code],分配该视窗的帧缓冲时将使用完整浮点数精度(32 位)而"
+"如果为 [code]true[/code],分配该视口的帧缓冲时将使用完整浮点数精度(32 位)而"
"不是半浮点数精度(16 位)。仅在同时启用 [member hdr] 时有效。\n"
"[b]注意:[/b]启用这个设置不会提升渲染质量。使用完整浮点数精度较慢,一般只有要"
"求更高精度的高级着色器需要使用。如果是要减少条带效应,请启用 [member "
@@ -85015,7 +85080,7 @@ msgstr ""
#: doc/classes/ViewportContainer.xml
msgid ""
"If [code]true[/code], the viewport will be scaled to the control's size."
-msgstr "为 [code]true[/code] 时视窗将被缩放到控件的大小。"
+msgstr "为 [code]true[/code] 时视口将被缩放到控件的大小。"
#: doc/classes/ViewportContainer.xml
msgid ""
@@ -85046,7 +85111,7 @@ msgid ""
msgstr ""
"将 [Viewport] 节点的内容显示为一个动态的 [Texture]。可以用来在同一个场景中混"
"合控件、2D 和 3D元素。\n"
-"要通过代码创建 ViewportTexture,请使用目标视窗上的 [method Viewport."
+"要通过代码创建 ViewportTexture,请使用目标视口上的 [method Viewport."
"get_texture] 方法。"
#: doc/classes/ViewportTexture.xml
@@ -85402,6 +85467,8 @@ msgid ""
"value will make the [VisualInstance] reliably draw on top of other "
"[VisualInstance]s that are otherwise positioned at the same spot."
msgstr ""
+"这个 [VisualInstance] 所使用的排序偏移量。调高后,该 [VisualInstance] 会稳定"
+"地绘制在同一位置的其他 [VisualInstance] 之上。"
#: doc/classes/VisualInstance.xml
msgid ""
@@ -85411,6 +85478,10 @@ msgid ""
"The position based sorting instead allows to better control the drawing "
"order when working with [Particles] and [CPUParticles]."
msgstr ""
+"如果为 [code]true[/code],则该对象会根据其 [AABB] 中心点排序。否则会根据其全"
+"局位置排序。\n"
+"对 3D 模型而言,根据 [AABB] 的中心点排序一般更为精确。使用 [Particles] 和 "
+"[CPUParticles] 时,根据位置排序能够更好地控制绘制顺序。"
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
@@ -87417,10 +87488,10 @@ msgstr ""
"VisualServer 是完全不透明的,它的内部结构的完全的具体实现不能被访问。\n"
"VisualServer 可以用来完全绕过场景系统。\n"
"可使用 [code]*_create[/code] 函数创建资源。\n"
-"所有的对象都被绘制到视窗中。你可以使用附在 [SceneTree] 上的 [Viewport],或者"
+"所有的对象都被绘制到视口中。你可以使用附在 [SceneTree] 上的 [Viewport],或者"
"用 [method viewport_create] 自己创建一个。当使用自定义场景或画布时,需要使用 "
"[method viewport_set_scenario] 或 [method viewport_attach_canvas] 将场景或画"
-"布附加到视窗上。\n"
+"布附加到视口上。\n"
"在 3D 中,所有的视觉对象都必须与一个场景相关联。场景是世界的一个视觉表现。如"
"果从一个正在运行的游戏中访问视觉服务,场景可以通过 [method Spatial."
"get_world] 从场景树中的任何 [Spatial] 节点访问。另外,可以用 [method "
@@ -87431,7 +87502,7 @@ msgstr ""
"一个实例。实例也必须使用 [method instance_set_scenario] 附加到场景中,以便可"
"见。\n"
"在 2D 中,所有可见对象都是某种形式的画布项目。为了可见,一个画布项需要是连接"
-"到视窗的画布的子项,或者它需要是最终连接到画布的另一个画布项的子项。"
+"到视口的画布的子项,或者它需要是最终连接到画布的另一个画布项的子项。"
#: doc/classes/VisualServer.xml
msgid "Sets images to be rendered in the window margin."
@@ -87660,7 +87731,7 @@ msgid ""
"Sets the parent for the [CanvasItem]. The parent can be another canvas item, "
"or it can be the root canvas that is attached to the viewport."
msgstr ""
-"设置[CanvasItem]的父级。父级可以是另一个画布项目,也可以是连接到视窗的根画"
+"设置[CanvasItem]的父级。父级可以是另一个画布项目,也可以是连接到视口的根画"
"布。"
#: doc/classes/VisualServer.xml
@@ -89743,7 +89814,7 @@ msgid ""
"[/codeblock]"
msgstr ""
"在两个纹理之间创建更新链,与 [ViewportTexture] 的原理类似。基础纹理为 "
-"[Viewport] 的纹理时,视区每新渲染一帧,代理纹理就会自动收到更新。\n"
+"[Viewport] 的纹理时,视口每新渲染一帧,代理纹理就会自动收到更新。\n"
"例如,此处的代码会利用 VisualServer API 将一张通用的 [ImageTexture] 链接到 "
"[Viewport] 的纹理输出上:\n"
"[codeblock]\n"
@@ -89781,7 +89852,7 @@ msgstr "设置视图的相机。"
#: doc/classes/VisualServer.xml
msgid "Sets a viewport's canvas."
-msgstr "设置视窗的画布。"
+msgstr "设置视口的画布。"
#: doc/classes/VisualServer.xml
msgid ""
@@ -89804,18 +89875,18 @@ msgid ""
"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
-"将视窗复制到屏幕上由 [code]rect[/code] 指定的区域。如果 [member Viewport."
-"render_direct_to_screen] 为 [code]true[/code],那么视窗就不会使用帧缓冲,视窗"
-"的内容会直接渲染到屏幕上。然而,请注意,根视窗是最后绘制的,因此它将在屏幕上"
-"绘制。相应地,你就必须将根视窗设置为一个不覆盖你所附加的这个视窗的区域。\n"
-"例如,你可以用以下代码将根视窗设置为完全不渲染。\n"
+"将视口复制到屏幕上由 [code]rect[/code] 指定的区域。如果 [member Viewport."
+"render_direct_to_screen] 为 [code]true[/code],那么视口就不会使用帧缓冲,视口"
+"的内容会直接渲染到屏幕上。然而,请注意,根视口是最后绘制的,因此它将在屏幕上"
+"绘制。相应地,你就必须将根视口设置为一个不覆盖你所附加的这个视口的区域。\n"
+"例如,你可以用以下代码将根视口设置为完全不渲染。\n"
"[codeblock]\n"
"func _ready():\n"
" get_viewport().set_attach_to_screen_rect(Rect2())\n"
" $Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600))\n"
"[/codeblock]\n"
"使用这个方法可以带来明显的优化,特别是在低端设备上。然而,它的代价是必须手动"
-"管理你的视窗。进一步的优化请参阅 [method "
+"管理你的视口。进一步的优化请参阅 [method "
"viewport_set_render_direct_to_screen]。"
#: doc/classes/VisualServer.xml
@@ -89826,32 +89897,32 @@ msgid ""
"Once finished with your RID, you will want to free the RID using the "
"VisualServer's [method free_rid] static method."
msgstr ""
-"创建一个空视窗并将其添加到 VisualServer 中。可以用返回的RID来访问它。这个RID"
+"创建一个空视口并将其添加到 VisualServer 中。可以用返回的RID来访问它。这个RID"
"将用于所有[code]viewport_*[/code] 的VisualServer函数。\n"
"一旦你用完了RID,你要使用VisualServer的[method free_rid]静态方法释放RID。"
#: doc/classes/VisualServer.xml
msgid "Detaches the viewport from the screen."
-msgstr "将视窗从屏幕上分离。"
+msgstr "将视口从屏幕上分离。"
#: doc/classes/VisualServer.xml
msgid ""
"Returns a viewport's render information. For options, see the [enum "
"ViewportRenderInfo] constants."
-msgstr "返回视窗的渲染信息。有关选项,请参阅 [enum ViewportRenderInfo] 常量。"
+msgstr "返回视口的渲染信息。有关选项,请参阅 [enum ViewportRenderInfo] 常量。"
#: doc/classes/VisualServer.xml
msgid "Returns the viewport's last rendered frame."
-msgstr "返回视窗的最后渲染帧。"
+msgstr "返回视口的最后渲染帧。"
#: doc/classes/VisualServer.xml
msgid "Detaches a viewport from a canvas and vice versa."
-msgstr "从画布分离视窗,反之亦然。"
+msgstr "从画布分离视口,反之亦然。"
#: doc/classes/VisualServer.xml
msgid "If [code]true[/code], sets the viewport active, else sets it inactive."
msgstr ""
-"如果为 [code]true[/code],则将视窗设置为活动状态,否则将其设置为非活动状态。"
+"如果为 [code]true[/code],则将视口设置为活动状态,否则将其设置为非活动状态。"
#: doc/classes/VisualServer.xml
msgid ""
@@ -89859,37 +89930,37 @@ msgid ""
"[code]layer[/code] is the actual canvas layer, while [code]sublayer[/code] "
"specifies the stacking order of the canvas among those in the same layer."
msgstr ""
-"设置视窗画布的堆叠顺序。\n"
+"设置视口画布的堆叠顺序。\n"
"[code]layer[/code] 是实际的画布层,而 [code]sublayer[/code] 则指定画布在同一"
"层中的堆叠顺序。"
#: doc/classes/VisualServer.xml
msgid "Sets the transformation of a viewport's canvas."
-msgstr "设置视窗画布的变换。"
+msgstr "设置视口画布的变换。"
#: doc/classes/VisualServer.xml
msgid ""
"Sets the clear mode of a viewport. See [enum ViewportClearMode] for options."
-msgstr "设置视窗的清除模式。可选项见 [enum ViewportClearMode]。"
+msgstr "设置视口的清除模式。可选项见 [enum ViewportClearMode]。"
#: doc/classes/VisualServer.xml
msgid ""
"Sets the debug draw mode of a viewport. See [enum ViewportDebugDraw] for "
"options."
-msgstr "设置视窗的调试绘图模式。可选项见 [enum ViewportDebugDraw]。"
+msgstr "设置视口的调试绘图模式。可选项见 [enum ViewportDebugDraw]。"
#: doc/classes/VisualServer.xml
msgid "If [code]true[/code], a viewport's 3D rendering is disabled."
-msgstr "如果为 [code]true[/code],则视窗的 3D 渲染将禁用。"
+msgstr "如果为 [code]true[/code],则视口的 3D 渲染将禁用。"
#: doc/classes/VisualServer.xml
msgid ""
"If [code]true[/code], rendering of a viewport's environment is disabled."
-msgstr "如果为 [code]true[/code],则禁用视窗环境的渲染。"
+msgstr "如果为 [code]true[/code],则禁用视口环境的渲染。"
#: doc/classes/VisualServer.xml
msgid "Sets the viewport's global transformation matrix."
-msgstr "设置视窗的全局变换矩阵。"
+msgstr "设置视口的全局变换矩阵。"
#: doc/classes/VisualServer.xml
msgid ""
@@ -89898,13 +89969,13 @@ msgid ""
"viewport_set_use_32_bpc_depth].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
-"如果为 [code]true[/code],该视区会渲染至高动态范围(HDR)而不是标准动态范围"
+"如果为 [code]true[/code],该视口会渲染至高动态范围(HDR)而不是标准动态范围"
"(SDR)。另请参阅 [method viewport_set_use_32_bpc_depth]。\n"
"[b]注意:[/b]仅在 GLES3 后端可用。"
#: doc/classes/VisualServer.xml
msgid "If [code]true[/code], the viewport's canvas is not rendered."
-msgstr "如果为 [code]true[/code],则不渲染视窗的画布。"
+msgstr "如果为 [code]true[/code],则不渲染视口的画布。"
#: doc/classes/VisualServer.xml
msgid "Currently unimplemented in Godot 3.x."
@@ -89916,7 +89987,7 @@ msgstr "设置抗锯齿模式。可选项见 [enum ViewportMSAA]。"
#: doc/classes/VisualServer.xml
msgid "Sets the viewport's parent to another viewport."
-msgstr "设置视窗的父视窗到另一个视窗。"
+msgstr "设置视口的父视口到另一个视口。"
#: doc/classes/VisualServer.xml
msgid ""
@@ -89933,12 +90004,12 @@ msgid ""
"will be drawn, no automatic scaling is possible, even if your game scene is "
"significantly larger than the window size."
msgstr ""
-"如果为 [code]true[/code],直接将视窗的内容渲染到屏幕上。这允许一个低级别的优"
-"化,你可以跳过绘制视窗到根视窗。虽然这种优化可以显著提高速度(特别是在旧设备"
-"上),但它是以牺牲可用性为代价的。当启用这个功能时,你不能从视窗或"
+"如果为 [code]true[/code],直接将视口的内容渲染到屏幕上。这允许一个低级别的优"
+"化,你可以跳过绘制视口到根视口。虽然这种优化可以显著提高速度(特别是在旧设备"
+"上),但它是以牺牲可用性为代价的。当启用这个功能时,你不能从视口或"
"[code]SCREEN_TEXTURE[/code]中读取。你也会失去某些窗口设置的好处,比如各种拉伸"
"模式。另一个需要注意的后果是,在2D中,渲染是以窗口坐标进行的,所以如果你有一"
-"个两倍于窗口大小的视窗,并且你设置了这个,那么只有适合窗口的部分才会被绘制,"
+"个两倍于窗口大小的视口,并且你设置了这个,那么只有适合窗口的部分才会被绘制,"
"没有自动缩放的可能,即使你的游戏场景明显大于窗口大小。"
#: doc/classes/VisualServer.xml
@@ -89947,7 +90018,7 @@ msgid ""
"The scenario contains information about the [enum ScenarioDebugMode], "
"environment information, reflection atlas etc."
msgstr ""
-"设置一个视窗的场景。\n"
+"设置视口的场景。\n"
"场景包含 [enum ScenarioDebugMode] 的信息、环境信息、反射图集等。"
#: doc/classes/VisualServer.xml
@@ -89971,31 +90042,31 @@ msgid ""
"[code]0.5[/code] generally give the best results. See also [method "
"viewport_set_use_fxaa]."
msgstr ""
-"为视窗[code]viewport[/code]设定锐化强度[code]intensity[/code]。如果设置为大于"
-"[code]0.0[/code]的值,对比度适应性锐化将被应用到3D视窗中。这具有较低的性能成"
+"为视口[code]viewport[/code]设定锐化强度[code]intensity[/code]。如果设置为大于"
+"[code]0.0[/code]的值,对比度适应性锐化将被应用到3D视口中。这具有较低的性能成"
"本,可以用来恢复使用FXAA时损失的一些锐度。一般来说,[code]0.5[/code]左右的值"
"可以得到最好的效果。参阅[method viewport_set_use_fxaa]。"
#: doc/classes/VisualServer.xml
msgid "Sets the viewport's width and height."
-msgstr "设置视窗的宽度和高度。"
+msgstr "设置视口的宽度和高度。"
#: doc/classes/VisualServer.xml
msgid ""
"If [code]true[/code], the viewport renders its background as transparent."
-msgstr "如果为 [code]true[/code],视窗将其背景渲染为透明。"
+msgstr "如果为 [code]true[/code],视口将其背景渲染为透明。"
#: doc/classes/VisualServer.xml
msgid ""
"Sets when the viewport should be updated. See [enum ViewportUpdateMode] "
"constants for options."
-msgstr "设置应更新视窗的时间。可选项请参阅 [enum ViewportUpdateMode] 。"
+msgstr "设置应更新视口的时间。可选项请参阅 [enum ViewportUpdateMode] 。"
#: doc/classes/VisualServer.xml
msgid ""
"Sets the viewport's 2D/3D mode. See [enum ViewportUsage] constants for "
"options."
-msgstr "设置视窗的 2D/3D 模式。选项见 [enum ViewportUsage] 常量。"
+msgstr "设置视口的 2D/3D 模式。选项见 [enum ViewportUsage] 常量。"
#: doc/classes/VisualServer.xml
msgid ""
@@ -90005,7 +90076,7 @@ msgid ""
"on the same [Viewport] to set HDR to [code]true[/code].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
-"如果为 [code]true[/code],分配该视区的帧缓冲时将使用完整浮点数精度(32 位)而"
+"如果为 [code]true[/code],分配该视口的帧缓冲时将使用完整浮点数精度(32 位)而"
"不是半浮点数精度(16 位)。只有在同一个 [Viewport] 上通过 [method "
"viewport_set_use_32_bpc_depth] 将 HDR 设为 [code]true[/code] 时有效。\n"
"[b]注意:[/b]仅在 GLES3 后端中可用。"
@@ -90015,7 +90086,7 @@ msgid ""
"If [code]true[/code], the viewport uses augmented or virtual reality "
"technologies. See [ARVRInterface]."
msgstr ""
-"如果为 [code]true[/code],则视窗使用增强或虚拟现实技术。见 [ARVRInterface]。"
+"如果为 [code]true[/code],则视口使用增强或虚拟现实技术。见 [ARVRInterface]。"
#: doc/classes/VisualServer.xml
msgid ""
@@ -90042,14 +90113,14 @@ msgid ""
"recovered by enabling contrast-adaptive sharpening (see [method "
"viewport_set_sharpen_intensity])."
msgstr ""
-"启用该视窗的快速近似抗锯齿。FXAA 是一种流行的屏幕空间抗锯齿方法,它速度快,但"
+"启用该视口的快速近似抗锯齿。FXAA 是一种流行的屏幕空间抗锯齿方法,它速度快,但"
"会使图像看起来很模糊,特别是在低分辨率下。在 1440p 和 4K 等高分辨率下,它仍然"
"可以工作得比较好。一些损失的锐度可以通过启用对比度适应性锐化来恢复(见 "
"[method viewport_set_sharpen_intensity])。"
#: doc/classes/VisualServer.xml
msgid "If [code]true[/code], the viewport's rendering is flipped vertically."
-msgstr "如果为 [code]true[/code],则视窗的渲染垂直翻转。"
+msgstr "如果为 [code]true[/code],则视口的渲染垂直翻转。"
#: doc/classes/VisualServer.xml
msgid ""
@@ -90440,33 +90511,33 @@ msgstr "优化阴影贴图的使用,提高有效分辨率。但可能会导致
#: doc/classes/VisualServer.xml
msgid "Do not update the viewport."
-msgstr "不要更新视窗。"
+msgstr "不要更新视口。"
#: doc/classes/VisualServer.xml
msgid "Update the viewport once then set to disabled."
-msgstr "更新一次视窗,然后设置为禁用。"
+msgstr "更新一次视口,然后设置为禁用。"
#: doc/classes/VisualServer.xml
msgid "Update the viewport whenever it is visible."
-msgstr "只要视窗是可见的,就更新视窗。"
+msgstr "只要视口是可见的,就更新视口。"
#: doc/classes/VisualServer.xml
msgid "Always update the viewport."
-msgstr "始终更新视窗。"
+msgstr "始终更新视口。"
#: doc/classes/VisualServer.xml
msgid "The viewport is always cleared before drawing."
-msgstr "在绘图之前,视窗总是被清空。"
+msgstr "在绘图之前,视口总是被清空。"
#: doc/classes/VisualServer.xml
msgid "The viewport is never cleared before drawing."
-msgstr "在绘图之前,视窗永远不会被清空。"
+msgstr "在绘图之前,视口永远不会被清空。"
#: doc/classes/VisualServer.xml
msgid ""
"The viewport is cleared once, then the clear mode is set to [constant "
"VIEWPORT_CLEAR_NEVER]."
-msgstr "视窗被清除一次,然后清除模式设置为 [constant VIEWPORT_CLEAR_NEVER]。"
+msgstr "视口被清除一次,然后清除模式设置为 [constant VIEWPORT_CLEAR_NEVER]。"
#: doc/classes/VisualServer.xml
msgid "Multisample antialiasing is disabled."
@@ -92375,7 +92446,7 @@ msgstr "使用给定的纹理作为此函数的参数。"
#: doc/classes/VisualShaderNodeTexture.xml
msgid "Use the current viewport's texture as the source."
-msgstr "使用当前视窗的纹理作为源。"
+msgstr "使用当前视口的纹理作为源。"
#: doc/classes/VisualShaderNodeTexture.xml
msgid ""
diff --git a/doc/translations/zh_TW.po b/doc/translations/zh_TW.po
index a64bd25054..a21d110c05 100644
--- a/doc/translations/zh_TW.po
+++ b/doc/translations/zh_TW.po
@@ -15,12 +15,14 @@
# Otis Kao <momoslim@gmail.com>, 2022.
# YuChiang Chang <chiang.c.tw@gmail.com>, 2022.
# Hugel <qihu@nfschina.com>, 2022.
+# Chih Wei Chien <dppss92132@gmail.com>, 2022.
+# Edison Lee <edisonlee@edisonlee55.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-10-12 06:50+0000\n"
-"Last-Translator: BinotaLIU <me@binota.org>\n"
+"PO-Revision-Date: 2023-01-15 03:49+0000\n"
+"Last-Translator: Edison Lee <edisonlee@edisonlee55.com>\n"
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
"godot-engine/godot-class-reference/zh_Hant/>\n"
"Language: zh_TW\n"
@@ -28,7 +30,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.15-dev\n"
+"X-Generator: Weblate 4.15.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -84,7 +86,7 @@ msgstr "繼承自:"
#: doc/tools/make_rst.py
msgid "(overrides %s)"
-msgstr ""
+msgstr "(覆寫 %s)"
#: doc/tools/make_rst.py
msgid "Default"
@@ -126,13 +128,13 @@ msgstr "此方法用於建構型別。"
msgid ""
"This method doesn't need an instance to be called, so it can be called "
"directly using the class name."
-msgstr ""
+msgstr "該方法不需要使用一個實體來呼叫,所以他可以直接使用 class name 呼叫。"
#: doc/tools/make_rst.py
msgid ""
"This method describes a valid operator to use with this type as left-hand "
"operand."
-msgstr ""
+msgstr "該方法描述一個有效的運算子使用此型別作為左運算值。"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid "Built-in GDScript functions."
@@ -148,7 +150,6 @@ msgstr ""
"供。 (關鍵字:內建、全域函式、buildin、build in、global functions)"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns a color constructed from integer red, green, blue, and alpha "
"channels. Each channel should have 8 bits of information ranging from 0 to "
@@ -161,12 +162,12 @@ msgid ""
"red = Color8(255, 0, 0)\n"
"[/codeblock]"
msgstr ""
-"回傳以整數紅色、綠色、藍色與 Alpha 通道構成的色彩。每個通道都應包含 0 至 255 "
-"的 8 位元資訊。\n"
+"回傳以整數紅色、綠色、藍色與透明通道構成的色彩。每個通道都應包含 0 至 255 的 "
+"8 位元資訊。\n"
"[code]r8[/code] 紅色通道\n"
"[code]g8[/code] 綠色通道\n"
"[code]b8[/code] 藍色通道\n"
-"[code]a8[/code] Alpha 通道\n"
+"[code]a8[/code] 透明通道\n"
"[codeblock]\n"
"red = Color8(255, 0, 0)\n"
"[/codeblock]"
@@ -201,7 +202,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns the arc cosine of [code]s[/code] in radians. Use to get the angle of "
"cosine [code]s[/code]. [code]s[/code] must be between [code]-1.0[/code] and "
@@ -212,15 +212,15 @@ msgid ""
"c = acos(0.866025)\n"
"[/codeblock]"
msgstr ""
-"回傳以弧度表示的[code]s[/code]的反餘弦(cos)值。用於求餘弦(sin)值[code]s[/"
-"code]的夾角。\n"
+"回傳以弧度表示的[code]s[/code]的反餘弦(arc cos)值。用於求餘弦(cos)值[code]s[/"
+"code]的夾角。[code]s[/code]必須介於[code]-1.0[/code]與[code]1.0[/code]之間 "
+"(包含),否則 [method acos] 會回傳 [constant NAN]。\n"
"[codeblock]\n"
-"# c 為0.523599,若以rad2deg(s)換算,則為30度\n"
+"# c 為 0.523599,若以 rad2deg(s) 換算,則為30度\n"
"c = acos(0.866025)\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns the arc sine of [code]s[/code] in radians. Use to get the angle of "
"sine [code]s[/code]. [code]s[/code] must be between [code]-1.0[/code] and "
@@ -230,7 +230,14 @@ msgid ""
"# s is 0.523599 or 30 degrees if converted with rad2deg(s)\n"
"s = asin(0.5)\n"
"[/codeblock]"
-msgstr "testing"
+msgstr ""
+"回傳以弧度表示的[code]s[/code]的反正弦(arc sin)值。用於求正弦 (sin) 值"
+"[code]s[/code]的夾角。[code]s[/code]必須介於[code]-1.0[/code]與[code]1.0[/"
+"code]之間 (包含),否則 [method asin] 會回傳 [constant NAN]。\n"
+"[codeblock]\n"
+"# c 為 0.523599,若以 rad2deg(s) 換算,則為 30 度\n"
+"c = asin(0.5)\n"
+"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
#, fuzzy
@@ -30066,7 +30073,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
@@ -41853,7 +41864,7 @@ msgstr ""
#: doc/classes/OS.xml
msgid "Desktop directory path."
-msgstr ""
+msgstr "桌面資料夾路徑。"
#: doc/classes/OS.xml
msgid "DCIM (Digital Camera Images) directory path."
@@ -41861,27 +41872,27 @@ msgstr ""
#: doc/classes/OS.xml
msgid "Documents directory path."
-msgstr ""
+msgstr "檔案資料夾路徑。"
#: doc/classes/OS.xml
msgid "Downloads directory path."
-msgstr ""
+msgstr "下載資料夾路徑。"
#: doc/classes/OS.xml
msgid "Movies directory path."
-msgstr ""
+msgstr "影片資料夾路徑。"
#: doc/classes/OS.xml
msgid "Music directory path."
-msgstr ""
+msgstr "音樂資料夾路徑。"
#: doc/classes/OS.xml
msgid "Pictures directory path."
-msgstr ""
+msgstr "圖片資料夾路徑。"
#: doc/classes/OS.xml
msgid "Ringtones directory path."
-msgstr ""
+msgstr "鈴聲資料夾路徑。"
#: doc/classes/OS.xml
msgid "Unknown powerstate."