summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile2
-rw-r--r--doc/class.xsd8
-rw-r--r--doc/classes/@GlobalScope.xml288
-rw-r--r--doc/classes/AABB.xml16
-rw-r--r--doc/classes/AESContext.xml1
-rw-r--r--doc/classes/AStarGrid2D.xml62
-rw-r--r--doc/classes/AcceptDialog.xml9
-rw-r--r--doc/classes/AnimatedSprite2D.xml11
-rw-r--r--doc/classes/AnimatedSprite3D.xml15
-rw-r--r--doc/classes/AnimatedTexture.xml28
-rw-r--r--doc/classes/AnimationNodeBlendTree.xml8
-rw-r--r--doc/classes/AnimationPlayer.xml5
-rw-r--r--doc/classes/AnimationTree.xml7
-rw-r--r--doc/classes/Area2D.xml16
-rw-r--r--doc/classes/Area3D.xml16
-rw-r--r--doc/classes/BaseMaterial3D.xml2
-rw-r--r--doc/classes/BoneAttachment3D.xml10
-rw-r--r--doc/classes/Camera2D.xml30
-rw-r--r--doc/classes/CanvasItem.xml19
-rw-r--r--doc/classes/CanvasLayer.xml3
-rw-r--r--doc/classes/CheckBox.xml2
-rw-r--r--doc/classes/CheckButton.xml34
-rw-r--r--doc/classes/Control.xml2
-rw-r--r--doc/classes/Crypto.xml2
-rw-r--r--doc/classes/CryptoKey.xml2
-rw-r--r--doc/classes/Cubemap.xml4
-rw-r--r--doc/classes/CubemapArray.xml5
-rw-r--r--doc/classes/Dictionary.xml4
-rw-r--r--doc/classes/EditorInterface.xml7
-rw-r--r--doc/classes/EditorPlugin.xml46
-rw-r--r--doc/classes/EditorSettings.xml8
-rw-r--r--doc/classes/Environment.xml18
-rw-r--r--doc/classes/FileDialog.xml10
-rw-r--r--doc/classes/FogMaterial.xml13
-rw-r--r--doc/classes/FogVolume.xml9
-rw-r--r--doc/classes/GraphEdit.xml130
-rw-r--r--doc/classes/GraphNode.xml167
-rw-r--r--doc/classes/HMACContext.xml18
-rw-r--r--doc/classes/HSplitContainer.xml3
-rw-r--r--doc/classes/HTTPClient.xml20
-rw-r--r--doc/classes/HTTPRequest.xml14
-rw-r--r--doc/classes/ImageTextureLayered.xml6
-rw-r--r--doc/classes/ImporterMesh.xml2
-rw-r--r--doc/classes/InputEventWithModifiers.xml21
-rw-r--r--doc/classes/ItemList.xml14
-rw-r--r--doc/classes/JavaScriptBridge.xml (renamed from doc/classes/JavaScript.xml)6
-rw-r--r--doc/classes/JavaScriptObject.xml16
-rw-r--r--doc/classes/LineEdit.xml2
-rw-r--r--doc/classes/MultiMesh.xml22
-rw-r--r--doc/classes/NavigationObstacle2D.xml13
-rw-r--r--doc/classes/NavigationObstacle3D.xml13
-rw-r--r--doc/classes/Node.xml24
-rw-r--r--doc/classes/Object.xml2
-rw-r--r--doc/classes/PacketPeerDTLS.xml2
-rw-r--r--doc/classes/PacketPeerUDP.xml2
-rw-r--r--doc/classes/Panel.xml2
-rw-r--r--doc/classes/PanoramaSkyMaterial.xml4
-rw-r--r--doc/classes/ParallaxLayer.xml1
-rw-r--r--doc/classes/PhysicsDirectBodyState2DExtension.xml249
-rw-r--r--doc/classes/PhysicsDirectSpaceState2DExtension.xml91
-rw-r--r--doc/classes/PhysicsServer2D.xml2
-rw-r--r--doc/classes/PhysicsServer2DExtension.xml925
-rw-r--r--doc/classes/PhysicsServer2DManager.xml30
-rw-r--r--doc/classes/PhysicsServer3DExtension.xml353
-rw-r--r--doc/classes/PhysicsServer3DManager.xml30
-rw-r--r--doc/classes/PopupMenu.xml4
-rw-r--r--doc/classes/ProgressBar.xml10
-rw-r--r--doc/classes/ProjectSettings.xml27
-rw-r--r--doc/classes/Rect2.xml7
-rw-r--r--doc/classes/Rect2i.xml7
-rw-r--r--doc/classes/SceneTree.xml15
-rw-r--r--doc/classes/ScrollContainer.xml2
-rw-r--r--doc/classes/Skeleton3D.xml28
-rw-r--r--doc/classes/SkeletonIK3D.xml37
-rw-r--r--doc/classes/SkeletonModification2D.xml2
-rw-r--r--doc/classes/SkeletonModification2DCCDIK.xml2
-rw-r--r--doc/classes/SkeletonModification2DFABRIK.xml2
-rw-r--r--doc/classes/SkeletonModification2DJiggle.xml2
-rw-r--r--doc/classes/SkeletonModification2DLookAt.xml2
-rw-r--r--doc/classes/SkeletonModification2DPhysicalBones.xml3
-rw-r--r--doc/classes/SkeletonModification2DStackHolder.xml2
-rw-r--r--doc/classes/SkeletonModification2DTwoBoneIK.xml2
-rw-r--r--doc/classes/SkeletonModification3D.xml2
-rw-r--r--doc/classes/SkeletonModification3DCCDIK.xml2
-rw-r--r--doc/classes/SkeletonModification3DFABRIK.xml2
-rw-r--r--doc/classes/SkeletonModification3DJiggle.xml2
-rw-r--r--doc/classes/SkeletonModification3DLookAt.xml2
-rw-r--r--doc/classes/SkeletonModification3DStackHolder.xml2
-rw-r--r--doc/classes/SkeletonModification3DTwoBoneIK.xml2
-rw-r--r--doc/classes/SkeletonModificationStack2D.xml2
-rw-r--r--doc/classes/SkeletonModificationStack3D.xml2
-rw-r--r--doc/classes/SplitContainer.xml3
-rw-r--r--doc/classes/StreamPeerTLS.xml (renamed from doc/classes/StreamPeerSSL.xml)22
-rw-r--r--doc/classes/StyleBox.xml7
-rw-r--r--doc/classes/StyleBoxFlat.xml20
-rw-r--r--doc/classes/StyleBoxTexture.xml17
-rw-r--r--doc/classes/TextEdit.xml2
-rw-r--r--doc/classes/TextServer.xml1
-rw-r--r--doc/classes/Texture2DArray.xml3
-rw-r--r--doc/classes/TextureLayered.xml11
-rw-r--r--doc/classes/TileMap.xml20
-rw-r--r--doc/classes/Time.xml4
-rw-r--r--doc/classes/Tree.xml12
-rw-r--r--doc/classes/Tween.xml9
-rw-r--r--doc/classes/VSplitContainer.xml3
-rw-r--r--doc/classes/Vector4.xml2
-rw-r--r--doc/classes/Vector4i.xml61
-rw-r--r--doc/classes/X509Certificate.xml4
-rwxr-xr-xdoc/tools/make_rst.py2
-rw-r--r--doc/translations/ar.po556
-rw-r--r--doc/translations/ca.po542
-rw-r--r--doc/translations/classes.pot542
-rw-r--r--doc/translations/cs.po573
-rw-r--r--doc/translations/de.po2069
-rw-r--r--doc/translations/el.po556
-rw-r--r--doc/translations/es.po665
-rw-r--r--doc/translations/fa.po563
-rw-r--r--doc/translations/fi.po556
-rw-r--r--doc/translations/fil.po542
-rw-r--r--doc/translations/fr.po3532
-rw-r--r--doc/translations/gl.po542
-rw-r--r--doc/translations/hi.po550
-rw-r--r--doc/translations/hu.po542
-rw-r--r--doc/translations/id.po585
-rw-r--r--doc/translations/is.po542
-rw-r--r--doc/translations/it.po567
-rw-r--r--doc/translations/ja.po578
-rw-r--r--doc/translations/ko.po579
-rw-r--r--doc/translations/lt.po542
-rw-r--r--doc/translations/lv.po542
-rw-r--r--doc/translations/mr.po542
-rw-r--r--doc/translations/nb.po542
-rw-r--r--doc/translations/ne.po542
-rw-r--r--doc/translations/nl.po551
-rw-r--r--doc/translations/pl.po556
-rw-r--r--doc/translations/pt.po884
-rw-r--r--doc/translations/pt_BR.po573
-rw-r--r--doc/translations/ro.po542
-rw-r--r--doc/translations/ru.po684
-rw-r--r--doc/translations/sk.po542
-rw-r--r--doc/translations/sr_Cyrl.po542
-rw-r--r--doc/translations/sv.po542
-rw-r--r--doc/translations/th.po556
-rw-r--r--doc/translations/tl.po545
-rw-r--r--doc/translations/tr.po570
-rw-r--r--doc/translations/uk.po597
-rw-r--r--doc/translations/vi.po568
-rw-r--r--doc/translations/zh_CN.po2004
-rw-r--r--doc/translations/zh_TW.po567
149 files changed, 23014 insertions, 8981 deletions
diff --git a/doc/Makefile b/doc/Makefile
index ecc5e51dd6..c8bf32d6e2 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -1,4 +1,4 @@
-BASEDIR = $(CURDIR)
+BASEDIR = .
CLASSES = $(BASEDIR)/classes/ $(BASEDIR)/../modules/
OUTPUTDIR = $(BASEDIR)/_build
TOOLSDIR = $(BASEDIR)/tools
diff --git a/doc/class.xsd b/doc/class.xsd
index 7681ddad3d..d29d053006 100644
--- a/doc/class.xsd
+++ b/doc/class.xsd
@@ -95,6 +95,8 @@
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="optional" />
<xs:attribute type="xs:string" name="qualifiers" use="optional" />
+ <xs:attribute type="xs:boolean" name="is_deprecated" use="optional" />
+ <xs:attribute type="xs:boolean" name="is_experimental" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
@@ -114,6 +116,8 @@
<xs:attribute type="xs:string" name="overrides" use="optional" />
<xs:attribute type="xs:string" name="enum" use="optional" />
<xs:attribute type="xs:string" name="default" use="optional" />
+ <xs:attribute type="xs:boolean" name="is_deprecated" use="optional" />
+ <xs:attribute type="xs:boolean" name="is_experimental" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
@@ -156,6 +160,8 @@
<xs:attribute type="xs:string" name="value" />
<xs:attribute type="xs:string" name="enum" use="optional" />
<xs:attribute type="xs:boolean" name="is_bitfield" use="optional" />
+ <xs:attribute type="xs:boolean" name="is_deprecated" use="optional" />
+ <xs:attribute type="xs:boolean" name="is_experimental" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
@@ -256,6 +262,8 @@
</xs:sequence>
<xs:attribute type="xs:string" name="name" />
<xs:attribute type="xs:string" name="inherits" />
+ <xs:attribute type="xs:boolean" name="is_deprecated" use="optional" />
+ <xs:attribute type="xs:boolean" name="is_experimental" use="optional" />
<xs:attribute type="xs:float" name="version" />
</xs:complexType>
</xs:element>
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml
index 10229bdb0e..3d01c60aea 100644
--- a/doc/classes/@GlobalScope.xml
+++ b/doc/classes/@GlobalScope.xml
@@ -463,7 +463,7 @@
var ratio = inverse_lerp(20, 30, 27.5)
# `ratio` is now 0.75.
[/codeblock]
- See also [method lerp] which performs the reverse of this operation, and [method range_lerp] to map a continuous series of values to another.
+ See also [method lerp] which performs the reverse of this operation, and [method remap] to map a continuous series of values to another.
</description>
</method>
<method name="is_equal_approx">
@@ -523,7 +523,7 @@
[codeblock]
lerp(0, 4, 0.75) # Returns 3.0
[/codeblock]
- See also [method inverse_lerp] which performs the reverse of this operation. To perform eased interpolation with [method lerp], combine it with [method ease] or [method smoothstep]. See also [method range_lerp] to map a continuous series of values to another.
+ See also [method inverse_lerp] which performs the reverse of this operation. To perform eased interpolation with [method lerp], combine it with [method ease] or [method smoothstep]. See also [method remap] to map a continuous series of values to another.
[b]Note:[/b] For better type safety, you can use [method lerpf], [method Vector2.lerp], [method Vector3.lerp], [method Vector4.lerp], [method Color.lerp], [method Quaternion.slerp] or [method Basis.slerp] instead.
</description>
</method>
@@ -888,7 +888,7 @@
[b]Note:[/b] This method is called automatically when the project is run. If you need to fix the seed to have reproducible results, use [method seed] to initialize the random number generator.
</description>
</method>
- <method name="range_lerp">
+ <method name="remap">
<return type="float" />
<param index="0" name="value" type="float" />
<param index="1" name="istart" type="float" />
@@ -896,9 +896,9 @@
<param index="3" name="ostart" type="float" />
<param index="4" name="ostop" type="float" />
<description>
- Maps a [param value] from range [code][istart, istop][/code] to [code][ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If [param value] is outside [code][istart, istop][/code], then the resulting value will also be outside [code][ostart, ostop][/code]. Use [method clamp] on the result of [method range_lerp] if this is not desired.
+ Maps a [param value] from range [code][istart, istop][/code] to [code][ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If [param value] is outside [code][istart, istop][/code], then the resulting value will also be outside [code][ostart, ostop][/code]. Use [method clamp] on the result of [method remap] if this is not desired.
[codeblock]
- range_lerp(75, 0, 100, -1, 1) # Returns 0.5
+ remap(75, 0, 100, -1, 1) # Returns 0.5
[/codeblock]
For complex use cases where you need multiple ranges, consider using [Curve] or [Gradient] instead.
</description>
@@ -1275,8 +1275,8 @@
The [JavaClassWrapper] singleton.
[b]Note:[/b] Only implemented on Android.
</member>
- <member name="JavaScript" type="JavaScript" setter="" getter="">
- The [JavaScript] singleton.
+ <member name="JavaScriptBridge" type="JavaScriptBridge" setter="" getter="">
+ The [JavaScriptBridge] singleton.
[b]Note:[/b] Only implemented on the Web platform.
</member>
<member name="Marshalls" type="Marshalls" setter="" getter="">
@@ -1302,9 +1302,15 @@
<member name="PhysicsServer2D" type="PhysicsServer2D" setter="" getter="">
The [PhysicsServer2D] singleton.
</member>
+ <member name="PhysicsServer2DManager" type="PhysicsServer2DManager" setter="" getter="">
+ The [PhysicsServer2DManager] singleton.
+ </member>
<member name="PhysicsServer3D" type="PhysicsServer3D" setter="" getter="">
The [PhysicsServer3D] singleton.
</member>
+ <member name="PhysicsServer3DManager" type="PhysicsServer3DManager" setter="" getter="">
+ The [PhysicsServer3DManager] singleton.
+ </member>
<member name="ProjectSettings" type="ProjectSettings" setter="" getter="">
The [ProjectSettings] singleton.
</member>
@@ -1437,385 +1443,385 @@
<constant name="KEY_NONE" value="0" enum="Key">
Enum value which doesn't correspond to any key. This is used to initialize [enum Key] properties with a generic state.
</constant>
- <constant name="KEY_SPECIAL" value="16777216" enum="Key">
+ <constant name="KEY_SPECIAL" value="4194304" enum="Key">
Keycodes with this bit applied are non-printable.
</constant>
- <constant name="KEY_ESCAPE" value="16777217" enum="Key">
+ <constant name="KEY_ESCAPE" value="4194305" enum="Key">
Escape key.
</constant>
- <constant name="KEY_TAB" value="16777218" enum="Key">
+ <constant name="KEY_TAB" value="4194306" enum="Key">
Tab key.
</constant>
- <constant name="KEY_BACKTAB" value="16777219" enum="Key">
+ <constant name="KEY_BACKTAB" value="4194307" enum="Key">
Shift + Tab key.
</constant>
- <constant name="KEY_BACKSPACE" value="16777220" enum="Key">
+ <constant name="KEY_BACKSPACE" value="4194308" enum="Key">
Backspace key.
</constant>
- <constant name="KEY_ENTER" value="16777221" enum="Key">
+ <constant name="KEY_ENTER" value="4194309" enum="Key">
Return key (on the main keyboard).
</constant>
- <constant name="KEY_KP_ENTER" value="16777222" enum="Key">
+ <constant name="KEY_KP_ENTER" value="4194310" enum="Key">
Enter key on the numeric keypad.
</constant>
- <constant name="KEY_INSERT" value="16777223" enum="Key">
+ <constant name="KEY_INSERT" value="4194311" enum="Key">
Insert key.
</constant>
- <constant name="KEY_DELETE" value="16777224" enum="Key">
+ <constant name="KEY_DELETE" value="4194312" enum="Key">
Delete key.
</constant>
- <constant name="KEY_PAUSE" value="16777225" enum="Key">
+ <constant name="KEY_PAUSE" value="4194313" enum="Key">
Pause key.
</constant>
- <constant name="KEY_PRINT" value="16777226" enum="Key">
+ <constant name="KEY_PRINT" value="4194314" enum="Key">
Print Screen key.
</constant>
- <constant name="KEY_SYSREQ" value="16777227" enum="Key">
+ <constant name="KEY_SYSREQ" value="4194315" enum="Key">
System Request key.
</constant>
- <constant name="KEY_CLEAR" value="16777228" enum="Key">
+ <constant name="KEY_CLEAR" value="4194316" enum="Key">
Clear key.
</constant>
- <constant name="KEY_HOME" value="16777229" enum="Key">
+ <constant name="KEY_HOME" value="4194317" enum="Key">
Home key.
</constant>
- <constant name="KEY_END" value="16777230" enum="Key">
+ <constant name="KEY_END" value="4194318" enum="Key">
End key.
</constant>
- <constant name="KEY_LEFT" value="16777231" enum="Key">
+ <constant name="KEY_LEFT" value="4194319" enum="Key">
Left arrow key.
</constant>
- <constant name="KEY_UP" value="16777232" enum="Key">
+ <constant name="KEY_UP" value="4194320" enum="Key">
Up arrow key.
</constant>
- <constant name="KEY_RIGHT" value="16777233" enum="Key">
+ <constant name="KEY_RIGHT" value="4194321" enum="Key">
Right arrow key.
</constant>
- <constant name="KEY_DOWN" value="16777234" enum="Key">
+ <constant name="KEY_DOWN" value="4194322" enum="Key">
Down arrow key.
</constant>
- <constant name="KEY_PAGEUP" value="16777235" enum="Key">
+ <constant name="KEY_PAGEUP" value="4194323" enum="Key">
Page Up key.
</constant>
- <constant name="KEY_PAGEDOWN" value="16777236" enum="Key">
+ <constant name="KEY_PAGEDOWN" value="4194324" enum="Key">
Page Down key.
</constant>
- <constant name="KEY_SHIFT" value="16777237" enum="Key">
+ <constant name="KEY_SHIFT" value="4194325" enum="Key">
Shift key.
</constant>
- <constant name="KEY_CTRL" value="16777238" enum="Key">
+ <constant name="KEY_CTRL" value="4194326" enum="Key">
Control key.
</constant>
- <constant name="KEY_META" value="16777239" enum="Key">
+ <constant name="KEY_META" value="4194327" enum="Key">
Meta key.
</constant>
- <constant name="KEY_ALT" value="16777240" enum="Key">
+ <constant name="KEY_ALT" value="4194328" enum="Key">
Alt key.
</constant>
- <constant name="KEY_CAPSLOCK" value="16777241" enum="Key">
+ <constant name="KEY_CAPSLOCK" value="4194329" enum="Key">
Caps Lock key.
</constant>
- <constant name="KEY_NUMLOCK" value="16777242" enum="Key">
+ <constant name="KEY_NUMLOCK" value="4194330" enum="Key">
Num Lock key.
</constant>
- <constant name="KEY_SCROLLLOCK" value="16777243" enum="Key">
+ <constant name="KEY_SCROLLLOCK" value="4194331" enum="Key">
Scroll Lock key.
</constant>
- <constant name="KEY_F1" value="16777244" enum="Key">
+ <constant name="KEY_F1" value="4194332" enum="Key">
F1 key.
</constant>
- <constant name="KEY_F2" value="16777245" enum="Key">
+ <constant name="KEY_F2" value="4194333" enum="Key">
F2 key.
</constant>
- <constant name="KEY_F3" value="16777246" enum="Key">
+ <constant name="KEY_F3" value="4194334" enum="Key">
F3 key.
</constant>
- <constant name="KEY_F4" value="16777247" enum="Key">
+ <constant name="KEY_F4" value="4194335" enum="Key">
F4 key.
</constant>
- <constant name="KEY_F5" value="16777248" enum="Key">
+ <constant name="KEY_F5" value="4194336" enum="Key">
F5 key.
</constant>
- <constant name="KEY_F6" value="16777249" enum="Key">
+ <constant name="KEY_F6" value="4194337" enum="Key">
F6 key.
</constant>
- <constant name="KEY_F7" value="16777250" enum="Key">
+ <constant name="KEY_F7" value="4194338" enum="Key">
F7 key.
</constant>
- <constant name="KEY_F8" value="16777251" enum="Key">
+ <constant name="KEY_F8" value="4194339" enum="Key">
F8 key.
</constant>
- <constant name="KEY_F9" value="16777252" enum="Key">
+ <constant name="KEY_F9" value="4194340" enum="Key">
F9 key.
</constant>
- <constant name="KEY_F10" value="16777253" enum="Key">
+ <constant name="KEY_F10" value="4194341" enum="Key">
F10 key.
</constant>
- <constant name="KEY_F11" value="16777254" enum="Key">
+ <constant name="KEY_F11" value="4194342" enum="Key">
F11 key.
</constant>
- <constant name="KEY_F12" value="16777255" enum="Key">
+ <constant name="KEY_F12" value="4194343" enum="Key">
F12 key.
</constant>
- <constant name="KEY_F13" value="16777256" enum="Key">
+ <constant name="KEY_F13" value="4194344" enum="Key">
F13 key.
</constant>
- <constant name="KEY_F14" value="16777257" enum="Key">
+ <constant name="KEY_F14" value="4194345" enum="Key">
F14 key.
</constant>
- <constant name="KEY_F15" value="16777258" enum="Key">
+ <constant name="KEY_F15" value="4194346" enum="Key">
F15 key.
</constant>
- <constant name="KEY_F16" value="16777259" enum="Key">
+ <constant name="KEY_F16" value="4194347" enum="Key">
F16 key.
</constant>
- <constant name="KEY_F17" value="16777260" enum="Key">
+ <constant name="KEY_F17" value="4194348" enum="Key">
F17 key.
</constant>
- <constant name="KEY_F18" value="16777261" enum="Key">
+ <constant name="KEY_F18" value="4194349" enum="Key">
F18 key.
</constant>
- <constant name="KEY_F19" value="16777262" enum="Key">
+ <constant name="KEY_F19" value="4194350" enum="Key">
F19 key.
</constant>
- <constant name="KEY_F20" value="16777263" enum="Key">
+ <constant name="KEY_F20" value="4194351" enum="Key">
F20 key.
</constant>
- <constant name="KEY_F21" value="16777264" enum="Key">
+ <constant name="KEY_F21" value="4194352" enum="Key">
F21 key.
</constant>
- <constant name="KEY_F22" value="16777265" enum="Key">
+ <constant name="KEY_F22" value="4194353" enum="Key">
F22 key.
</constant>
- <constant name="KEY_F23" value="16777266" enum="Key">
+ <constant name="KEY_F23" value="4194354" enum="Key">
F23 key.
</constant>
- <constant name="KEY_F24" value="16777267" enum="Key">
+ <constant name="KEY_F24" value="4194355" enum="Key">
F24 key.
</constant>
- <constant name="KEY_F25" value="16777268" enum="Key">
+ <constant name="KEY_F25" value="4194356" enum="Key">
F25 key. Only supported on macOS and Linux due to a Windows limitation.
</constant>
- <constant name="KEY_F26" value="16777269" enum="Key">
+ <constant name="KEY_F26" value="4194357" enum="Key">
F26 key. Only supported on macOS and Linux due to a Windows limitation.
</constant>
- <constant name="KEY_F27" value="16777270" enum="Key">
+ <constant name="KEY_F27" value="4194358" enum="Key">
F27 key. Only supported on macOS and Linux due to a Windows limitation.
</constant>
- <constant name="KEY_F28" value="16777271" enum="Key">
+ <constant name="KEY_F28" value="4194359" enum="Key">
F28 key. Only supported on macOS and Linux due to a Windows limitation.
</constant>
- <constant name="KEY_F29" value="16777272" enum="Key">
+ <constant name="KEY_F29" value="4194360" enum="Key">
F29 key. Only supported on macOS and Linux due to a Windows limitation.
</constant>
- <constant name="KEY_F30" value="16777273" enum="Key">
+ <constant name="KEY_F30" value="4194361" enum="Key">
F30 key. Only supported on macOS and Linux due to a Windows limitation.
</constant>
- <constant name="KEY_F31" value="16777274" enum="Key">
+ <constant name="KEY_F31" value="4194362" enum="Key">
F31 key. Only supported on macOS and Linux due to a Windows limitation.
</constant>
- <constant name="KEY_F32" value="16777275" enum="Key">
+ <constant name="KEY_F32" value="4194363" enum="Key">
F32 key. Only supported on macOS and Linux due to a Windows limitation.
</constant>
- <constant name="KEY_F33" value="16777276" enum="Key">
+ <constant name="KEY_F33" value="4194364" enum="Key">
F33 key. Only supported on macOS and Linux due to a Windows limitation.
</constant>
- <constant name="KEY_F34" value="16777277" enum="Key">
+ <constant name="KEY_F34" value="4194365" enum="Key">
F34 key. Only supported on macOS and Linux due to a Windows limitation.
</constant>
- <constant name="KEY_F35" value="16777278" enum="Key">
+ <constant name="KEY_F35" value="4194366" enum="Key">
F35 key. Only supported on macOS and Linux due to a Windows limitation.
</constant>
- <constant name="KEY_KP_MULTIPLY" value="16777345" enum="Key">
+ <constant name="KEY_KP_MULTIPLY" value="4194433" enum="Key">
Multiply (*) key on the numeric keypad.
</constant>
- <constant name="KEY_KP_DIVIDE" value="16777346" enum="Key">
+ <constant name="KEY_KP_DIVIDE" value="4194434" enum="Key">
Divide (/) key on the numeric keypad.
</constant>
- <constant name="KEY_KP_SUBTRACT" value="16777347" enum="Key">
+ <constant name="KEY_KP_SUBTRACT" value="4194435" enum="Key">
Subtract (-) key on the numeric keypad.
</constant>
- <constant name="KEY_KP_PERIOD" value="16777348" enum="Key">
+ <constant name="KEY_KP_PERIOD" value="4194436" enum="Key">
Period (.) key on the numeric keypad.
</constant>
- <constant name="KEY_KP_ADD" value="16777349" enum="Key">
+ <constant name="KEY_KP_ADD" value="4194437" enum="Key">
Add (+) key on the numeric keypad.
</constant>
- <constant name="KEY_KP_0" value="16777350" enum="Key">
+ <constant name="KEY_KP_0" value="4194438" enum="Key">
Number 0 on the numeric keypad.
</constant>
- <constant name="KEY_KP_1" value="16777351" enum="Key">
+ <constant name="KEY_KP_1" value="4194439" enum="Key">
Number 1 on the numeric keypad.
</constant>
- <constant name="KEY_KP_2" value="16777352" enum="Key">
+ <constant name="KEY_KP_2" value="4194440" enum="Key">
Number 2 on the numeric keypad.
</constant>
- <constant name="KEY_KP_3" value="16777353" enum="Key">
+ <constant name="KEY_KP_3" value="4194441" enum="Key">
Number 3 on the numeric keypad.
</constant>
- <constant name="KEY_KP_4" value="16777354" enum="Key">
+ <constant name="KEY_KP_4" value="4194442" enum="Key">
Number 4 on the numeric keypad.
</constant>
- <constant name="KEY_KP_5" value="16777355" enum="Key">
+ <constant name="KEY_KP_5" value="4194443" enum="Key">
Number 5 on the numeric keypad.
</constant>
- <constant name="KEY_KP_6" value="16777356" enum="Key">
+ <constant name="KEY_KP_6" value="4194444" enum="Key">
Number 6 on the numeric keypad.
</constant>
- <constant name="KEY_KP_7" value="16777357" enum="Key">
+ <constant name="KEY_KP_7" value="4194445" enum="Key">
Number 7 on the numeric keypad.
</constant>
- <constant name="KEY_KP_8" value="16777358" enum="Key">
+ <constant name="KEY_KP_8" value="4194446" enum="Key">
Number 8 on the numeric keypad.
</constant>
- <constant name="KEY_KP_9" value="16777359" enum="Key">
+ <constant name="KEY_KP_9" value="4194447" enum="Key">
Number 9 on the numeric keypad.
</constant>
- <constant name="KEY_SUPER_L" value="16777280" enum="Key">
+ <constant name="KEY_SUPER_L" value="4194368" enum="Key">
Left Super key (Windows key).
</constant>
- <constant name="KEY_SUPER_R" value="16777281" enum="Key">
+ <constant name="KEY_SUPER_R" value="4194369" enum="Key">
Right Super key (Windows key).
</constant>
- <constant name="KEY_MENU" value="16777282" enum="Key">
+ <constant name="KEY_MENU" value="4194370" enum="Key">
Context menu key.
</constant>
- <constant name="KEY_HYPER_L" value="16777283" enum="Key">
+ <constant name="KEY_HYPER_L" value="4194371" enum="Key">
Left Hyper key.
</constant>
- <constant name="KEY_HYPER_R" value="16777284" enum="Key">
+ <constant name="KEY_HYPER_R" value="4194372" enum="Key">
Right Hyper key.
</constant>
- <constant name="KEY_HELP" value="16777285" enum="Key">
+ <constant name="KEY_HELP" value="4194373" enum="Key">
Help key.
</constant>
- <constant name="KEY_DIRECTION_L" value="16777286" enum="Key">
+ <constant name="KEY_DIRECTION_L" value="4194374" enum="Key">
Left Direction key.
</constant>
- <constant name="KEY_DIRECTION_R" value="16777287" enum="Key">
+ <constant name="KEY_DIRECTION_R" value="4194375" enum="Key">
Right Direction key.
</constant>
- <constant name="KEY_BACK" value="16777288" enum="Key">
+ <constant name="KEY_BACK" value="4194376" enum="Key">
Media back key. Not to be confused with the Back button on an Android device.
</constant>
- <constant name="KEY_FORWARD" value="16777289" enum="Key">
+ <constant name="KEY_FORWARD" value="4194377" enum="Key">
Media forward key.
</constant>
- <constant name="KEY_STOP" value="16777290" enum="Key">
+ <constant name="KEY_STOP" value="4194378" enum="Key">
Media stop key.
</constant>
- <constant name="KEY_REFRESH" value="16777291" enum="Key">
+ <constant name="KEY_REFRESH" value="4194379" enum="Key">
Media refresh key.
</constant>
- <constant name="KEY_VOLUMEDOWN" value="16777292" enum="Key">
+ <constant name="KEY_VOLUMEDOWN" value="4194380" enum="Key">
Volume down key.
</constant>
- <constant name="KEY_VOLUMEMUTE" value="16777293" enum="Key">
+ <constant name="KEY_VOLUMEMUTE" value="4194381" enum="Key">
Mute volume key.
</constant>
- <constant name="KEY_VOLUMEUP" value="16777294" enum="Key">
+ <constant name="KEY_VOLUMEUP" value="4194382" enum="Key">
Volume up key.
</constant>
- <constant name="KEY_BASSBOOST" value="16777295" enum="Key">
+ <constant name="KEY_BASSBOOST" value="4194383" enum="Key">
Bass Boost key.
</constant>
- <constant name="KEY_BASSUP" value="16777296" enum="Key">
+ <constant name="KEY_BASSUP" value="4194384" enum="Key">
Bass up key.
</constant>
- <constant name="KEY_BASSDOWN" value="16777297" enum="Key">
+ <constant name="KEY_BASSDOWN" value="4194385" enum="Key">
Bass down key.
</constant>
- <constant name="KEY_TREBLEUP" value="16777298" enum="Key">
+ <constant name="KEY_TREBLEUP" value="4194386" enum="Key">
Treble up key.
</constant>
- <constant name="KEY_TREBLEDOWN" value="16777299" enum="Key">
+ <constant name="KEY_TREBLEDOWN" value="4194387" enum="Key">
Treble down key.
</constant>
- <constant name="KEY_MEDIAPLAY" value="16777300" enum="Key">
+ <constant name="KEY_MEDIAPLAY" value="4194388" enum="Key">
Media play key.
</constant>
- <constant name="KEY_MEDIASTOP" value="16777301" enum="Key">
+ <constant name="KEY_MEDIASTOP" value="4194389" enum="Key">
Media stop key.
</constant>
- <constant name="KEY_MEDIAPREVIOUS" value="16777302" enum="Key">
+ <constant name="KEY_MEDIAPREVIOUS" value="4194390" enum="Key">
Previous song key.
</constant>
- <constant name="KEY_MEDIANEXT" value="16777303" enum="Key">
+ <constant name="KEY_MEDIANEXT" value="4194391" enum="Key">
Next song key.
</constant>
- <constant name="KEY_MEDIARECORD" value="16777304" enum="Key">
+ <constant name="KEY_MEDIARECORD" value="4194392" enum="Key">
Media record key.
</constant>
- <constant name="KEY_HOMEPAGE" value="16777305" enum="Key">
+ <constant name="KEY_HOMEPAGE" value="4194393" enum="Key">
Home page key.
</constant>
- <constant name="KEY_FAVORITES" value="16777306" enum="Key">
+ <constant name="KEY_FAVORITES" value="4194394" enum="Key">
Favorites key.
</constant>
- <constant name="KEY_SEARCH" value="16777307" enum="Key">
+ <constant name="KEY_SEARCH" value="4194395" enum="Key">
Search key.
</constant>
- <constant name="KEY_STANDBY" value="16777308" enum="Key">
+ <constant name="KEY_STANDBY" value="4194396" enum="Key">
Standby key.
</constant>
- <constant name="KEY_OPENURL" value="16777309" enum="Key">
+ <constant name="KEY_OPENURL" value="4194397" enum="Key">
Open URL / Launch Browser key.
</constant>
- <constant name="KEY_LAUNCHMAIL" value="16777310" enum="Key">
+ <constant name="KEY_LAUNCHMAIL" value="4194398" enum="Key">
Launch Mail key.
</constant>
- <constant name="KEY_LAUNCHMEDIA" value="16777311" enum="Key">
+ <constant name="KEY_LAUNCHMEDIA" value="4194399" enum="Key">
Launch Media key.
</constant>
- <constant name="KEY_LAUNCH0" value="16777312" enum="Key">
+ <constant name="KEY_LAUNCH0" value="4194400" enum="Key">
Launch Shortcut 0 key.
</constant>
- <constant name="KEY_LAUNCH1" value="16777313" enum="Key">
+ <constant name="KEY_LAUNCH1" value="4194401" enum="Key">
Launch Shortcut 1 key.
</constant>
- <constant name="KEY_LAUNCH2" value="16777314" enum="Key">
+ <constant name="KEY_LAUNCH2" value="4194402" enum="Key">
Launch Shortcut 2 key.
</constant>
- <constant name="KEY_LAUNCH3" value="16777315" enum="Key">
+ <constant name="KEY_LAUNCH3" value="4194403" enum="Key">
Launch Shortcut 3 key.
</constant>
- <constant name="KEY_LAUNCH4" value="16777316" enum="Key">
+ <constant name="KEY_LAUNCH4" value="4194404" enum="Key">
Launch Shortcut 4 key.
</constant>
- <constant name="KEY_LAUNCH5" value="16777317" enum="Key">
+ <constant name="KEY_LAUNCH5" value="4194405" enum="Key">
Launch Shortcut 5 key.
</constant>
- <constant name="KEY_LAUNCH6" value="16777318" enum="Key">
+ <constant name="KEY_LAUNCH6" value="4194406" enum="Key">
Launch Shortcut 6 key.
</constant>
- <constant name="KEY_LAUNCH7" value="16777319" enum="Key">
+ <constant name="KEY_LAUNCH7" value="4194407" enum="Key">
Launch Shortcut 7 key.
</constant>
- <constant name="KEY_LAUNCH8" value="16777320" enum="Key">
+ <constant name="KEY_LAUNCH8" value="4194408" enum="Key">
Launch Shortcut 8 key.
</constant>
- <constant name="KEY_LAUNCH9" value="16777321" enum="Key">
+ <constant name="KEY_LAUNCH9" value="4194409" enum="Key">
Launch Shortcut 9 key.
</constant>
- <constant name="KEY_LAUNCHA" value="16777322" enum="Key">
+ <constant name="KEY_LAUNCHA" value="4194410" enum="Key">
Launch Shortcut A key.
</constant>
- <constant name="KEY_LAUNCHB" value="16777323" enum="Key">
+ <constant name="KEY_LAUNCHB" value="4194411" enum="Key">
Launch Shortcut B key.
</constant>
- <constant name="KEY_LAUNCHC" value="16777324" enum="Key">
+ <constant name="KEY_LAUNCHC" value="4194412" enum="Key">
Launch Shortcut C key.
</constant>
- <constant name="KEY_LAUNCHD" value="16777325" enum="Key">
+ <constant name="KEY_LAUNCHD" value="4194413" enum="Key">
Launch Shortcut D key.
</constant>
- <constant name="KEY_LAUNCHE" value="16777326" enum="Key">
+ <constant name="KEY_LAUNCHE" value="4194414" enum="Key">
Launch Shortcut E key.
</constant>
- <constant name="KEY_LAUNCHF" value="16777327" enum="Key">
+ <constant name="KEY_LAUNCHF" value="4194415" enum="Key">
Launch Shortcut F key.
</constant>
- <constant name="KEY_UNKNOWN" value="33554431" enum="Key">
+ <constant name="KEY_UNKNOWN" value="16777215" enum="Key">
Unknown key.
</constant>
<constant name="KEY_SPACE" value="32" enum="Key">
@@ -2223,27 +2229,27 @@
<constant name="KEY_YDIAERESIS" value="255" enum="Key">
ÿ key.
</constant>
- <constant name="KEY_CODE_MASK" value="33554431" enum="KeyModifierMask">
+ <constant name="KEY_CODE_MASK" value="8388607" enum="KeyModifierMask">
Key Code mask.
</constant>
- <constant name="KEY_MODIFIER_MASK" value="2130706432" enum="KeyModifierMask">
+ <constant name="KEY_MODIFIER_MASK" value="532676608" enum="KeyModifierMask">
Modifier key mask.
</constant>
+ <constant name="KEY_MASK_CMD_OR_CTRL" value="16777216" enum="KeyModifierMask">
+ Automatically remapped to [constant KEY_META] on macOS and [constant KEY_CTRL] on other platforms, this mask is never set in the actual events, and should be used for key mapping only.
+ </constant>
<constant name="KEY_MASK_SHIFT" value="33554432" enum="KeyModifierMask">
Shift key mask.
</constant>
<constant name="KEY_MASK_ALT" value="67108864" enum="KeyModifierMask">
- Alt key mask.
+ Alt or Option (on macOS) key mask.
</constant>
<constant name="KEY_MASK_META" value="134217728" enum="KeyModifierMask">
- Meta key mask.
+ Command (on macOS) or Meta/Windows key mask.
</constant>
<constant name="KEY_MASK_CTRL" value="268435456" enum="KeyModifierMask">
Ctrl key mask.
</constant>
- <constant name="KEY_MASK_CMD" value="platform-dependent" enum="KeyModifierMask">
- Command key mask. On macOS, this is equivalent to [constant KEY_MASK_META]. On other platforms, this is equivalent to [constant KEY_MASK_CTRL]. This mask should be preferred to [constant KEY_MASK_META] or [constant KEY_MASK_CTRL] for system shortcuts as it handles all platforms correctly.
- </constant>
<constant name="KEY_MASK_KPAD" value="536870912" enum="KeyModifierMask">
Keypad key mask.
</constant>
diff --git a/doc/classes/AABB.xml b/doc/classes/AABB.xml
index e2e4e7c61d..23dd41f275 100644
--- a/doc/classes/AABB.xml
+++ b/doc/classes/AABB.xml
@@ -142,24 +142,24 @@
Returns a copy of the [AABB] grown a given number of units towards all the sides.
</description>
</method>
- <method name="has_no_surface" qualifiers="const">
+ <method name="has_point" qualifiers="const">
<return type="bool" />
+ <param index="0" name="point" type="Vector3" />
<description>
- Returns [code]true[/code] if the [AABB] is empty.
+ Returns [code]true[/code] if the [AABB] contains a point. Points on the faces of the AABB are considered included, though float-point precision errors may impact the accuracy of such checks.
+ [b]Note:[/b] This method is not reliable for [AABB] with a [i]negative size[/i]. Use [method abs] to get a positive sized equivalent [AABB] to check for contained points.
</description>
</method>
- <method name="has_no_volume" qualifiers="const">
+ <method name="has_surface" qualifiers="const">
<return type="bool" />
<description>
- Returns [code]true[/code] if the [AABB] is flat or empty.
+ Returns [code]true[/code] if the [AABB] has a surface or a length, and [code]false[/code] if the [AABB] is empty (all components of [member size] are zero or negative).
</description>
</method>
- <method name="has_point" qualifiers="const">
+ <method name="has_volume" qualifiers="const">
<return type="bool" />
- <param index="0" name="point" type="Vector3" />
<description>
- Returns [code]true[/code] if the [AABB] contains a point. Points on the faces of the AABB are considered included, though float-point precision errors may impact the accuracy of such checks.
- [b]Note:[/b] This method is not reliable for [AABB] with a [i]negative size[/i]. Use [method abs] to get a positive sized equivalent [AABB] to check for contained points.
+ Returns [code]true[/code] if the [AABB] has a volume, and [code]false[/code] if the [AABB] is flat, empty, or has a negative [member size].
</description>
</method>
<method name="intersection" qualifiers="const">
diff --git a/doc/classes/AESContext.xml b/doc/classes/AESContext.xml
index 69cd54a79b..7f582e4be7 100644
--- a/doc/classes/AESContext.xml
+++ b/doc/classes/AESContext.xml
@@ -45,6 +45,7 @@
public class Example : Node
{
public AESContext Aes = new AESContext();
+
public override void _Ready()
{
string key = "My secret key!!!"; // Key must be either 16 or 32 bytes.
diff --git a/doc/classes/AStarGrid2D.xml b/doc/classes/AStarGrid2D.xml
index ae696eb468..19cd9d21d7 100644
--- a/doc/classes/AStarGrid2D.xml
+++ b/doc/classes/AStarGrid2D.xml
@@ -1,8 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AStarGrid2D" inherits="RefCounted" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
+ A* (or "A-Star") pathfinding tailored to find the shortest paths on 2D grids.
</brief_description>
<description>
+ Compared to [AStar2D] you don't need to manually create points or connect them together. It also supports multiple type of heuristics and modes for diagonal movement. This class also provides a jumping mode which is faster to calculate than without it in the [AStar2D] class.
+ In contrast to [AStar2D], you only need set the [member size] of the grid, optionally set the [member cell_size] and then call the [method update] method:
+ [codeblock]
+ var astar_grid = AStarGrid2D.new()
+ astar_grid.size = Vector2i(32, 32)
+ astar_grid.cell_size = Vector2(16, 16)
+ astar_grid.update()
+ print(astar_grid.get_id_path(Vector2i(0, 0), Vector2i(3, 4))) # prints (0, 0), (1, 1), (2, 2), (3, 3), (3, 4)
+ print(astar_grid.get_point_path(Vector2i(0, 0), Vector2i(3, 4))) # prints (0, 0), (16, 16), (32, 32), (48, 48), (48, 64)
+ [/codeblock]
</description>
<tutorials>
</tutorials>
@@ -12,6 +23,8 @@
<param index="0" name="from_id" type="Vector2i" />
<param index="1" name="to_id" type="Vector2i" />
<description>
+ Called when computing the cost between two connected points.
+ Note that this function is hidden in the default [code]AStarGrid2D[/code] class.
</description>
</method>
<method name="_estimate_cost" qualifiers="virtual const">
@@ -19,11 +32,14 @@
<param index="0" name="from_id" type="Vector2i" />
<param index="1" name="to_id" type="Vector2i" />
<description>
+ Called when estimating the cost between a point and the path's ending point.
+ Note that this function is hidden in the default [code]AStarGrid2D[/code] class.
</description>
</method>
<method name="clear">
<return type="void" />
<description>
+ Clears the grid and sets the [member size] to [constant Vector2i.ZERO].
</description>
</method>
<method name="get_id_path">
@@ -31,6 +47,7 @@
<param index="0" name="from_id" type="Vector2i" />
<param index="1" name="to_id" type="Vector2i" />
<description>
+ Returns an array with the IDs of the points that form the path found by AStar2D between the given points. The array is ordered from the starting point to the ending point of the path.
</description>
</method>
<method name="get_point_path">
@@ -38,11 +55,14 @@
<param index="0" name="from_id" type="Vector2i" />
<param index="1" name="to_id" type="Vector2i" />
<description>
+ Returns an array with the points that are in the path found by AStarGrid2D between the given points. The array is ordered from the starting point to the ending point of the path.
+ [b]Note:[/b] This method is not thread-safe. If called from a [Thread], it will return an empty [PackedVector3Array] and will print an error message.
</description>
</method>
<method name="is_dirty" qualifiers="const">
<return type="bool" />
<description>
+ Indicates that the grid parameters were changed and [method update] needs to be called.
</description>
</method>
<method name="is_in_bounds" qualifiers="const">
@@ -50,18 +70,21 @@
<param index="0" name="x" type="int" />
<param index="1" name="y" type="int" />
<description>
+ Returns [code]true[/code] if the [param x] and [param y] is a valid grid coordinate (id).
</description>
</method>
<method name="is_in_boundsv" qualifiers="const">
<return type="bool" />
<param index="0" name="id" type="Vector2i" />
<description>
+ Returns [code]true[/code] if the [param id] vector is a valid grid coordinate.
</description>
</method>
<method name="is_point_solid" qualifiers="const">
<return type="bool" />
<param index="0" name="id" type="Vector2i" />
<description>
+ Returns [code]true[/code] if a point is disabled for pathfinding. By default, all points are enabled.
</description>
</method>
<method name="set_point_solid">
@@ -69,48 +92,87 @@
<param index="0" name="id" type="Vector2i" />
<param index="1" name="solid" type="bool" default="true" />
<description>
+ Disables or enables the specified point for pathfinding. Useful for making an obstacle. By default, all points are enabled.
</description>
</method>
<method name="update">
<return type="void" />
<description>
+ Updates the internal state of the grid according to the parameters to prepare it to search the path. Needs to be called if parameters like [member size], [member cell_size] or [member offset] are changed. [method is_dirty] will return [code]true[/code] if this is the case and this needs to be called.
</description>
</method>
</methods>
<members>
<member name="cell_size" type="Vector2" setter="set_cell_size" getter="get_cell_size" default="Vector2(1, 1)">
+ The size of the point cell which will be applied to calculate the resulting point position returned by [method get_point_path]. If changed, [method update] needs to be called before finding the next path.
</member>
<member name="default_heuristic" type="int" setter="set_default_heuristic" getter="get_default_heuristic" enum="AStarGrid2D.Heuristic" default="0">
+ The default [enum Heuristic] which will be used to calculate the path if [method _compute_cost] and/or [method _estimate_cost] were not overridden.
</member>
<member name="diagonal_mode" type="int" setter="set_diagonal_mode" getter="get_diagonal_mode" enum="AStarGrid2D.DiagonalMode" default="0">
+ A specific [enum DiagonalMode] mode which will force the path to avoid or accept the specified diagonals.
</member>
<member name="jumping_enabled" type="bool" setter="set_jumping_enabled" getter="is_jumping_enabled" default="false">
+ Enables or disables jumping to skip up the intermediate points and speeds up the searching algorithm.
</member>
<member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2(0, 0)">
+ The offset of the grid which will be applied to calculate the resulting point position returned by [method get_point_path]. If changed, [method update] needs to be called before finding the next path.
</member>
<member name="size" type="Vector2i" setter="set_size" getter="get_size" default="Vector2i(0, 0)">
+ The size of the grid (number of cells of size [member cell_size] on each axis). If changed, [method update] needs to be called before finding the next path.
</member>
</members>
<constants>
<constant name="HEURISTIC_EUCLIDEAN" value="0" enum="Heuristic">
+ The Euclidean heuristic to be used for the pathfinding using the following formula:
+ [codeblock]
+ dx = abs(to_id.x - from_id.x)
+ dy = abs(to_id.y - from_id.y)
+ result = sqrt(dx * dx + dy * dy)
+ [/codeblock]
</constant>
<constant name="HEURISTIC_MANHATTAN" value="1" enum="Heuristic">
+ The Manhattan heuristic to be used for the pathfinding using the following formula:
+ [codeblock]
+ dx = abs(to_id.x - from_id.x)
+ dy = abs(to_id.y - from_id.y)
+ result = dx + dy
+ [/codeblock]
</constant>
<constant name="HEURISTIC_OCTILE" value="2" enum="Heuristic">
+ The Octile heuristic to be used for the pathfinding using the following formula:
+ [codeblock]
+ dx = abs(to_id.x - from_id.x)
+ dy = abs(to_id.y - from_id.y)
+ f = sqrt(2) - 1
+ result = (dx &lt; dy) ? f * dx + dy : f * dy + dx;
+ [/codeblock]
</constant>
<constant name="HEURISTIC_CHEBYSHEV" value="3" enum="Heuristic">
+ The Chebyshev heuristic to be used for the pathfinding using the following formula:
+ [codeblock]
+ dx = abs(to_id.x - from_id.x)
+ dy = abs(to_id.y - from_id.y)
+ result = max(dx, dy)
+ [/codeblock]
</constant>
<constant name="HEURISTIC_MAX" value="4" enum="Heuristic">
+ Represents the size of the [enum Heuristic] enum.
</constant>
<constant name="DIAGONAL_MODE_ALWAYS" value="0" enum="DiagonalMode">
+ The pathfinding algorithm will ignore solid neighbors around the target cell and allow passing using diagonals.
</constant>
<constant name="DIAGONAL_MODE_NEVER" value="1" enum="DiagonalMode">
+ The pathfinding algorithm will ignore all diagonals and the way will be always orthogonal.
</constant>
<constant name="DIAGONAL_MODE_AT_LEAST_ONE_WALKABLE" value="2" enum="DiagonalMode">
+ The pathfinding algorithm will avoid using diagonals if at least two obstacles have been placed around the neighboring cells of the specific path segment.
</constant>
<constant name="DIAGONAL_MODE_ONLY_IF_NO_OBSTACLES" value="3" enum="DiagonalMode">
+ The pathfinding algorithm will avoid using diagonals if any obstacle has been placed around the neighboring cells of the specific path segment.
</constant>
<constant name="DIAGONAL_MODE_MAX" value="4" enum="DiagonalMode">
+ Represents the size of the [enum DiagonalMode] enum.
</constant>
</constants>
</class>
diff --git a/doc/classes/AcceptDialog.xml b/doc/classes/AcceptDialog.xml
index ee49523c90..b5a1461876 100644
--- a/doc/classes/AcceptDialog.xml
+++ b/doc/classes/AcceptDialog.xml
@@ -99,14 +99,11 @@
</signal>
</signals>
<theme_items>
- <theme_item name="button_margin" data_type="constant" type="int" default="32">
- Offset that is applied to the content of the window on the bottom, effectively moving the button row.
- </theme_item>
- <theme_item name="margin" data_type="constant" type="int" default="8">
- Offset that is applied to the content of the window on top, left, and right.
+ <theme_item name="buttons_separation" data_type="constant" type="int" default="10">
+ The size of the vertical space between the dialog's content and the button row.
</theme_item>
<theme_item name="panel" data_type="style" type="StyleBox">
- Panel that fills up the background of the window.
+ The panel that fills the background of the window.
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/AnimatedSprite2D.xml b/doc/classes/AnimatedSprite2D.xml
index b207eda27f..afbe34816a 100644
--- a/doc/classes/AnimatedSprite2D.xml
+++ b/doc/classes/AnimatedSprite2D.xml
@@ -5,6 +5,8 @@
</brief_description>
<description>
[AnimatedSprite2D] is similar to the [Sprite2D] node, except it carries multiple textures as animation frames. Animations are created using a [SpriteFrames] resource, which allows you to import image files (or a folder containing said files) to provide the animation frames for the sprite. The [SpriteFrames] resource can be configured in the editor via the SpriteFrames bottom panel.
+ After setting up [member frames], [method play] may be called. It's also possible to select an [member animation] and toggle [member playing], even within the editor.
+ To pause the current animation, call [method stop] or set [member playing] to [code]false[/code]. Alternatively, setting [member speed_scale] to [code]0[/code] also preserves the current frame's elapsed time.
[b]Note:[/b] You can associate a set of normal or specular maps by creating additional [SpriteFrames] resources with a [code]_normal[/code] or [code]_specular[/code] suffix. For example, having 3 [SpriteFrames] resources [code]run[/code], [code]run_normal[/code], and [code]run_specular[/code] will make it so the [code]run[/code] animation uses normal and specular maps.
</description>
<tutorials>
@@ -17,13 +19,14 @@
<param index="0" name="anim" type="StringName" default="&amp;&quot;&quot;" />
<param index="1" name="backwards" type="bool" default="false" />
<description>
- Plays the animation named [param anim]. If no [param anim] is provided, the current animation is played. If [code]backwards[/code] is [code]true[/code], the animation will be played in reverse.
+ Plays the animation named [param anim]. If no [param anim] is provided, the current animation is played. If [param backwards] is [code]true[/code], the animation is played in reverse.
</description>
</method>
<method name="stop">
<return type="void" />
<description>
- Stops the current animation (does not reset the frame counter).
+ Stops the current [member animation] at the current [member frame].
+ [b]Note:[/b] This method resets the current frame's elapsed time. If this behavior is undesired, consider setting [member speed_scale] to [code]0[/code], instead.
</description>
</method>
</methods>
@@ -50,10 +53,10 @@
The texture's drawing offset.
</member>
<member name="playing" type="bool" setter="set_playing" getter="is_playing" default="false">
- If [code]true[/code], the [member animation] is currently playing.
+ If [code]true[/code], the [member animation] is currently playing. Setting this property to [code]false[/code] is the equivalent of calling [method stop].
</member>
<member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale" default="1.0">
- The animation speed is multiplied by this value.
+ The animation speed is multiplied by this value. If set to a negative value, the animation is played in reverse. If set to [code]0[/code], the animation is paused, preserving the current frame's elapsed time.
</member>
</members>
<signals>
diff --git a/doc/classes/AnimatedSprite3D.xml b/doc/classes/AnimatedSprite3D.xml
index 0bc5484e3a..09baf882fb 100644
--- a/doc/classes/AnimatedSprite3D.xml
+++ b/doc/classes/AnimatedSprite3D.xml
@@ -4,7 +4,9 @@
2D sprite node in 3D world, that can use multiple 2D textures for animation.
</brief_description>
<description>
- Animations are created using a [SpriteFrames] resource, which can be configured in the editor via the SpriteFrames panel.
+ [AnimatedSprite3D] is similar to the [Sprite3D] node, except it carries multiple textures as animation [member frames]. Animations are created using a [SpriteFrames] resource, which allows you to import image files (or a folder containing said files) to provide the animation frames for the sprite. The [SpriteFrames] resource can be configured in the editor via the SpriteFrames bottom panel.
+ After setting up [member frames], [method play] may be called. It's also possible to select an [member animation] and toggle [member playing], even within the editor.
+ To pause the current animation, call [method stop] or set [member playing] to [code]false[/code]. Alternatively, setting [member speed_scale] to [code]0[/code] also preserves the current frame's elapsed time.
</description>
<tutorials>
<link title="2D Sprite animation (also applies to 3D)">$DOCS_URL/tutorials/2d/2d_sprite_animation.html</link>
@@ -13,14 +15,16 @@
<method name="play">
<return type="void" />
<param index="0" name="anim" type="StringName" default="&amp;&quot;&quot;" />
+ <param index="1" name="backwards" type="bool" default="false" />
<description>
- Plays the animation named [param anim]. If no [param anim] is provided, the current animation is played.
+ Plays the animation named [param anim]. If no [param anim] is provided, the current animation is played. If [param backwards] is [code]true[/code], the animation is played in reverse.
</description>
</method>
<method name="stop">
<return type="void" />
<description>
- Stops the current animation (does not reset the frame counter).
+ Stops the current [member animation] at the current [member frame].
+ [b]Note:[/b] This method resets the current frame's elapsed time. If this behavior is undesired, consider setting [member speed_scale] to [code]0[/code], instead.
</description>
</method>
</methods>
@@ -35,7 +39,10 @@
The [SpriteFrames] resource containing the animation(s).
</member>
<member name="playing" type="bool" setter="set_playing" getter="is_playing" default="false">
- If [code]true[/code], the [member animation] is currently playing.
+ If [code]true[/code], the [member animation] is currently playing. Setting this property to [code]false[/code] is the equivalent of calling [method stop].
+ </member>
+ <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale" default="1.0">
+ The animation speed is multiplied by this value. If set to a negative value, the animation is played in reverse. If set to [code]0[/code], the animation is paused, preserving the current frame's elapsed time.
</member>
</members>
<signals>
diff --git a/doc/classes/AnimatedTexture.xml b/doc/classes/AnimatedTexture.xml
index 5ad4c4e10a..f0c86ba47b 100644
--- a/doc/classes/AnimatedTexture.xml
+++ b/doc/classes/AnimatedTexture.xml
@@ -5,18 +5,18 @@
</brief_description>
<description>
[AnimatedTexture] is a resource format for frame-based animations, where multiple textures can be chained automatically with a predefined delay for each frame. Unlike [AnimationPlayer] or [AnimatedSprite2D], it isn't a [Node], but has the advantage of being usable anywhere a [Texture2D] resource can be used, e.g. in a [TileSet].
- The playback of the animation is controlled by the [member fps] property as well as each frame's optional delay (see [method set_frame_delay]). The animation loops, i.e. it will restart at frame 0 automatically after playing the last frame.
+ The playback of the animation is controlled by the [member speed_scale] property, as well as each frame's duration (see [method set_frame_duration]). The animation loops, i.e. it will restart at frame 0 automatically after playing the last frame.
[AnimatedTexture] currently requires all frame textures to have the same size, otherwise the bigger ones will be cropped to match the smallest one.
[b]Note:[/b] AnimatedTexture doesn't support using [AtlasTexture]s. Each frame needs to be a separate [Texture2D].
</description>
<tutorials>
</tutorials>
<methods>
- <method name="get_frame_delay" qualifiers="const">
+ <method name="get_frame_duration" qualifiers="const">
<return type="float" />
<param index="0" name="frame" type="int" />
<description>
- Returns the given frame's delay value.
+ Returns the given [param frame]'s duration, in seconds.
</description>
</method>
<method name="get_frame_texture" qualifiers="const">
@@ -26,19 +26,12 @@
Returns the given frame's [Texture2D].
</description>
</method>
- <method name="set_frame_delay">
+ <method name="set_frame_duration">
<return type="void" />
<param index="0" name="frame" type="int" />
- <param index="1" name="delay" type="float" />
+ <param index="1" name="duration" type="float" />
<description>
- Sets an additional delay (in seconds) between this frame and the next one, that will be added to the time interval defined by [member fps]. By default, frames have no delay defined. If a delay value is defined, the final time interval between this frame and the next will be [code]1.0 / fps + delay[/code].
- For example, for an animation with 3 frames, 2 FPS and a frame delay on the second frame of 1.2, the resulting playback will be:
- [codeblock]
- Frame 0: 0.5 s (1 / fps)
- Frame 1: 1.7 s (1 / fps + 1.2)
- Frame 2: 0.5 s (1 / fps)
- Total duration: 2.7 s
- [/codeblock]
+ Sets the duration of any given [param frame]. The final duration is affected by the [member speed_scale]. If set to [code]0[/code], the frame is skipped during playback.
</description>
</method>
<method name="set_frame_texture">
@@ -55,19 +48,18 @@
<member name="current_frame" type="int" setter="set_current_frame" getter="get_current_frame">
Sets the currently visible frame of the texture.
</member>
- <member name="fps" type="float" setter="set_fps" getter="get_fps" default="4.0">
- Animation speed in frames per second. This value defines the default time interval between two frames of the animation, and thus the overall duration of the animation loop based on the [member frames] property. A value of 0 means no predefined number of frames per second, the animation will play according to each frame's frame delay (see [method set_frame_delay]).
- For example, an animation with 8 frames, no frame delay and a [code]fps[/code] value of 2 will run for 4 seconds, with each frame lasting 0.5 seconds.
- </member>
<member name="frames" type="int" setter="set_frames" getter="get_frames" default="1">
Number of frames to use in the animation. While you can create the frames independently with [method set_frame_texture], you need to set this value for the animation to take new frames into account. The maximum number of frames is [constant MAX_FRAMES].
</member>
- <member name="oneshot" type="bool" setter="set_oneshot" getter="get_oneshot" default="false">
+ <member name="one_shot" type="bool" setter="set_one_shot" getter="get_one_shot" default="false">
If [code]true[/code], the animation will only play once and will not loop back to the first frame after reaching the end. Note that reaching the end will not set [member pause] to [code]true[/code].
</member>
<member name="pause" type="bool" setter="set_pause" getter="get_pause" default="false">
If [code]true[/code], the animation will pause where it currently is (i.e. at [member current_frame]). The animation will continue from where it was paused when changing this property to [code]false[/code].
</member>
+ <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale" default="1.0">
+ The animation speed is multiplied by this value. If set to a negative value, the animation is played in reverse.
+ </member>
</members>
<constants>
<constant name="MAX_FRAMES" value="256">
diff --git a/doc/classes/AnimationNodeBlendTree.xml b/doc/classes/AnimationNodeBlendTree.xml
index 4c7943ece3..2a765ac8d6 100644
--- a/doc/classes/AnimationNodeBlendTree.xml
+++ b/doc/classes/AnimationNodeBlendTree.xml
@@ -87,6 +87,14 @@
The global offset of all sub-nodes.
</member>
</members>
+ <signals>
+ <signal name="node_changed">
+ <param index="0" name="node_name" type="StringName" />
+ <description>
+ Emitted when the input port information is changed.
+ </description>
+ </signal>
+ </signals>
<constants>
<constant name="CONNECTION_OK" value="0">
The connection was successful.
diff --git a/doc/classes/AnimationPlayer.xml b/doc/classes/AnimationPlayer.xml
index 710dc55a4b..d24703203b 100644
--- a/doc/classes/AnimationPlayer.xml
+++ b/doc/classes/AnimationPlayer.xml
@@ -268,6 +268,11 @@
[b]Note:[/b] This signal is not emitted if an animation is looping.
</description>
</signal>
+ <signal name="animation_list_changed">
+ <description>
+ Notifies when an animation list is changed.
+ </description>
+ </signal>
<signal name="animation_started">
<param index="0" name="anim_name" type="StringName" />
<description>
diff --git a/doc/classes/AnimationTree.xml b/doc/classes/AnimationTree.xml
index f2bf74f495..27797b00b5 100644
--- a/doc/classes/AnimationTree.xml
+++ b/doc/classes/AnimationTree.xml
@@ -54,6 +54,13 @@
The root animation node of this [AnimationTree]. See [AnimationNode].
</member>
</members>
+ <signals>
+ <signal name="animation_player_changed">
+ <description>
+ Emitted when the [member anim_player] is changed.
+ </description>
+ </signal>
+ </signals>
<constants>
<constant name="ANIMATION_PROCESS_PHYSICS" value="0" enum="AnimationProcessCallback">
The animations will progress during the physics frame (i.e. [method Node._physics_process]).
diff --git a/doc/classes/Area2D.xml b/doc/classes/Area2D.xml
index f1e40d4979..29592f133d 100644
--- a/doc/classes/Area2D.xml
+++ b/doc/classes/Area2D.xml
@@ -25,10 +25,24 @@
<method name="get_overlapping_bodies" qualifiers="const">
<return type="Node2D[]" />
<description>
- Returns a list of intersecting [PhysicsBody2D]s. The overlapping body's [member CollisionObject2D.collision_layer] must be part of this area's [member CollisionObject2D.collision_mask] in order to be detected.
+ Returns a list of intersecting [PhysicsBody2D]s and [TileMap]s. The overlapping body's [member CollisionObject2D.collision_layer] must be part of this area's [member CollisionObject2D.collision_mask] in order to be detected.
For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
</description>
</method>
+ <method name="has_overlapping_areas" qualifiers="const">
+ <return type="bool" />
+ <description>
+ Returns [code]true[/code] if intersecting any [Area2D]s, otherwise returns [code]false[/code]. The overlapping area's [member CollisionObject2D.collision_layer] must be part of this area's [member CollisionObject2D.collision_mask] in order to be detected.
+ For performance reasons (collisions are all processed at the same time) the list of overlapping areas is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
+ </description>
+ </method>
+ <method name="has_overlapping_bodies" qualifiers="const">
+ <return type="bool" />
+ <description>
+ Returns [code]true[/code] if intersecting any [PhysicsBody2D]s or [TileMap]s, otherwise returns [code]false[/code]. The overlapping body's [member CollisionObject2D.collision_layer] must be part of this area's [member CollisionObject2D.collision_mask] in order to be detected.
+ For performance reasons (collisions are all processed at the same time) the list of overlapping bodies is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
+ </description>
+ </method>
<method name="overlaps_area" qualifiers="const">
<return type="bool" />
<param index="0" name="area" type="Node" />
diff --git a/doc/classes/Area3D.xml b/doc/classes/Area3D.xml
index 14081918cf..ce49be9bc1 100644
--- a/doc/classes/Area3D.xml
+++ b/doc/classes/Area3D.xml
@@ -23,10 +23,24 @@
<method name="get_overlapping_bodies" qualifiers="const">
<return type="Node3D[]" />
<description>
- Returns a list of intersecting [PhysicsBody3D]s. The overlapping body's [member CollisionObject3D.collision_layer] must be part of this area's [member CollisionObject3D.collision_mask] in order to be detected.
+ Returns a list of intersecting [PhysicsBody3D]s and [GridMap]s. The overlapping body's [member CollisionObject3D.collision_layer] must be part of this area's [member CollisionObject3D.collision_mask] in order to be detected.
For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
</description>
</method>
+ <method name="has_overlapping_areas" qualifiers="const">
+ <return type="bool" />
+ <description>
+ Returns [code]true[/code] if intersecting any [Area3D]s, otherwise returns [code]false[/code]. The overlapping area's [member CollisionObject3D.collision_layer] must be part of this area's [member CollisionObject3D.collision_mask] in order to be detected.
+ For performance reasons (collisions are all processed at the same time) the list of overlapping areas is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
+ </description>
+ </method>
+ <method name="has_overlapping_bodies" qualifiers="const">
+ <return type="bool" />
+ <description>
+ Returns [code]true[/code] if intersecting any [PhysicsBody3D]s or [GridMap]s, otherwise returns [code]false[/code]. The overlapping body's [member CollisionObject3D.collision_layer] must be part of this area's [member CollisionObject3D.collision_mask] in order to be detected.
+ For performance reasons (collisions are all processed at the same time) the list of overlapping bodies is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
+ </description>
+ </method>
<method name="overlaps_area" qualifiers="const">
<return type="bool" />
<param index="0" name="area" type="Node" />
diff --git a/doc/classes/BaseMaterial3D.xml b/doc/classes/BaseMaterial3D.xml
index ee28675d89..cbb58a3e1e 100644
--- a/doc/classes/BaseMaterial3D.xml
+++ b/doc/classes/BaseMaterial3D.xml
@@ -28,7 +28,7 @@
<return type="Texture2D" />
<param index="0" name="param" type="int" enum="BaseMaterial3D.TextureParam" />
<description>
- Returns the [Texture] associated with the specified [enum TextureParam].
+ Returns the [Texture2D] associated with the specified [enum TextureParam].
</description>
</method>
<method name="set_feature">
diff --git a/doc/classes/BoneAttachment3D.xml b/doc/classes/BoneAttachment3D.xml
index dc3d448621..f29525038e 100644
--- a/doc/classes/BoneAttachment3D.xml
+++ b/doc/classes/BoneAttachment3D.xml
@@ -16,10 +16,11 @@
Returns the [NodePath] to the external [Skeleton3D] node, if one has been set.
</description>
</method>
- <method name="get_override_mode" qualifiers="const">
+ <method name="get_override_mode" qualifiers="const" is_deprecated="true">
<return type="int" />
<description>
- Returns the override mode for the BoneAttachment3D node.
+ Deprecated. Local pose overrides will be removed.
+ Returns the override mode for the BoneAttachment3D node (0=global / 1=local).
</description>
</method>
<method name="get_override_pose" qualifiers="const">
@@ -48,11 +49,12 @@
Sets the [NodePath] to the external skeleton that the BoneAttachment3D node should use. The external [Skeleton3D] node is only used when [code]use_external_skeleton[/code] is set to [code]true[/code].
</description>
</method>
- <method name="set_override_mode">
+ <method name="set_override_mode" is_deprecated="true">
<return type="void" />
<param index="0" name="override_mode" type="int" />
<description>
- Sets the override mode for the BoneAttachment3D node. The override mode defines which of the bone poses the BoneAttachment3D node will override.
+ Deprecated. Local pose overrides will be removed.
+ Sets the override mode for the BoneAttachment3D node (0=global / 1=local). The override mode defines which of the bone poses the BoneAttachment3D node will override.
</description>
</method>
<method name="set_override_pose">
diff --git a/doc/classes/Camera2D.xml b/doc/classes/Camera2D.xml
index edb5235b75..bb78d537ad 100644
--- a/doc/classes/Camera2D.xml
+++ b/doc/classes/Camera2D.xml
@@ -7,7 +7,7 @@
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 scenes than manually changing the position of [CanvasItem]-based nodes.
Cameras register themselves in the nearest [Viewport] node (when ascending the tree). Only one camera can be active per viewport. If no viewport is available ascending the tree, the camera will register in the global viewport.
This node is intended to be a simple helper to get things going quickly, but more functionality may be desired to change how the camera works. To make your own custom camera node, inherit it from [Node2D] and change the transform of the canvas by setting [member Viewport.canvas_transform] in [Viewport] (you can obtain the current [Viewport] by using [method Node.get_viewport]).
- Note that the [Camera2D] node's [code]position[/code] doesn't represent the actual position of the screen, which may differ due to applied smoothing or limits. You can use [method get_camera_screen_center] to get the real position.
+ Note that the [Camera2D] node's [code]position[/code] doesn't represent the actual position of the screen, which may differ due to applied smoothing or limits. You can use [method get_screen_center_position] to get the real position.
</description>
<tutorials>
<link title="2D Platformer Demo">https://godotengine.org/asset-library/asset/120</link>
@@ -27,20 +27,6 @@
Forces the camera to update scroll immediately.
</description>
</method>
- <method name="get_camera_position" qualifiers="const">
- <return type="Vector2" />
- <description>
- Returns the camera's [code]position[/code] (the tracked point the camera attempts to follow), relative to the origin.
- [b]Note:[/b] The returned value is not the same as [member Node2D.position] or [member Node2D.global_position], as it is affected by the [code]drag[/code] properties.
- </description>
- </method>
- <method name="get_camera_screen_center" qualifiers="const">
- <return type="Vector2" />
- <description>
- Returns the location of the [Camera2D]'s screen-center, relative to the origin.
- [b]Note:[/b] The real [code]position[/code] of the camera may be different, see [method get_camera_position].
- </description>
- </method>
<method name="get_drag_margin" qualifiers="const">
<return type="float" />
<param index="0" name="margin" type="int" enum="Side" />
@@ -55,6 +41,20 @@
Returns the camera limit for the specified [enum Side]. See also [member limit_bottom], [member limit_top], [member limit_left], and [member limit_right].
</description>
</method>
+ <method name="get_screen_center_position" qualifiers="const">
+ <return type="Vector2" />
+ <description>
+ Returns the center of the screen from this camera's point of view, in global coordinates.
+ [b]Note:[/b] The exact targeted position of the camera may be different. See [method get_target_position].
+ </description>
+ </method>
+ <method name="get_target_position" qualifiers="const">
+ <return type="Vector2" />
+ <description>
+ Returns this camera's target position, in global coordinates.
+ [b]Note:[/b] The returned value is not the same as [member Node2D.global_position], as it is affected by the drag properties. It is also not the same as the current position if [member smoothing_enabled] is [code]true[/code] (see [method get_screen_center_position]).
+ </description>
+ </method>
<method name="reset_smoothing">
<return type="void" />
<description>
diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml
index d8c1af0b3c..d74f49c897 100644
--- a/doc/classes/CanvasItem.xml
+++ b/doc/classes/CanvasItem.xml
@@ -310,16 +310,16 @@
# If using this method in a script that redraws constantly, move the
# `default_font` declaration to a member variable assigned in `_ready()`
# so the Control is only created once.
- var default_font = Control.new().get_font("font")
- var default_font_size = Control.new().get_font_size("font_size")
- draw_string(default_font, Vector2(64, 64), "Hello world", HORIZONTAL_ALIGNMENT_LEFT, -1, font_size)
+ var default_font = ThemeDB.fallback_font
+ var default_font_size = ThemeDB.fallback_font_size
+ draw_string(default_font, Vector2(64, 64), "Hello world", HORIZONTAL_ALIGNMENT_LEFT, -1, default_font_size)
[/gdscript]
[csharp]
// If using this method in a script that redraws constantly, move the
- // `default_font` declaration to a member variable assigned in `_ready()`
+ // `default_font` declaration to a member variable assigned in `_Ready()`
// so the Control is only created once.
- Font defaultFont = new Control().GetFont("font");
- int defaultFontSize = new Control().GetFontSize("font_size");
+ Font defaultFont = ThemeDB.FallbackFont;
+ int defaultFontSize = ThemeDB.FallbackFontSize;
DrawString(defaultFont, new Vector2(64, 64), "Hello world", HORIZONTAL_ALIGNMENT_LEFT, -1, defaultFontSize);
[/csharp]
[/codeblocks]
@@ -500,6 +500,13 @@
Transformations issued by [param event]'s inputs are applied in local space instead of global space.
</description>
</method>
+ <method name="move_to_front">
+ <return type="void" />
+ <description>
+ Moves this node to display on top of its siblings. This has more use in [Control], as [Node2D] can be ordered with [member Node2D.z_index].
+ Internally, the node is moved to the bottom of parent's children list. The method has no effect on nodes without a parent.
+ </description>
+ </method>
<method name="queue_redraw">
<return type="void" />
<description>
diff --git a/doc/classes/CanvasLayer.xml b/doc/classes/CanvasLayer.xml
index 555137ac45..50c0860d1f 100644
--- a/doc/classes/CanvasLayer.xml
+++ b/doc/classes/CanvasLayer.xml
@@ -36,7 +36,8 @@
The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/code], uses the default viewport instead.
</member>
<member name="follow_viewport_enabled" type="bool" setter="set_follow_viewport" getter="is_following_viewport" default="false">
- Sets the layer to follow the viewport in order to simulate a pseudo 3D effect.
+ If enabled, the [CanvasLayer] will use the viewport's transform, so it will move when camera moves instead of being anchored in a fixed position on the screen.
+ Together with [member follow_viewport_scale] it can be used for a pseudo 3D effect.
</member>
<member name="follow_viewport_scale" type="float" setter="set_follow_viewport_scale" getter="get_follow_viewport_scale" default="1.0">
Scales the layer when using [member follow_viewport_enabled]. Layers moving into the foreground should have increasing scales, while layers moving into the background should have decreasing scales.
diff --git a/doc/classes/CheckBox.xml b/doc/classes/CheckBox.xml
index d39b75ae52..2ffe880971 100644
--- a/doc/classes/CheckBox.xml
+++ b/doc/classes/CheckBox.xml
@@ -35,7 +35,7 @@
<theme_item name="font_pressed_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
The [CheckBox] text's font color when it's pressed.
</theme_item>
- <theme_item name="check_v_adjust" data_type="constant" type="int" default="0">
+ <theme_item name="check_v_offset" data_type="constant" type="int" default="0">
The vertical offset used when rendering the check icons (in pixels).
</theme_item>
<theme_item name="h_separation" data_type="constant" type="int" default="4">
diff --git a/doc/classes/CheckButton.xml b/doc/classes/CheckButton.xml
index f49da69926..2f584103be 100644
--- a/doc/classes/CheckButton.xml
+++ b/doc/classes/CheckButton.xml
@@ -35,7 +35,7 @@
<theme_item name="font_pressed_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
The [CheckButton] text's font color when it's pressed.
</theme_item>
- <theme_item name="check_v_adjust" data_type="constant" type="int" default="0">
+ <theme_item name="check_v_offset" data_type="constant" type="int" default="0">
The vertical offset used when rendering the toggle icons (in pixels).
</theme_item>
<theme_item name="h_separation" data_type="constant" type="int" default="4">
@@ -50,30 +50,30 @@
<theme_item name="font_size" data_type="font_size" type="int">
Font size of the [CheckButton]'s text.
</theme_item>
- <theme_item name="off" data_type="icon" type="Texture2D">
- The icon to display when the [CheckButton] is unchecked (for left-to-right layouts).
- </theme_item>
- <theme_item name="off_disabled" data_type="icon" type="Texture2D">
- The icon to display when the [CheckButton] is unchecked and disabled (for left-to-right layouts).
- </theme_item>
- <theme_item name="off_disabled_mirrored" data_type="icon" type="Texture2D">
- The icon to display when the [CheckButton] is unchecked and disabled (for right-to-left layouts).
- </theme_item>
- <theme_item name="off_mirrored" data_type="icon" type="Texture2D">
- The icon to display when the [CheckButton] is unchecked (for right-to-left layouts).
- </theme_item>
- <theme_item name="on" data_type="icon" type="Texture2D">
+ <theme_item name="checked" data_type="icon" type="Texture2D">
The icon to display when the [CheckButton] is checked (for left-to-right layouts).
</theme_item>
- <theme_item name="on_disabled" data_type="icon" type="Texture2D">
+ <theme_item name="checked_disabled" data_type="icon" type="Texture2D">
The icon to display when the [CheckButton] is checked and disabled (for left-to-right layouts).
</theme_item>
- <theme_item name="on_disabled_mirrored" data_type="icon" type="Texture2D">
+ <theme_item name="checked_disabled_mirrored" data_type="icon" type="Texture2D">
The icon to display when the [CheckButton] is checked and disabled (for right-to-left layouts).
</theme_item>
- <theme_item name="on_mirrored" data_type="icon" type="Texture2D">
+ <theme_item name="checked_mirrored" data_type="icon" type="Texture2D">
The icon to display when the [CheckButton] is checked (for right-to-left layouts).
</theme_item>
+ <theme_item name="unchecked" data_type="icon" type="Texture2D">
+ The icon to display when the [CheckButton] is unchecked (for left-to-right layouts).
+ </theme_item>
+ <theme_item name="unchecked_disabled" data_type="icon" type="Texture2D">
+ The icon to display when the [CheckButton] is unchecked and disabled (for left-to-right layouts).
+ </theme_item>
+ <theme_item name="unchecked_disabled_mirrored" data_type="icon" type="Texture2D">
+ The icon to display when the [CheckButton] is unchecked and disabled (for right-to-left layouts).
+ </theme_item>
+ <theme_item name="unchecked_mirrored" data_type="icon" type="Texture2D">
+ The icon to display when the [CheckButton] is unchecked (for right-to-left layouts).
+ </theme_item>
<theme_item name="disabled" data_type="style" type="StyleBox">
The [StyleBox] to display as a background when the [CheckButton] is disabled.
</theme_item>
diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml
index 71798d2574..7b9bf0fa37 100644
--- a/doc/classes/Control.xml
+++ b/doc/classes/Control.xml
@@ -972,7 +972,7 @@
<member name="clip_contents" type="bool" setter="set_clip_contents" getter="is_clipping_contents" default="false">
Enables whether rendering of [CanvasItem] based children should be clipped to this control's rectangle. If [code]true[/code], parts of a child which would be visibly outside of this control's rectangle will not be rendered and won't receive input.
</member>
- <member name="custom_minimum_size" type="Vector2" setter="set_custom_minimum_size" getter="get_custom_minimum_size" default="Vector2(0, 0)">
+ <member name="custom_minimum_size" type="Vector2i" setter="set_custom_minimum_size" getter="get_custom_minimum_size" default="Vector2i(0, 0)">
The minimum size of the node's bounding rectangle. If you set it to a value greater than (0, 0), the node's bounding rectangle will always have at least this size, even if its content is smaller. If it's set to (0, 0), the node sizes automatically to fit its content, be it a texture or child nodes.
</member>
<member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" enum="Control.FocusMode" default="0">
diff --git a/doc/classes/Crypto.xml b/doc/classes/Crypto.xml
index dab2a77584..ade63225dc 100644
--- a/doc/classes/Crypto.xml
+++ b/doc/classes/Crypto.xml
@@ -110,7 +110,7 @@
<return type="CryptoKey" />
<param index="0" name="size" type="int" />
<description>
- Generates an RSA [CryptoKey] that can be used for creating self-signed certificates and passed to [method StreamPeerSSL.accept_stream].
+ Generates an RSA [CryptoKey] that can be used for creating self-signed certificates and passed to [method StreamPeerTLS.accept_stream].
</description>
</method>
<method name="generate_self_signed_certificate">
diff --git a/doc/classes/CryptoKey.xml b/doc/classes/CryptoKey.xml
index 1f502846b4..7db810177f 100644
--- a/doc/classes/CryptoKey.xml
+++ b/doc/classes/CryptoKey.xml
@@ -5,7 +5,7 @@
</brief_description>
<description>
The CryptoKey class represents a cryptographic key. Keys can be loaded and saved like any other [Resource].
- They can be used to generate a self-signed [X509Certificate] via [method Crypto.generate_self_signed_certificate] and as private key in [method StreamPeerSSL.accept_stream] along with the appropriate certificate.
+ They can be used to generate a self-signed [X509Certificate] via [method Crypto.generate_self_signed_certificate] and as private key in [method StreamPeerTLS.accept_stream] along with the appropriate certificate.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Cubemap.xml b/doc/classes/Cubemap.xml
index 7173388027..0cdebeda95 100644
--- a/doc/classes/Cubemap.xml
+++ b/doc/classes/Cubemap.xml
@@ -4,9 +4,9 @@
6-sided texture typically used in 3D rendering.
</brief_description>
<description>
- A cubemap is a 6-sided texture typically used for faking reflections in 3D rendering. It can be used to make an object look as if it's reflecting its surroundings. This usually delivers much better performance than other reflection methods.
+ A cubemap is made of 6 textures organized in layers. They are typically used for faking reflections (see [ReflectionProbe]) in 3D rendering. It can be used to make an object look as if it's reflecting its surroundings. This usually delivers much better performance than other reflection methods.
This resource is typically used as a uniform in custom shaders. Few core Godot methods make use of Cubemap resources.
- [b]Note:[/b] Godot doesn't support using cubemaps as a [PanoramaSkyMaterial]. You can use [url=https://danilw.github.io/GLSL-howto/cubemap_to_panorama_js/cubemap_to_panorama.html]this tool[/url] to convert a cube map to an equirectangular sky map.
+ [b]Note:[/b] Godot doesn't support using cubemaps in a [PanoramaSkyMaterial]. You can use [url=https://danilw.github.io/GLSL-howto/cubemap_to_panorama_js/cubemap_to_panorama.html]this tool[/url] to convert a cubemap to an equirectangular sky map.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/CubemapArray.xml b/doc/classes/CubemapArray.xml
index 4fca842b5a..7f001155e4 100644
--- a/doc/classes/CubemapArray.xml
+++ b/doc/classes/CubemapArray.xml
@@ -1,8 +1,13 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CubemapArray" inherits="ImageTextureLayered" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
+ A single composite texture resource which consists of multiple [Cubemap]s.
</brief_description>
<description>
+ [CubemapArray]s are made of an array of [Cubemap]s. Accordingly, like [Cubemap]s they are made of multiple textures the amount of which must be divisible by 6 (one image for each face of the cube). The primary benefit of [CubemapArray]s is that they can be accessed in shader code using a single texture reference. In other words, you can pass multiple [Cubemap]s into a shader using a single [CubemapArray].
+ Generally, [CubemapArray]s provide a more efficent way for storing multiple [Cubemap]s, than storing multiple [Cubemap]s themselves in an array.
+ Internally Godot, uses [CubemapArray]s for many effects including the [Sky], if you set [member ProjectSettings.rendering/reflections/sky_reflections/texture_array_reflections] to [code]true[/code].
+ [b]Note:[/b] [CubemapArray] is not supported in the OpenGL 3 rendering backend.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Dictionary.xml b/doc/classes/Dictionary.xml
index 9dbeeb360c..a86aff060d 100644
--- a/doc/classes/Dictionary.xml
+++ b/doc/classes/Dictionary.xml
@@ -4,7 +4,7 @@
Dictionary type.
</brief_description>
<description>
- Dictionary type. Associative container which contains values referenced by unique keys. Dictionaries are composed of pairs of keys (which must be unique) and values. Dictionaries will preserve the insertion order when adding elements. In other programming languages, this data structure is sometimes referred to as a hash map or associative array.
+ Dictionary type. Associative container, which contains values referenced by unique keys. Dictionaries are composed of pairs of keys (which must be unique) and values. Dictionaries will preserve the insertion order when adding elements. In other programming languages, this data structure is sometimes referred to as a hash map or associative array.
You can define a dictionary by placing a comma-separated list of [code]key: value[/code] pairs in curly braces [code]{}[/code].
Erasing elements while iterating over them [b]is not supported[/b] and will result in undefined behavior.
[b]Note:[/b] Dictionaries are always passed by reference. To get a copy of a dictionary which can be modified independently of the original dictionary, use [method duplicate].
@@ -223,7 +223,7 @@
<param index="0" name="value" type="Variant" />
<description>
Returns the first key whose associated value is equal to [param value], or [code]null[/code] if no such value is found.
- [b]Node:[/b] [code]null[/code] is also a valid key. I you have it in your [Dictionary], the [method find_key] method can give misleading results.
+ [b]Note:[/b] [code]null[/code] is also a valid key. If you have it in your [Dictionary], the [method find_key] method can give misleading results.
</description>
</method>
<method name="get" qualifiers="const">
diff --git a/doc/classes/EditorInterface.xml b/doc/classes/EditorInterface.xml
index c4bbc7c108..1e3b1f07ee 100644
--- a/doc/classes/EditorInterface.xml
+++ b/doc/classes/EditorInterface.xml
@@ -60,11 +60,10 @@
Returns the edited (current) scene's root [Node].
</description>
</method>
- <method name="get_editor_main_control">
- <return type="Control" />
+ <method name="get_editor_main_screen">
+ <return type="VBoxContainer" />
<description>
- Returns the main editor control. Use this as a parent for main screens.
- [b]Note:[/b] This returns the main editor control containing the whole editor, not the 2D or 3D viewports specifically.
+ Returns the editor control responsible for main screen plugins and tools. Use it with plugins that implement [method EditorPlugin._has_main_screen].
[b]Warning:[/b] Removing and freeing this node will render a part of the editor useless and may cause a crash.
</description>
</method>
diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml
index fdd3807b69..27cf410c15 100644
--- a/doc/classes/EditorPlugin.xml
+++ b/doc/classes/EditorPlugin.xml
@@ -64,8 +64,8 @@
if event is InputEventMouseMotion:
# Redraw viewport when cursor is moved.
update_overlays()
- return true
- return false
+ return EditorPlugin.AFTER_GUI_INPUT_STOP
+ return EditorPlugin.AFTER_GUI_INPUT_PASS
[/gdscript]
[csharp]
public override void _Forward3dDrawOverViewport(Godot.Control overlay)
@@ -74,15 +74,15 @@
overlay.DrawCircle(overlay.GetLocalMousePosition(), 64, Colors.White);
}
- public override bool _Forward3dGuiInput(Godot.Camera3D camera, InputEvent @event)
+ public override EditorPlugin.AfterGUIInput _Forward3dGuiInput(Godot.Camera3D camera, InputEvent @event)
{
if (@event is InputEventMouseMotion)
{
// Redraw viewport when cursor is moved.
UpdateOverlays();
- return true;
+ return EditorPlugin.AFTER_GUI_INPUT_STOP;
}
- return false;
+ return EditorPlugin.AFTER_GUI_INPUT_PASS;
[/csharp]
[/codeblocks]
</description>
@@ -100,33 +100,33 @@
<param index="0" name="viewport_camera" type="Camera3D" />
<param index="1" name="event" type="InputEvent" />
<description>
- Called when there is a root node in the current edited scene, [method _handles] is implemented and an [InputEvent] happens in the 3D viewport. Intercepts the [InputEvent], if [code]return true[/code] [EditorPlugin] consumes the [param event], otherwise forwards [param event] to other Editor classes. Example:
+ Called when there is a root node in the current edited scene, [method _handles] is implemented, and an [InputEvent] happens in the 3D viewport. The return value decides whether the [InputEvent] is consumed or forwarded to other [EditorPlugin]s. See [enum AfterGUIInput] for options. Example:
[codeblocks]
[gdscript]
- # Prevents the InputEvent to reach other Editor classes.
+ # Prevents the InputEvent from reaching other Editor classes.
func _forward_3d_gui_input(camera, event):
return EditorPlugin.AFTER_GUI_INPUT_STOP
[/gdscript]
[csharp]
- // Prevents the InputEvent to reach other Editor classes.
- public override bool _Forward3dGuiInput(Camera3D camera, InputEvent @event)
+ // Prevents the InputEvent from reaching other Editor classes.
+ public override EditorPlugin.AfterGUIInput _Forward3dGuiInput(Camera3D camera, InputEvent @event)
{
return EditorPlugin.AFTER_GUI_INPUT_STOP;
}
[/csharp]
[/codeblocks]
- Must [code]return false[/code] in order to forward the [InputEvent] to other Editor classes. Example:
+ Must [code]return EditorPlugin.AFTER_GUI_INPUT_PASS[/code] in order to forward the [InputEvent] to other Editor classes. Example:
[codeblocks]
[gdscript]
# Consumes InputEventMouseMotion and forwards other InputEvent types.
func _forward_3d_gui_input(camera, event):
- return event is InputEventMouseMotion
+ return EditorPlugin.AFTER_GUI_INPUT_STOP if event is InputEventMouseMotion else EditorPlugin.AFTER_GUI_INPUT_PASS
[/gdscript]
[csharp]
// Consumes InputEventMouseMotion and forwards other InputEvent types.
- public override bool _Forward3dGuiInput(Camera3D camera, InputEvent @event)
+ public override EditorPlugin.AfterGUIInput _Forward3dGuiInput(Camera3D camera, InputEvent @event)
{
- return @event is InputEventMouseMotion;
+ return @event is InputEventMouseMotion ? EditorPlugin.AFTER_GUI_INPUT_STOP : EditorPlugin.AFTER_GUI_INPUT_PASS;
}
[/csharp]
[/codeblocks]
@@ -185,12 +185,12 @@
Called when there is a root node in the current edited scene, [method _handles] is implemented and an [InputEvent] happens in the 2D viewport. Intercepts the [InputEvent], if [code]return true[/code] [EditorPlugin] consumes the [param event], otherwise forwards [param event] to other Editor classes. Example:
[codeblocks]
[gdscript]
- # Prevents the InputEvent to reach other Editor classes.
+ # Prevents the InputEvent from reaching other Editor classes.
func _forward_canvas_gui_input(event):
return true
[/gdscript]
[csharp]
- // Prevents the InputEvent to reach other Editor classes.
+ // Prevents the InputEvent from reaching other Editor classes.
public override bool ForwardCanvasGuiInput(InputEvent @event)
{
return true;
@@ -237,7 +237,7 @@
# You can use a custom icon:
return preload("res://addons/my_plugin/my_plugin_icon.svg")
# Or use a built-in icon:
- return get_editor_interface().get_base_control().get_icon("Node", "EditorIcons")
+ return get_editor_interface().get_base_control().get_theme_icon("Node", "EditorIcons")
[/gdscript]
[csharp]
public override Texture2D GetPluginIcon()
@@ -245,7 +245,7 @@
// You can use a custom icon:
return ResourceLoader.Load&lt;Texture2D&gt;("res://addons/my_plugin/my_plugin_icon.svg");
// Or use a built-in icon:
- return GetEditorInterface().GetBaseControl().GetIcon("Node", "EditorIcons");
+ return GetEditorInterface().GetBaseControl().GetThemeIcon("Node", "EditorIcons");
}
[/csharp]
[/codeblocks]
@@ -303,7 +303,7 @@
func _enter_tree():
plugin_control = preload("my_plugin_control.tscn").instantiate()
- get_editor_interface().get_editor_main_control().add_child(plugin_control)
+ get_editor_interface().get_editor_main_screen().add_child(plugin_control)
plugin_control.hide()
func _has_main_screen():
@@ -406,6 +406,7 @@
When a given node or resource is selected, the base type will be instantiated (e.g. "Node3D", "Control", "Resource"), then the script will be loaded and set to this object.
You can use the virtual method [method _handles] to check if your custom object is being edited by checking the script or using the [code]is[/code] keyword.
During run-time, this will be a simple object with a script so this function does not need to be called then.
+ [b]Note:[/b] Custom types added this way are not true classes. They are just a helper to create a node with specific script.
</description>
</method>
<method name="add_debugger_plugin">
@@ -754,5 +755,14 @@
<constant name="DOCK_SLOT_MAX" value="8" enum="DockSlot">
Represents the size of the [enum DockSlot] enum.
</constant>
+ <constant name="AFTER_GUI_INPUT_PASS" value="0" enum="AfterGUIInput">
+ Forwards the [InputEvent] to other EditorPlugins.
+ </constant>
+ <constant name="AFTER_GUI_INPUT_STOP" value="1" enum="AfterGUIInput">
+ Prevents the [InputEvent] from reaching other Editor classes.
+ </constant>
+ <constant name="AFTER_GUI_INPUT_CUSTOM" value="2" enum="AfterGUIInput">
+ Pass the [InputEvent] to other editor plugins except the main [Node3D] one. This can be used to prevent node selection changes and work with sub-gizmos instead.
+ </constant>
</constants>
</class>
diff --git a/doc/classes/EditorSettings.xml b/doc/classes/EditorSettings.xml
index 6a7bb96e0f..329cd3fe63 100644
--- a/doc/classes/EditorSettings.xml
+++ b/doc/classes/EditorSettings.xml
@@ -616,8 +616,8 @@
The port number to use to contact the HTTP and HTTPS proxy in the editor (for the asset library and export template downloads). See also [member network/http_proxy/host].
[b]Note:[/b] Godot currently doesn't automatically use system proxy settings, so you have to enter them manually here if needed.
</member>
- <member name="network/ssl/editor_ssl_certificates" type="String" setter="" getter="">
- The SSL certificate bundle to use for HTTP requests made within the editor (e.g. from the AssetLib tab). If left empty, the [url=https://github.com/godotengine/godot/blob/master/thirdparty/certs/ca-certificates.crt]included Mozilla certificate bundle[/url] will be used.
+ <member name="network/tls/editor_tls_certificates" type="String" setter="" getter="">
+ The TLS certificate bundle to use for HTTP requests made within the editor (e.g. from the AssetLib tab). If left empty, the [url=https://github.com/godotengine/godot/blob/master/thirdparty/certs/ca-certificates.crt]included Mozilla certificate bundle[/url] will be used.
</member>
<member name="project_manager/sorting_order" type="int" setter="" getter="">
The sorting order to use in the project manager. When changing the sorting order in the project manager, this setting is set permanently in the editor settings.
@@ -647,9 +647,9 @@
The monitor to display the project on when starting the project from the editor.
</member>
<member name="text_editor/appearance/caret/caret_blink" type="bool" setter="" getter="">
- If [code]true[/code], makes the caret blink according to [member text_editor/appearance/caret/caret_blink_speed]. Disabling this setting can improve battery life on laptops if you spend long amounts of time in the script editor, since it will reduce the frequency at which the editor needs to be redrawn.
+ If [code]true[/code], makes the caret blink according to [member text_editor/appearance/caret/caret_blink_interval]. Disabling this setting can improve battery life on laptops if you spend long amounts of time in the script editor, since it will reduce the frequency at which the editor needs to be redrawn.
</member>
- <member name="text_editor/appearance/caret/caret_blink_speed" type="float" setter="" getter="">
+ <member name="text_editor/appearance/caret/caret_blink_interval" type="float" setter="" getter="">
The interval at which to blink the caret (in seconds). See also [member text_editor/appearance/caret/caret_blink].
</member>
<member name="text_editor/appearance/caret/highlight_all_occurrences" type="bool" setter="" getter="">
diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml
index 695f2cbc66..34a639d2de 100644
--- a/doc/classes/Environment.xml
+++ b/doc/classes/Environment.xml
@@ -86,7 +86,7 @@
This is useful to simulate [url=https://en.wikipedia.org/wiki/Aerial_perspective]aerial perspective[/url] in large scenes with low density fog. However, it is not very useful for high-density fog, as the sky will shine through. When set to [code]1.0[/code], the fog color comes completely from the [Sky]. If set to [code]0.0[/code], aerial perspective is disabled.
</member>
<member name="fog_density" type="float" setter="set_fog_density" getter="get_fog_density" default="0.01">
- The exponential fog density to use. Higher values result in a more dense fog.
+ The [i]exponential[/i] fog density to use. Higher values result in a more dense fog. Fog rendering is exponential as in real life.
</member>
<member name="fog_enabled" type="bool" setter="set_fog_enabled" getter="is_fog_enabled" default="false">
If [code]true[/code], fog effects are enabled.
@@ -292,13 +292,15 @@
The [Color] of the volumetric fog when interacting with lights. Mist and fog have an albedo close to [code]Color(1, 1, 1, 1)[/code] while smoke has a darker albedo.
</member>
<member name="volumetric_fog_ambient_inject" type="float" setter="set_volumetric_fog_ambient_inject" getter="get_volumetric_fog_ambient_inject" default="0.0">
- Scales the strength of ambient light used in the volumetric fog. A value of [code]0[/code] means that ambient light will not impact the volumetric fog.
+ Scales the strength of ambient light used in the volumetric fog. A value of [code]0.0[/code] means that ambient light will not impact the volumetric fog. [member volumetric_fog_ambient_inject] has a small performance cost when set above [code]0.0[/code].
+ [b]Note:[/b] This has no visible effect if [member volumetric_fog_density] is [code]0.0[/code] or if [member volumetric_fog_albedo] is a fully black color.
</member>
<member name="volumetric_fog_anisotropy" type="float" setter="set_volumetric_fog_anisotropy" getter="get_volumetric_fog_anisotropy" default="0.2">
- The direction of scattered light as it goes through the volumetric fog. A value close [code]1[/code] means almost all light is scattered forward. A value close to [code]0[/code] means light is scattered equally in all directions. A value close to [code]-1[/code] means light is scattered mostly backward. Fog and mist scatter light slightly forward, while smoke scatters light equally in all directions.
+ The direction of scattered light as it goes through the volumetric fog. A value close to [code]1.0[/code] means almost all light is scattered forward. A value close to [code]0.0[/code] means light is scattered equally in all directions. A value close to [code]-1.0[/code] means light is scattered mostly backward. Fog and mist scatter light slightly forward, while smoke scatters light equally in all directions.
</member>
<member name="volumetric_fog_density" type="float" setter="set_volumetric_fog_density" getter="get_volumetric_fog_density" default="0.05">
- The base density of the volumetric fog. Set this to the lowest density you want to have globally.
+ The base [i]exponential[/i] density of the volumetric fog. Set this to the lowest density you want to have globally. [FogVolume]s can be used to add to or subtract from this density in specific areas. Fog rendering is exponential as in real life.
+ A value of [code]0.0[/code] disables global volumetric fog while allowing [FogVolume]s to display volumetric fog in specific areas.
</member>
<member name="volumetric_fog_detail_spread" type="float" setter="set_volumetric_fog_detail_spread" getter="get_volumetric_fog_detail_spread" default="2.0">
The distribution of size down the length of the froxel buffer. A higher value compresses the froxels closer to the camera and places more detail closer to the camera.
@@ -313,20 +315,22 @@
Enables the volumetric fog effect. Volumetric fog uses a screen-aligned froxel buffer to calculate accurate volumetric scattering in the short to medium range. Volumetric fog interacts with [FogVolume]s and lights to calculate localized and global fog. Volumetric fog uses a PBR single-scattering model based on extinction, scattering, and emission which it exposes to users as density, albedo, and emission.
</member>
<member name="volumetric_fog_gi_inject" type="float" setter="set_volumetric_fog_gi_inject" getter="get_volumetric_fog_gi_inject" default="1.0">
- Scales the strength of Global Illumination used in the volumetric fog. A value of [code]0.0[/code] means that Global Illumination will not impact the volumetric fog.
+ Scales the strength of Global Illumination used in the volumetric fog's albedo color. A value of [code]0.0[/code] means that Global Illumination will not impact the volumetric fog. [member volumetric_fog_gi_inject] has a small performance cost when set above [code]0.0[/code].
+ [b]Note:[/b] This has no visible effect if [member volumetric_fog_density] is [code]0.0[/code] or if [member volumetric_fog_albedo] is a fully black color.
[b]Note:[/b] Only [VoxelGI] and SDFGI ([member Environment.sdfgi_enabled]) are taken into account when using [member volumetric_fog_gi_inject]. Global illumination from [LightmapGI], [ReflectionProbe] and SSIL (see [member ssil_enabled]) will be ignored by volumetric fog.
</member>
<member name="volumetric_fog_length" type="float" setter="set_volumetric_fog_length" getter="get_volumetric_fog_length" default="64.0">
- The distance over which the volumetric fog is computed. Increase to compute fog over a greater range, decrease to add more detail when a long range is not needed. For best quality fog, keep this as low as possible.
+ The distance over which the volumetric fog is computed. Increase to compute fog over a greater range, decrease to add more detail when a long range is not needed. For best quality fog, keep this as low as possible. See also [member ProjectSettings.rendering/environment/volumetric_fog/volume_depth].
</member>
<member name="volumetric_fog_sky_affect" type="float" setter="set_volumetric_fog_sky_affect" getter="get_volumetric_fog_sky_affect" default="1.0">
The factor to use when affecting the sky with volumetric fog. [code]1.0[/code] means that volumetric fog can fully obscure the sky. Lower values reduce the impact of volumetric fog on sky rendering, with [code]0.0[/code] not affecting sky rendering at all.
+ [b]Note:[/b] [member volumetric_fog_sky_affect] also affects [FogVolume]s, even if [member volumetric_fog_density] is [code]0.0[/code]. If you notice [FogVolume]s are disappearing when looking towards the sky, set [member volumetric_fog_sky_affect] to [code]1.0[/code].
</member>
<member name="volumetric_fog_temporal_reprojection_amount" type="float" setter="set_volumetric_fog_temporal_reprojection_amount" getter="get_volumetric_fog_temporal_reprojection_amount" default="0.9">
The amount by which to blend the last frame with the current frame. A higher number results in smoother volumetric fog, but makes "ghosting" much worse. A lower value reduces ghosting but can result in the per-frame temporal jitter becoming visible.
</member>
<member name="volumetric_fog_temporal_reprojection_enabled" type="bool" setter="set_volumetric_fog_temporal_reprojection_enabled" getter="is_volumetric_fog_temporal_reprojection_enabled" default="true">
- Enables temporal reprojection in the volumetric fog. Temporal reprojection blends the current frame's volumetric fog with the last frame's volumetric fog to smooth out jagged edges. The performance cost is minimal, however it does lead to moving [FogVolume]s and [Light3D]s "ghosting" and leaving a trail behind them. When temporal reprojection is enabled, try to avoid moving [FogVolume]s or [Light3D]s too fast.
+ Enables temporal reprojection in the volumetric fog. Temporal reprojection blends the current frame's volumetric fog with the last frame's volumetric fog to smooth out jagged edges. The performance cost is minimal; however, it leads to moving [FogVolume]s and [Light3D]s "ghosting" and leaving a trail behind them. When temporal reprojection is enabled, try to avoid moving [FogVolume]s or [Light3D]s too fast. Short-lived dynamic lighting effects should have [member Light3D.light_volumetric_fog_energy] set to [code]0.0[/code] to avoid ghosting.
</member>
</members>
<constants>
diff --git a/doc/classes/FileDialog.xml b/doc/classes/FileDialog.xml
index 43a941c8c8..af04956e61 100644
--- a/doc/classes/FileDialog.xml
+++ b/doc/classes/FileDialog.xml
@@ -131,13 +131,13 @@
</constant>
</constants>
<theme_items>
- <theme_item name="file_icon_modulate" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
- The color modulation applied to the file icon.
- </theme_item>
- <theme_item name="files_disabled" data_type="color" type="Color" default="Color(1, 1, 1, 0.25)">
+ <theme_item name="file_disabled_color" data_type="color" type="Color" default="Color(1, 1, 1, 0.25)">
The color tint for disabled files (when the [FileDialog] is used in open folder mode).
</theme_item>
- <theme_item name="folder_icon_modulate" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
+ <theme_item name="file_icon_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
+ The color modulation applied to the file icon.
+ </theme_item>
+ <theme_item name="folder_icon_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
The color modulation applied to the folder icon.
</theme_item>
<theme_item name="back_folder" data_type="icon" type="Texture2D">
diff --git a/doc/classes/FogMaterial.xml b/doc/classes/FogMaterial.xml
index e63d4ddf3e..7428d6169a 100644
--- a/doc/classes/FogMaterial.xml
+++ b/doc/classes/FogMaterial.xml
@@ -5,27 +5,28 @@
</brief_description>
<description>
A [Material] resource that can be used by [FogVolume]s to draw volumetric effects.
+ If you need more advanced effects, use a custom [url=$DOCS_URL/tutorials/shaders/shader_reference/fog_shader.html]fog shader[/url].
</description>
<tutorials>
</tutorials>
<members>
<member name="albedo" type="Color" setter="set_albedo" getter="get_albedo" default="Color(1, 1, 1, 1)">
- Sets the single-scattering [Color] of the [FogVolume]. Internally [member albedo] is converted into single-scattering which is additively blended with other [FogVolume]s and the [member Environment.volumetric_fog_albedo].
+ The single-scattering [Color] of the [FogVolume]. Internally, [member albedo] is converted into single-scattering, which is additively blended with other [FogVolume]s and the [member Environment.volumetric_fog_albedo].
</member>
<member name="density" type="float" setter="set_density" getter="get_density" default="1.0">
- Sets the density of the [FogVolume]. Denser objects are more opaque, but may suffer from under-sampling artifacts that look like stripes.
+ The density of the [FogVolume]. Denser objects are more opaque, but may suffer from under-sampling artifacts that look like stripes. Negative values can be used to subtract fog from other [FogVolume]s or global volumetric fog.
</member>
<member name="density_texture" type="Texture3D" setter="set_density_texture" getter="get_density_texture">
- Sets a 3D texture that is used to scale the [member density] of the [FogVolume].
+ The 3D texture that is used to scale the [member density] of the [FogVolume]. This can be used to vary fog density within the [FogVolume] with any kind of static pattern. For animated effects, consider using a custom [url=$DOCS_URL/tutorials/shaders/shader_reference/fog_shader.html]fog shader[/url].
</member>
<member name="edge_fade" type="float" setter="set_edge_fade" getter="get_edge_fade" default="0.1">
- Sets the hardness of the edges of the [FogVolume]. A higher number will result in softer edges while a lower number will result in harder edges.
+ The hardness of the edges of the [FogVolume]. A higher value will result in softer edges, while a lower value will result in harder edges.
</member>
<member name="emission" type="Color" setter="set_emission" getter="get_emission" default="Color(0, 0, 0, 1)">
- Sets the [Color] of the light emitted by the [FogVolume]. Emitted light will not cast light or shadows on other objects, but can be useful for modulating the [Color] of the [FogVolume] independently from light sources.
+ The [Color] of the light emitted by the [FogVolume]. Emitted light will not cast light or shadows on other objects, but can be useful for modulating the [Color] of the [FogVolume] independently from light sources.
</member>
<member name="height_falloff" type="float" setter="set_height_falloff" getter="get_height_falloff" default="0.0">
- Sets the rate by which the height-based fog decreases in density as height increases in world space. A high falloff will result in a sharp transition, while a low falloff will result in a smoother transition. A value of [code]0[/code] results in uniform-density fog. The height threshold is determined by the height of the associated [FogVolume].
+ The rate by which the height-based fog decreases in density as height increases in world space. A high falloff will result in a sharp transition, while a low falloff will result in a smoother transition. A value of [code]0.0[/code] results in uniform-density fog. The height threshold is determined by the height of the associated [FogVolume].
</member>
</members>
</class>
diff --git a/doc/classes/FogVolume.xml b/doc/classes/FogVolume.xml
index 3f2ee3035c..d9fa2e6ebb 100644
--- a/doc/classes/FogVolume.xml
+++ b/doc/classes/FogVolume.xml
@@ -4,22 +4,23 @@
A node used to add local fog with the volumetric fog effect.
</brief_description>
<description>
- [FogVolume]s are used to add localized fog into the global volumetric fog effect.
+ [FogVolume]s are used to add localized fog into the global volumetric fog effect. [FogVolume]s can also remove volumetric fog from specific areas if using a [FogMaterial] with a negative [member FogMaterial.density].
Performance of [FogVolume]s is directly related to their relative size on the screen and the complexity of their attached [FogMaterial]. It is best to keep [FogVolume]s relatively small and simple where possible.
+ [b]Note:[/b] [FogVolume]s only have a visible effect if [member Environment.volumetric_fog_enabled] is [code]true[/code]. If you don't want fog to be globally visible (but only within [FogVolume] nodes), set [member Environment.volumetric_fog_density] to [code]0.0[/code].
</description>
<tutorials>
</tutorials>
<members>
<member name="extents" type="Vector3" setter="set_extents" getter="get_extents" default="Vector3(1, 1, 1)">
- Sets the size of the [FogVolume] when [member shape] is [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID], [constant RenderingServer.FOG_VOLUME_SHAPE_CONE], [constant RenderingServer.FOG_VOLUME_SHAPE_CYLINDER] or [constant RenderingServer.FOG_VOLUME_SHAPE_BOX].
+ The size of the [FogVolume] when [member shape] is [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID], [constant RenderingServer.FOG_VOLUME_SHAPE_CONE], [constant RenderingServer.FOG_VOLUME_SHAPE_CYLINDER] or [constant RenderingServer.FOG_VOLUME_SHAPE_BOX].
[b]Note:[/b] Thin fog volumes may appear to flicker when the camera moves or rotates. This can be alleviated by increasing [member ProjectSettings.rendering/environment/volumetric_fog/volume_depth] (at a performance cost) or by decreasing [member Environment.volumetric_fog_length] (at no performance cost, but at the cost of lower fog range). Alternatively, the [FogVolume] can be made thicker and use a lower density in the [member material].
[b]Note:[/b] If [member shape] is [constant RenderingServer.FOG_VOLUME_SHAPE_CONE] or [constant RenderingServer.FOG_VOLUME_SHAPE_CYLINDER], the cone/cylinder will be adjusted to fit within the extents. Non-uniform scaling of cone/cylinder shapes via the [member extents] property is not supported, but you can scale the [FogVolume] node instead.
</member>
<member name="material" type="Material" setter="set_material" getter="get_material">
- Sets the [Material] to be used by the [FogVolume]. Can be either a [FogMaterial] or a custom [ShaderMaterial].
+ The [Material] used by the [FogVolume]. Can be either a built-in [FogMaterial] or a custom [ShaderMaterial].
</member>
<member name="shape" type="int" setter="set_shape" getter="get_shape" enum="RenderingServer.FogVolumeShape" default="3">
- Sets the shape of the [FogVolume] to either [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID], [constant RenderingServer.FOG_VOLUME_SHAPE_CONE], [constant RenderingServer.FOG_VOLUME_SHAPE_CYLINDER], [constant RenderingServer.FOG_VOLUME_SHAPE_BOX] or [constant RenderingServer.FOG_VOLUME_SHAPE_WORLD].
+ The shape of the [FogVolume]. This can be set to either [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID], [constant RenderingServer.FOG_VOLUME_SHAPE_CONE], [constant RenderingServer.FOG_VOLUME_SHAPE_CYLINDER], [constant RenderingServer.FOG_VOLUME_SHAPE_BOX] or [constant RenderingServer.FOG_VOLUME_SHAPE_WORLD].
</member>
</members>
</class>
diff --git a/doc/classes/GraphEdit.xml b/doc/classes/GraphEdit.xml
index dc093acdcd..5050ce7715 100644
--- a/doc/classes/GraphEdit.xml
+++ b/doc/classes/GraphEdit.xml
@@ -1,37 +1,38 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="GraphEdit" inherits="Control" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- GraphEdit is an area capable of showing various GraphNodes. It manages connection events between them.
+ GraphEdit is a control responsible for displaying and manipulating graph-like data using [GraphNode]s. It provides access to creation, removal, connection, and disconnection of nodes.
</brief_description>
<description>
- GraphEdit manages the showing of GraphNodes it contains, as well as connections and disconnections between them. Signals are sent for each of these two events. Disconnection between GraphNode slots is disabled by default.
- It is greatly advised to enable low-processor usage mode (see [member OS.low_processor_usage_mode]) when using GraphEdits.
+ GraphEdit provides tools for creation, manipulation, and display of various graphs. Its main purpose in the engine is to power the visual programming systems, such as visual shaders, but it is also available for use in user projects.
+ GraphEdit by itself is only an empty container, representing an infinite grid where [GraphNode]s can be placed. Each [GraphNode] represent a node in the graph, a single unit of data in the connected scheme. GraphEdit, in turn, helps to control various interactions with nodes and between nodes. When the user attempts to connect, disconnect, or close a [GraphNode], a signal is emitted in the GraphEdit, but no action is taken by default. It is the responsibility of the programmer utilizing this control to implement the necessary logic to determine how each request should be handled.
+ [b]Performance:[/b] It is greatly advised to enable low-processor usage mode (see [member OS.low_processor_usage_mode]) when using GraphEdits.
</description>
<tutorials>
</tutorials>
<methods>
<method name="_get_connection_line" qualifiers="virtual const">
<return type="PackedVector2Array" />
- <param index="0" name="from" type="Vector2" />
- <param index="1" name="to" type="Vector2" />
+ <param index="0" name="from_position" type="Vector2" />
+ <param index="1" name="to_position" type="Vector2" />
<description>
Virtual method which can be overridden to customize how connections are drawn.
</description>
</method>
<method name="_is_in_input_hotzone" qualifiers="virtual">
<return type="bool" />
- <param index="0" name="graph_node" type="Object" />
- <param index="1" name="slot_index" type="int" />
+ <param index="0" name="in_node" type="Object" />
+ <param index="1" name="in_port" type="int" />
<param index="2" name="mouse_position" type="Vector2" />
<description>
Returns whether the [param mouse_position] is in the input hot zone.
- By default, a hot zone is a [Rect2] positioned such that its center is at [param graph_node].[method GraphNode.get_connection_input_position]([param slot_index]) (For output's case, call [method GraphNode.get_connection_output_position] instead). The hot zone's width is twice the Theme Property [code]port_grab_distance_horizontal[/code], and its height is twice the [code]port_grab_distance_vertical[/code].
+ By default, a hot zone is a [Rect2] positioned such that its center is at [param in_node].[method GraphNode.get_connection_input_position]([param in_port]) (For output's case, call [method GraphNode.get_connection_output_position] instead). The hot zone's width is twice the Theme Property [code]port_grab_distance_horizontal[/code], and its height is twice the [code]port_grab_distance_vertical[/code].
Below is a sample code to help get started:
[codeblock]
- func _is_in_input_hotzone(graph_node, slot_index, mouse_position):
- var slot_size : Vector2 = Vector2(get_theme_constant("port_grab_distance_horizontal"), get_theme_constant("port_grab_distance_vertical"))
- var slot_pos : Vector2 = graph_node.get_position() + graph_node.get_connection_input_position(slot_index) - slot_size / 2
- var rect = Rect2(slot_pos, slot_size)
+ func _is_in_input_hotzone(in_node, in_port, mouse_position):
+ var port_size : Vector2 = Vector2(get_theme_constant("port_grab_distance_horizontal"), get_theme_constant("port_grab_distance_vertical"))
+ var port_pos : Vector2 = in_node.get_position() + in_node.get_connection_input_position(in_port) - port_size / 2
+ var rect = Rect2(port_pos, port_size)
return rect.has_point(mouse_position)
[/codeblock]
@@ -39,17 +40,17 @@
</method>
<method name="_is_in_output_hotzone" qualifiers="virtual">
<return type="bool" />
- <param index="0" name="graph_node" type="Object" />
- <param index="1" name="slot_index" type="int" />
+ <param index="0" name="in_node" type="Object" />
+ <param index="1" name="in_port" type="int" />
<param index="2" name="mouse_position" type="Vector2" />
<description>
Returns whether the [param mouse_position] is in the output hot zone. For more information on hot zones, see [method _is_in_input_hotzone].
Below is a sample code to help get started:
[codeblock]
- func _is_in_output_hotzone(graph_node, slot_index, mouse_position):
- var slot_size : Vector2 = Vector2(get_theme_constant("port_grab_distance_horizontal"), get_theme_constant("port_grab_distance_vertical"))
- var slot_pos : Vector2 = graph_node.get_position() + graph_node.get_connection_output_position(slot_index) - slot_size / 2
- var rect = Rect2(slot_pos, slot_size)
+ func _is_in_output_hotzone(in_node, in_port, mouse_position):
+ var port_size : Vector2 = Vector2(get_theme_constant("port_grab_distance_horizontal"), get_theme_constant("port_grab_distance_vertical"))
+ var port_pos : Vector2 = in_node.get_position() + in_node.get_connection_output_position(in_port) - port_size / 2
+ var rect = Rect2(port_pos, port_size)
return rect.has_point(mouse_position)
[/codeblock]
@@ -57,17 +58,17 @@
</method>
<method name="_is_node_hover_valid" qualifiers="virtual">
<return type="bool" />
- <param index="0" name="from" type="StringName" />
- <param index="1" name="from_slot" type="int" />
- <param index="2" name="to" type="StringName" />
- <param index="3" name="to_slot" type="int" />
+ <param index="0" name="from_node" type="StringName" />
+ <param index="1" name="from_port" type="int" />
+ <param index="2" name="to_node" type="StringName" />
+ <param index="3" name="to_port" type="int" />
<description>
This virtual method can be used to insert additional error detection while the user is dragging a connection over a valid port.
Return [code]true[/code] if the connection is indeed valid or return [code]false[/code] if the connection is impossible. If the connection is impossible, no snapping to the port and thus no connection request to that port will happen.
In this example a connection to same node is suppressed:
[codeblocks]
[gdscript]
- func _is_node_hover_valid(from, from_slot, to, to_slot):
+ func _is_node_hover_valid(from, from_port, to, to_port):
return from != to
[/gdscript]
[csharp]
@@ -83,21 +84,22 @@
<param index="0" name="from_type" type="int" />
<param index="1" name="to_type" type="int" />
<description>
- Makes possible the connection between two different slot types. The type is defined with the [method GraphNode.set_slot] method.
+ Allows the connection between two different port types. The port type is defined individually for the left and the right port of each slot with the [method GraphNode.set_slot] method.
+ See also [method is_valid_connection_type] and [method remove_valid_connection_type].
</description>
</method>
<method name="add_valid_left_disconnect_type">
<return type="void" />
<param index="0" name="type" type="int" />
<description>
- Makes possible to disconnect nodes when dragging from the slot at the left if it has the specified type.
+ Allows to disconnect nodes when dragging from the left port of the [GraphNode]'s slot if it has the specified type. See also [method remove_valid_left_disconnect_type].
</description>
</method>
<method name="add_valid_right_disconnect_type">
<return type="void" />
<param index="0" name="type" type="int" />
<description>
- Makes possible to disconnect nodes when dragging from the slot at the right if it has the specified type.
+ Allows to disconnect nodes when dragging from the right port of the [GraphNode]'s slot if it has the specified type. See also [method remove_valid_right_disconnect_type].
</description>
</method>
<method name="arrange_nodes">
@@ -114,22 +116,22 @@
</method>
<method name="connect_node">
<return type="int" enum="Error" />
- <param index="0" name="from" type="StringName" />
+ <param index="0" name="from_node" type="StringName" />
<param index="1" name="from_port" type="int" />
- <param index="2" name="to" type="StringName" />
+ <param index="2" name="to_node" type="StringName" />
<param index="3" name="to_port" type="int" />
<description>
- Create a connection between the [param from_port] slot of the [param from] GraphNode and the [param to_port] slot of the [param to] GraphNode. If the connection already exists, no connection is created.
+ Create a connection between the [param from_port] of the [param from_node] [GraphNode] and the [param to_port] of the [param to_node] [GraphNode]. If the connection already exists, no connection is created.
</description>
</method>
<method name="disconnect_node">
<return type="void" />
- <param index="0" name="from" type="StringName" />
+ <param index="0" name="from_node" type="StringName" />
<param index="1" name="from_port" type="int" />
- <param index="2" name="to" type="StringName" />
+ <param index="2" name="to_node" type="StringName" />
<param index="3" name="to_port" type="int" />
<description>
- Removes the connection between the [param from_port] slot of the [param from] GraphNode and the [param to_port] slot of the [param to] GraphNode. If the connection does not exist, no connection is removed.
+ Removes the connection between the [param from_port] of the [param from_node] [GraphNode] and the [param to_port] of the [param to_node] [GraphNode]. If the connection does not exist, no connection is removed.
</description>
</method>
<method name="force_connection_drag_end">
@@ -142,10 +144,10 @@
</method>
<method name="get_connection_line">
<return type="PackedVector2Array" />
- <param index="0" name="from" type="Vector2" />
- <param index="1" name="to" type="Vector2" />
+ <param index="0" name="from_node" type="Vector2" />
+ <param index="1" name="to_node" type="Vector2" />
<description>
- Returns the points which would make up a connection between [param from] and [param to].
+ Returns the points which would make up a connection between [param from_node] and [param to_node].
</description>
</method>
<method name="get_connection_list" qualifiers="const">
@@ -163,12 +165,12 @@
</method>
<method name="is_node_connected">
<return type="bool" />
- <param index="0" name="from" type="StringName" />
+ <param index="0" name="from_node" type="StringName" />
<param index="1" name="from_port" type="int" />
- <param index="2" name="to" type="StringName" />
+ <param index="2" name="to_node" type="StringName" />
<param index="3" name="to_port" type="int" />
<description>
- Returns [code]true[/code] if the [param from_port] slot of the [param from] GraphNode is connected to the [param to_port] slot of the [param to] GraphNode.
+ Returns [code]true[/code] if the [param from_port] of the [param from_node] [GraphNode] is connected to the [param to_port] of the [param to_node] [GraphNode].
</description>
</method>
<method name="is_valid_connection_type" qualifiers="const">
@@ -176,7 +178,8 @@
<param index="0" name="from_type" type="int" />
<param index="1" name="to_type" type="int" />
<description>
- Returns whether it's possible to connect slots of the specified types.
+ Returns whether it's possible to make a connection between two different port types. The port type is defined individually for the left and the right port of each slot with the [method GraphNode.set_slot] method.
+ See also [method add_valid_connection_type] and [method remove_valid_connection_type].
</description>
</method>
<method name="remove_valid_connection_type">
@@ -184,32 +187,33 @@
<param index="0" name="from_type" type="int" />
<param index="1" name="to_type" type="int" />
<description>
- Makes it not possible to connect between two different slot types. The type is defined with the [method GraphNode.set_slot] method.
+ Disallows the connection between two different port types previously allowed by [method add_valid_connection_type]. The port type is defined individually for the left and the right port of each slot with the [method GraphNode.set_slot] method.
+ See also [method is_valid_connection_type].
</description>
</method>
<method name="remove_valid_left_disconnect_type">
<return type="void" />
<param index="0" name="type" type="int" />
<description>
- Removes the possibility to disconnect nodes when dragging from the slot at the left if it has the specified type.
+ Disallows to disconnect nodes when dragging from the left port of the [GraphNode]'s slot if it has the specified type. Use this to disable disconnection previously allowed with [method add_valid_left_disconnect_type].
</description>
</method>
<method name="remove_valid_right_disconnect_type">
<return type="void" />
<param index="0" name="type" type="int" />
<description>
- Removes the possibility to disconnect nodes when dragging from the slot at the right if it has the specified type.
+ Disallows to disconnect nodes when dragging from the right port of the [GraphNode]'s slot if it has the specified type. Use this to disable disconnection previously allowed with [method add_valid_right_disconnect_type].
</description>
</method>
<method name="set_connection_activity">
<return type="void" />
- <param index="0" name="from" type="StringName" />
+ <param index="0" name="from_node" type="StringName" />
<param index="1" name="from_port" type="int" />
- <param index="2" name="to" type="StringName" />
+ <param index="2" name="to_node" type="StringName" />
<param index="3" name="to_port" type="int" />
<param index="4" name="amount" type="float" />
<description>
- Sets the coloration of the connection between [param from]'s [param from_port] and [param to]'s [param to_port] with the color provided in the [theme_item activity] theme property.
+ Sets the coloration of the connection between [param from_node]'s [param from_port] and [param to_node]'s [param to_port] with the color provided in the [theme_item activity] theme property.
</description>
</method>
<method name="set_selected">
@@ -287,36 +291,36 @@
</description>
</signal>
<signal name="connection_drag_started">
- <param index="0" name="from" type="String" />
- <param index="1" name="slot" type="int" />
+ <param index="0" name="from_node" type="String" />
+ <param index="1" name="from_port" type="int" />
<param index="2" name="is_output" type="bool" />
<description>
Emitted at the beginning of a connection drag.
</description>
</signal>
<signal name="connection_from_empty">
- <param index="0" name="to" type="StringName" />
- <param index="1" name="to_slot" type="int" />
+ <param index="0" name="to_node" type="StringName" />
+ <param index="1" name="to_port" type="int" />
<param index="2" name="release_position" type="Vector2" />
<description>
- Emitted when user dragging connection from input port into empty space of the graph.
+ Emitted when user drags a connection from an input port into the empty space of the graph.
</description>
</signal>
<signal name="connection_request">
- <param index="0" name="from" type="StringName" />
- <param index="1" name="from_slot" type="int" />
- <param index="2" name="to" type="StringName" />
- <param index="3" name="to_slot" type="int" />
+ <param index="0" name="from_node" type="StringName" />
+ <param index="1" name="from_port" type="int" />
+ <param index="2" name="to_node" type="StringName" />
+ <param index="3" name="to_port" type="int" />
<description>
- Emitted to the GraphEdit when the connection between the [param from_slot] slot of the [param from] GraphNode and the [param to_slot] slot of the [param to] GraphNode is attempted to be created.
+ Emitted to the GraphEdit when the connection between the [param from_port] of the [param from_node] [GraphNode] and the [param to_port] of the [param to_node] [GraphNode] is attempted to be created.
</description>
</signal>
<signal name="connection_to_empty">
- <param index="0" name="from" type="StringName" />
- <param index="1" name="from_slot" type="int" />
+ <param index="0" name="from_node" type="StringName" />
+ <param index="1" name="from_port" type="int" />
<param index="2" name="release_position" type="Vector2" />
<description>
- Emitted when user dragging connection from output port into empty space of the graph.
+ Emitted when user drags a connection from an output port into the empty space of the graph.
</description>
</signal>
<signal name="copy_nodes_request">
@@ -331,12 +335,12 @@
</description>
</signal>
<signal name="disconnection_request">
- <param index="0" name="from" type="StringName" />
- <param index="1" name="from_slot" type="int" />
- <param index="2" name="to" type="StringName" />
- <param index="3" name="to_slot" type="int" />
+ <param index="0" name="from_node" type="StringName" />
+ <param index="1" name="from_port" type="int" />
+ <param index="2" name="to_node" type="StringName" />
+ <param index="3" name="to_port" type="int" />
<description>
- Emitted to the GraphEdit when the connection between [param from_slot] slot of [param from] GraphNode and [param to_slot] slot of [param to] GraphNode is attempted to be removed.
+ Emitted to the GraphEdit when the connection between [param from_port] of [param from_node] [GraphNode] and [param to_port] of [param to_node] [GraphNode] is attempted to be removed.
</description>
</signal>
<signal name="duplicate_nodes_request">
diff --git a/doc/classes/GraphNode.xml b/doc/classes/GraphNode.xml
index ebd4525b19..16386ff81b 100644
--- a/doc/classes/GraphNode.xml
+++ b/doc/classes/GraphNode.xml
@@ -1,12 +1,13 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="GraphNode" inherits="Container" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- A GraphNode is a container with potentially several input and output slots allowing connections between GraphNodes. Slots can have different, incompatible types.
+ GraphNode is a [Container] control that represents a single data unit in a [GraphEdit] graph. You can customize the number, type, and color of left- and right-side connection ports.
</brief_description>
<description>
- A GraphNode is a container. Each GraphNode can have several input and output slots, sometimes referred to as ports, allowing connections between GraphNodes. To add a slot to GraphNode, add any [Control]-derived child node to it.
- After adding at least one child to GraphNode new sections will be automatically created in the Inspector called 'Slot'. When 'Slot' is expanded you will see list with index number for each slot. You can click on each of them to expand further.
- In the Inspector you can enable (show) or disable (hide) slots. By default, all slots are disabled so you may not see any slots on your GraphNode initially. You can assign a type to each slot. Only slots of the same type will be able to connect to each other. You can also assign colors to slots. A tuple of input and output slots is defined for each GUI element included in the GraphNode. Input connections are on the left and output connections are on the right side of GraphNode. Only enabled slots are counted as connections.
+ GraphNode allows to create nodes for a [GraphEdit] graph with customizable content based on its child [Control]s. GraphNode is a [Container] and is responsible for placing its children on screen. This works similar to [VBoxContainer]. Children, in turn, provide GraphNode with so-called slots, each of which can have a connection port on either side. This is similar to how [TabContainer] uses children to create the tabs.
+ Each GraphNode slot is defined by its index and can provide the node with up to two ports: one on the left, and one on the right. By convention the left port is also referred to as the input port and the right port is referred to as the output port. Each port can be enabled and configured individually, using different type and color. The type is an arbitrary value that you can define using your own considerations. The parent [GraphEdit] will receive this information on each connect and disconnect request.
+ Slots can be configured in the Inspector dock once you add at least one child [Control]. The properties are grouped by each slot's index in the "Slot" section.
+ [b]Note:[/b] While GraphNode is set up using slots and slot indices, connections are made between the ports which are enabled. Because of that [GraphEdit] uses port's index and not slot's index. You can use [method get_connection_input_slot] and [method get_connection_output_slot] to get the slot index from the port index.
</description>
<tutorials>
</tutorials>
@@ -19,16 +20,16 @@
</method>
<method name="clear_slot">
<return type="void" />
- <param index="0" name="idx" type="int" />
+ <param index="0" name="slot_index" type="int" />
<description>
- Disables input and output slot whose index is [param idx].
+ Disables input and output slot whose index is [param slot_index].
</description>
</method>
<method name="get_connection_input_color">
<return type="Color" />
- <param index="0" name="idx" type="int" />
+ <param index="0" name="port" type="int" />
<description>
- Returns the [Color] of the input connection [param idx].
+ Returns the [Color] of the input connection [param port].
</description>
</method>
<method name="get_connection_input_count">
@@ -39,30 +40,37 @@
</method>
<method name="get_connection_input_height">
<return type="int" />
- <param index="0" name="idx" type="int" />
+ <param index="0" name="port" type="int" />
<description>
- Returns the height of the input connection [param idx].
+ Returns the height of the input connection [param port].
</description>
</method>
<method name="get_connection_input_position">
<return type="Vector2" />
- <param index="0" name="idx" type="int" />
+ <param index="0" name="port" type="int" />
+ <description>
+ Returns the position of the input connection [param port].
+ </description>
+ </method>
+ <method name="get_connection_input_slot">
+ <return type="int" />
+ <param index="0" name="port" type="int" />
<description>
- Returns the position of the input connection [param idx].
+ Returns the corresponding slot index of the input connection [param port].
</description>
</method>
<method name="get_connection_input_type">
<return type="int" />
- <param index="0" name="idx" type="int" />
+ <param index="0" name="port" type="int" />
<description>
- Returns the type of the input connection [param idx].
+ Returns the type of the input connection [param port].
</description>
</method>
<method name="get_connection_output_color">
<return type="Color" />
- <param index="0" name="idx" type="int" />
+ <param index="0" name="port" type="int" />
<description>
- Returns the [Color] of the output connection [param idx].
+ Returns the [Color] of the output connection [param port].
</description>
</method>
<method name="get_connection_output_count">
@@ -73,150 +81,157 @@
</method>
<method name="get_connection_output_height">
<return type="int" />
- <param index="0" name="idx" type="int" />
+ <param index="0" name="port" type="int" />
<description>
- Returns the height of the output connection [param idx].
+ Returns the height of the output connection [param port].
</description>
</method>
<method name="get_connection_output_position">
<return type="Vector2" />
- <param index="0" name="idx" type="int" />
+ <param index="0" name="port" type="int" />
<description>
- Returns the position of the output connection [param idx].
+ Returns the position of the output connection [param port].
+ </description>
+ </method>
+ <method name="get_connection_output_slot">
+ <return type="int" />
+ <param index="0" name="port" type="int" />
+ <description>
+ Returns the corresponding slot index of the output connection [param port].
</description>
</method>
<method name="get_connection_output_type">
<return type="int" />
- <param index="0" name="idx" type="int" />
+ <param index="0" name="port" type="int" />
<description>
- Returns the type of the output connection [param idx].
+ Returns the type of the output connection [param port].
</description>
</method>
<method name="get_slot_color_left" qualifiers="const">
<return type="Color" />
- <param index="0" name="idx" type="int" />
+ <param index="0" name="slot_index" type="int" />
<description>
- Returns the left (input) [Color] of the slot [param idx].
+ Returns the left (input) [Color] of the slot [param slot_index].
</description>
</method>
<method name="get_slot_color_right" qualifiers="const">
<return type="Color" />
- <param index="0" name="idx" type="int" />
+ <param index="0" name="slot_index" type="int" />
<description>
- Returns the right (output) [Color] of the slot [param idx].
+ Returns the right (output) [Color] of the slot [param slot_index].
</description>
</method>
<method name="get_slot_type_left" qualifiers="const">
<return type="int" />
- <param index="0" name="idx" type="int" />
+ <param index="0" name="slot_index" type="int" />
<description>
- Returns the left (input) type of the slot [param idx].
+ Returns the left (input) type of the slot [param slot_index].
</description>
</method>
<method name="get_slot_type_right" qualifiers="const">
<return type="int" />
- <param index="0" name="idx" type="int" />
+ <param index="0" name="slot_index" type="int" />
<description>
- Returns the right (output) type of the slot [param idx].
+ Returns the right (output) type of the slot [param slot_index].
</description>
</method>
<method name="is_slot_draw_stylebox" qualifiers="const">
<return type="bool" />
- <param index="0" name="idx" type="int" />
+ <param index="0" name="slot_index" type="int" />
<description>
- Returns true if the background [StyleBox] of the slot [param idx] is drawn.
+ Returns true if the background [StyleBox] of the slot [param slot_index] is drawn.
</description>
</method>
<method name="is_slot_enabled_left" qualifiers="const">
<return type="bool" />
- <param index="0" name="idx" type="int" />
+ <param index="0" name="slot_index" type="int" />
<description>
- Returns [code]true[/code] if left (input) side of the slot [param idx] is enabled.
+ Returns [code]true[/code] if left (input) side of the slot [param slot_index] is enabled.
</description>
</method>
<method name="is_slot_enabled_right" qualifiers="const">
<return type="bool" />
- <param index="0" name="idx" type="int" />
+ <param index="0" name="slot_index" type="int" />
<description>
- Returns [code]true[/code] if right (output) side of the slot [param idx] is enabled.
+ Returns [code]true[/code] if right (output) side of the slot [param slot_index] is enabled.
</description>
</method>
<method name="set_slot">
<return type="void" />
- <param index="0" name="idx" type="int" />
- <param index="1" name="enable_left" type="bool" />
+ <param index="0" name="slot_index" type="int" />
+ <param index="1" name="enable_left_port" type="bool" />
<param index="2" name="type_left" type="int" />
<param index="3" name="color_left" type="Color" />
- <param index="4" name="enable_right" type="bool" />
+ <param index="4" name="enable_right_port" type="bool" />
<param index="5" name="type_right" type="int" />
<param index="6" name="color_right" type="Color" />
- <param index="7" name="custom_left" type="Texture2D" default="null" />
- <param index="8" name="custom_right" type="Texture2D" default="null" />
- <param index="9" name="enable" type="bool" default="true" />
- <description>
- Sets properties of the slot with ID [param idx].
- If [param enable_left]/[param enable_right], a port will appear and the slot will be able to be connected from this side.
- [param type_left]/[param type_right] is an arbitrary type of the port. Only ports with the same type values can be connected and negative values will disallow all connections to be made via user inputs.
- [param color_left]/[param color_right] is the tint of the port's icon on this side.
- [param custom_left]/[param custom_right] is a custom texture for this side's port.
- [b]Note:[/b] This method only sets properties of the slot. To create the slot, add a [Control]-derived child to the GraphNode.
- Individual properties can be set using one of the [code]set_slot_*[/code] methods. You must enable at least one side of the slot to do so.
+ <param index="7" name="custom_icon_left" type="Texture2D" default="null" />
+ <param index="8" name="custom_icon_right" type="Texture2D" default="null" />
+ <param index="9" name="draw_stylebox" type="bool" default="true" />
+ <description>
+ Sets properties of the slot with the [param slot_index] index.
+ If [param enable_left_port]/[param enable_right_port] is [code]true[/code], a port will appear and the slot will be able to be connected from this side.
+ With [param type_left]/[param type_right] an arbitrary type can be assigned to each port. Two ports can be connected if they share the same type, or if the connection between their types is allowed in the parent [GraphEdit] (see [method GraphEdit.add_valid_connection_type]). Keep in mind that the [GraphEdit] has the final say in accepting the connection. Type compatibility simply allows the [signal GraphEdit.connection_request] signal to be emitted.
+ Ports can be further customized using [param color_left]/[param color_right] and [param custom_icon_left]/[param custom_icon_right]. The color parameter adds a tint to the icon. The custom icon can be used to override the default port dot.
+ Additionally, [param draw_stylebox] can be used to enable or disable drawing of the background stylebox for each slot. See [theme_item slot].
+ Individual properties can also be set using one of the [code]set_slot_*[/code] methods.
+ [b]Note:[/b] This method only sets properties of the slot. To create the slot itself, add a [Control]-derived child to the GraphNode.
</description>
</method>
<method name="set_slot_color_left">
<return type="void" />
- <param index="0" name="idx" type="int" />
- <param index="1" name="color_left" type="Color" />
+ <param index="0" name="slot_index" type="int" />
+ <param index="1" name="color" type="Color" />
<description>
- Sets the [Color] of the left (input) side of the slot [param idx] to [param color_left].
+ Sets the [Color] of the left (input) side of the slot [param slot_index] to [param color].
</description>
</method>
<method name="set_slot_color_right">
<return type="void" />
- <param index="0" name="idx" type="int" />
- <param index="1" name="color_right" type="Color" />
+ <param index="0" name="slot_index" type="int" />
+ <param index="1" name="color" type="Color" />
<description>
- Sets the [Color] of the right (output) side of the slot [param idx] to [param color_right].
+ Sets the [Color] of the right (output) side of the slot [param slot_index] to [param color].
</description>
</method>
<method name="set_slot_draw_stylebox">
<return type="void" />
- <param index="0" name="idx" type="int" />
- <param index="1" name="draw_stylebox" type="bool" />
+ <param index="0" name="slot_index" type="int" />
+ <param index="1" name="enable" type="bool" />
<description>
- Toggles the background [StyleBox] of the slot [param idx].
+ Toggles the background [StyleBox] of the slot [param slot_index].
</description>
</method>
<method name="set_slot_enabled_left">
<return type="void" />
- <param index="0" name="idx" type="int" />
- <param index="1" name="enable_left" type="bool" />
+ <param index="0" name="slot_index" type="int" />
+ <param index="1" name="enable" type="bool" />
<description>
- Toggles the left (input) side of the slot [param idx]. If [param enable_left] is [code]true[/code], a port will appear on the left side and the slot will be able to be connected from this side.
+ Toggles the left (input) side of the slot [param slot_index]. If [param enable] is [code]true[/code], a port will appear on the left side and the slot will be able to be connected from this side.
</description>
</method>
<method name="set_slot_enabled_right">
<return type="void" />
- <param index="0" name="idx" type="int" />
- <param index="1" name="enable_right" type="bool" />
+ <param index="0" name="slot_index" type="int" />
+ <param index="1" name="enable" type="bool" />
<description>
- Toggles the right (output) side of the slot [param idx]. If [param enable_right] is [code]true[/code], a port will appear on the right side and the slot will be able to be connected from this side.
+ Toggles the right (output) side of the slot [param slot_index]. If [param enable] is [code]true[/code], a port will appear on the right side and the slot will be able to be connected from this side.
</description>
</method>
<method name="set_slot_type_left">
<return type="void" />
- <param index="0" name="idx" type="int" />
- <param index="1" name="type_left" type="int" />
+ <param index="0" name="slot_index" type="int" />
+ <param index="1" name="type" type="int" />
<description>
- Sets the left (input) type of the slot [param idx] to [param type_left]. If the value is negative, all connections will be disallowed to be created via user inputs.
+ Sets the left (input) type of the slot [param slot_index] to [param type]. If the value is negative, all connections will be disallowed to be created via user inputs.
</description>
</method>
<method name="set_slot_type_right">
<return type="void" />
- <param index="0" name="idx" type="int" />
- <param index="1" name="type_right" type="int" />
+ <param index="0" name="slot_index" type="int" />
+ <param index="1" name="type" type="int" />
<description>
- Sets the right (output) type of the slot [param idx] to [param type_right]. If the value is negative, all connections will be disallowed to be created via user inputs.
+ Sets the right (output) type of the slot [param slot_index] to [param type]. If the value is negative, all connections will be disallowed to be created via user inputs.
</description>
</method>
</methods>
@@ -265,6 +280,11 @@
Emitted when the GraphNode is requested to be closed. Happens on clicking the close button (see [member show_close]).
</description>
</signal>
+ <signal name="deselected">
+ <description>
+ Emitted when the GraphNode is deselected.
+ </description>
+ </signal>
<signal name="dragged">
<param index="0" name="from" type="Vector2" />
<param index="1" name="to" type="Vector2" />
@@ -288,6 +308,11 @@
Emitted when the GraphNode is requested to be resized. Happens on dragging the resizer handle (see [member resizable]).
</description>
</signal>
+ <signal name="selected">
+ <description>
+ Emitted when the GraphNode is selected.
+ </description>
+ </signal>
<signal name="slot_updated">
<param index="0" name="idx" type="int" />
<description>
diff --git a/doc/classes/HMACContext.xml b/doc/classes/HMACContext.xml
index 52d4fce28f..706ee30963 100644
--- a/doc/classes/HMACContext.xml
+++ b/doc/classes/HMACContext.xml
@@ -32,22 +32,22 @@
public class CryptoNode : Node
{
private HMACContext ctx = new HMACContext();
+
public override void _Ready()
{
- PackedByteArray key = String("supersecret").to_utf8();
- Error err = ctx.Start(HashingContext.HASH_SHA256, key);
- GD.Assert(err == OK);
- PackedByteArray msg1 = String("this is ").to_utf8();
- PackedByteArray msg2 = String("super duper secret").to_utf8();
+ byte[] key = "supersecret".ToUTF8();
+ Error err = ctx.Start(HashingContext.HashType.Sha256, key);
+ Debug.Assert(err == Error.Ok);
+ byte[] msg1 = "this is ".ToUTF8();
+ byte[] msg2 = "super duper secret".ToUTF8();
err = ctx.Update(msg1);
- GD.Assert(err == OK);
+ Debug.Assert(err == Error.Ok);
err = ctx.Update(msg2);
- GD.Assert(err == OK);
- PackedByteArray hmac = ctx.Finish();
+ Debug.Assert(err == Error.Ok);
+ byte[] hmac = ctx.Finish();
GD.Print(hmac.HexEncode());
}
}
-
[/csharp]
[/codeblocks]
</description>
diff --git a/doc/classes/HSplitContainer.xml b/doc/classes/HSplitContainer.xml
index 8137e26b8c..13915bd762 100644
--- a/doc/classes/HSplitContainer.xml
+++ b/doc/classes/HSplitContainer.xml
@@ -13,6 +13,9 @@
<theme_item name="autohide" data_type="constant" type="int" default="1">
Boolean value. If 1 ([code]true[/code]), the grabber will hide automatically when it isn't under the cursor. If 0 ([code]false[/code]), it's always visible.
</theme_item>
+ <theme_item name="minimum_grab_thickness" data_type="constant" type="int" default="6">
+ The minimum thickness of the area users can click on to grab the splitting line. If [theme_item separation] or [theme_item grabber]'s thickness are too small, this ensure that the splitting line can still be dragged.
+ </theme_item>
<theme_item name="separation" data_type="constant" type="int" default="12">
The space between sides of the container.
</theme_item>
diff --git a/doc/classes/HTTPClient.xml b/doc/classes/HTTPClient.xml
index 332ce9d8f4..b3ed38d250 100644
--- a/doc/classes/HTTPClient.xml
+++ b/doc/classes/HTTPClient.xml
@@ -7,17 +7,17 @@
Hyper-text transfer protocol client (sometimes called "User Agent"). Used to make HTTP requests to download web content, upload files and other data or to communicate with various services, among other use cases.
See the [HTTPRequest] node for a higher-level alternative.
[b]Note:[/b] This client only needs to connect to a host once (see [method connect_to_host]) to send multiple requests. Because of this, methods that take URLs usually take just the part after the host instead of the full URL, as the client is already connected to a host. See [method request] for a full example and to get started.
- A [HTTPClient] should be reused between multiple requests or to connect to different hosts instead of creating one client per request. Supports SSL and SSL server certificate verification. HTTP status codes in the 2xx range indicate success, 3xx redirection (i.e. "try again, but over here"), 4xx something was wrong with the request, and 5xx something went wrong on the server's side.
+ A [HTTPClient] should be reused between multiple requests or to connect to different hosts instead of creating one client per request. Supports Transport Layer Security (TLS), including server certificate verification. HTTP status codes in the 2xx range indicate success, 3xx redirection (i.e. "try again, but over here"), 4xx something was wrong with the request, and 5xx something went wrong on the server's side.
For more information on HTTP, see https://developer.mozilla.org/en-US/docs/Web/HTTP (or read RFC 2616 to get it straight from the source: https://tools.ietf.org/html/rfc2616).
[b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android.
- [b]Note:[/b] It's recommended to use transport encryption (SSL/TLS) and to avoid sending sensitive information (such as login credentials) in HTTP GET URL parameters. Consider using HTTP POST requests or HTTP headers for such information instead.
+ [b]Note:[/b] It's recommended to use transport encryption (TLS) and to avoid sending sensitive information (such as login credentials) in HTTP GET URL parameters. Consider using HTTP POST requests or HTTP headers for such information instead.
[b]Note:[/b] When performing HTTP requests from a project exported to Web, keep in mind the remote server may not allow requests from foreign origins due to [url=https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS]CORS[/url]. If you host the server in question, you should modify its backend to allow requests from foreign origins by adding the [code]Access-Control-Allow-Origin: *[/code] HTTP header.
- [b]Note:[/b] SSL/TLS support is currently limited to TLS 1.0, TLS 1.1, and TLS 1.2. Attempting to connect to a TLS 1.3-only server will return an error.
- [b]Warning:[/b] SSL/TLS certificate revocation and certificate pinning are currently not supported. Revoked certificates are accepted as long as they are otherwise valid. If this is a concern, you may want to use automatically managed certificates with a short validity period.
+ [b]Note:[/b] TLS support is currently limited to TLS 1.0, TLS 1.1, and TLS 1.2. Attempting to connect to a TLS 1.3-only server will return an error.
+ [b]Warning:[/b] TLS certificate revocation and certificate pinning are currently not supported. Revoked certificates are accepted as long as they are otherwise valid. If this is a concern, you may want to use automatically managed certificates with a short validity period.
</description>
<tutorials>
<link title="HTTP client class">$DOCS_URL/tutorials/networking/http_client_class.html</link>
- <link title="SSL certificates">$DOCS_URL/tutorials/networking/ssl_certificates.html</link>
+ <link title="TLS certificates">$DOCS_URL/tutorials/networking/ssl_certificates.html</link>
</tutorials>
<methods>
<method name="close">
@@ -30,13 +30,13 @@
<return type="int" enum="Error" />
<param index="0" name="host" type="String" />
<param index="1" name="port" type="int" default="-1" />
- <param index="2" name="use_ssl" type="bool" default="false" />
+ <param index="2" name="use_tls" type="bool" default="false" />
<param index="3" name="verify_host" type="bool" default="true" />
<description>
Connects to a host. This needs to be done before any requests are sent.
The host should not have http:// prepended but will strip the protocol identifier if provided.
- If no [param port] is specified (or [code]-1[/code] is used), it is automatically set to 80 for HTTP and 443 for HTTPS (if [param use_ssl] is enabled).
- [param verify_host] will check the SSL identity of the host if set to [code]true[/code].
+ If no [param port] is specified (or [code]-1[/code] is used), it is automatically set to 80 for HTTP and 443 for HTTPS (if [param use_tls] is enabled).
+ [param verify_host] will check the TLS identity of the host if set to [code]true[/code].
</description>
</method>
<method name="get_response_body_length" qualifiers="const">
@@ -262,8 +262,8 @@
<constant name="STATUS_CONNECTION_ERROR" value="8" enum="Status">
Status: Error in HTTP connection.
</constant>
- <constant name="STATUS_SSL_HANDSHAKE_ERROR" value="9" enum="Status">
- Status: Error in SSL handshake.
+ <constant name="STATUS_TLS_HANDSHAKE_ERROR" value="9" enum="Status">
+ Status: Error in TLS handshake.
</constant>
<constant name="RESPONSE_CONTINUE" value="100" enum="ResponseCode">
HTTP status code [code]100 Continue[/code]. Interim response that indicates everything so far is OK and that the client should continue with the request (or ignore this status if already finished).
diff --git a/doc/classes/HTTPRequest.xml b/doc/classes/HTTPRequest.xml
index 4b098bf585..64a3315308 100644
--- a/doc/classes/HTTPRequest.xml
+++ b/doc/classes/HTTPRequest.xml
@@ -6,7 +6,7 @@
<description>
A node with the ability to send HTTP requests. Uses [HTTPClient] internally.
Can be used to make HTTP requests, i.e. download or upload files or web content via HTTP.
- [b]Warning:[/b] See the notes and warnings on [HTTPClient] for limitations, especially regarding SSL security.
+ [b]Warning:[/b] See the notes and warnings on [HTTPClient] for limitations, especially regarding TLS security.
[b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android.
[b]Example of contacting a REST API and printing one of its returned fields:[/b]
[codeblocks]
@@ -157,7 +157,7 @@
</description>
<tutorials>
<link title="Making HTTP requests">$DOCS_URL/tutorials/networking/http_request_class.html</link>
- <link title="SSL certificates">$DOCS_URL/tutorials/networking/ssl_certificates.html</link>
+ <link title="TLS certificates">$DOCS_URL/tutorials/networking/ssl_certificates.html</link>
</tutorials>
<methods>
<method name="cancel_request">
@@ -189,21 +189,21 @@
<return type="int" enum="Error" />
<param index="0" name="url" type="String" />
<param index="1" name="custom_headers" type="PackedStringArray" default="PackedStringArray()" />
- <param index="2" name="ssl_validate_domain" type="bool" default="true" />
+ <param index="2" name="tls_validate_domain" type="bool" default="true" />
<param index="3" name="method" type="int" enum="HTTPClient.Method" default="0" />
<param index="4" name="request_data" type="String" default="&quot;&quot;" />
<description>
Creates request on the underlying [HTTPClient]. If there is no configuration errors, it tries to connect using [method HTTPClient.connect_to_host] and passes parameters onto [method HTTPClient.request].
Returns [constant OK] if request is successfully created. (Does not imply that the server has responded), [constant ERR_UNCONFIGURED] if not in the tree, [constant ERR_BUSY] if still processing previous request, [constant ERR_INVALID_PARAMETER] if given string is not a valid URL format, or [constant ERR_CANT_CONNECT] if not using thread and the [HTTPClient] cannot connect to host.
[b]Note:[/b] When [param method] is [constant HTTPClient.METHOD_GET], the payload sent via [param request_data] might be ignored by the server or even cause the server to reject the request (check [url=https://datatracker.ietf.org/doc/html/rfc7231#section-4.3.1]RFC 7231 section 4.3.1[/url] for more details). As a workaround, you can send data as a query string in the URL (see [method String.uri_encode] for an example).
- [b]Note:[/b] It's recommended to use transport encryption (SSL/TLS) and to avoid sending sensitive information (such as login credentials) in HTTP GET URL parameters. Consider using HTTP POST requests or HTTP headers for such information instead.
+ [b]Note:[/b] It's recommended to use transport encryption (TLS) and to avoid sending sensitive information (such as login credentials) in HTTP GET URL parameters. Consider using HTTP POST requests or HTTP headers for such information instead.
</description>
</method>
<method name="request_raw">
<return type="int" enum="Error" />
<param index="0" name="url" type="String" />
<param index="1" name="custom_headers" type="PackedStringArray" default="PackedStringArray()" />
- <param index="2" name="ssl_validate_domain" type="bool" default="true" />
+ <param index="2" name="tls_validate_domain" type="bool" default="true" />
<param index="3" name="method" type="int" enum="HTTPClient.Method" default="0" />
<param index="4" name="request_data_raw" type="PackedByteArray" default="PackedByteArray()" />
<description>
@@ -283,8 +283,8 @@
<constant name="RESULT_CONNECTION_ERROR" value="4" enum="Result">
Request failed due to connection (read/write) error.
</constant>
- <constant name="RESULT_SSL_HANDSHAKE_ERROR" value="5" enum="Result">
- Request failed on SSL handshake.
+ <constant name="RESULT_TLS_HANDSHAKE_ERROR" value="5" enum="Result">
+ Request failed on TLS handshake.
</constant>
<constant name="RESULT_NO_RESPONSE" value="6" enum="Result">
Request does not have a response (yet).
diff --git a/doc/classes/ImageTextureLayered.xml b/doc/classes/ImageTextureLayered.xml
index f5b338542b..f5786f070a 100644
--- a/doc/classes/ImageTextureLayered.xml
+++ b/doc/classes/ImageTextureLayered.xml
@@ -11,6 +11,8 @@
<return type="int" enum="Error" />
<param index="0" name="images" type="Image[]" />
<description>
+ Creates an [ImageTextureLayered] from an array of [Image]s. The first image decides the width, height, image format and mipmapping setting. The other images must have the same width, height, image format and mipmapping setting.
+ Each [Image] represents one [code]layer[/code].
</description>
</method>
<method name="update_layer">
@@ -18,6 +20,10 @@
<param index="0" name="image" type="Image" />
<param index="1" name="layer" type="int" />
<description>
+ Replaces the existing [Image] data at the given [code]layer[/code] with this new image.
+ The given [Image] must have the same width, height, image format and mipmapping setting (a [code]bool[/code] value) as the rest of the referenced images.
+ If the image format is unsupported, it will be decompressed and converted to a similar and supported [enum Image.Format].
+ The update is immediate: synced with the draw.
</description>
</method>
</methods>
diff --git a/doc/classes/ImporterMesh.xml b/doc/classes/ImporterMesh.xml
index 3c3dbe4d87..1c9655c266 100644
--- a/doc/classes/ImporterMesh.xml
+++ b/doc/classes/ImporterMesh.xml
@@ -43,10 +43,12 @@
<return type="void" />
<param index="0" name="normal_merge_angle" type="float" />
<param index="1" name="normal_split_angle" type="float" />
+ <param index="2" name="bone_transform_array" type="Array" />
<description>
Generates all lods for this ImporterMesh.
[param normal_merge_angle] and [param normal_split_angle] are in degrees and used in the same way as the importer settings in [code]lods[/code]. As a good default, use 25 and 60 respectively.
The number of generated lods can be accessed using [method get_surface_lod_count], and each LOD is available in [method get_surface_lod_size] and [method get_surface_lod_indices].
+ [param bone_transform_array] is an [Array] which can be either empty or contain [Transform3D]s which, for each of the mesh's bone IDs, will apply mesh skinning when generating the LOD mesh variations. This is usually used to account for discrepancies in scale between the mesh itself and its skinning data.
</description>
</method>
<method name="get_blend_shape_count" qualifiers="const">
diff --git a/doc/classes/InputEventWithModifiers.xml b/doc/classes/InputEventWithModifiers.xml
index b4a276f6ac..d0453156d5 100644
--- a/doc/classes/InputEventWithModifiers.xml
+++ b/doc/classes/InputEventWithModifiers.xml
@@ -9,27 +9,30 @@
<tutorials>
<link title="InputEvent">$DOCS_URL/tutorials/inputs/inputevent.html</link>
</tutorials>
+ <methods>
+ <method name="is_command_or_control_pressed" qualifiers="const">
+ <return type="bool" />
+ <description>
+ On macOS, returns [code]true[/code] if [kbd]Meta[/kbd] ([kbd]Command[/kbd]) is pressed.
+ On other platforms, returns [code]true[/code] if [kbd]Ctrl[/kbd] is pressed.
+ </description>
+ </method>
+ </methods>
<members>
<member name="alt_pressed" type="bool" setter="set_alt_pressed" getter="is_alt_pressed" default="false">
State of the [kbd]Alt[/kbd] modifier.
</member>
- <member name="command_pressed" type="bool" setter="set_command_pressed" getter="is_command_pressed" default="false">
- State of the [kbd]Cmd[/kbd] modifier. On macOS, this is equivalent to [member meta_pressed]. On other platforms, this is equivalent to [member ctrl_pressed].
- This modifier should be preferred to [member ctrl_pressed] or [member meta_pressed] for system shortcuts, as it maintains better cross-platform compatibility.
+ <member name="command_or_control_autoremap" type="bool" setter="set_command_or_control_autoremap" getter="is_command_or_control_autoremap" default="false">
+ Automaticaly use [kbd]Meta[/kbd] ([kbd]Command[/kbd]) on macOS and [kbd]Ctrl[/kbd] on other platforms. If [code]true[/code], [member ctrl_pressed] and [member meta_pressed] cannot be set.
</member>
<member name="ctrl_pressed" type="bool" setter="set_ctrl_pressed" getter="is_ctrl_pressed" default="false">
State of the [kbd]Ctrl[/kbd] modifier.
</member>
<member name="meta_pressed" type="bool" setter="set_meta_pressed" getter="is_meta_pressed" default="false">
- State of the [kbd]Meta[/kbd] modifier. On Windows and Linux, this represents the Windows key (sometimes called "meta" or "super" on Linux). On macOS, this represents the Command key, and is equivalent to [member command_pressed].
- For better cross-system compatibility, use [member command_pressed] instead.
+ State of the [kbd]Meta[/kbd] modifier. On Windows and Linux, this represents the Windows key (sometimes called "meta" or "super" on Linux). On macOS, this represents the Command key.
</member>
<member name="shift_pressed" type="bool" setter="set_shift_pressed" getter="is_shift_pressed" default="false">
State of the [kbd]Shift[/kbd] modifier.
</member>
- <member name="store_command" type="bool" setter="set_store_command" getter="is_storing_command" default="true">
- If [code]true[/code], pressing [kbd]Cmd[/kbd] on macOS or [kbd]Ctrl[/kbd] on all other platforms will both be serialized as [member command_pressed]. If [code]false[/code], those same keys will be serialized as [member meta_pressed] on macOS and [member ctrl_pressed] on all other platforms.
- This aids with cross-platform compatibility when developing e.g. on Windows for macOS, or vice-versa.
- </member>
</members>
</class>
diff --git a/doc/classes/ItemList.xml b/doc/classes/ItemList.xml
index 75a0e1cef7..844f260971 100644
--- a/doc/classes/ItemList.xml
+++ b/doc/classes/ItemList.xml
@@ -349,7 +349,7 @@
The width all columns will be adjusted to.
A value of zero disables the adjustment, each item will have a width equal to the width of its content and the columns will have an uneven width.
</member>
- <member name="fixed_icon_size" type="Vector2" setter="set_fixed_icon_size" getter="get_fixed_icon_size" default="Vector2(0, 0)">
+ <member name="fixed_icon_size" type="Vector2i" setter="set_fixed_icon_size" getter="get_fixed_icon_size" default="Vector2i(0, 0)">
The size all icons will be adjusted to.
If either X or Y component is not greater than zero, icon size won't be affected.
</member>
@@ -469,18 +469,18 @@
<theme_item name="font_size" data_type="font_size" type="int">
Font size of the item's text.
</theme_item>
- <theme_item name="bg" data_type="style" type="StyleBox">
- Default [StyleBox] for the [ItemList], i.e. used when the control is not being focused.
- </theme_item>
- <theme_item name="bg_focus" data_type="style" type="StyleBox">
- [StyleBox] used when the [ItemList] is being focused.
- </theme_item>
<theme_item name="cursor" data_type="style" type="StyleBox">
[StyleBox] used for the cursor, when the [ItemList] is being focused.
</theme_item>
<theme_item name="cursor_unfocused" data_type="style" type="StyleBox">
[StyleBox] used for the cursor, when the [ItemList] is not being focused.
</theme_item>
+ <theme_item name="focus" data_type="style" type="StyleBox">
+ The focused style for the [ItemList], drawn on top of the background, but below everything else.
+ </theme_item>
+ <theme_item name="panel" data_type="style" type="StyleBox">
+ The background style for the [ItemList].
+ </theme_item>
<theme_item name="selected" data_type="style" type="StyleBox">
[StyleBox] for the selected items, used when the [ItemList] is not being focused.
</theme_item>
diff --git a/doc/classes/JavaScript.xml b/doc/classes/JavaScriptBridge.xml
index c838422e85..5e36b5cc80 100644
--- a/doc/classes/JavaScript.xml
+++ b/doc/classes/JavaScriptBridge.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="JavaScript" inherits="Object" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="JavaScriptBridge" inherits="Object" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
Singleton that connects the engine with the browser's JavaScript context in Web export.
</brief_description>
<description>
- The JavaScript singleton is implemented only in the Web export. It's used to access the browser's JavaScript context. This allows interaction with embedding pages or calling third-party JavaScript APIs.
- [b]Note:[/b] This singleton can be disabled at build-time to improve security. By default, the JavaScript singleton is enabled. Official export templates also have the JavaScript singleton enabled. See [url=$DOCS_URL/development/compiling/compiling_for_web.html]Compiling for the Web[/url] in the documentation for more information.
+ The JavaScriptBridge singleton is implemented only in the Web export. It's used to access the browser's JavaScript context. This allows interaction with embedding pages or calling third-party JavaScript APIs.
+ [b]Note:[/b] This singleton can be disabled at build-time to improve security. By default, the JavaScriptBridge singleton is enabled. Official export templates also have the JavaScriptBridge singleton enabled. See [url=$DOCS_URL/development/compiling/compiling_for_web.html]Compiling for the Web[/url] in the documentation for more information.
</description>
<tutorials>
<link title="Exporting for the Web: Calling JavaScript from script">$DOCS_URL/tutorials/export/exporting_for_web.html#calling-javascript-from-script</link>
diff --git a/doc/classes/JavaScriptObject.xml b/doc/classes/JavaScriptObject.xml
index e279acf5a4..26792bd19e 100644
--- a/doc/classes/JavaScriptObject.xml
+++ b/doc/classes/JavaScriptObject.xml
@@ -1,27 +1,27 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="JavaScriptObject" inherits="RefCounted" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- A wrapper class for native JavaScript objects.
+ A wrapper class for web native JavaScript objects.
</brief_description>
<description>
- JavaScriptObject is used to interact with JavaScript objects retrieved or created via [method JavaScript.get_interface], [method JavaScript.create_object], or [method JavaScript.create_callback].
+ JavaScriptObject is used to interact with JavaScript objects retrieved or created via [method JavaScriptBridge.get_interface], [method JavaScriptBridge.create_object], or [method JavaScriptBridge.create_callback].
Example:
[codeblock]
extends Node
- var _my_js_callback = JavaScript.create_callback(self, "myCallback") # This reference must be kept
- var console = JavaScript.get_interface("console")
+ var _my_js_callback = JavaScriptBridge.create_callback(self, "myCallback") # This reference must be kept
+ var console = JavaScriptBridge.get_interface("console")
func _init():
- var buf = JavaScript.create_object("ArrayBuffer", 10) # new ArrayBuffer(10)
+ var buf = JavaScriptBridge.create_object("ArrayBuffer", 10) # new ArrayBuffer(10)
print(buf) # prints [JavaScriptObject:OBJECT_ID]
- var uint8arr = JavaScript.create_object("Uint8Array", buf) # new Uint8Array(buf)
+ var uint8arr = JavaScriptBridge.create_object("Uint8Array", buf) # new Uint8Array(buf)
uint8arr[1] = 255
prints(uint8arr[1], uint8arr.byteLength) # prints 255 10
console.log(uint8arr) # prints in browser console "Uint8Array(10) [ 0, 255, 0, 0, 0, 0, 0, 0, 0, 0 ]"
- # Equivalent of JavaScript: Array.from(uint8arr).forEach(myCallback)
- JavaScript.get_interface("Array").from(uint8arr).forEach(_my_js_callback)
+ # Equivalent of JavaScriptBridge: Array.from(uint8arr).forEach(myCallback)
+ JavaScriptBridge.get_interface("Array").from(uint8arr).forEach(_my_js_callback)
func myCallback(args):
# Will be called with the parameters passed to the "forEach" callback
diff --git a/doc/classes/LineEdit.xml b/doc/classes/LineEdit.xml
index f8f2375a71..14fb864ca8 100644
--- a/doc/classes/LineEdit.xml
+++ b/doc/classes/LineEdit.xml
@@ -144,7 +144,7 @@
<member name="caret_blink" type="bool" setter="set_caret_blink_enabled" getter="is_caret_blink_enabled" default="false">
If [code]true[/code], the caret (text cursor) blinks.
</member>
- <member name="caret_blink_speed" type="float" setter="set_caret_blink_speed" getter="get_caret_blink_speed" default="0.65">
+ <member name="caret_blink_interval" type="float" setter="set_caret_blink_interval" getter="get_caret_blink_interval" default="0.65">
Duration (in seconds) of a caret's blinking cycle.
</member>
<member name="caret_column" type="int" setter="set_caret_column" getter="get_caret_column" default="0">
diff --git a/doc/classes/MultiMesh.xml b/doc/classes/MultiMesh.xml
index bae2335cfb..ce2b5f2584 100644
--- a/doc/classes/MultiMesh.xml
+++ b/doc/classes/MultiMesh.xml
@@ -1,13 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="MultiMesh" inherits="Resource" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Provides high-performance mesh instancing.
+ Provides high-performance drawing of a mesh multiple times using GPU instancing.
</brief_description>
<description>
MultiMesh provides low-level mesh instancing. Drawing thousands of [MeshInstance3D] nodes can be slow, since each object is submitted to the GPU then drawn individually.
MultiMesh is much faster as it can draw thousands of instances with a single draw call, resulting in less API overhead.
As a drawback, if the instances are too far away from each other, performance may be reduced as every single instance will always render (they are spatially indexed as one, for the whole object).
Since instances may have any behavior, the AABB used for visibility must be provided by the user.
+ [b]Note:[/b] A MultiMesh is a single object, therefore the same maximum lights per object restriction applies. This means, that once the maximum lights are consumed by one or more instances, the rest of the MultiMesh instances will [b]not[/b] receive any lighting.
+ [b]Note:[/b] Blend Shapes will be ignored if used in a MultiMesh.
</description>
<tutorials>
<link title="Animating thousands of fish with MultiMeshInstance">$DOCS_URL/tutorials/performance/vertex_animation/animating_thousands_of_fish.html</link>
@@ -24,7 +26,7 @@
<return type="Color" />
<param index="0" name="instance" type="int" />
<description>
- Gets a specific instance's color.
+ Gets a specific instance's color multiplier.
</description>
</method>
<method name="get_instance_custom_data" qualifiers="const">
@@ -53,8 +55,8 @@
<param index="0" name="instance" type="int" />
<param index="1" name="color" type="Color" />
<description>
- Sets the color of a specific instance by [i]multiplying[/i] the mesh's existing vertex colors.
- For the color to take effect, ensure that [member use_colors] is [code]true[/code] on the [MultiMesh] and [member BaseMaterial3D.vertex_color_use_as_albedo] is [code]true[/code] on the material. If the color doesn't look as expected, make sure the material's albedo color is set to pure white ([code]Color(1, 1, 1)[/code]).
+ Sets the color of a specific instance by [i]multiplying[/i] the mesh's existing vertex colors. This allows for different color tinting per instance.
+ For the color to take effect, ensure that [member use_colors] is [code]true[/code] on the [MultiMesh] and [member BaseMaterial3D.vertex_color_use_as_albedo] is [code]true[/code] on the material. If you intend to set an absolute color instead of tinting, make sure the material's albedo color is set to pure white ([code]Color(1, 1, 1)[/code]).
</description>
</method>
<method name="set_instance_custom_data">
@@ -64,6 +66,7 @@
<description>
Sets custom data for a specific instance. Although [Color] is used, it is just a container for 4 floating point numbers.
For the custom data to be used, ensure that [member use_custom_data] is [code]true[/code].
+ This custom instance data has to be manually accessed in your custom shader using [code]INSTANCE_CUSTOM[/code].
</description>
</method>
<method name="set_instance_transform">
@@ -87,28 +90,33 @@
<member name="buffer" type="PackedFloat32Array" setter="set_buffer" getter="get_buffer" default="PackedFloat32Array()">
</member>
<member name="color_array" type="PackedColorArray" setter="_set_color_array" getter="_get_color_array">
+ See [method set_instance_color].
</member>
<member name="custom_data_array" type="PackedColorArray" setter="_set_custom_data_array" getter="_get_custom_data_array">
+ See [method set_instance_custom_data].
</member>
<member name="instance_count" type="int" setter="set_instance_count" getter="get_instance_count" default="0">
Number of instances that will get drawn. This clears and (re)sizes the buffers. Setting data format or flags afterwards will have no effect.
By default, all instances are drawn but you can limit this with [member visible_instance_count].
</member>
<member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh">
- Mesh to be drawn.
+ [Mesh] resource to be instanced.
+ The looks of the individual instances can be modified using [method set_instance_color] and [method set_instance_custom_data].
</member>
<member name="transform_2d_array" type="PackedVector2Array" setter="_set_transform_2d_array" getter="_get_transform_2d_array">
+ See [method set_instance_transform_2d].
</member>
<member name="transform_array" type="PackedVector3Array" setter="_set_transform_array" getter="_get_transform_array">
+ See [method set_instance_transform].
</member>
<member name="transform_format" type="int" setter="set_transform_format" getter="get_transform_format" enum="MultiMesh.TransformFormat" default="0">
Format of transform used to transform mesh, either 2D or 3D.
</member>
<member name="use_colors" type="bool" setter="set_use_colors" getter="is_using_colors" default="false">
- If [code]true[/code], the [MultiMesh] will use color data (see [member color_array]).
+ If [code]true[/code], the [MultiMesh] will use color data (see [method set_instance_color]). Can only be set when [member instance_count] is [code]0[/code] or less. This means that you need to call this method before setting the instance count, or temporarily reset it to [code]0[/code].
</member>
<member name="use_custom_data" type="bool" setter="set_use_custom_data" getter="is_using_custom_data" default="false">
- If [code]true[/code], the [MultiMesh] will use custom data (see [member custom_data_array]).
+ If [code]true[/code], the [MultiMesh] will use custom data (see [method set_instance_custom_data]). Can only be set when [member instance_count] is [code]0[/code] or less. This means that you need to call this method before setting the instance count, or temporarily reset it to [code]0[/code].
</member>
<member name="visible_instance_count" type="int" setter="set_visible_instance_count" getter="get_visible_instance_count" default="-1">
Limits the number of instances drawn, -1 draws all instances. Changing this does not change the sizes of the buffers.
diff --git a/doc/classes/NavigationObstacle2D.xml b/doc/classes/NavigationObstacle2D.xml
index 4ecdc06645..6d05e220e3 100644
--- a/doc/classes/NavigationObstacle2D.xml
+++ b/doc/classes/NavigationObstacle2D.xml
@@ -10,12 +10,25 @@
<tutorials>
</tutorials>
<methods>
+ <method name="get_navigation_map" qualifiers="const">
+ <return type="RID" />
+ <description>
+ Returns the [RID] of the navigation map for this NavigationObstacle node. This function returns always the map set on the NavigationObstacle node and not the map of the abstract agent on the NavigationServer. If the agent map is changed directly with the NavigationServer API the NavigationObstacle node will not be aware of the map change. Use [method set_navigation_map] to change the navigation map for the NavigationObstacle and also update the agent on the NavigationServer.
+ </description>
+ </method>
<method name="get_rid" qualifiers="const">
<return type="RID" />
<description>
Returns the [RID] of this obstacle on the [NavigationServer2D].
</description>
</method>
+ <method name="set_navigation_map">
+ <return type="void" />
+ <param index="0" name="navigation_map" type="RID" />
+ <description>
+ Sets the [RID] of the navigation map this NavigationObstacle node should use and also updates the [code]agent[/code] on the NavigationServer.
+ </description>
+ </method>
</methods>
<members>
<member name="estimate_radius" type="bool" setter="set_estimate_radius" getter="is_radius_estimated" default="true">
diff --git a/doc/classes/NavigationObstacle3D.xml b/doc/classes/NavigationObstacle3D.xml
index ed8af3883c..f5a0bde089 100644
--- a/doc/classes/NavigationObstacle3D.xml
+++ b/doc/classes/NavigationObstacle3D.xml
@@ -10,12 +10,25 @@
<tutorials>
</tutorials>
<methods>
+ <method name="get_navigation_map" qualifiers="const">
+ <return type="RID" />
+ <description>
+ Returns the [RID] of the navigation map for this NavigationObstacle node. This function returns always the map set on the NavigationObstacle node and not the map of the abstract agent on the NavigationServer. If the agent map is changed directly with the NavigationServer API the NavigationObstacle node will not be aware of the map change. Use [method set_navigation_map] to change the navigation map for the NavigationObstacle and also update the agent on the NavigationServer.
+ </description>
+ </method>
<method name="get_rid" qualifiers="const">
<return type="RID" />
<description>
Returns the [RID] of this obstacle on the [NavigationServer3D].
</description>
</method>
+ <method name="set_navigation_map">
+ <return type="void" />
+ <param index="0" name="navigation_map" type="RID" />
+ <description>
+ Sets the [RID] of the navigation map this NavigationObstacle node should use and also updates the [code]agent[/code] on the NavigationServer.
+ </description>
+ </method>
</methods>
<members>
<member name="estimate_radius" type="bool" setter="set_estimate_radius" getter="is_radius_estimated" default="true">
diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml
index 87edc7de0a..d8ad65082f 100644
--- a/doc/classes/Node.xml
+++ b/doc/classes/Node.xml
@@ -121,11 +121,11 @@
<method name="add_child">
<return type="void" />
<param index="0" name="node" type="Node" />
- <param index="1" name="legible_unique_name" type="bool" default="false" />
+ <param index="1" name="force_readable_name" type="bool" default="false" />
<param index="2" name="internal" type="int" enum="Node.InternalMode" default="0" />
<description>
- Adds a child node. Nodes can have any number of children, but every child must have a unique name. Child nodes are automatically deleted when the parent node is deleted, so an entire scene can be removed by deleting its topmost node.
- If [param legible_unique_name] is [code]true[/code], the child node will have a human-readable name based on the name of the node being instantiated instead of its type.
+ Adds a child [param node]. Nodes can have any number of children, but every child must have a unique name. Child nodes are automatically deleted when the parent node is deleted, so an entire scene can be removed by deleting its topmost node.
+ If [param force_readable_name] is [code]true[/code], improves the readability of the added [param node]. If not named, the [param node] is renamed to its type, and if it shares [member name] with a sibling, a number is suffixed more appropriately. This operation is very slow. As such, it is recommended leaving this to [code]false[/code], which assigns a dummy name featuring [code]@[/code] in both situations.
If [param internal] is different than [constant INTERNAL_MODE_DISABLED], the child will be added as internal node. Such nodes are ignored by methods like [method get_children], unless their parameter [code]include_internal[/code] is [code]true[/code].The intended usage is to hide the internal nodes from the user, so the user won't accidentally delete or modify them. Used by some GUI nodes, e.g. [ColorPicker]. See [enum InternalMode] for available modes.
[b]Note:[/b] If the child node already has a parent, the function will fail. Use [method remove_child] first to remove the node from its current parent. For example:
[codeblocks]
@@ -151,10 +151,10 @@
<method name="add_sibling">
<return type="void" />
<param index="0" name="sibling" type="Node" />
- <param index="1" name="legible_unique_name" type="bool" default="false" />
+ <param index="1" name="force_readable_name" type="bool" default="false" />
<description>
Adds a [param sibling] node to current's node parent, at the same level as that node, right below it.
- If [param legible_unique_name] is [code]true[/code], the child node will have a human-readable name based on the name of the node being instantiated instead of its type.
+ If [param force_readable_name] is [code]true[/code], improves the readability of the added [param sibling]. If not named, the [param sibling] is renamed to its type, and if it shares [member name] with a sibling, a number is suffixed more appropriately. This operation is very slow. As such, it is recommended leaving this to [code]false[/code], which assigns a dummy name featuring [code]@[/code] in both situations.
Use [method add_child] instead of this method if you don't need the child node to be added below a specific node in the list of children.
[b]Note:[/b] If this node is internal, the new sibling will be internal too (see [code]internal[/code] parameter in [method add_child]).
</description>
@@ -514,7 +514,7 @@
<param index="0" name="child_node" type="Node" />
<param index="1" name="to_position" type="int" />
<description>
- Moves a child node to a different position (order) among the other children. Since calls, signals, etc are performed by tree order, changing the order of children nodes may be useful.
+ Moves a child node to a different position (order) among the other children. Since calls, signals, etc are performed by tree order, changing the order of children nodes may be useful. If [param to_position] is negative, the index will be counted from the end.
[b]Note:[/b] Internal children can only be moved within their expected "internal range" (see [code]internal[/code] parameter in [method add_child]).
</description>
</method>
@@ -577,18 +577,6 @@
Queues a node for deletion at the end of the current frame. When deleted, all of its child nodes will be deleted as well. This method ensures it's safe to delete the node, contrary to [method Object.free]. Use [method Object.is_queued_for_deletion] to check whether a node will be deleted at the end of the frame.
</description>
</method>
- <method name="raise">
- <return type="void" />
- <description>
- Moves this node to the bottom of parent node's children hierarchy. This is often useful in GUIs ([Control] nodes), because their order of drawing depends on their order in the tree. The top Node is drawn first, then any siblings below the top Node in the hierarchy are successively drawn on top of it. After using [code]raise[/code], a Control will be drawn on top of its siblings.
- </description>
- </method>
- <method name="remove_and_skip">
- <return type="void" />
- <description>
- Removes a node and sets all its children as children of the parent node (if it exists). All event subscriptions that pass by the removed node will be unsubscribed.
- </description>
- </method>
<method name="remove_child">
<return type="void" />
<param index="0" name="node" type="Node" />
diff --git a/doc/classes/Object.xml b/doc/classes/Object.xml
index 3c71a02a21..7ad1908bb5 100644
--- a/doc/classes/Object.xml
+++ b/doc/classes/Object.xml
@@ -633,7 +633,7 @@
<constant name="CONNECT_PERSIST" value="2" enum="ConnectFlags">
Persisting connections are saved when the object is serialized to file.
</constant>
- <constant name="CONNECT_ONESHOT" value="4" enum="ConnectFlags">
+ <constant name="CONNECT_ONE_SHOT" value="4" enum="ConnectFlags">
One-shot connections disconnect themselves after emission.
</constant>
<constant name="CONNECT_REFERENCE_COUNTED" value="8" enum="ConnectFlags">
diff --git a/doc/classes/PacketPeerDTLS.xml b/doc/classes/PacketPeerDTLS.xml
index e9918bdd3a..db8403a56b 100644
--- a/doc/classes/PacketPeerDTLS.xml
+++ b/doc/classes/PacketPeerDTLS.xml
@@ -6,7 +6,7 @@
<description>
This class represents a DTLS peer connection. It can be used to connect to a DTLS server, and is returned by [method DTLSServer.take_connection].
[b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android.
- [b]Warning:[/b] SSL/TLS certificate revocation and certificate pinning are currently not supported. Revoked certificates are accepted as long as they are otherwise valid. If this is a concern, you may want to use automatically managed certificates with a short validity period.
+ [b]Warning:[/b] TLS certificate revocation and certificate pinning are currently not supported. Revoked certificates are accepted as long as they are otherwise valid. If this is a concern, you may want to use automatically managed certificates with a short validity period.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/PacketPeerUDP.xml b/doc/classes/PacketPeerUDP.xml
index b635757b2b..9107937183 100644
--- a/doc/classes/PacketPeerUDP.xml
+++ b/doc/classes/PacketPeerUDP.xml
@@ -34,7 +34,7 @@
<param index="1" name="port" type="int" />
<description>
Calling this method connects this UDP peer to the given [param host]/[param port] pair. UDP is in reality connectionless, so this option only means that incoming packets from different addresses are automatically discarded, and that outgoing packets are always sent to the connected address (future calls to [method set_dest_address] are not allowed). This method does not send any data to the remote peer, to do that, use [method PacketPeer.put_var] or [method PacketPeer.put_packet] as usual. See also [UDPServer].
- [b]Note:[/b] Connecting to the remote peer does not help to protect from malicious attacks like IP spoofing, etc. Think about using an encryption technique like SSL or DTLS if you feel like your application is transferring sensitive information.
+ [b]Note:[/b] Connecting to the remote peer does not help to protect from malicious attacks like IP spoofing, etc. Think about using an encryption technique like TLS or DTLS if you feel like your application is transferring sensitive information.
</description>
</method>
<method name="get_local_port" qualifiers="const">
diff --git a/doc/classes/Panel.xml b/doc/classes/Panel.xml
index da69431276..69c896e806 100644
--- a/doc/classes/Panel.xml
+++ b/doc/classes/Panel.xml
@@ -15,7 +15,5 @@
<theme_item name="panel" data_type="style" type="StyleBox">
The style of this [Panel].
</theme_item>
- <theme_item name="panel_fg" data_type="style" type="StyleBox">
- </theme_item>
</theme_items>
</class>
diff --git a/doc/classes/PanoramaSkyMaterial.xml b/doc/classes/PanoramaSkyMaterial.xml
index 21c7f29585..0c27037f28 100644
--- a/doc/classes/PanoramaSkyMaterial.xml
+++ b/doc/classes/PanoramaSkyMaterial.xml
@@ -4,9 +4,9 @@
A [Material] used with [Sky] to draw a background texture.
</brief_description>
<description>
- A resource referenced in a [Sky] that is used to draw a background. The Panorama sky material functions similar to skyboxes in other engines, except it uses an equirectangular sky map instead of a cube map.
+ A resource referenced in a [Sky] that is used to draw a background. The Panorama sky material functions similar to skyboxes in other engines, except it uses an equirectangular sky map instead of a cubemap.
Using an HDR panorama is strongly recommended for accurate, high-quality reflections. Godot supports the Radiance HDR ([code].hdr[/code]) and OpenEXR ([code].exr[/code]) image formats for this purpose.
- You can use [url=https://danilw.github.io/GLSL-howto/cubemap_to_panorama_js/cubemap_to_panorama.html]this tool[/url] to convert a cube map to an equirectangular sky map.
+ You can use [url=https://danilw.github.io/GLSL-howto/cubemap_to_panorama_js/cubemap_to_panorama.html]this tool[/url] to convert a cubemap to an equirectangular sky map.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/ParallaxLayer.xml b/doc/classes/ParallaxLayer.xml
index 7e7c2d11ec..51a10f732d 100644
--- a/doc/classes/ParallaxLayer.xml
+++ b/doc/classes/ParallaxLayer.xml
@@ -13,6 +13,7 @@
<members>
<member name="motion_mirroring" type="Vector2" setter="set_mirroring" getter="get_mirroring" default="Vector2(0, 0)">
The ParallaxLayer's [Texture2D] mirroring. Useful for creating an infinite scrolling background. If an axis is set to [code]0[/code], the [Texture2D] will not be mirrored.
+ If the length of the viewport axis is bigger than twice the mirrored axis size, it will not repeat infinitely, as the parallax layer only draws 2 instances of the texture at any one time.
</member>
<member name="motion_offset" type="Vector2" setter="set_motion_offset" getter="get_motion_offset" default="Vector2(0, 0)">
The ParallaxLayer's offset relative to the parent ParallaxBackground's [member ParallaxBackground.scroll_offset].
diff --git a/doc/classes/PhysicsDirectBodyState2DExtension.xml b/doc/classes/PhysicsDirectBodyState2DExtension.xml
new file mode 100644
index 0000000000..8fd34c1243
--- /dev/null
+++ b/doc/classes/PhysicsDirectBodyState2DExtension.xml
@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="PhysicsDirectBodyState2DExtension" inherits="PhysicsDirectBodyState2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="_add_constant_central_force" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="force" type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_add_constant_force" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="force" type="Vector2" />
+ <param index="1" name="position" type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_add_constant_torque" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="torque" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_apply_central_force" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="force" type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_apply_central_impulse" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="impulse" type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_apply_force" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="force" type="Vector2" />
+ <param index="1" name="position" type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_apply_impulse" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="impulse" type="Vector2" />
+ <param index="1" name="position" type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_apply_torque" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="torque" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_apply_torque_impulse" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="impulse" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_angular_velocity" qualifiers="virtual const">
+ <return type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_center_of_mass" qualifiers="virtual const">
+ <return type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_center_of_mass_local" qualifiers="virtual const">
+ <return type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_constant_force" qualifiers="virtual const">
+ <return type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_constant_torque" qualifiers="virtual const">
+ <return type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_collider" qualifiers="virtual const">
+ <return type="RID" />
+ <param index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_collider_id" qualifiers="virtual const">
+ <return type="int" />
+ <param index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_collider_object" qualifiers="virtual const">
+ <return type="Object" />
+ <param index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_collider_position" qualifiers="virtual const">
+ <return type="Vector2" />
+ <param index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_collider_shape" qualifiers="virtual const">
+ <return type="int" />
+ <param index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_collider_velocity_at_position" qualifiers="virtual const">
+ <return type="Vector2" />
+ <param index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_count" qualifiers="virtual const">
+ <return type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_local_normal" qualifiers="virtual const">
+ <return type="Vector2" />
+ <param index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_local_position" qualifiers="virtual const">
+ <return type="Vector2" />
+ <param index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_local_shape" qualifiers="virtual const">
+ <return type="int" />
+ <param index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_inverse_inertia" qualifiers="virtual const">
+ <return type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_inverse_mass" qualifiers="virtual const">
+ <return type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_linear_velocity" qualifiers="virtual const">
+ <return type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_space_state" qualifiers="virtual">
+ <return type="PhysicsDirectSpaceState2D" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_step" qualifiers="virtual const">
+ <return type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_total_angular_damp" qualifiers="virtual const">
+ <return type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_total_gravity" qualifiers="virtual const">
+ <return type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_total_linear_damp" qualifiers="virtual const">
+ <return type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_transform" qualifiers="virtual const">
+ <return type="Transform2D" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_velocity_at_local_position" qualifiers="virtual const">
+ <return type="Vector2" />
+ <param index="0" name="local_position" type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_integrate_forces" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_is_sleeping" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_angular_velocity" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="velocity" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_constant_force" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="force" type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_constant_torque" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="torque" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_linear_velocity" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="velocity" type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_sleep_state" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="enabled" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_transform" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="transform" type="Transform2D" />
+ <description>
+ </description>
+ </method>
+ </methods>
+</class>
diff --git a/doc/classes/PhysicsDirectSpaceState2DExtension.xml b/doc/classes/PhysicsDirectSpaceState2DExtension.xml
new file mode 100644
index 0000000000..3235793853
--- /dev/null
+++ b/doc/classes/PhysicsDirectSpaceState2DExtension.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="PhysicsDirectSpaceState2DExtension" inherits="PhysicsDirectSpaceState2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="_cast_motion" qualifiers="virtual">
+ <return type="bool" />
+ <param index="0" name="shape_rid" type="RID" />
+ <param index="1" name="transform" type="Transform2D" />
+ <param index="2" name="motion" type="Vector2" />
+ <param index="3" name="margin" type="float" />
+ <param index="4" name="collision_mask" type="int" />
+ <param index="5" name="collide_with_bodies" type="bool" />
+ <param index="6" name="collide_with_areas" type="bool" />
+ <param index="7" name="closest_safe" type="float*" />
+ <param index="8" name="closest_unsafe" type="float*" />
+ <description>
+ </description>
+ </method>
+ <method name="_collide_shape" qualifiers="virtual">
+ <return type="bool" />
+ <param index="0" name="shape_rid" type="RID" />
+ <param index="1" name="transform" type="Transform2D" />
+ <param index="2" name="motion" type="Vector2" />
+ <param index="3" name="margin" type="float" />
+ <param index="4" name="collision_mask" type="int" />
+ <param index="5" name="collide_with_bodies" type="bool" />
+ <param index="6" name="collide_with_areas" type="bool" />
+ <param index="7" name="results" type="void*" />
+ <param index="8" name="max_results" type="int" />
+ <param index="9" name="result_count" type="int32_t*" />
+ <description>
+ </description>
+ </method>
+ <method name="_intersect_point" qualifiers="virtual">
+ <return type="int" />
+ <param index="0" name="position" type="Vector2" />
+ <param index="1" name="canvas_instance_id" type="int" />
+ <param index="2" name="collision_mask" type="int" />
+ <param index="3" name="collide_with_bodies" type="bool" />
+ <param index="4" name="collide_with_areas" type="bool" />
+ <param index="5" name="results" type="PhysicsServer2DExtensionShapeResult*" />
+ <param index="6" name="max_results" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_intersect_ray" qualifiers="virtual">
+ <return type="bool" />
+ <param index="0" name="from" type="Vector2" />
+ <param index="1" name="to" type="Vector2" />
+ <param index="2" name="collision_mask" type="int" />
+ <param index="3" name="collide_with_bodies" type="bool" />
+ <param index="4" name="collide_with_areas" type="bool" />
+ <param index="5" name="hit_from_inside" type="bool" />
+ <param index="6" name="result" type="PhysicsServer2DExtensionRayResult*" />
+ <description>
+ </description>
+ </method>
+ <method name="_intersect_shape" qualifiers="virtual">
+ <return type="int" />
+ <param index="0" name="shape_rid" type="RID" />
+ <param index="1" name="transform" type="Transform2D" />
+ <param index="2" name="motion" type="Vector2" />
+ <param index="3" name="margin" type="float" />
+ <param index="4" name="collision_mask" type="int" />
+ <param index="5" name="collide_with_bodies" type="bool" />
+ <param index="6" name="collide_with_areas" type="bool" />
+ <param index="7" name="result" type="PhysicsServer2DExtensionShapeResult*" />
+ <param index="8" name="max_results" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_rest_info" qualifiers="virtual">
+ <return type="bool" />
+ <param index="0" name="shape_rid" type="RID" />
+ <param index="1" name="transform" type="Transform2D" />
+ <param index="2" name="motion" type="Vector2" />
+ <param index="3" name="margin" type="float" />
+ <param index="4" name="collision_mask" type="int" />
+ <param index="5" name="collide_with_bodies" type="bool" />
+ <param index="6" name="collide_with_areas" type="bool" />
+ <param index="7" name="rest_info" type="PhysicsServer2DExtensionShapeRestInfo*" />
+ <description>
+ </description>
+ </method>
+ </methods>
+</class>
diff --git a/doc/classes/PhysicsServer2D.xml b/doc/classes/PhysicsServer2D.xml
index 5ae7423a71..4b588033c0 100644
--- a/doc/classes/PhysicsServer2D.xml
+++ b/doc/classes/PhysicsServer2D.xml
@@ -1058,6 +1058,8 @@
</constant>
<constant name="JOINT_PARAM_MAX_FORCE" value="2" enum="JointParam">
</constant>
+ <constant name="PIN_JOINT_SOFTNESS" value="0" enum="PinJointParam">
+ </constant>
<constant name="DAMPED_SPRING_REST_LENGTH" value="0" enum="DampedSpringParam">
Sets the resting length of the spring joint. The joint will always try to go to back this length when pulled apart.
</constant>
diff --git a/doc/classes/PhysicsServer2DExtension.xml b/doc/classes/PhysicsServer2DExtension.xml
new file mode 100644
index 0000000000..a63aa8a30f
--- /dev/null
+++ b/doc/classes/PhysicsServer2DExtension.xml
@@ -0,0 +1,925 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="PhysicsServer2DExtension" inherits="PhysicsServer2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="_area_add_shape" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="shape" type="RID" />
+ <param index="2" name="transform" type="Transform2D" />
+ <param index="3" name="disabled" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_attach_canvas_instance_id" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="id" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_attach_object_instance_id" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="id" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_clear_shapes" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="area" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_canvas_instance_id" qualifiers="virtual const">
+ <return type="int" />
+ <param index="0" name="area" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_object_instance_id" qualifiers="virtual const">
+ <return type="int" />
+ <param index="0" name="area" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_param" qualifiers="virtual const">
+ <return type="Variant" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="param" type="int" enum="PhysicsServer2D.AreaParameter" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_shape" qualifiers="virtual const">
+ <return type="RID" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_shape_count" qualifiers="virtual const">
+ <return type="int" />
+ <param index="0" name="area" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_shape_transform" qualifiers="virtual const">
+ <return type="Transform2D" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_space" qualifiers="virtual const">
+ <return type="RID" />
+ <param index="0" name="area" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_transform" qualifiers="virtual const">
+ <return type="Transform2D" />
+ <param index="0" name="area" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_remove_shape" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_area_monitor_callback" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="callback" type="Callable" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_collision_layer" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="layer" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_collision_mask" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="mask" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_monitor_callback" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="callback" type="Callable" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_monitorable" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="monitorable" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_param" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="param" type="int" enum="PhysicsServer2D.AreaParameter" />
+ <param index="2" name="value" type="Variant" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_pickable" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="pickable" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_shape" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="shape_idx" type="int" />
+ <param index="2" name="shape" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_shape_disabled" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="shape_idx" type="int" />
+ <param index="2" name="disabled" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_shape_transform" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="shape_idx" type="int" />
+ <param index="2" name="transform" type="Transform2D" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_space" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="space" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_transform" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="area" type="RID" />
+ <param index="1" name="transform" type="Transform2D" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_add_collision_exception" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="excepted_body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_add_constant_central_force" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="force" type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_add_constant_force" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="force" type="Vector2" />
+ <param index="2" name="position" type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_add_constant_torque" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="torque" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_add_shape" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="shape" type="RID" />
+ <param index="2" name="transform" type="Transform2D" />
+ <param index="3" name="disabled" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_apply_central_force" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="force" type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_apply_central_impulse" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="impulse" type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_apply_force" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="force" type="Vector2" />
+ <param index="2" name="position" type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_apply_impulse" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="impulse" type="Vector2" />
+ <param index="2" name="position" type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_apply_torque" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="torque" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_apply_torque_impulse" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="impulse" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_attach_canvas_instance_id" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="id" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_attach_object_instance_id" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="id" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_clear_shapes" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_collide_shape" qualifiers="virtual">
+ <return type="bool" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="body_shape" type="int" />
+ <param index="2" name="shape" type="RID" />
+ <param index="3" name="shape_xform" type="Transform2D" />
+ <param index="4" name="motion" type="Vector2" />
+ <param index="5" name="results" type="void*" />
+ <param index="6" name="result_max" type="int" />
+ <param index="7" name="result_count" type="int32_t*" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_canvas_instance_id" qualifiers="virtual const">
+ <return type="int" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_collision_exceptions" qualifiers="virtual const">
+ <return type="RID[]" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_collision_layer" qualifiers="virtual const">
+ <return type="int" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_collision_mask" qualifiers="virtual const">
+ <return type="int" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_collision_priority" qualifiers="virtual const">
+ <return type="float" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_constant_force" qualifiers="virtual const">
+ <return type="Vector2" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_constant_torque" qualifiers="virtual const">
+ <return type="float" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_contacts_reported_depth_threshold" qualifiers="virtual const">
+ <return type="float" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_continuous_collision_detection_mode" qualifiers="virtual const">
+ <return type="int" enum="PhysicsServer2D.CCDMode" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_direct_state" qualifiers="virtual">
+ <return type="PhysicsDirectBodyState2D" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_max_contacts_reported" qualifiers="virtual const">
+ <return type="int" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_mode" qualifiers="virtual const">
+ <return type="int" enum="PhysicsServer2D.BodyMode" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_object_instance_id" qualifiers="virtual const">
+ <return type="int" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_param" qualifiers="virtual const">
+ <return type="Variant" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="param" type="int" enum="PhysicsServer2D.BodyParameter" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_shape" qualifiers="virtual const">
+ <return type="RID" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_shape_count" qualifiers="virtual const">
+ <return type="int" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_shape_transform" qualifiers="virtual const">
+ <return type="Transform2D" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_space" qualifiers="virtual const">
+ <return type="RID" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_state" qualifiers="virtual const">
+ <return type="Variant" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="state" type="int" enum="PhysicsServer2D.BodyState" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_is_omitting_force_integration" qualifiers="virtual const">
+ <return type="bool" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_remove_collision_exception" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="excepted_body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_remove_shape" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_reset_mass_properties" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_axis_velocity" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="axis_velocity" type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_collision_layer" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="layer" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_collision_mask" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="mask" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_collision_priority" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="priority" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_constant_force" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="force" type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_constant_torque" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="torque" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_contacts_reported_depth_threshold" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="threshold" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_continuous_collision_detection_mode" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="mode" type="int" enum="PhysicsServer2D.CCDMode" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_force_integration_callback" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="callable" type="Callable" />
+ <param index="2" name="userdata" type="Variant" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_max_contacts_reported" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="amount" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_mode" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="mode" type="int" enum="PhysicsServer2D.BodyMode" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_omit_force_integration" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="enable" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_param" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="param" type="int" enum="PhysicsServer2D.BodyParameter" />
+ <param index="2" name="value" type="Variant" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_pickable" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="pickable" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_shape" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="shape_idx" type="int" />
+ <param index="2" name="shape" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_shape_as_one_way_collision" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="shape_idx" type="int" />
+ <param index="2" name="enable" type="bool" />
+ <param index="3" name="margin" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_shape_disabled" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="shape_idx" type="int" />
+ <param index="2" name="disabled" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_shape_transform" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="shape_idx" type="int" />
+ <param index="2" name="transform" type="Transform2D" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_space" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="space" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_state" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="state" type="int" enum="PhysicsServer2D.BodyState" />
+ <param index="2" name="value" type="Variant" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_state_sync_callback" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="callback" type="PhysicsServer2DExtensionStateCallback*" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_test_motion" qualifiers="virtual const">
+ <return type="bool" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="from" type="Transform2D" />
+ <param index="2" name="motion" type="Vector2" />
+ <param index="3" name="margin" type="float" />
+ <param index="4" name="collide_separation_ray" type="bool" />
+ <param index="5" name="recovery_as_collision" type="bool" />
+ <param index="6" name="result" type="PhysicsServer2DExtensionMotionResult*" />
+ <description>
+ </description>
+ </method>
+ <method name="_capsule_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_circle_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_concave_polygon_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_convex_polygon_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_damped_spring_joint_get_param" qualifiers="virtual const">
+ <return type="float" />
+ <param index="0" name="joint" type="RID" />
+ <param index="1" name="param" type="int" enum="PhysicsServer2D.DampedSpringParam" />
+ <description>
+ </description>
+ </method>
+ <method name="_damped_spring_joint_set_param" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="joint" type="RID" />
+ <param index="1" name="param" type="int" enum="PhysicsServer2D.DampedSpringParam" />
+ <param index="2" name="value" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_end_sync" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_finish" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_flush_queries" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_free_rid" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="rid" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_process_info" qualifiers="virtual">
+ <return type="int" />
+ <param index="0" name="process_info" type="int" enum="PhysicsServer2D.ProcessInfo" />
+ <description>
+ </description>
+ </method>
+ <method name="_init" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_is_flushing_queries" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_clear" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="joint" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_disable_collisions_between_bodies" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="joint" type="RID" />
+ <param index="1" name="disable" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_get_param" qualifiers="virtual const">
+ <return type="float" />
+ <param index="0" name="joint" type="RID" />
+ <param index="1" name="param" type="int" enum="PhysicsServer2D.JointParam" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_get_type" qualifiers="virtual const">
+ <return type="int" enum="PhysicsServer2D.JointType" />
+ <param index="0" name="joint" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_is_disabled_collisions_between_bodies" qualifiers="virtual const">
+ <return type="bool" />
+ <param index="0" name="joint" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_make_damped_spring" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="joint" type="RID" />
+ <param index="1" name="anchor_a" type="Vector2" />
+ <param index="2" name="anchor_b" type="Vector2" />
+ <param index="3" name="body_a" type="RID" />
+ <param index="4" name="body_b" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_make_groove" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="joint" type="RID" />
+ <param index="1" name="a_groove1" type="Vector2" />
+ <param index="2" name="a_groove2" type="Vector2" />
+ <param index="3" name="b_anchor" type="Vector2" />
+ <param index="4" name="body_a" type="RID" />
+ <param index="5" name="body_b" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_make_pin" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="joint" type="RID" />
+ <param index="1" name="anchor" type="Vector2" />
+ <param index="2" name="body_a" type="RID" />
+ <param index="3" name="body_b" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_set_param" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="joint" type="RID" />
+ <param index="1" name="param" type="int" enum="PhysicsServer2D.JointParam" />
+ <param index="2" name="value" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_pin_joint_get_param" qualifiers="virtual const">
+ <return type="float" />
+ <param index="0" name="joint" type="RID" />
+ <param index="1" name="param" type="int" enum="PhysicsServer2D.PinJointParam" />
+ <description>
+ </description>
+ </method>
+ <method name="_pin_joint_set_param" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="joint" type="RID" />
+ <param index="1" name="param" type="int" enum="PhysicsServer2D.PinJointParam" />
+ <param index="2" name="value" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_rectangle_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_segment_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_separation_ray_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_active" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="active" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_shape_collide" qualifiers="virtual">
+ <return type="bool" />
+ <param index="0" name="shape_A" type="RID" />
+ <param index="1" name="xform_A" type="Transform2D" />
+ <param index="2" name="motion_A" type="Vector2" />
+ <param index="3" name="shape_B" type="RID" />
+ <param index="4" name="xform_B" type="Transform2D" />
+ <param index="5" name="motion_B" type="Vector2" />
+ <param index="6" name="results" type="void*" />
+ <param index="7" name="result_max" type="int" />
+ <param index="8" name="result_count" type="int32_t*" />
+ <description>
+ </description>
+ </method>
+ <method name="_shape_get_custom_solver_bias" qualifiers="virtual const">
+ <return type="float" />
+ <param index="0" name="shape" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_shape_get_data" qualifiers="virtual const">
+ <return type="Variant" />
+ <param index="0" name="shape" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_shape_get_type" qualifiers="virtual const">
+ <return type="int" enum="PhysicsServer2D.ShapeType" />
+ <param index="0" name="shape" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_shape_set_custom_solver_bias" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="shape" type="RID" />
+ <param index="1" name="bias" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_shape_set_data" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="shape" type="RID" />
+ <param index="1" name="data" type="Variant" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_get_contact_count" qualifiers="virtual const">
+ <return type="int" />
+ <param index="0" name="space" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_get_contacts" qualifiers="virtual const">
+ <return type="PackedVector2Array" />
+ <param index="0" name="space" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_get_direct_state" qualifiers="virtual">
+ <return type="PhysicsDirectSpaceState2D" />
+ <param index="0" name="space" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_get_param" qualifiers="virtual const">
+ <return type="float" />
+ <param index="0" name="space" type="RID" />
+ <param index="1" name="param" type="int" enum="PhysicsServer2D.SpaceParameter" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_is_active" qualifiers="virtual const">
+ <return type="bool" />
+ <param index="0" name="space" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_set_active" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="space" type="RID" />
+ <param index="1" name="active" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_set_debug_contacts" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="space" type="RID" />
+ <param index="1" name="max_contacts" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_set_param" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="space" type="RID" />
+ <param index="1" name="param" type="int" enum="PhysicsServer2D.SpaceParameter" />
+ <param index="2" name="value" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_step" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="step" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_sync" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_world_boundary_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ </methods>
+</class>
diff --git a/doc/classes/PhysicsServer2DManager.xml b/doc/classes/PhysicsServer2DManager.xml
new file mode 100644
index 0000000000..328ac93ce3
--- /dev/null
+++ b/doc/classes/PhysicsServer2DManager.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="PhysicsServer2DManager" inherits="Object" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ Manager for 2D physics server implementations.
+ </brief_description>
+ <description>
+ [PhysicsServer2DManager] is the API for registering [PhysicsServer2D] implementations, and for setting the default implementation.
+ [b]Note:[/b] It is not possible to switch physics servers at runtime. This class is only used on startup at the server initialization level, by Godot itself and possibly by GDExtensions.
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="register_server">
+ <return type="void" />
+ <param index="0" name="name" type="String" />
+ <param index="1" name="create_callback" type="Callable" />
+ <description>
+ Register a [PhysicsServer2D] implementation by passing a [param name] and a [Callable] that returns a [PhysicsServer2D] object.
+ </description>
+ </method>
+ <method name="set_default_server">
+ <return type="void" />
+ <param index="0" name="name" type="String" />
+ <param index="1" name="priority" type="int" />
+ <description>
+ Set the default [PhysicsServer2D] implementation to the one identified by [param name], if [param priority] is greater than the priority of the current default implementation.
+ </description>
+ </method>
+ </methods>
+</class>
diff --git a/doc/classes/PhysicsServer3DExtension.xml b/doc/classes/PhysicsServer3DExtension.xml
index 200065de54..f42276ddd8 100644
--- a/doc/classes/PhysicsServer3DExtension.xml
+++ b/doc/classes/PhysicsServer3DExtension.xml
@@ -274,6 +274,12 @@
<description>
</description>
</method>
+ <method name="_body_get_collision_exceptions" qualifiers="virtual const">
+ <return type="RID[]" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
<method name="_body_get_collision_layer" qualifiers="virtual const">
<return type="int" />
<param index="0" name="body" type="RID" />
@@ -304,6 +310,12 @@
<description>
</description>
</method>
+ <method name="_body_get_contacts_reported_depth_threshold" qualifiers="virtual const">
+ <return type="float" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
<method name="_body_get_direct_state" qualifiers="virtual">
<return type="PhysicsDirectBodyState3D" />
<param index="0" name="body" type="RID" />
@@ -368,6 +380,12 @@
<description>
</description>
</method>
+ <method name="_body_get_user_flags" qualifiers="virtual const">
+ <return type="int" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
<method name="_body_is_axis_locked" qualifiers="virtual const">
<return type="bool" />
<param index="0" name="body" type="RID" />
@@ -457,6 +475,13 @@
<description>
</description>
</method>
+ <method name="_body_set_contacts_reported_depth_threshold" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="threshold" type="float" />
+ <description>
+ </description>
+ </method>
<method name="_body_set_enable_continuous_collision_detection" qualifiers="virtual">
<return type="void" />
<param index="0" name="body" type="RID" />
@@ -547,6 +572,20 @@
<description>
</description>
</method>
+ <method name="_body_set_state_sync_callback" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="callback" type="PhysicsServer3DExtensionStateCallback*" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_user_flags" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="flags" type="int" />
+ <description>
+ </description>
+ </method>
<method name="_body_test_motion" qualifiers="virtual const">
<return type="bool" />
<param index="0" name="body" type="RID" />
@@ -604,6 +643,21 @@
<description>
</description>
</method>
+ <method name="_end_sync" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_finish" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_flush_queries" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
<method name="_free_rid" qualifiers="virtual">
<return type="void" />
<param index="0" name="rid" type="RID" />
@@ -685,6 +739,16 @@
<description>
</description>
</method>
+ <method name="_init" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_is_flushing_queries" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
<method name="_joint_clear" qualifiers="virtual">
<return type="void" />
<param index="0" name="joint" type="RID" />
@@ -738,6 +802,18 @@
<description>
</description>
</method>
+ <method name="_joint_make_hinge_simple" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="joint" type="RID" />
+ <param index="1" name="body_A" type="RID" />
+ <param index="2" name="pivot_A" type="Vector3" />
+ <param index="3" name="axis_A" type="Vector3" />
+ <param index="4" name="body_B" type="RID" />
+ <param index="5" name="pivot_B" type="Vector3" />
+ <param index="6" name="axis_B" type="Vector3" />
+ <description>
+ </description>
+ </method>
<method name="_joint_make_pin" qualifiers="virtual">
<return type="void" />
<param index="0" name="joint" type="RID" />
@@ -817,18 +893,37 @@
<description>
</description>
</method>
+ <method name="_shape_get_custom_solver_bias" qualifiers="virtual const">
+ <return type="float" />
+ <param index="0" name="shape" type="RID" />
+ <description>
+ </description>
+ </method>
<method name="_shape_get_data" qualifiers="virtual const">
<return type="Variant" />
<param index="0" name="shape" type="RID" />
<description>
</description>
</method>
+ <method name="_shape_get_margin" qualifiers="virtual const">
+ <return type="float" />
+ <param index="0" name="shape" type="RID" />
+ <description>
+ </description>
+ </method>
<method name="_shape_get_type" qualifiers="virtual const">
<return type="int" enum="PhysicsServer3D.ShapeType" />
<param index="0" name="shape" type="RID" />
<description>
</description>
</method>
+ <method name="_shape_set_custom_solver_bias" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="shape" type="RID" />
+ <param index="1" name="bias" type="float" />
+ <description>
+ </description>
+ </method>
<method name="_shape_set_data" qualifiers="virtual">
<return type="void" />
<param index="0" name="shape" type="RID" />
@@ -836,6 +931,13 @@
<description>
</description>
</method>
+ <method name="_shape_set_margin" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="shape" type="RID" />
+ <param index="1" name="margin" type="float" />
+ <description>
+ </description>
+ </method>
<method name="_slider_joint_get_param" qualifiers="virtual const">
<return type="float" />
<param index="0" name="joint" type="RID" />
@@ -851,17 +953,250 @@
<description>
</description>
</method>
+ <method name="_soft_body_add_collision_exception" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="body_b" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
<method name="_soft_body_get_bounds" qualifiers="virtual const">
<return type="AABB" />
<param index="0" name="body" type="RID" />
<description>
</description>
</method>
+ <method name="_soft_body_get_collision_exceptions" qualifiers="virtual const">
+ <return type="RID[]" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_get_collision_layer" qualifiers="virtual const">
+ <return type="int" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_get_collision_mask" qualifiers="virtual const">
+ <return type="int" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_get_damping_coefficient" qualifiers="virtual const">
+ <return type="float" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_get_drag_coefficient" qualifiers="virtual const">
+ <return type="float" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_get_linear_stiffness" qualifiers="virtual const">
+ <return type="float" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_get_point_global_position" qualifiers="virtual const">
+ <return type="Vector3" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="point_index" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_get_pressure_coefficient" qualifiers="virtual const">
+ <return type="float" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_get_simulation_precision" qualifiers="virtual const">
+ <return type="int" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_get_space" qualifiers="virtual const">
+ <return type="RID" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_get_state" qualifiers="virtual const">
+ <return type="Variant" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="state" type="int" enum="PhysicsServer3D.BodyState" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_get_total_mass" qualifiers="virtual const">
+ <return type="float" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_is_point_pinned" qualifiers="virtual const">
+ <return type="bool" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="point_index" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_move_point" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="point_index" type="int" />
+ <param index="2" name="global_position" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_pin_point" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="point_index" type="int" />
+ <param index="2" name="pin" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_remove_all_pinned_points" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_remove_collision_exception" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="body_b" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_set_collision_layer" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="layer" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_set_collision_mask" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="mask" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_set_damping_coefficient" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="damping_coefficient" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_set_drag_coefficient" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="drag_coefficient" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_set_linear_stiffness" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="linear_stiffness" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_set_mesh" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="mesh" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_set_pressure_coefficient" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="pressure_coefficient" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_set_ray_pickable" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="enable" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_set_simulation_precision" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="simulation_precision" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_set_space" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="space" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_set_state" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="state" type="int" enum="PhysicsServer3D.BodyState" />
+ <param index="2" name="variant" type="Variant" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_set_total_mass" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="total_mass" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_set_transform" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="transform" type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_update_rendering_server" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="body" type="RID" />
+ <param index="1" name="rendering_server_handler" type="PhysicsServer3DRenderingServerHandler" />
+ <description>
+ </description>
+ </method>
<method name="_space_create" qualifiers="virtual">
<return type="RID" />
<description>
</description>
</method>
+ <method name="_space_get_contact_count" qualifiers="virtual const">
+ <return type="int" />
+ <param index="0" name="space" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_get_contacts" qualifiers="virtual const">
+ <return type="PackedVector3Array" />
+ <param index="0" name="space" type="RID" />
+ <description>
+ </description>
+ </method>
<method name="_space_get_direct_state" qualifiers="virtual">
<return type="PhysicsDirectSpaceState3D" />
<param index="0" name="space" type="RID" />
@@ -888,6 +1223,13 @@
<description>
</description>
</method>
+ <method name="_space_set_debug_contacts" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="space" type="RID" />
+ <param index="1" name="max_contacts" type="int" />
+ <description>
+ </description>
+ </method>
<method name="_space_set_param" qualifiers="virtual">
<return type="void" />
<param index="0" name="space" type="RID" />
@@ -901,6 +1243,17 @@
<description>
</description>
</method>
+ <method name="_step" qualifiers="virtual">
+ <return type="void" />
+ <param index="0" name="step" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_sync" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
<method name="_world_boundary_shape_create" qualifiers="virtual">
<return type="RID" />
<description>
diff --git a/doc/classes/PhysicsServer3DManager.xml b/doc/classes/PhysicsServer3DManager.xml
new file mode 100644
index 0000000000..3ec03fede4
--- /dev/null
+++ b/doc/classes/PhysicsServer3DManager.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="PhysicsServer3DManager" inherits="Object" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ Manager for 3D physics server implementations.
+ </brief_description>
+ <description>
+ [PhysicsServer3DManager] is the API for registering [PhysicsServer3D] implementations, and for setting the default implementation.
+ [b]Note:[/b] It is not possible to switch physics servers at runtime. This class is only used on startup at the server initialization level, by Godot itself and possibly by GDExtensions.
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="register_server">
+ <return type="void" />
+ <param index="0" name="name" type="String" />
+ <param index="1" name="create_callback" type="Callable" />
+ <description>
+ Register a [PhysicsServer3D] implementation by passing a [param name] and a [Callable] that returns a [PhysicsServer2D] object.
+ </description>
+ </method>
+ <method name="set_default_server">
+ <return type="void" />
+ <param index="0" name="name" type="String" />
+ <param index="1" name="priority" type="int" />
+ <description>
+ Set the default [PhysicsServer3D] implementation to the one identified by [param name], if [param priority] is greater than the priority of the current default implementation.
+ </description>
+ </method>
+ </methods>
+</class>
diff --git a/doc/classes/PopupMenu.xml b/doc/classes/PopupMenu.xml
index 00b725d5d7..23287f4de1 100644
--- a/doc/classes/PopupMenu.xml
+++ b/doc/classes/PopupMenu.xml
@@ -182,7 +182,7 @@
Removes all items from the [PopupMenu].
</description>
</method>
- <method name="get_current_index" qualifiers="const">
+ <method name="get_focused_item" qualifiers="const">
<return type="int" />
<description>
Returns the index of the currently focused item. Returns [code]-1[/code] if no item is focused.
@@ -332,7 +332,7 @@
Moves the scroll view to make the item at the given [param index] visible.
</description>
</method>
- <method name="set_current_index">
+ <method name="set_focused_item">
<return type="void" />
<param index="0" name="index" type="int" />
<description>
diff --git a/doc/classes/ProgressBar.xml b/doc/classes/ProgressBar.xml
index 8a781c51fb..510b8d5bd1 100644
--- a/doc/classes/ProgressBar.xml
+++ b/doc/classes/ProgressBar.xml
@@ -12,7 +12,7 @@
<member name="fill_mode" type="int" setter="set_fill_mode" getter="get_fill_mode" default="0">
The fill direction. See [enum FillMode] for possible values.
</member>
- <member name="percent_visible" type="bool" setter="set_percent_visible" getter="is_percent_visible" default="true">
+ <member name="show_percentage" type="bool" setter="set_show_percentage" getter="is_percentage_shown" default="true">
If [code]true[/code], the fill percentage is displayed on the bar.
</member>
</members>
@@ -44,15 +44,15 @@
The size of the text outline.
</theme_item>
<theme_item name="font" data_type="font" type="Font">
- Font used to draw the fill percentage if [member percent_visible] is [code]true[/code].
+ Font used to draw the fill percentage if [member show_percentage] is [code]true[/code].
</theme_item>
<theme_item name="font_size" data_type="font_size" type="int">
- Font size used to draw the fill percentage if [member percent_visible] is [code]true[/code].
+ Font size used to draw the fill percentage if [member show_percentage] is [code]true[/code].
</theme_item>
- <theme_item name="bg" data_type="style" type="StyleBox">
+ <theme_item name="background" data_type="style" type="StyleBox">
The style of the background.
</theme_item>
- <theme_item name="fg" data_type="style" type="StyleBox">
+ <theme_item name="fill" data_type="style" type="StyleBox">
The style of the progress (i.e. the part that fills the bar).
</theme_item>
</theme_items>
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index 47837cd9e1..ffd3dbaf80 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -477,9 +477,6 @@
<member name="debug/shapes/collision/shape_color" type="Color" setter="" getter="" default="Color(0, 0.6, 0.7, 0.42)">
Color of the collision shapes, visible when "Visible Collision Shapes" is enabled in the Debug menu.
</member>
- <member name="debug/shapes/navigation/disabled_geometry_color" type="Color" setter="" getter="" default="Color(1, 0.7, 0.1, 0.4)">
- Color of the disabled navigation geometry, visible when "Visible Navigation" is enabled in the Debug menu.
- </member>
<member name="debug/shapes/navigation/edge_connection_color" type="Color" setter="" getter="" default="Color(1, 0, 1, 1)">
Color to display edge connections between navigation regions, visible when "Visible Navigation" is enabled in the Debug menu.
</member>
@@ -504,9 +501,6 @@
<member name="debug/shapes/navigation/enable_link_connections_xray" type="bool" setter="" getter="" default="true">
If enabled, displays navigation link connections through geometry when "Visible Navigation" is enabled in the Debug menu.
</member>
- <member name="debug/shapes/navigation/geometry_color" type="Color" setter="" getter="" default="Color(0.1, 1, 0.7, 0.4)">
- Color of the navigation geometry, visible when "Visible Navigation" is enabled in the Debug menu.
- </member>
<member name="debug/shapes/navigation/geometry_edge_color" type="Color" setter="" getter="" default="Color(0.5, 1, 1, 1)">
Color to display enabled navigation mesh polygon edges, visible when "Visible Navigation" is enabled in the Debug menu.
</member>
@@ -557,6 +551,9 @@
<member name="display/window/ios/hide_home_indicator" type="bool" setter="" getter="" default="true">
If [code]true[/code], the home indicator is hidden automatically. This only affects iOS devices without a physical home button.
</member>
+ <member name="display/window/per_pixel_transparency/allowed" type="bool" setter="" getter="" default="false">
+ If [code]true[/code], allows per-pixel transparency for the window background. This affects performance, so leave it on [code]false[/code] unless you need it.
+ </member>
<member name="display/window/size/always_on_top" type="bool" setter="" getter="" default="false">
Forces the main window to be always on top.
[b]Note:[/b] This setting is ignored on iOS, Android, and Web.
@@ -643,10 +640,22 @@
If [code]true[/code], Blender 3D scene files with the [code].blend[/code] extension will be imported by converting them to glTF 2.0.
This requires configuring a path to a Blender executable in the editor settings at [code]filesystem/import/blender/blender3_path[/code]. Blender 3.0 or later is required.
</member>
+ <member name="filesystem/import/blender/enabled.android" type="bool" setter="" getter="" default="false">
+ Override for [member filesystem/import/blender/enabled] on Android where Blender can't easily be accessed from Godot.
+ </member>
+ <member name="filesystem/import/blender/enabled.web" type="bool" setter="" getter="" default="false">
+ Override for [member filesystem/import/blender/enabled] on the Web where Blender can't easily be accessed from Godot.
+ </member>
<member name="filesystem/import/fbx/enabled" type="bool" setter="" getter="" default="true">
If [code]true[/code], Autodesk FBX 3D scene files with the [code].fbx[/code] extension will be imported by converting them to glTF 2.0.
This requires configuring a path to a FBX2glTF executable in the editor settings at [code]filesystem/import/fbx/fbx2gltf_path[/code].
</member>
+ <member name="filesystem/import/fbx/enabled.android" type="bool" setter="" getter="" default="false">
+ Override for [member filesystem/import/fbx/enabled] on Android where FBX2glTF can't easily be accessed from Godot.
+ </member>
+ <member name="filesystem/import/fbx/enabled.web" type="bool" setter="" getter="" default="false">
+ Override for [member filesystem/import/fbx/enabled] on the Web where FBX2glTF can't easily be accessed from Godot.
+ </member>
<member name="gui/common/default_scroll_deadzone" type="int" setter="" getter="" default="0">
Default value for [member ScrollContainer.scroll_deadzone], which will be used for all [ScrollContainer]s unless overridden.
</member>
@@ -1491,8 +1500,8 @@
<member name="network/remote_fs/page_size" type="int" setter="" getter="" default="65536">
Page size used by remote filesystem (in bytes).
</member>
- <member name="network/ssl/certificate_bundle_override" type="String" setter="" getter="" default="&quot;&quot;">
- The CA certificates bundle to use for SSL connections. If this is set to a non-empty value, this will [i]override[/i] Godot's default [url=https://github.com/godotengine/godot/blob/master/thirdparty/certs/ca-certificates.crt]Mozilla certificate bundle[/url]. If left empty, the default certificate bundle will be used.
+ <member name="network/tls/certificate_bundle_override" type="String" setter="" getter="" default="&quot;&quot;">
+ The CA certificates bundle to use for TLS connections. If this is set to a non-empty value, this will [i]override[/i] Godot's default [url=https://github.com/godotengine/godot/blob/master/thirdparty/certs/ca-certificates.crt]Mozilla certificate bundle[/url]. If left empty, the default certificate bundle will be used.
If in doubt, leave this setting empty.
</member>
<member name="physics/2d/default_angular_damp" type="float" setter="" getter="" default="1.0">
@@ -1773,7 +1782,7 @@
Enables filtering of the volumetric fog effect prior to integration. This substantially blurs the fog which reduces fine details but also smooths out harsh edges and aliasing artifacts. Disable when more detail is required.
</member>
<member name="rendering/environment/volumetric_fog/volume_depth" type="int" setter="" getter="" default="64">
- Number of slices to use along the depth of the froxel buffer for volumetric fog. A lower number will be more efficient but may result in artifacts appearing during camera movement.
+ Number of slices to use along the depth of the froxel buffer for volumetric fog. A lower number will be more efficient but may result in artifacts appearing during camera movement. See also [member Environment.volumetric_fog_length].
</member>
<member name="rendering/environment/volumetric_fog/volume_size" type="int" setter="" getter="" default="64">
Base size used to determine size of froxel buffer in the camera X-axis and Y-axis. The final size is scaled by the aspect ratio of the screen, so actual values may differ from what is set. Set a larger size for more detailed fog, set a smaller size for better performance.
diff --git a/doc/classes/Rect2.xml b/doc/classes/Rect2.xml
index 7132f4f0b5..ac012e9604 100644
--- a/doc/classes/Rect2.xml
+++ b/doc/classes/Rect2.xml
@@ -93,7 +93,7 @@
<method name="get_area" qualifiers="const">
<return type="float" />
<description>
- Returns the area of the [Rect2]. See also [method has_no_area].
+ Returns the area of the [Rect2]. See also [method has_area].
</description>
</method>
<method name="get_center" qualifiers="const">
@@ -127,11 +127,10 @@
Returns a copy of the [Rect2] grown by the specified [param amount] on the specified [enum Side].
</description>
</method>
- <method name="has_no_area" qualifiers="const">
+ <method name="has_area" qualifiers="const">
<return type="bool" />
<description>
- Returns [code]true[/code] if the [Rect2] is flat or empty, [code]false[/code] otherwise. See also [method get_area].
- [b]Note:[/b] If the [Rect2] has a negative size and is not flat or empty, [method has_no_area] will return [code]true[/code].
+ Returns [code]true[/code] if the [Rect2] has area, and [code]false[/code] if the [Rect2] is linear, empty, or has a negative [member size]. See also [method get_area].
</description>
</method>
<method name="has_point" qualifiers="const">
diff --git a/doc/classes/Rect2i.xml b/doc/classes/Rect2i.xml
index d5d68bde31..6d4c113609 100644
--- a/doc/classes/Rect2i.xml
+++ b/doc/classes/Rect2i.xml
@@ -90,7 +90,7 @@
<method name="get_area" qualifiers="const">
<return type="int" />
<description>
- Returns the area of the [Rect2i]. See also [method has_no_area].
+ Returns the area of the [Rect2i]. See also [method has_area].
</description>
</method>
<method name="get_center" qualifiers="const">
@@ -125,11 +125,10 @@
Returns a copy of the [Rect2i] grown by the specified [param amount] on the specified [enum Side].
</description>
</method>
- <method name="has_no_area" qualifiers="const">
+ <method name="has_area" qualifiers="const">
<return type="bool" />
<description>
- Returns [code]true[/code] if the [Rect2i] is flat or empty, [code]false[/code] otherwise. See also [method get_area].
- [b]Note:[/b] If the [Rect2i] has a negative size and is not flat or empty, [method has_no_area] will return [code]true[/code].
+ Returns [code]true[/code] if the [Rect2i] has area, and [code]false[/code] if the [Rect2i] is linear, empty, or has a negative [member size]. See also [method get_area].
</description>
</method>
<method name="has_point" qualifiers="const">
diff --git a/doc/classes/SceneTree.xml b/doc/classes/SceneTree.xml
index 417703ff01..070b98f21d 100644
--- a/doc/classes/SceneTree.xml
+++ b/doc/classes/SceneTree.xml
@@ -36,30 +36,35 @@
[b]Note:[/b] Group call flags are used to control the method calling behavior. By default, methods will be called immediately in a way similar to [method call_group]. However, if the [constant GROUP_CALL_DEFERRED] flag is present in the [param flags] argument, methods will be called with a one-frame delay in a way similar to [method Object.set_deferred].
</description>
</method>
- <method name="change_scene">
+ <method name="change_scene_to_file">
<return type="int" enum="Error" />
<param index="0" name="path" type="String" />
<description>
Changes the running scene to the one at the given [param path], after loading it into a [PackedScene] and creating a new instance.
Returns [constant OK] on success, [constant ERR_CANT_OPEN] if the [param path] cannot be loaded into a [PackedScene], or [constant ERR_CANT_CREATE] if that scene cannot be instantiated.
- [b]Note:[/b] The scene change is deferred, which means that the new scene node is added on the next idle frame. You won't be able to access it immediately after the [method change_scene] call.
+ [b]Note:[/b] The scene change is deferred, which means that the new scene node is added on the next idle frame. You won't be able to access it immediately after the [method change_scene_to_file] call.
</description>
</method>
- <method name="change_scene_to">
+ <method name="change_scene_to_packed">
<return type="int" enum="Error" />
<param index="0" name="packed_scene" type="PackedScene" />
<description>
Changes the running scene to a new instance of the given [PackedScene].
Returns [constant OK] on success or [constant ERR_CANT_CREATE] if the scene cannot be instantiated.
- [b]Note:[/b] The scene change is deferred, which means that the new scene node is added on the next idle frame. You won't be able to access it immediately after the [method change_scene_to] call.
+ [b]Note:[/b] The scene change is deferred, which means that the new scene node is added on the next idle frame. You won't be able to access it immediately after the [method change_scene_to_packed] call.
</description>
</method>
<method name="create_timer">
<return type="SceneTreeTimer" />
<param index="0" name="time_sec" type="float" />
<param index="1" name="process_always" type="bool" default="true" />
+ <param index="2" name="process_in_physics" type="bool" default="false" />
+ <param index="3" name="ignore_time_scale" type="bool" default="false" />
<description>
- Returns a [SceneTreeTimer] which will [signal SceneTreeTimer.timeout] after the given time in seconds elapsed in this [SceneTree]. If [param process_always] is set to [code]false[/code], pausing the [SceneTree] will also pause the timer.
+ Returns a [SceneTreeTimer] which will [signal SceneTreeTimer.timeout] after the given time in seconds elapsed in this [SceneTree].
+ If [code]process_always[/code] is set to [code]false[/code], pausing the [SceneTree] will also pause the timer.
+ If [code]process_in_physics[/code] is set to [code]true[/code], will update the [SceneTreeTimer] during the physics frame instead of the process frame (fixed framerate processing).
+ If [code]ignore_time_scale[/code] is set to [code]true[/code], will ignore [member Engine.time_scale] and update the [SceneTreeTimer] with the actual frame delta.
Commonly used to create a one-shot delay timer as in the following example:
[codeblocks]
[gdscript]
diff --git a/doc/classes/ScrollContainer.xml b/doc/classes/ScrollContainer.xml
index de586fc3d0..f5018c25ff 100644
--- a/doc/classes/ScrollContainer.xml
+++ b/doc/classes/ScrollContainer.xml
@@ -87,7 +87,7 @@
</constant>
</constants>
<theme_items>
- <theme_item name="bg" data_type="style" type="StyleBox">
+ <theme_item name="panel" data_type="style" type="StyleBox">
The background [StyleBox] of the [ScrollContainer].
</theme_item>
</theme_items>
diff --git a/doc/classes/Skeleton3D.xml b/doc/classes/Skeleton3D.xml
index 5a0766263a..3bd0e04b92 100644
--- a/doc/classes/Skeleton3D.xml
+++ b/doc/classes/Skeleton3D.xml
@@ -32,9 +32,10 @@
Removes the global pose override on all bones in the skeleton.
</description>
</method>
- <method name="clear_bones_local_pose_override">
+ <method name="clear_bones_local_pose_override" is_deprecated="true">
<return type="void" />
<description>
+ Deprecated. Local pose overrides will be removed.
Removes the local pose override on all bones in the skeleton.
</description>
</method>
@@ -43,7 +44,7 @@
<description>
</description>
</method>
- <method name="execute_modifications">
+ <method name="execute_modifications" is_deprecated="true">
<return type="void" />
<param index="0" name="delta" type="float" />
<param index="1" name="execution_mode" type="int" />
@@ -58,7 +59,7 @@
Returns the bone index that matches [param name] as its name.
</description>
</method>
- <method name="force_update_all_bone_transforms">
+ <method name="force_update_all_bone_transforms" is_deprecated="true">
<return type="void" />
<description>
Force updates the bone transforms/poses for all bones in the skeleton.
@@ -166,7 +167,7 @@
Returns the rest transform for a bone [param bone_idx].
</description>
</method>
- <method name="get_modification_stack">
+ <method name="get_modification_stack" is_deprecated="true">
<return type="SkeletonModificationStack3D" />
<description>
Returns the modification stack attached to this skeleton, if one exists.
@@ -178,7 +179,7 @@
Returns an array with all of the bones that are parentless. Another way to look at this is that it returns the indexes of all the bones that are not dependent or modified by other bones in the Skeleton.
</description>
</method>
- <method name="global_pose_to_local_pose">
+ <method name="global_pose_to_local_pose" is_deprecated="true">
<return type="Transform3D" />
<param index="0" name="bone_idx" type="int" />
<param index="1" name="global_pose" type="Transform3D" />
@@ -187,15 +188,16 @@
This can be used to easily convert a global pose from [method get_bone_global_pose] to a global transform in [method set_bone_local_pose_override].
</description>
</method>
- <method name="global_pose_to_world_transform">
+ <method name="global_pose_to_world_transform" is_deprecated="true">
<return type="Transform3D" />
<param index="0" name="global_pose" type="Transform3D" />
<description>
+ Deprecated. Use [Node3D] apis instead.
Takes the passed-in global pose and converts it to a world transform.
This can be used to easily convert a global pose from [method get_bone_global_pose] to a global transform usable with a node's transform, like [member Node3D.global_transform] for example.
</description>
</method>
- <method name="global_pose_z_forward_to_bone_forward">
+ <method name="global_pose_z_forward_to_bone_forward" is_deprecated="true">
<return type="Basis" />
<param index="0" name="bone_idx" type="int" />
<param index="1" name="basis" type="Basis" />
@@ -211,7 +213,7 @@
Returns whether the bone pose for the bone at [param bone_idx] is enabled.
</description>
</method>
- <method name="local_pose_to_global_pose">
+ <method name="local_pose_to_global_pose" is_deprecated="true">
<return type="Transform3D" />
<param index="0" name="bone_idx" type="int" />
<param index="1" name="local_pose" type="Transform3D" />
@@ -293,16 +295,17 @@
<description>
Sets the global pose transform, [param pose], for the bone at [param bone_idx].
[param amount] is the interpolation strength that will be used when applying the pose, and [param persistent] determines if the applied pose will remain.
- [b]Note:[/b] The pose transform needs to be a global pose! Use [method world_transform_to_global_pose] to convert a world transform, like one you can get from a [Node3D], to a global pose.
+ [b]Note:[/b] The pose transform needs to be a global pose! To convert a world transform from a [Node3D] to a global bone pose, multiply the [method Transform3D.affine_inverse] of the node's [member Node3D.global_transform] by the desired world transform
</description>
</method>
- <method name="set_bone_local_pose_override">
+ <method name="set_bone_local_pose_override" is_deprecated="true">
<return type="void" />
<param index="0" name="bone_idx" type="int" />
<param index="1" name="pose" type="Transform3D" />
<param index="2" name="amount" type="float" />
<param index="3" name="persistent" type="bool" default="false" />
<description>
+ Deprecated. Local pose overrides will be removed.
Sets the local pose transform, [param pose], for the bone at [param bone_idx].
[param amount] is the interpolation strength that will be used when applying the pose, and [param persistent] determines if the applied pose will remain.
[b]Note:[/b] The pose transform needs to be a local pose! Use [method global_pose_to_local_pose] to convert a global pose to a local pose.
@@ -353,7 +356,7 @@
Sets the rest transform for bone [param bone_idx].
</description>
</method>
- <method name="set_modification_stack">
+ <method name="set_modification_stack" is_deprecated="true">
<return type="void" />
<param index="0" name="modification_stack" type="SkeletonModificationStack3D" />
<description>
@@ -367,10 +370,11 @@
Unparents the bone at [param bone_idx] and sets its rest position to that of its parent prior to being reset.
</description>
</method>
- <method name="world_transform_to_global_pose">
+ <method name="world_transform_to_global_pose" is_deprecated="true">
<return type="Transform3D" />
<param index="0" name="world_transform" type="Transform3D" />
<description>
+ Deprecated. Use [Node3D] apis instead.
Takes the passed-in global transform and converts it to a global pose.
This can be used to easily convert a global transform from [member Node3D.global_transform] to a global pose usable with [method set_bone_global_pose_override], for example.
</description>
diff --git a/doc/classes/SkeletonIK3D.xml b/doc/classes/SkeletonIK3D.xml
index 788ba3e248..1d50a97954 100644
--- a/doc/classes/SkeletonIK3D.xml
+++ b/doc/classes/SkeletonIK3D.xml
@@ -1,8 +1,29 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="SkeletonIK3D" inherits="Node" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="SkeletonIK3D" inherits="Node" is_deprecated="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
+ SkeletonIK3D is used to place the end bone of a [Skeleton3D] bone chain at a certain point in 3D by rotating all bones in the chain accordingly.
</brief_description>
<description>
+ SkeletonIK3D is used to place the end bone of a [Skeleton3D] bone chain at a certain point in 3D by rotating all bones in the chain accordingly. A typical scenario for IK in games is to place a characters feet on the ground or a characters hands on a currently hold object. SkeletonIK uses FabrikInverseKinematic internally to solve the bone chain and applies the results to the [Skeleton3D] [code]bones_global_pose_override[/code] property for all affected bones in the chain. If fully applied this overwrites any bone transform from [Animation]s or bone custom poses set by users. The applied amount can be controlled with the [code]interpolation[/code] property.
+ [codeblock]
+ # Apply IK effect automatically on every new frame (not the current)
+ skeleton_ik_node.start()
+
+ # Apply IK effect only on the current frame
+ skeleton_ik_node.start(true)
+
+ # Stop IK effect and reset bones_global_pose_override on Skeleton
+ skeleton_ik_node.stop()
+
+ # Apply full IK effect
+ skeleton_ik_node.set_interpolation(1.0)
+
+ # Apply half IK effect
+ skeleton_ik_node.set_interpolation(0.5)
+
+ # Apply zero IK effect (a value at or below 0.01 also removes bones_global_pose_override on Skeleton)
+ skeleton_ik_node.set_interpolation(0.0)
+ [/codeblock]
</description>
<tutorials>
<link title="3D Inverse Kinematics Demo">https://godotengine.org/asset-library/asset/523</link>
@@ -11,45 +32,59 @@
<method name="get_parent_skeleton" qualifiers="const">
<return type="Skeleton3D" />
<description>
+ Returns the parent [Skeleton3D] Node that was present when SkeletonIK entered the [SceneTree]. Returns null if the parent node was not a [Skeleton3D] Node when SkeletonIK3D entered the [SceneTree].
</description>
</method>
<method name="is_running">
<return type="bool" />
<description>
+ Returns [code]true[/code] if SkeletonIK is applying IK effects on continues frames to the [Skeleton3D] bones. Returns [code]false[/code] if SkeletonIK is stopped or [method start] was used with the [code]one_time[/code] parameter set to [code]true[/code].
</description>
</method>
<method name="start">
<return type="void" />
<param index="0" name="one_time" type="bool" default="false" />
<description>
+ Starts applying IK effects on each frame to the [Skeleton3D] bones but will only take effect starting on the next frame. If [code]one_time[/code] is [code]true[/code], this will take effect immediately but also reset on the next frame.
</description>
</method>
<method name="stop">
<return type="void" />
<description>
+ Stops applying IK effects on each frame to the [Skeleton3D] bones and also calls [method Skeleton3D.clear_bones_global_pose_override] to remove existing overrides on all bones.
</description>
</method>
</methods>
<members>
<member name="interpolation" type="float" setter="set_interpolation" getter="get_interpolation" default="1.0">
+ Interpolation value for how much the IK results are applied to the current skeleton bone chain. A value of [code]1.0[/code] will overwrite all skeleton bone transforms completely while a value of [code]0.0[/code] will visually disable the SkeletonIK. A value at or below [code]0.01[/code] also calls [method Skeleton3D.clear_bones_global_pose_override].
</member>
<member name="magnet" type="Vector3" setter="set_magnet_position" getter="get_magnet_position" default="Vector3(0, 0, 0)">
+ Secondary target position (first is [member target] property or [member target_node]) for the IK chain. Use magnet position (pole target) to control the bending of the IK chain. Only works if the bone chain has more than 2 bones. The middle chain bone position will be linearly interpolated with the magnet position.
</member>
<member name="max_iterations" type="int" setter="set_max_iterations" getter="get_max_iterations" default="10">
+ Number of iteration loops used by the IK solver to produce more accurate (and elegant) bone chain results.
</member>
<member name="min_distance" type="float" setter="set_min_distance" getter="get_min_distance" default="0.01">
+ The minimum distance between bone and goal target. If the distance is below this value, the IK solver stops further iterations.
</member>
<member name="override_tip_basis" type="bool" setter="set_override_tip_basis" getter="is_override_tip_basis" default="true">
+ If [code]true[/code] overwrites the rotation of the tip bone with the rotation of the [member target] (or [member target_node] if defined).
</member>
<member name="root_bone" type="StringName" setter="set_root_bone" getter="get_root_bone" default="&amp;&quot;&quot;">
+ The name of the current root bone, the first bone in the IK chain.
</member>
<member name="target" type="Transform3D" setter="set_target_transform" getter="get_target_transform" default="Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)">
+ First target of the IK chain where the tip bone is placed and, if [member override_tip_basis] is [code]true[/code], how the tip bone is rotated. If a [member target_node] path is available the nodes transform is used instead and this property is ignored.
</member>
<member name="target_node" type="NodePath" setter="set_target_node" getter="get_target_node" default="NodePath(&quot;&quot;)">
+ Target node [NodePath] for the IK chain. If available, the node's current [Transform3D] is used instead of the [member target] property.
</member>
<member name="tip_bone" type="StringName" setter="set_tip_bone" getter="get_tip_bone" default="&amp;&quot;&quot;">
+ The name of the current tip bone, the last bone in the IK chain placed at the [member target] transform (or [member target_node] if defined).
</member>
<member name="use_magnet" type="bool" setter="set_use_magnet" getter="is_using_magnet" default="false">
+ If [code]true[/code], instructs the IK solver to consider the secondary magnet target (pole target) when calculating the bone chain. Use the magnet position (pole target) to control the bending of the IK chain.
</member>
</members>
</class>
diff --git a/doc/classes/SkeletonModification2D.xml b/doc/classes/SkeletonModification2D.xml
index 46d32aef41..77aaf0213b 100644
--- a/doc/classes/SkeletonModification2D.xml
+++ b/doc/classes/SkeletonModification2D.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="SkeletonModification2D" inherits="Resource" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="SkeletonModification2D" inherits="Resource" is_experimental="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A resource that operates on [Bone2D] nodes in a [Skeleton2D].
</brief_description>
diff --git a/doc/classes/SkeletonModification2DCCDIK.xml b/doc/classes/SkeletonModification2DCCDIK.xml
index c8fee3f94d..0d80b1b914 100644
--- a/doc/classes/SkeletonModification2DCCDIK.xml
+++ b/doc/classes/SkeletonModification2DCCDIK.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="SkeletonModification2DCCDIK" inherits="SkeletonModification2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="SkeletonModification2DCCDIK" inherits="SkeletonModification2D" is_experimental="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A modification that uses CCDIK to manipulate a series of bones to reach a target in 2D.
</brief_description>
diff --git a/doc/classes/SkeletonModification2DFABRIK.xml b/doc/classes/SkeletonModification2DFABRIK.xml
index ff3a65fe1a..8d1cd4b4d4 100644
--- a/doc/classes/SkeletonModification2DFABRIK.xml
+++ b/doc/classes/SkeletonModification2DFABRIK.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="SkeletonModification2DFABRIK" inherits="SkeletonModification2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="SkeletonModification2DFABRIK" inherits="SkeletonModification2D" is_experimental="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A modification that uses FABRIK to manipulate a series of [Bone2D] nodes to reach a target.
</brief_description>
diff --git a/doc/classes/SkeletonModification2DJiggle.xml b/doc/classes/SkeletonModification2DJiggle.xml
index 7329b2d865..3321fffe1b 100644
--- a/doc/classes/SkeletonModification2DJiggle.xml
+++ b/doc/classes/SkeletonModification2DJiggle.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="SkeletonModification2DJiggle" inherits="SkeletonModification2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="SkeletonModification2DJiggle" inherits="SkeletonModification2D" is_experimental="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A modification that jiggles [Bone2D] nodes as they move towards a target.
</brief_description>
diff --git a/doc/classes/SkeletonModification2DLookAt.xml b/doc/classes/SkeletonModification2DLookAt.xml
index 4747b06056..136fed37de 100644
--- a/doc/classes/SkeletonModification2DLookAt.xml
+++ b/doc/classes/SkeletonModification2DLookAt.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="SkeletonModification2DLookAt" inherits="SkeletonModification2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="SkeletonModification2DLookAt" inherits="SkeletonModification2D" is_experimental="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A modification that rotates a [Bone2D] node to look at a target.
</brief_description>
diff --git a/doc/classes/SkeletonModification2DPhysicalBones.xml b/doc/classes/SkeletonModification2DPhysicalBones.xml
index d5f46b2ea0..209602e974 100644
--- a/doc/classes/SkeletonModification2DPhysicalBones.xml
+++ b/doc/classes/SkeletonModification2DPhysicalBones.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="SkeletonModification2DPhysicalBones" inherits="SkeletonModification2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="SkeletonModification2DPhysicalBones" inherits="SkeletonModification2D" is_experimental="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A modification that applies the transforms of [PhysicalBone2D] nodes to [Bone2D] nodes.
</brief_description>
<description>
This modification takes the transforms of [PhysicalBone2D] nodes and applies them to [Bone2D] nodes. This allows the [Bone2D] nodes to react to physics thanks to the linked [PhysicalBone2D] nodes.
+ Experimental. Physical bones may be changed in the future to perform the position update of [Bone2D] on their own.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/SkeletonModification2DStackHolder.xml b/doc/classes/SkeletonModification2DStackHolder.xml
index 791dea2fb1..85df111c0d 100644
--- a/doc/classes/SkeletonModification2DStackHolder.xml
+++ b/doc/classes/SkeletonModification2DStackHolder.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="SkeletonModification2DStackHolder" inherits="SkeletonModification2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="SkeletonModification2DStackHolder" inherits="SkeletonModification2D" is_experimental="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A modification that holds and executes a [SkeletonModificationStack2D].
</brief_description>
diff --git a/doc/classes/SkeletonModification2DTwoBoneIK.xml b/doc/classes/SkeletonModification2DTwoBoneIK.xml
index edd5431a0c..c476d71d44 100644
--- a/doc/classes/SkeletonModification2DTwoBoneIK.xml
+++ b/doc/classes/SkeletonModification2DTwoBoneIK.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="SkeletonModification2DTwoBoneIK" inherits="SkeletonModification2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="SkeletonModification2DTwoBoneIK" inherits="SkeletonModification2D" is_experimental="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A modification that rotates two bones using the law of cosigns to reach the target.
</brief_description>
diff --git a/doc/classes/SkeletonModification3D.xml b/doc/classes/SkeletonModification3D.xml
index 8457179651..25431ea96f 100644
--- a/doc/classes/SkeletonModification3D.xml
+++ b/doc/classes/SkeletonModification3D.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="SkeletonModification3D" inherits="Resource" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="SkeletonModification3D" inherits="Resource" is_deprecated="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A resource that operates on bones in a [Skeleton3D].
</brief_description>
diff --git a/doc/classes/SkeletonModification3DCCDIK.xml b/doc/classes/SkeletonModification3DCCDIK.xml
index dec0fbe99f..90b2e78449 100644
--- a/doc/classes/SkeletonModification3DCCDIK.xml
+++ b/doc/classes/SkeletonModification3DCCDIK.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="SkeletonModification3DCCDIK" inherits="SkeletonModification3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="SkeletonModification3DCCDIK" inherits="SkeletonModification3D" is_deprecated="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A modification that uses CCDIK to manipulate a series of bones to reach a target.
</brief_description>
diff --git a/doc/classes/SkeletonModification3DFABRIK.xml b/doc/classes/SkeletonModification3DFABRIK.xml
index 325cc2a12e..a2bec2b559 100644
--- a/doc/classes/SkeletonModification3DFABRIK.xml
+++ b/doc/classes/SkeletonModification3DFABRIK.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="SkeletonModification3DFABRIK" inherits="SkeletonModification3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="SkeletonModification3DFABRIK" inherits="SkeletonModification3D" is_deprecated="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A modification that uses FABRIK to manipulate a series of bones to reach a target.
</brief_description>
diff --git a/doc/classes/SkeletonModification3DJiggle.xml b/doc/classes/SkeletonModification3DJiggle.xml
index ef469d42ea..304f08bb20 100644
--- a/doc/classes/SkeletonModification3DJiggle.xml
+++ b/doc/classes/SkeletonModification3DJiggle.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="SkeletonModification3DJiggle" inherits="SkeletonModification3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="SkeletonModification3DJiggle" inherits="SkeletonModification3D" is_deprecated="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A modification that jiggles bones as they move towards a target.
</brief_description>
diff --git a/doc/classes/SkeletonModification3DLookAt.xml b/doc/classes/SkeletonModification3DLookAt.xml
index 3602cfad95..aeed953ca9 100644
--- a/doc/classes/SkeletonModification3DLookAt.xml
+++ b/doc/classes/SkeletonModification3DLookAt.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="SkeletonModification3DLookAt" inherits="SkeletonModification3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="SkeletonModification3DLookAt" inherits="SkeletonModification3D" is_deprecated="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A modification that rotates a bone to look at a target.
</brief_description>
diff --git a/doc/classes/SkeletonModification3DStackHolder.xml b/doc/classes/SkeletonModification3DStackHolder.xml
index 24240236a4..9448e2c783 100644
--- a/doc/classes/SkeletonModification3DStackHolder.xml
+++ b/doc/classes/SkeletonModification3DStackHolder.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="SkeletonModification3DStackHolder" inherits="SkeletonModification3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="SkeletonModification3DStackHolder" inherits="SkeletonModification3D" is_deprecated="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A modification that holds and executes a [SkeletonModificationStack3D].
</brief_description>
diff --git a/doc/classes/SkeletonModification3DTwoBoneIK.xml b/doc/classes/SkeletonModification3DTwoBoneIK.xml
index 6618ebbcfb..0e7ffd5c80 100644
--- a/doc/classes/SkeletonModification3DTwoBoneIK.xml
+++ b/doc/classes/SkeletonModification3DTwoBoneIK.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="SkeletonModification3DTwoBoneIK" inherits="SkeletonModification3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="SkeletonModification3DTwoBoneIK" inherits="SkeletonModification3D" is_deprecated="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A modification that moves two bones to reach the target.
</brief_description>
diff --git a/doc/classes/SkeletonModificationStack2D.xml b/doc/classes/SkeletonModificationStack2D.xml
index 950e52e622..d96833e335 100644
--- a/doc/classes/SkeletonModificationStack2D.xml
+++ b/doc/classes/SkeletonModificationStack2D.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="SkeletonModificationStack2D" inherits="Resource" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="SkeletonModificationStack2D" inherits="Resource" is_experimental="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A resource that holds a stack of [SkeletonModification2D]s.
</brief_description>
diff --git a/doc/classes/SkeletonModificationStack3D.xml b/doc/classes/SkeletonModificationStack3D.xml
index 34c7099bca..9eaeeefd8e 100644
--- a/doc/classes/SkeletonModificationStack3D.xml
+++ b/doc/classes/SkeletonModificationStack3D.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="SkeletonModificationStack3D" inherits="Resource" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="SkeletonModificationStack3D" inherits="Resource" is_deprecated="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A resource that holds a stack of [SkeletonModification3D]s.
</brief_description>
diff --git a/doc/classes/SplitContainer.xml b/doc/classes/SplitContainer.xml
index f5646e9e97..f0998deeae 100644
--- a/doc/classes/SplitContainer.xml
+++ b/doc/classes/SplitContainer.xml
@@ -55,6 +55,9 @@
<theme_item name="autohide" data_type="constant" type="int" default="1">
Boolean value. If 1 ([code]true[/code]), the grabber will hide automatically when it isn't under the cursor. If 0 ([code]false[/code]), it's always visible.
</theme_item>
+ <theme_item name="minimum_grab_thickness" data_type="constant" type="int" default="6">
+ The minimum thickness of the area users can click on to grab the splitting line. If [theme_item separation] or [theme_item h_grabber] / [theme_item v_grabber]'s thickness are too small, this ensure that the splitting line can still be dragged.
+ </theme_item>
<theme_item name="separation" data_type="constant" type="int" default="12">
The space between sides of the container.
</theme_item>
diff --git a/doc/classes/StreamPeerSSL.xml b/doc/classes/StreamPeerTLS.xml
index 9d21b91416..d1ddb3d441 100644
--- a/doc/classes/StreamPeerSSL.xml
+++ b/doc/classes/StreamPeerTLS.xml
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="StreamPeerSSL" inherits="StreamPeer" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="StreamPeerTLS" inherits="StreamPeer" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- SSL stream peer.
+ TLS stream peer.
</brief_description>
<description>
- SSL stream peer. This object can be used to connect to an SSL server or accept a single SSL client connection.
+ TLS stream peer. This object can be used to connect to an TLS server or accept a single TLS client connection.
[b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android.
</description>
<tutorials>
- <link title="SSL certificates">$DOCS_URL/tutorials/networking/ssl_certificates.html</link>
+ <link title="TLS certificates">$DOCS_URL/tutorials/networking/ssl_certificates.html</link>
</tutorials>
<methods>
<method name="accept_stream">
@@ -28,7 +28,7 @@
<param index="2" name="for_hostname" type="String" default="&quot;&quot;" />
<param index="3" name="valid_certificate" type="X509Certificate" default="null" />
<description>
- Connects to a peer using an underlying [StreamPeer] [param stream]. If [param validate_certs] is [code]true[/code], [StreamPeerSSL] will validate that the certificate presented by the peer matches the [param for_hostname].
+ Connects to a peer using an underlying [StreamPeer] [param stream]. If [param validate_certs] is [code]true[/code], [StreamPeerTLS] will validate that the certificate presented by the peer matches the [param for_hostname].
[b]Note:[/b] Specifying a custom [param valid_certificate] is not supported in Web exports due to browsers restrictions.
</description>
</method>
@@ -39,7 +39,7 @@
</description>
</method>
<method name="get_status" qualifiers="const">
- <return type="int" enum="StreamPeerSSL.Status" />
+ <return type="int" enum="StreamPeerTLS.Status" />
<description>
Returns the status of the connection. See [enum Status] for values.
</description>
@@ -63,19 +63,19 @@
</members>
<constants>
<constant name="STATUS_DISCONNECTED" value="0" enum="Status">
- A status representing a [StreamPeerSSL] that is disconnected.
+ A status representing a [StreamPeerTLS] that is disconnected.
</constant>
<constant name="STATUS_HANDSHAKING" value="1" enum="Status">
- A status representing a [StreamPeerSSL] during handshaking.
+ A status representing a [StreamPeerTLS] during handshaking.
</constant>
<constant name="STATUS_CONNECTED" value="2" enum="Status">
- A status representing a [StreamPeerSSL] that is connected to a host.
+ A status representing a [StreamPeerTLS] that is connected to a host.
</constant>
<constant name="STATUS_ERROR" value="3" enum="Status">
- A status representing a [StreamPeerSSL] in error state.
+ A status representing a [StreamPeerTLS] in error state.
</constant>
<constant name="STATUS_ERROR_HOSTNAME_MISMATCH" value="4" enum="Status">
- An error status that shows a mismatch in the SSL certificate domain presented by the host and the domain requested for validation.
+ An error status that shows a mismatch in the TLS certificate domain presented by the host and the domain requested for validation.
</constant>
</constants>
</class>
diff --git a/doc/classes/StyleBox.xml b/doc/classes/StyleBox.xml
index d9c19a0c86..8656cde4a0 100644
--- a/doc/classes/StyleBox.xml
+++ b/doc/classes/StyleBox.xml
@@ -97,6 +97,13 @@
Sets the default value of the specified [enum Side] to [param offset] pixels.
</description>
</method>
+ <method name="set_default_margin_all">
+ <return type="void" />
+ <param index="0" name="offset" type="float" />
+ <description>
+ Sets the default margin to [param offset] pixels for all sides.
+ </description>
+ </method>
<method name="test_mask" qualifiers="const">
<return type="bool" />
<param index="0" name="point" type="Vector2" />
diff --git a/doc/classes/StyleBoxFlat.xml b/doc/classes/StyleBoxFlat.xml
index c4024fa4b5..7f6628f8ee 100644
--- a/doc/classes/StyleBoxFlat.xml
+++ b/doc/classes/StyleBoxFlat.xml
@@ -81,16 +81,6 @@
Sets the corner radius to [param radius] pixels for all corners.
</description>
</method>
- <method name="set_corner_radius_individual">
- <return type="void" />
- <param index="0" name="radius_top_left" type="int" />
- <param index="1" name="radius_top_right" type="int" />
- <param index="2" name="radius_bottom_right" type="int" />
- <param index="3" name="radius_bottom_left" type="int" />
- <description>
- Sets the corner radius for each corner to [param radius_top_left], [param radius_top_right], [param radius_bottom_right], and [param radius_bottom_left] pixels.
- </description>
- </method>
<method name="set_expand_margin">
<return type="void" />
<param index="0" name="margin" type="int" enum="Side" />
@@ -106,16 +96,6 @@
Sets the expand margin to [param size] pixels for all margins.
</description>
</method>
- <method name="set_expand_margin_individual">
- <return type="void" />
- <param index="0" name="size_left" type="float" />
- <param index="1" name="size_top" type="float" />
- <param index="2" name="size_right" type="float" />
- <param index="3" name="size_bottom" type="float" />
- <description>
- Sets the expand margin for each margin to [param size_left], [param size_top], [param size_right], and [param size_bottom] pixels.
- </description>
- </method>
</methods>
<members>
<member name="anti_aliasing" type="bool" setter="set_anti_aliased" getter="is_anti_aliased" default="true">
diff --git a/doc/classes/StyleBoxTexture.xml b/doc/classes/StyleBoxTexture.xml
index 7db70e630d..aeba777b43 100644
--- a/doc/classes/StyleBoxTexture.xml
+++ b/doc/classes/StyleBoxTexture.xml
@@ -30,16 +30,6 @@
Sets the expand margin to [param size] pixels for all margins.
</description>
</method>
- <method name="set_expand_margin_individual">
- <return type="void" />
- <param index="0" name="size_left" type="float" />
- <param index="1" name="size_top" type="float" />
- <param index="2" name="size_right" type="float" />
- <param index="3" name="size_bottom" type="float" />
- <description>
- Sets the expand margin for each margin to [param size_left], [param size_top], [param size_right], and [param size_bottom] pixels.
- </description>
- </method>
<method name="set_expand_margin_size">
<return type="void" />
<param index="0" name="margin" type="int" enum="Side" />
@@ -56,6 +46,13 @@
Sets the margin to [param size] pixels for the specified [enum Side].
</description>
</method>
+ <method name="set_margin_size_all">
+ <return type="void" />
+ <param index="0" name="size" type="float" />
+ <description>
+ Sets the margin to [param size] pixels for all sides.
+ </description>
+ </method>
</methods>
<members>
<member name="axis_stretch_horizontal" type="int" setter="set_h_axis_stretch_mode" getter="get_h_axis_stretch_mode" enum="StyleBoxTexture.AxisStretchMode" default="0">
diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml
index aa7ce85f3a..0905c0c20b 100644
--- a/doc/classes/TextEdit.xml
+++ b/doc/classes/TextEdit.xml
@@ -915,7 +915,7 @@
<member name="caret_blink" type="bool" setter="set_caret_blink_enabled" getter="is_caret_blink_enabled" default="false">
Sets if the caret should blink.
</member>
- <member name="caret_blink_speed" type="float" setter="set_caret_blink_speed" getter="get_caret_blink_speed" default="0.65">
+ <member name="caret_blink_interval" type="float" setter="set_caret_blink_interval" getter="get_caret_blink_interval" default="0.65">
Duration (in seconds) of a caret's blinking cycle.
</member>
<member name="caret_mid_grapheme" type="bool" setter="set_caret_mid_grapheme_enabled" getter="is_caret_mid_grapheme_enabled" default="true">
diff --git a/doc/classes/TextServer.xml b/doc/classes/TextServer.xml
index 0db16b491d..2e67c61e54 100644
--- a/doc/classes/TextServer.xml
+++ b/doc/classes/TextServer.xml
@@ -1720,6 +1720,7 @@
</constant>
<constant name="HINTING_NORMAL" value="2" enum="Hinting">
Use the default font hinting mode (crisper but less smooth).
+ [b]Note:[/b] This hinting mode changes both horizontal and vertical glyph metrics. If applied to monospace font, some glyphs might have different width.
</constant>
<constant name="SUBPIXEL_POSITIONING_DISABLED" value="0" enum="SubpixelPositioning">
Glyph horizontal position is rounded to the whole pixel size, each glyph is rasterized once.
diff --git a/doc/classes/Texture2DArray.xml b/doc/classes/Texture2DArray.xml
index 6f059b5fbf..113f37f974 100644
--- a/doc/classes/Texture2DArray.xml
+++ b/doc/classes/Texture2DArray.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Texture2DArray" inherits="ImageTextureLayered" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
+ A single texture resource which consists of multiple, separate images. Each image has the same dimensions and number of mipmap levels.
</brief_description>
<description>
+ A Texture2DArray is different from a Texture3D: The Texture2DArray does not support trilinear interpolation between the [Image]s, i.e. no blending.
+ A Texture2DArray is also different from an [AtlasTexture]: In a Texture2DArray, all images are treated separately. In an atlas, the regions (i.e. the single images) can be of different sizes. Furthermore, you usually need to add a padding around the regions, to prevent accidental UV mapping to more than one region. The same goes for mipmapping: Mipmap chains are handled separately for each layer. In an atlas, the slicing has to be done manually in the fragment shader.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/TextureLayered.xml b/doc/classes/TextureLayered.xml
index 7b528e2082..5e6afcbc5c 100644
--- a/doc/classes/TextureLayered.xml
+++ b/doc/classes/TextureLayered.xml
@@ -1,10 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="TextureLayered" inherits="Texture" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Base class for 3D texture types.
+ Base class for texture types which contain the data of multiple [Image]s. Each image is of the same size and format.
</brief_description>
<description>
- Base class for [Texture2DArray], [Cubemap] and [CubemapArray]. Cannot be used directly, but contains all the functions necessary for accessing the derived resource types. Data is set on a per-layer basis. For [Texture2DArray]s, the layer specifies the array layer.
+ Base class for [Texture2DArray], [Cubemap] and [CubemapArray]. Cannot be used directly, but contains all the functions necessary for accessing the derived resource types.
+ Data is set on a per-layer basis. For [Texture2DArray]s, the layer specifies the array layer.
+ All images need to have the same width, height and number of mipmap levels.
+ A [TextureLayered] can be loaded with [code]method ResourceFormatLoader.load[/code].
+ To create such a texture file yourself, re-import your image files using the Godot Editor import presets.
+ Internally, Godot maps these files to their respective counterparts in the target rendering driver (GLES3, Vulkan).
</description>
<tutorials>
</tutorials>
@@ -72,6 +77,7 @@
<method name="get_layers" qualifiers="const">
<return type="int" />
<description>
+ Returns the number of referenced [Image]s.
</description>
</method>
<method name="get_width" qualifiers="const">
@@ -83,6 +89,7 @@
<method name="has_mipmaps" qualifiers="const">
<return type="bool" />
<description>
+ Returns [code]true[/code] if the layers have generated mipmaps.
</description>
</method>
</methods>
diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml
index e76c696021..54eb83297d 100644
--- a/doc/classes/TileMap.xml
+++ b/doc/classes/TileMap.xml
@@ -207,6 +207,13 @@
Returns if a layer Y-sorts its tiles.
</description>
</method>
+ <method name="local_to_map" qualifiers="const">
+ <return type="Vector2i" />
+ <param index="0" name="local_position" type="Vector2" />
+ <description>
+ Returns the map coordinates of the cell containing the given [param local_position]. If [param local_position] is in global coordinates, consider using [method Node2D.to_local] before passing it to this method. See also [method map_to_local].
+ </description>
+ </method>
<method name="map_pattern">
<return type="Vector2i" />
<param index="0" name="position_in_tilemap" type="Vector2i" />
@@ -216,12 +223,12 @@
Returns for the given coordinate [param coords_in_pattern] in a [TileMapPattern] the corresponding cell coordinates if the pattern was pasted at the [param position_in_tilemap] coordinates (see [method set_pattern]). This mapping is required as in half-offset tile shapes, the mapping might not work by calculating [code]position_in_tile_map + coords_in_pattern[/code]
</description>
</method>
- <method name="map_to_world" qualifiers="const">
+ <method name="map_to_local" qualifiers="const">
<return type="Vector2" />
<param index="0" name="map_position" type="Vector2i" />
<description>
- Returns a local position of the center of the cell at the given tilemap (grid-based) coordinates.
- [b]Note:[/b] This doesn't correspond to the visual position of the tile, i.e. it ignores the [member TileData.texture_offset] property of individual tiles.
+ Returns the centered position of a cell in the TileMap's local coordinate space. To convert the returned value into global coordinates, use [method Node2D.to_global]. See also [method local_to_map].
+ [b]Note:[/b] This may not correspond to the visual position of the tile, i.e. it ignores the [member TileData.texture_offset] property of individual tiles.
</description>
</method>
<method name="move_layer">
@@ -344,13 +351,6 @@
Paste the given [TileMapPattern] at the given [param position] and [param layer] in the tile map.
</description>
</method>
- <method name="world_to_map" qualifiers="const">
- <return type="Vector2i" />
- <param index="0" name="world_position" type="Vector2" />
- <description>
- Returns the tilemap (grid-based) coordinates corresponding to the given local position.
- </description>
- </method>
</methods>
<members>
<member name="cell_quadrant_size" type="int" setter="set_quadrant_size" getter="get_quadrant_size" default="16">
diff --git a/doc/classes/Time.xml b/doc/classes/Time.xml
index cdbe30c444..1abe017a4d 100644
--- a/doc/classes/Time.xml
+++ b/doc/classes/Time.xml
@@ -17,7 +17,7 @@
<return type="Dictionary" />
<param index="0" name="utc" type="bool" default="false" />
<description>
- Returns the current date as a dictionary of keys: [code]year[/code], [code]month[/code], [code]day[/code], [code]weekday[/code], and [code]dst[/code] (Daylight Savings Time).
+ Returns the current date as a dictionary of keys: [code]year[/code], [code]month[/code], [code]day[/code], and [code]weekday[/code].
The returned values are in the system's local time when [param utc] is [code]false[/code], otherwise they are in UTC.
</description>
</method>
@@ -57,7 +57,7 @@
<return type="Dictionary" />
<param index="0" name="utc" type="bool" default="false" />
<description>
- Returns the current date as a dictionary of keys: [code]year[/code], [code]month[/code], [code]day[/code], [code]weekday[/code], [code]hour[/code], [code]minute[/code], and [code]second[/code].
+ Returns the current date as a dictionary of keys: [code]year[/code], [code]month[/code], [code]day[/code], [code]weekday[/code], [code]hour[/code], [code]minute[/code], [code]second[/code], and [code]dst[/code] (Daylight Savings Time).
</description>
</method>
<method name="get_datetime_dict_from_unix_time" qualifiers="const">
diff --git a/doc/classes/Tree.xml b/doc/classes/Tree.xml
index bf66d9f12a..f6a078602c 100644
--- a/doc/classes/Tree.xml
+++ b/doc/classes/Tree.xml
@@ -558,12 +558,6 @@
<theme_item name="updown" data_type="icon" type="Texture2D">
The updown arrow icon to display for the [constant TreeItem.CELL_MODE_RANGE] mode cell.
</theme_item>
- <theme_item name="bg" data_type="style" type="StyleBox">
- Default [StyleBox] for the [Tree], i.e. used when the control is not being focused.
- </theme_item>
- <theme_item name="bg_focus" data_type="style" type="StyleBox">
- [StyleBox] used when the [Tree] is being focused.
- </theme_item>
<theme_item name="button_pressed" data_type="style" type="StyleBox">
[StyleBox] used when a button in the tree is pressed.
</theme_item>
@@ -582,6 +576,12 @@
<theme_item name="custom_button_pressed" data_type="style" type="StyleBox">
[StyleBox] for a [constant TreeItem.CELL_MODE_CUSTOM] mode cell when it's pressed.
</theme_item>
+ <theme_item name="focus" data_type="style" type="StyleBox">
+ The focused style for the [Tree], drawn on top of everything.
+ </theme_item>
+ <theme_item name="panel" data_type="style" type="StyleBox">
+ The background style for the [Tree].
+ </theme_item>
<theme_item name="selected" data_type="style" type="StyleBox">
[StyleBox] for the selected items, used when the [Tree] is not being focused.
</theme_item>
diff --git a/doc/classes/Tween.xml b/doc/classes/Tween.xml
index c7fc78c1d3..5186972477 100644
--- a/doc/classes/Tween.xml
+++ b/doc/classes/Tween.xml
@@ -36,9 +36,18 @@
tween.tween_property(sprite, "position", Vector2(0, 0), 1)
[/codeblock]
In the example above, all children of a node are moved one after another to position (0, 0).
+ You should avoid using more than one [Tween] per object's property. If two or more tweens animate one property at the same time, the last one created will take priority and assign the final value. If you want to interrupt and restart an animation, consider assigning the [Tween] to a variable:
+ [codeblock]
+ var tween
+ func animate():
+ if tween:
+ tween.kill() # Abort the previous animation.
+ tween = create_tween()
+ [/codeblock]
Some [Tweener]s use transitions and eases. The first accepts a [enum TransitionType] constant, and refers to the way the timing of the animation is handled (see [url=https://easings.net/]easings.net[/url] for some examples). The second accepts an [enum EaseType] constant, and controls where the [code]trans_type[/code] is applied to the interpolation (in the beginning, the end, or both). If you don't know which transition and easing to pick, you can try different [enum TransitionType] constants with [constant EASE_IN_OUT], and use the one that looks best.
[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/tween_cheatsheet.png]Tween easing and transition types cheatsheet[/url]
[b]Note:[/b] All [Tween]s will automatically start by default. To prevent a [Tween] from autostarting, you can call [method stop] immediately after it is created.
+ [b]Note:[/b] [Tween]s are processing after all of nodes in the current frame, i.e. after [method Node._process] or [method Node._physics_process] (depending on [enum TweenProcessMode]).
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/VSplitContainer.xml b/doc/classes/VSplitContainer.xml
index b933fb2805..c60d15d9c9 100644
--- a/doc/classes/VSplitContainer.xml
+++ b/doc/classes/VSplitContainer.xml
@@ -13,6 +13,9 @@
<theme_item name="autohide" data_type="constant" type="int" default="1">
Boolean value. If 1 ([code]true[/code]), the grabber will hide automatically when it isn't under the cursor. If 0 ([code]false[/code]), it's always visible.
</theme_item>
+ <theme_item name="minimum_grab_thickness" data_type="constant" type="int" default="6">
+ The minimum thickness of the area users can click on to grab the splitting line. If [theme_item separation] or [theme_item grabber]'s thickness are too small, this ensure that the splitting line can still be dragged.
+ </theme_item>
<theme_item name="separation" data_type="constant" type="int" default="12">
The space between sides of the container.
</theme_item>
diff --git a/doc/classes/Vector4.xml b/doc/classes/Vector4.xml
index 743e2c2fcc..fdc93f82ec 100644
--- a/doc/classes/Vector4.xml
+++ b/doc/classes/Vector4.xml
@@ -28,7 +28,7 @@
<return type="Vector4" />
<param index="0" name="from" type="Vector4i" />
<description>
- Constructs a new [Vector4] from [Vector4i].
+ Constructs a new [Vector4] from the given [Vector4i].
</description>
</constructor>
<constructor name="Vector4">
diff --git a/doc/classes/Vector4i.xml b/doc/classes/Vector4i.xml
index 9a36c3c4fa..3eea93ce1f 100644
--- a/doc/classes/Vector4i.xml
+++ b/doc/classes/Vector4i.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Vector4i" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
+ Vector used for 4D math using integer coordinates.
</brief_description>
<description>
+ 4-element structure that can be used to represent 4D grid coordinates or sets of integers.
+ It uses integer coordinates. See [Vector4] for its floating-point counterpart.
</description>
<tutorials>
</tutorials>
@@ -10,18 +13,21 @@
<constructor name="Vector4i">
<return type="Vector4i" />
<description>
+ Constructs a default-initialized [Vector4i] with all components set to [code]0[/code].
</description>
</constructor>
<constructor name="Vector4i">
<return type="Vector4i" />
<param index="0" name="from" type="Vector4i" />
<description>
+ Constructs a [Vector4i] as a copy of the given [Vector4i].
</description>
</constructor>
<constructor name="Vector4i">
<return type="Vector4i" />
<param index="0" name="from" type="Vector4" />
<description>
+ Constructs a new [Vector4i] from the given [Vector4].
</description>
</constructor>
<constructor name="Vector4i">
@@ -31,6 +37,7 @@
<param index="2" name="z" type="int" />
<param index="3" name="w" type="int" />
<description>
+ Returns a [Vector4i] with the given components.
</description>
</constructor>
</constructors>
@@ -38,6 +45,7 @@
<method name="abs" qualifiers="const">
<return type="Vector4i" />
<description>
+ Returns a new vector with all components in absolute values (i.e. positive).
</description>
</method>
<method name="clamp" qualifiers="const">
@@ -45,56 +53,72 @@
<param index="0" name="min" type="Vector4i" />
<param index="1" name="max" type="Vector4i" />
<description>
+ Returns a new vector with all components clamped between the components of [param min] and [param max], by running [method @GlobalScope.clamp] on each component.
</description>
</method>
<method name="length" qualifiers="const">
<return type="float" />
<description>
+ Returns the length (magnitude) of this vector.
</description>
</method>
<method name="length_squared" qualifiers="const">
<return type="int" />
<description>
+ Returns the squared length (squared magnitude) of this vector. This method runs faster than [method length].
</description>
</method>
<method name="max_axis_index" qualifiers="const">
<return type="int" />
<description>
+ Returns the axis of the vector's highest value. See [code]AXIS_*[/code] constants. If all components are equal, this method returns [constant AXIS_X].
</description>
</method>
<method name="min_axis_index" qualifiers="const">
<return type="int" />
<description>
+ Returns the axis of the vector's lowest value. See [code]AXIS_*[/code] constants. If all components are equal, this method returns [constant AXIS_W].
</description>
</method>
<method name="sign" qualifiers="const">
<return type="Vector4i" />
<description>
+ Returns a new vector with each component set to one or negative one, depending on the signs of the components, or zero if the component is zero, by calling [method @GlobalScope.sign] on each component.
</description>
</method>
</methods>
<members>
<member name="w" type="int" setter="" getter="" default="0">
+ The vector's W component. Also accessible by using the index position [code][3][/code].
</member>
<member name="x" type="int" setter="" getter="" default="0">
+ The vector's X component. Also accessible by using the index position [code][0][/code].
</member>
<member name="y" type="int" setter="" getter="" default="0">
+ The vector's Y component. Also accessible by using the index position [code][1][/code].
</member>
<member name="z" type="int" setter="" getter="" default="0">
+ The vector's Z component. Also accessible by using the index position [code][2][/code].
</member>
</members>
<constants>
<constant name="AXIS_X" value="0">
+ Enumerated value for the X axis. Returned by [method max_axis_index] and [method min_axis_index].
</constant>
<constant name="AXIS_Y" value="1">
+ Enumerated value for the Y axis. Returned by [method max_axis_index] and [method min_axis_index].
</constant>
<constant name="AXIS_Z" value="2">
+ Enumerated value for the Z axis. Returned by [method max_axis_index] and [method min_axis_index].
</constant>
<constant name="AXIS_W" value="3">
+ Enumerated value for the W axis. Returned by [method max_axis_index] and [method min_axis_index].
</constant>
<constant name="ZERO" value="Vector4i(0, 0, 0, 0)">
+ Zero vector, a vector with all components set to [code]0[/code].
</constant>
<constant name="ONE" value="Vector4i(1, 1, 1, 1)">
+ One vector, a vector with all components set to [code]1[/code].
</constant>
</constants>
<operators>
@@ -102,6 +126,7 @@
<return type="bool" />
<param index="0" name="right" type="Vector4i" />
<description>
+ Returns [code]true[/code] if the vectors are not equal.
</description>
</operator>
<operator name="operator %">
@@ -120,94 +145,130 @@
<return type="Vector4i" />
<param index="0" name="right" type="Vector4i" />
<description>
+ Multiplies each component of the [Vector4i] by the components of the given [Vector4i].
+ [codeblock]
+ print(Vector4i(10, 20, 30, 40) * Vector4i(3, 4, 5, 6)) # Prints "(30, 80, 150, 240)"
+ [/codeblock]
</description>
</operator>
<operator name="operator *">
<return type="Vector4" />
<param index="0" name="right" type="float" />
<description>
+ Multiplies each component of the [Vector4i] by the given [float].
+ Returns a Vector4 value due to floating-point operations.
+ [codeblock]
+ print(Vector4i(10, 20, 30, 40) * 2) # Prints "(20, 40, 60, 80)"
+ [/codeblock]
</description>
</operator>
<operator name="operator *">
<return type="Vector4i" />
<param index="0" name="right" type="int" />
<description>
+ Multiplies each component of the [Vector4i] by the given [int].
</description>
</operator>
<operator name="operator +">
<return type="Vector4i" />
<param index="0" name="right" type="Vector4i" />
<description>
+ Adds each component of the [Vector4i] by the components of the given [Vector4i].
+ [codeblock]
+ print(Vector4i(10, 20, 30, 40) + Vector4i(3, 4, 5, 6)) # Prints "(13, 24, 35, 46)"
+ [/codeblock]
</description>
</operator>
<operator name="operator -">
<return type="Vector4i" />
<param index="0" name="right" type="Vector4i" />
<description>
+ Subtracts each component of the [Vector4i] by the components of the given [Vector4i].
+ [codeblock]
+ print(Vector4i(10, 20, 30, 40) - Vector4i(3, 4, 5, 6)) # Prints "(7, 16, 25, 34)"
+ [/codeblock]
</description>
</operator>
<operator name="operator /">
<return type="Vector4i" />
<param index="0" name="right" type="Vector4i" />
<description>
+ Divides each component of the [Vector4i] by the components of the given [Vector4i].
+ [codeblock]
+ print(Vector4i(10, 20, 30, 40) / Vector4i(2, 5, 3, 4)) # Prints "(5, 4, 10, 10)"
+ [/codeblock]
</description>
</operator>
<operator name="operator /">
<return type="Vector4" />
<param index="0" name="right" type="float" />
<description>
+ Divides each component of the [Vector4i] by the given [float].
+ Returns a Vector4 value due to floating-point operations.
+ [codeblock]
+ print(Vector4i(10, 20, 30, 40) / 2 # Prints "(5, 10, 15, 20)"
+ [/codeblock]
</description>
</operator>
<operator name="operator /">
<return type="Vector4i" />
<param index="0" name="right" type="int" />
<description>
+ Divides each component of the [Vector4i] by the given [int].
</description>
</operator>
<operator name="operator &lt;">
<return type="bool" />
<param index="0" name="right" type="Vector4i" />
<description>
+ Compares two [Vector4i] vectors by first checking if the X value of the left vector is less than the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, Z values of the two vectors, and then with the W values. This operator is useful for sorting vectors.
</description>
</operator>
<operator name="operator &lt;=">
<return type="bool" />
<param index="0" name="right" type="Vector4i" />
<description>
+ Compares two [Vector4i] vectors by first checking if the X value of the left vector is less than or equal to the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, Z values of the two vectors, and then with the W values. This operator is useful for sorting vectors.
</description>
</operator>
<operator name="operator ==">
<return type="bool" />
<param index="0" name="right" type="Vector4i" />
<description>
+ Returns [code]true[/code] if the vectors are exactly equal.
</description>
</operator>
<operator name="operator &gt;">
<return type="bool" />
<param index="0" name="right" type="Vector4i" />
<description>
+ Compares two [Vector4i] vectors by first checking if the X value of the left vector is greater than the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, Z values of the two vectors, and then with the W values. This operator is useful for sorting vectors.
</description>
</operator>
<operator name="operator &gt;=">
<return type="bool" />
<param index="0" name="right" type="Vector4i" />
<description>
+ Compares two [Vector4i] vectors by first checking if the X value of the left vector is greater than or equal to the X value of the [param right] vector. If the X values are exactly equal, then it repeats this check with the Y values of the two vectors, Z values of the two vectors, and then with the W values. This operator is useful for sorting vectors.
</description>
</operator>
<operator name="operator []">
<return type="int" />
<param index="0" name="index" type="int" />
<description>
+ Access vector components using their [param index]. [code]v[0][/code] is equivalent to [code]v.x[/code], [code]v[1][/code] is equivalent to [code]v.y[/code], [code]v[2][/code] is equivalent to [code]v.z[/code], and [code]v[3][/code] is equivalent to [code]v.w[/code].
</description>
</operator>
<operator name="operator unary+">
<return type="Vector4i" />
<description>
+ Returns the same value as if the [code]+[/code] was not there. Unary [code]+[/code] does nothing, but sometimes it can make your code more readable.
</description>
</operator>
<operator name="operator unary-">
<return type="Vector4i" />
<description>
+ Returns the negative value of the [Vector4i]. This is the same as writing [code]Vector4i(-v.x, -v.y, -v.z, -v.w)[/code]. This operation flips the direction of the vector while keeping the same magnitude.
</description>
</operator>
</operators>
diff --git a/doc/classes/X509Certificate.xml b/doc/classes/X509Certificate.xml
index d8f54d0ec5..37b202a513 100644
--- a/doc/classes/X509Certificate.xml
+++ b/doc/classes/X509Certificate.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="X509Certificate" inherits="Resource" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- An X509 certificate (e.g. for SSL).
+ An X509 certificate (e.g. for TLS).
</brief_description>
<description>
The X509Certificate class represents an X509 certificate. Certificates can be loaded and saved like any other [Resource].
- They can be used as the server certificate in [method StreamPeerSSL.accept_stream] (along with the proper [CryptoKey]), and to specify the only certificate that should be accepted when connecting to an SSL server via [method StreamPeerSSL.connect_to_stream].
+ They can be used as the server certificate in [method StreamPeerTLS.accept_stream] (along with the proper [CryptoKey]), and to specify the only certificate that should be accepted when connecting to an TLS server via [method StreamPeerTLS.connect_to_stream].
</description>
<tutorials>
</tutorials>
diff --git a/doc/tools/make_rst.py b/doc/tools/make_rst.py
index cd7de085d8..a8569413ec 100755
--- a/doc/tools/make_rst.py
+++ b/doc/tools/make_rst.py
@@ -1480,6 +1480,8 @@ def format_text_block(
)
tag_text = f"``{link_target}``"
+ escape_pre = True
+ escape_post = True
# Formatting directives.
diff --git a/doc/translations/ar.po b/doc/translations/ar.po
index 43e62ecab2..bc3fa60d84 100644
--- a/doc/translations/ar.po
+++ b/doc/translations/ar.po
@@ -693,8 +693,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -704,7 +705,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -758,7 +760,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -770,7 +773,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1191,10 +1195,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -5013,19 +5022,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5046,21 +5057,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5070,9 +5085,10 @@ msgstr "يُرجع قيمة ظل الزاوية للمَعلم."
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5724,9 +5740,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5900,8 +5916,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8903,8 +8919,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8955,10 +8972,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9201,12 +9228,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9752,7 +9773,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9913,12 +9939,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10066,6 +10096,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10206,7 +10251,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11886,7 +11934,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11979,7 +12027,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12007,9 +12057,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12509,13 +12559,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12541,8 +12592,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12855,12 +12908,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12905,8 +12958,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12954,8 +13009,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13017,7 +13075,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13142,7 +13200,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -16138,7 +16199,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18869,7 +18932,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -19018,16 +19083,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19173,18 +19239,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
#, fuzzy
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr "يُرجع قيمة الجيب العكسية للمَعلم."
@@ -24099,8 +24153,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24721,7 +24779,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26309,10 +26369,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27721,8 +27784,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -30024,11 +30087,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30874,7 +30940,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30886,6 +30956,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33246,14 +33326,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33261,22 +33341,26 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr ""
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "يُرجع جيب المَعلم."
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr ""
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "يُرجع جيب المَعلم."
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
-msgstr ""
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
+msgstr "يُرجع جيب المَعلم."
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
-msgstr ""
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
+msgstr "يُرجع جيب المَعلم."
#: doc/classes/Line2D.xml
msgid ""
@@ -34853,9 +34937,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35316,7 +35400,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36453,7 +36539,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37279,13 +37365,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40955,7 +41053,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46342,7 +46442,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "يُرجع جيب المَعلم."
#: doc/classes/PopupMenu.xml
@@ -46581,7 +46683,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47311,7 +47415,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49992,8 +50100,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -54012,7 +54131,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -54156,13 +54277,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55352,7 +55479,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55971,6 +56101,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56305,7 +56443,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57738,7 +57878,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -59005,6 +59145,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -59066,6 +59209,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -59088,7 +59234,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -60225,6 +60374,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "يُرجع جيب المَعلم."
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -60255,6 +60409,11 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "يُرجع جيب المَعلم."
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60296,7 +60455,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -65177,21 +65338,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -65204,7 +65369,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -65233,7 +65398,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65243,22 +65440,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -65271,8 +65481,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65470,16 +65682,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -74136,7 +74348,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/ca.po b/doc/translations/ca.po
index 2fce9a4d08..7c687eaf1a 100644
--- a/doc/translations/ca.po
+++ b/doc/translations/ca.po
@@ -653,8 +653,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -664,7 +665,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -718,7 +720,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -730,7 +733,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1145,10 +1149,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4959,19 +4968,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4992,21 +5003,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5015,9 +5030,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5669,9 +5685,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5845,8 +5861,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8848,8 +8864,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8900,10 +8917,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9145,12 +9172,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9696,7 +9717,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9857,12 +9883,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10010,6 +10040,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10150,7 +10195,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11828,7 +11876,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11921,7 +11969,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11949,9 +11999,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12448,13 +12498,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12480,8 +12531,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12794,12 +12847,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12844,8 +12897,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12893,8 +12948,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12956,7 +13014,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13081,7 +13139,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -16077,7 +16138,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18802,7 +18865,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18951,16 +19016,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19105,18 +19171,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -24023,8 +24077,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24644,7 +24702,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26228,10 +26288,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27638,8 +27701,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29939,11 +30002,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30788,7 +30854,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30800,6 +30870,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33157,14 +33237,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33172,21 +33252,21 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34763,9 +34843,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35224,7 +35304,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36336,7 +36418,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37151,13 +37233,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40821,7 +40915,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46185,7 +46281,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46424,7 +46522,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47153,7 +47253,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49834,8 +49938,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53852,7 +53967,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53996,13 +54113,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55192,7 +55315,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55811,6 +55937,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56145,7 +56279,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57578,7 +57714,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58843,6 +58979,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58904,6 +59043,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58926,7 +59068,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -60063,6 +60208,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -60092,6 +60241,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60133,7 +60286,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -64998,21 +65153,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -65025,7 +65184,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -65054,7 +65213,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65064,22 +65255,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -65092,8 +65296,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65291,16 +65497,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73930,7 +74136,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/classes.pot b/doc/translations/classes.pot
index b8187d24d5..f8e32bbc21 100644
--- a/doc/translations/classes.pot
+++ b/doc/translations/classes.pot
@@ -533,8 +533,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -544,7 +545,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -598,7 +600,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -610,7 +613,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1025,10 +1029,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4839,19 +4848,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4872,21 +4883,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4895,9 +4910,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5549,9 +5565,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5725,8 +5741,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8728,8 +8744,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8780,10 +8797,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9025,12 +9052,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9576,7 +9597,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9737,12 +9763,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9890,6 +9920,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10030,7 +10075,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11708,7 +11756,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11801,7 +11849,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11829,9 +11879,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12328,13 +12378,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12360,8 +12411,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12674,12 +12727,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12724,8 +12777,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12773,8 +12828,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12836,7 +12894,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12961,7 +13019,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -15957,7 +16018,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18682,7 +18745,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18831,16 +18896,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -18985,18 +19051,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -23900,8 +23954,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24521,7 +24579,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26105,10 +26165,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27515,8 +27578,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29816,11 +29879,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30665,7 +30731,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30677,6 +30747,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33034,14 +33114,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33049,21 +33129,21 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34640,9 +34720,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35101,7 +35181,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36213,7 +36295,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37028,13 +37110,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40698,7 +40792,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46062,7 +46158,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46301,7 +46399,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47030,7 +47130,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49711,8 +49815,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53729,7 +53844,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53873,13 +53990,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55069,7 +55192,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55688,6 +55814,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56022,7 +56156,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57455,7 +57591,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58720,6 +58856,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58781,6 +58920,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58803,7 +58945,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -59940,6 +60085,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -59969,6 +60118,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60010,7 +60163,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -64875,21 +65030,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -64902,7 +65061,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -64931,7 +65090,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -64941,22 +65132,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -64969,8 +65173,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65168,16 +65374,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73807,7 +74013,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/cs.po b/doc/translations/cs.po
index 878b7e9aae..50eb59aa1c 100644
--- a/doc/translations/cs.po
+++ b/doc/translations/cs.po
@@ -14,12 +14,13 @@
# DomcaSuzi <dominio122@gmail.com>, 2021.
# Tomas Dostal <tomas.dostal.cz@gmail.com>, 2021.
# JoeMoos <josephmoose13@gmail.com>, 2022.
+# Mirinek <mirek.nozicka77@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-03-17 13:59+0000\n"
-"Last-Translator: JoeMoos <josephmoose13@gmail.com>\n"
+"PO-Revision-Date: 2022-08-28 00:17+0000\n"
+"Last-Translator: Mirinek <mirek.nozicka77@gmail.com>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/godot-engine/godot-"
"class-reference/cs/>\n"
"Language: cs\n"
@@ -27,7 +28,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: Weblate 4.12-dev\n"
+"X-Generator: Weblate 4.14.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -92,15 +93,16 @@ msgstr "Výchozí"
#: doc/tools/make_rst.py
msgid "Setter"
-msgstr ""
+msgstr "Setter"
#: doc/tools/make_rst.py
msgid "value"
msgstr "hodnota"
#: doc/tools/make_rst.py
+#, fuzzy
msgid "Getter"
-msgstr ""
+msgstr "Getter"
#: doc/tools/make_rst.py
msgid ""
@@ -789,8 +791,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -800,7 +803,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -875,7 +879,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -887,7 +892,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
"Lineární interpolace mezi dvěma hodnotami normalizovanou hodnout. Toto je "
"opak [method inverse_lerp].\n"
@@ -1478,16 +1484,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
-"Mapuje [code]hodnotu[/code] z rozsahu [code][istart, istop][/code] na [code]"
-"[ostart, ostop][/code].\n"
-"[codeblock]\n"
-"range_lerp(75, 0, 100, -1, 1) # Vrací 0.5\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
#, fuzzy
@@ -5345,19 +5351,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5378,21 +5386,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5402,9 +5414,10 @@ msgstr "Vrátí tangens parametru."
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -6056,9 +6069,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -6232,8 +6245,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -9238,8 +9251,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -9290,10 +9304,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9539,12 +9563,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -10090,7 +10108,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10251,12 +10274,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10407,6 +10434,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10547,7 +10589,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -12228,7 +12273,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12321,7 +12366,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12349,9 +12396,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12854,13 +12901,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12886,8 +12934,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13200,12 +13250,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13250,8 +13300,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13299,8 +13351,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13362,7 +13417,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13487,7 +13542,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -16489,7 +16547,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -19244,7 +19304,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -19393,16 +19455,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19548,18 +19611,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
#, fuzzy
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr "Vrátí arkus sinus parametru."
@@ -24481,8 +24532,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -25103,7 +25158,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26691,10 +26748,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -28108,8 +28168,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -30412,11 +30472,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -31265,7 +31328,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -31277,6 +31344,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33640,14 +33717,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33655,22 +33732,26 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr ""
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "Vrátí sinus parametru."
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr ""
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "Vrací [code]true[/code] pokud [code]s[/code] je nula nebo téměř nula."
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
-msgstr ""
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
+msgstr "Vrací [code]true[/code] pokud [code]s[/code] je nula nebo téměř nula."
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
-msgstr ""
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
+msgstr "Vrací [code]true[/code] pokud [code]s[/code] je nula nebo téměř nula."
#: doc/classes/Line2D.xml
msgid ""
@@ -35249,9 +35330,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35712,7 +35793,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36853,7 +36936,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37682,13 +37765,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -41362,7 +41457,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46761,7 +46858,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "Vrací [code]true[/code] pokud [code]s[/code] je nula nebo téměř nula."
#: doc/classes/PopupMenu.xml
@@ -47000,7 +47099,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47730,7 +47831,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -50411,8 +50516,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -54438,7 +54554,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -54583,13 +54701,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55779,7 +55903,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -56399,6 +56526,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56733,7 +56868,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -58167,7 +58304,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -59440,6 +59577,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -59501,6 +59641,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -59523,7 +59666,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -60661,6 +60807,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Vrací [code]true[/code] pokud [code]s[/code] je nula nebo téměř nula."
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -60691,6 +60842,11 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Vrací [code]true[/code] pokud [code]s[/code] je nula nebo téměř nula."
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60732,7 +60888,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -65646,21 +65804,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -65673,7 +65835,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -65702,7 +65864,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65712,22 +65906,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -65740,8 +65947,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65939,16 +66148,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -74620,7 +74829,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/de.po b/doc/translations/de.po
index 0cf8d9ae17..868315c7fe 100644
--- a/doc/translations/de.po
+++ b/doc/translations/de.po
@@ -48,12 +48,16 @@
# Christian Packenius <christian@packenius.com>, 2022.
# Hannes Petersen <01zustrom.baklava@icloud.com>, 2022.
# Hans Peter <figefi6308@runqx.com>, 2022.
+# Tim <sakul8826@gmail.com>, 2022.
+# Anonynonymouse <tom.spaine60388@gmail.com>, 2022.
+# Felix Bitsch <felix.a.bitsch@gmail.com>, 2022.
+# Coxcopi <master.vogel2015@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-07-23 03:56+0000\n"
-"Last-Translator: Hans Peter <figefi6308@runqx.com>\n"
+"PO-Revision-Date: 2022-09-04 02:43+0000\n"
+"Last-Translator: Coxcopi <master.vogel2015@gmail.com>\n"
"Language-Team: German <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/de/>\n"
"Language: de\n"
@@ -61,7 +65,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14-dev\n"
+"X-Generator: Weblate 4.14.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -89,7 +93,7 @@ msgstr "Signale"
#: doc/tools/make_rst.py
msgid "Enumerations"
-msgstr "Aufzählungstypen"
+msgstr "Aufzählungen"
#: doc/tools/make_rst.py
msgid "Constants"
@@ -563,7 +567,7 @@ msgstr ""
"- Für [code]Dictionary[/code]s, prüft [code]==[/code] nur, ob es dasselbe "
"Objekt ist .\n"
"- Für [code]Array[/code]s, [code]==[/code] werden die Arrays elementweise "
-"mit [code]==[/code] verglichen. Der Elemente-Vergleich ist also wieder "
+"mit [code]==[/code] verglichen. Der Elemente-Vergleich ist also wieder "
"einfach, nicht tief.\n"
"Zusammengefasst, immer wenn möglicherweise ein [code]Dictionary[/code] "
"involviert ist und du einen echten Inhaltsvergleich brauchst, verwende "
@@ -859,6 +863,7 @@ 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 "
@@ -866,8 +871,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -877,7 +883,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"See also [method lerp] which performs the reverse of this operation, and "
+"[method range_lerp] to map a continuous series of values to another."
msgstr ""
"Gibt zurück einen Inter- bzw. Extrapolationsfaktor unter Berücksichtigung "
"des Zahlenraums von [code]from[/code] bis [code]to[/code], und dem "
@@ -968,12 +975,14 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
"Linearly interpolates between two values by the factor defined in "
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -985,7 +994,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
"Interpoliert linear zwischen zwei Werten mit dem in [code]weight[/code] "
"definierten Faktor. Um eine Interpolation durchzuführen, sollte "
@@ -1721,16 +1731,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
-"Bildet den Wert [code]value[/code] von einem Zahlenbereich [code]istart, "
-"istop[/code] auf einen anderen [code]ostart, ostop[/code] ab.\n"
-"[codeblock]\n"
-"range_lerp(75, 0, 100, -1, 1) # Ergibt 0.5\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -4091,18 +4101,27 @@ 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 ""
+"MIDI-System-exklusive Nachricht. Dieses Verhalten gilt nur für das Gerät, "
+"von dem Sie Eingaben empfangen. Das Abrufen dieser Daten ist in Godot nicht "
+"implementiert."
#: 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 ""
+"MIDI-Viertel-Frame-Meldung. Enthält Zeitinformationen, die zur "
+"Synchronisierung von MIDI-Geräten verwendet werden. Das Abrufen dieser Daten "
+"ist in Godot nicht implementiert."
#: 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 ""
+"MIDI-Songpositionszeiger-Meldung. Gibt die Anzahl der 16tel-Noten seit "
+"Beginn des Liedes an. Das Abrufen dieser Daten ist in Godot nicht "
+"implementiert."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -4118,6 +4137,8 @@ msgid ""
"MIDI tune request message. Upon receiving a tune request, all analog "
"synthesizers should tune their oscillators."
msgstr ""
+"MIDI Tune Request Nachricht. Beim Empfang einer Tune-Anforderung sollten "
+"alle analogen Synthesizer ihre Oszillatoren stimmen."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -4150,6 +4171,8 @@ msgid ""
"MIDI active sensing message. This message is intended to be sent repeatedly "
"to tell the receiver that a connection is alive."
msgstr ""
+"MIDI active sensing message. Diese Meldung soll wiederholt gesendet werden, "
+"um dem Empfänger mitzuteilen, dass eine Verbindung besteht."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -4436,6 +4459,15 @@ msgid ""
"specified by appending [code]:integer[/code] to the name, e.g. [code]\"Zero,"
"One,Three:3,Four,Six:6\"[/code]."
msgstr ""
+"Weist darauf hin, dass eine Integer-, Float- oder String-Eigenschaft ein "
+"Aufzählungswert ist, der in einer über eine Hinweiszeichenfolge angegebenen "
+"Liste auszuwählen ist.\n"
+"Die Hinweiszeichenkette ist eine durch Kommata getrennte Liste von Namen wie "
+"z. B. [code]\"Hallo,Etwas,Sonst\"[/code]. Bei Integer- und Float-"
+"Eigenschaften hat der erste Name in der Liste den Wert 0, der nächste den "
+"Wert 1 und so weiter. Explizite Werte können auch durch Anhängen von [code]:"
+"integer[/code] an den Namen angegeben werden, z. B. [code]\"Null,Eins,Drei:3,"
+"Vier,Sechs:6\"[/code]."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -4445,6 +4477,12 @@ msgid ""
"arbitrary values and can be empty. The list of values serves to suggest "
"possible values."
msgstr ""
+"weist darauf hin, dass eine Zeichenketteneigenschaft ein Aufzählungswert "
+"sein kann, der aus einer Liste ausgewählt werden kann, die über eine "
+"Hinweiszeichenfolge wie [code]\"Hallo,Etwas,Sonst\"[/code]\n"
+"m Gegensatz zu [constant PROPERTY_HINT_ENUM] akzeptiert eine Eigenschaft mit "
+"diesem Hinweis weiterhin beliebige Werte und kann leer sein. Die Liste der "
+"Werte dient dazu, mögliche Werte vorzuschlagen."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -4998,6 +5036,16 @@ msgid ""
"var box2 = box.expand(Vector3(0, -1, 2))\n"
"[/codeblock]"
msgstr ""
+"Gibt eine Kopie dieses [AABB] zurück, erweitert um einen bestimmten Punkt "
+"einzuschließen.\n"
+"[b]Beispiel:[/b]\n"
+"[codeblock]\n"
+"# Position (-3, 2, 0), Größe (1, 1, 1)\n"
+"var box = AABB(Vector3(-3, 2, 0), Vector3(1, 1, 1))\n"
+"# Position (-3, -1, 0), Größe (3, 4, 2), so dass wir sowohl das "
+"ursprüngliche AABB als auch Vector3(0, -1, 2) unterbringen\n"
+"var box2 = box.expand(Vector3(0, -1, 2))\n"
+"[/codeblock]"
#: doc/classes/AABB.xml
msgid "Returns the volume of the [AABB]."
@@ -5193,6 +5241,11 @@ msgid ""
"may cause a crash. If you wish to hide it or any of its children, use their "
"[member CanvasItem.visible] property."
msgstr ""
+"Gibt die für den eingebauten Text verwendete Bezeichnung zurück.\n"
+"[b]Warnung:[/b] Dies ist ein erforderlicher interner Knoten; das Entfernen "
+"und Freigeben dieses Knotens kann zu einem Absturz führen. Wenn Sie ihn oder "
+"eines seiner Kinder ausblenden möchten, verwenden Sie deren Eigenschaft "
+"[member CanvasItem.visible]."
#: doc/classes/AcceptDialog.xml
msgid ""
@@ -5201,6 +5254,11 @@ msgid ""
"may cause a crash. If you wish to hide it or any of its children, use their "
"[member CanvasItem.visible] property."
msgstr ""
+"Gibt die OK [Button]-Instanz zurück.\n"
+"[b]Warnung:[/b] Dies ist ein erforderlicher interner Knoten; das Entfernen "
+"und Freigeben dieses Knotens kann zu einem Absturz führen. Wenn Sie ihn oder "
+"eines seiner Kinder ausblenden möchten, verwenden Sie deren Eigenschaft "
+"[member CanvasItem.visible]."
#: doc/classes/AcceptDialog.xml
msgid ""
@@ -5218,6 +5276,12 @@ msgid ""
"the [code]button[/code] will no longer emit this dialog's [signal "
"custom_action] signal or cancel this dialog."
msgstr ""
+"Entfernt den [code]button[/code] aus dem Dialog. Gibt den [code]button[/"
+"code] NICHT frei. Der [code]button[/code] muss ein [Button] sein, der mit "
+"der [method add_button] oder [method add_cancel] Methode hinzugefügt wurde. "
+"Nach dem Entfernen wird das Drücken des [code]button[/code] nicht mehr das "
+"[signal custom_action]-Signal dieses Dialogs auslösen oder diesen Dialog "
+"abbrechen."
#: doc/classes/AcceptDialog.xml
msgid "Sets autowrapping for the text in the dialog."
@@ -5433,6 +5497,18 @@ msgid ""
"code] will make it so the [code]run[/code] animation uses normal and "
"specular maps."
msgstr ""
+"[AnimatedSprite] ähnelt dem [Sprite]-Knoten, außer dass er mehrere Texturen "
+"als Animationsrahmen enthält. Animationen werden mit einer [SpriteFrames]-"
+"Ressource erstellt, die es Ihnen ermöglicht, Bilddateien (oder einen Ordner "
+"mit diesen Dateien) zu importieren, um die Animationsrahmen für das Sprite "
+"bereitzustellen. Die [SpriteFrames]-Ressource kann im Editor über die untere "
+"Leiste SpriteFrames konfiguriert werden.\n"
+"[b]Hinweis:[/b] Du kannst eine Reihe von Normal- oder Specular-Maps "
+"zuordnen, indem du zusätzliche [SpriteFrames]-Ressourcen mit einem "
+"[code]_normal[/code] oder [code]_specular[/code] Suffix erstellst. Wenn du "
+"zum Beispiel 3 [SpriteFrames]-Ressourcen [code]run[/code], [code]run_normal[/"
+"code] und [code]run_specular[/code] hast, wird die [code]run[/code]-"
+"Animation normale und spekulare Maps verwenden."
#: doc/classes/AnimatedSprite.xml doc/classes/AnimationPlayer.xml
msgid "2D Sprite animation"
@@ -5498,6 +5574,9 @@ msgid ""
"option to load, edit, clear, make unique and save the states of the "
"[SpriteFrames] resource."
msgstr ""
+"Die [SpriteFrames]-Ressource, die die Animation(en) enthält. Ermöglicht es "
+"Ihnen, die Zustände der [SpriteFrames]-Ressource zu laden, zu bearbeiten, zu "
+"löschen, eindeutig zu machen und zu speichern."
#: doc/classes/AnimatedSprite.xml doc/classes/Sprite.xml
#: doc/classes/SpriteBase3D.xml
@@ -6398,26 +6477,22 @@ msgstr ""
"Knoten nicht zur Addition anzeigen."
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
-"Ruft die Textbeschriftung für diesen Knoten ab (wird von einigen Editoren "
-"verwendet)."
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
-"Ruft einen untergeordneten Knoten nach Index ab (wird von Editoren "
-"verwendet, die von [AnimationRootNode] erben)."
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
-"Ruft alle Kindknoten in der Reihenfolge als [code]Name: Knoten[/code]-"
-"Wörterbuch ab. Nur nützlich beim Erben von [AnimationRootNode]."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -6441,17 +6516,22 @@ msgstr ""
"Bäumen wiederverwendet werden kann."
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
"Ruft den Standardwert eines Parameters ab. Parameter sind benutzerdefinierte "
"lokale Speicher, die für Ihre Knoten verwendet werden, da eine Ressource in "
"mehreren Bäumen wiederverwendet werden kann."
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
@@ -6461,9 +6541,11 @@ msgstr ""
"ist ähnlich wie bei [method Object.get_property_list]."
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
"Gibt [code]true[/code] zurück, ob der Mischbaum-Editor die Filterbearbeitung "
"an diesem Node anzeigen soll."
@@ -6474,10 +6556,12 @@ msgid "Returns whether the given path is filtered."
msgstr "Gibt [code]true[/code] zurück, ob ein gegebener Pfad gefiltert ist."
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -6633,7 +6717,7 @@ msgstr "AnimationTree"
#: doc/classes/Quat.xml doc/classes/Skeleton.xml doc/classes/SpotLight.xml
#: doc/classes/StaticBody.xml doc/classes/WorldEnvironment.xml
msgid "Third Person Shooter Demo"
-msgstr ""
+msgstr "Third Person Shooter Demo"
#: doc/classes/AnimationNodeAnimation.xml
msgid "Input animation to use in an [AnimationNodeBlendTree]."
@@ -6659,7 +6743,7 @@ msgstr ""
#: doc/classes/MeshInstance.xml doc/classes/MeshLibrary.xml
#: doc/classes/ProjectSettings.xml doc/classes/Transform.xml
msgid "3D Platformer Demo"
-msgstr ""
+msgstr "3D Platformer Demo"
#: doc/classes/AnimationNodeAnimation.xml
msgid ""
@@ -7332,9 +7416,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -7454,6 +7538,24 @@ msgid ""
"animation_tree[\"parameters/Seek/seek_position\"] = 12.0\n"
"[/codeblock]"
msgstr ""
+"Dieser Knoten kann verwendet werden, um einen Suchbefehl für alle "
+"Unterkinder des Animationsgraphen auszuführen. Verwenden Sie diesen "
+"Knotentyp, um eine [Animation] ab dem Start oder einer bestimmten "
+"Abspielposition innerhalb des [AnimationNodeBlendTree] abzuspielen. Nach dem "
+"Einstellen der Zeit und dem Ändern der Animationswiedergabe geht der "
+"Suchknoten beim nächsten Prozessbild automatisch in den Schlafmodus, indem "
+"er seinen Wert [code]seek_position[/code] auf [code]-1.0[/code] setzt.\n"
+"[codeblock]\n"
+"# Kind-Animation von Anfang an abspielen.\n"
+"animation_tree.set(\"parameters/Seek/seek_position\", 0.0)\n"
+"# Alternativer Syntax (gleiches Ergebnis wie oben).\n"
+"animation_tree[\"parameters/Seek/seek_position\"] = 0.0\n"
+"\n"
+"# Kind-Animation ab dem 12 Sekunden Zeitstempel abspielen.\n"
+"animation_tree.set(\"parameters/Seek/seek_position\", 12.0)\n"
+"# Alternativer Syntax (gleiches Ergebnis wie oben).\n"
+"animation_tree[\"parameters/Seek/seek_position\"] = 12.0\n"
+"[/codeblock]"
#: doc/classes/AnimationNodeTransition.xml
msgid "A generic animation transition node for [AnimationTree]."
@@ -7570,9 +7672,10 @@ msgstr ""
"Zeichenkette, wenn nicht gefunden."
#: doc/classes/AnimationPlayer.xml
+#, fuzzy
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
"Liefert die [Animation] mit dem Schlüssel [code]name[/code] oder [code]null[/"
"code], wenn nicht gefunden."
@@ -7761,6 +7864,15 @@ msgid ""
"get the currently playing animation, and internally for animation playback "
"tracks. For more information, see [Animation]."
msgstr ""
+"Der Name der aktuell abgespielten Animation. Wenn keine Animation abgespielt "
+"wird, ist der Wert der Eigenschaft eine leere Zeichenkette. Eine Änderung "
+"dieses Wertes führt nicht zum Neustart der Animation. Weitere Informationen "
+"über das Abspielen von Animationen finden Sie unter [method play].\n"
+"[b]Hinweis:[/b] Diese Eigenschaft wird zwar im Inspektor angezeigt, ist aber "
+"nicht zum Bearbeiten gedacht und wird nicht in der Szene gespeichert. Diese "
+"Eigenschaft wird hauptsächlich verwendet, um die aktuell abgespielte "
+"Animation zu erhalten, und intern für Animationswiedergabespuren. Für "
+"weitere Informationen, siehe [Animation]."
#: doc/classes/AnimationPlayer.xml
msgid "The length (in seconds) of the currently being played animation."
@@ -7814,6 +7926,13 @@ msgid ""
"defined by the reset animation, if any, with the editor keeping the values "
"that the nodes had before saving."
msgstr ""
+"Dies wird vom Editor verwendet. Wenn es auf [code]true[/code] gesetzt wird, "
+"wird die Szene mit den Effekten der Reset-Animation gespeichert (als ob sie "
+"auf Zeit 0 gesucht worden wäre), und nach dem Speichern wieder "
+"zurückgesetzt.\n"
+"Mit anderen Worten, die gespeicherte Szenendatei enthält die \"Standard-"
+"Pose\", wie sie durch die Rücksetz-Animation definiert ist, und der Editor "
+"behält die Werte bei, die die Knoten vor dem Speichern hatten."
#: doc/classes/AnimationPlayer.xml
msgid "The node from which node path references will travel."
@@ -8073,6 +8192,8 @@ msgid ""
"Binds a new [Animation] from the [member master_player] to the "
"[AnimationTreePlayer]'s animation node with name [code]id[/code]."
msgstr ""
+"Bindet eine neue [Animation] aus dem [member master_player] an den "
+"Animationsknoten des [AnimationTreePlayer] mit dem Namen [code]id[/code]."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
@@ -8080,12 +8201,18 @@ msgid ""
"[code]id[/code] turns off the track modifying the property at [code]path[/"
"code]. The modified node's children continue to animate."
msgstr ""
+"Wenn [code]enable[/code] [code]true[/code] ist, schaltet der "
+"Animationsknoten mit der ID [code]id[/code] die Spur aus, die die "
+"Eigenschaft bei [code]path[/code] ändert. Die Kinder des geänderten Knotens "
+"werden weiterhin animiert."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
"Binds the [Animation] named [code]source[/code] from [member master_player] "
"to the animation node [code]id[/code]. Recalculates caches."
msgstr ""
+"Bindet die [Animation] namens [code]source[/code] vom [member master_player] "
+"an den Animationsknoten [code]id[/code]. Berechnet die Caches neu."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -8109,6 +8236,12 @@ msgid ""
"At 0, output is input A. Towards 1, the influence of A gets lessened, the "
"influence of B gets raised. At 1, output is input B."
msgstr ""
+"Legt den Überblendungswert eines Blend2-Knotens mit seinem Namen und Wert "
+"fest.\n"
+"Ein Blend2-Knoten überblendet zwei Animationen (A und B) mit einem Wert "
+"zwischen 0 und 1.\n"
+"Bei 0 ist die Ausgabe die Eingabe A. In Richtung 1 wird der Einfluss von A "
+"verringert, der Einfluss von B erhöht. Bei 1 ist die Ausgabe die Eingabe B."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
@@ -8116,6 +8249,10 @@ msgid ""
"[code]id[/code] turns off the track modifying the property at [code]path[/"
"code]. The modified node's children continue to animate."
msgstr ""
+"Wenn [code]enable[/code] [code]true[/code] ist, schaltet der Blend2-Knoten "
+"mit dem Namen [code]id[/code] die Spur aus, die die Eigenschaft bei "
+"[code]path[/code] ändert. Die Kinder des geänderten Knotens werden weiterhin "
+"animiert."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -8132,6 +8269,15 @@ msgid ""
"input A. From 0 to 1, the influence of A gets lessened, the influence of B+ "
"gets raised and the influence of B+ is 0. At 1, output is input B+."
msgstr ""
+"Legt den Überblendungsgrad eines Blend3-Knotens mit seinem Namen und Wert "
+"fest.\n"
+"Ein Blend3-Knoten überblendet drei Animationen (A, B-, B+) mit einem Wert "
+"zwischen -1 und 1.\n"
+"Bei -1 ist die Ausgabe die Eingabe B-. Von -1 bis 0 wird der Einfluss von B- "
+"verringert, der Einfluss von A wird erhöht und der Einfluss von B+ ist 0. "
+"Bei 0 ist die Ausgabe die Eingabe A. Von 0 bis 1 wird der Einfluss von A "
+"verringert, der Einfluss von B+ wird erhöht und der Einfluss von B+ ist 0. "
+"Bei 1 ist die Ausgabe die Eingabe B+."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -8144,6 +8290,10 @@ msgid ""
"A Blend4 Node blends two pairs of animations.\n"
"The two pairs are blended like Blend2 and then added together."
msgstr ""
+"Legt den Überblendungsgrad eines Blend4-Knotens mit seinem Namen und Wert "
+"fest.\n"
+"Ein Blend4-Knoten blendet zwei Paare von Animationen.\n"
+"Die beiden Paare werden wie Blend2 überblendet und dann addiert."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -8160,7 +8310,7 @@ msgstr "Trennt das Node, der mit dem angegebenen Eingang verbunden ist."
#: doc/classes/AnimationTreePlayer.xml
msgid "Returns a [PoolStringArray] containing the name of all nodes."
-msgstr ""
+msgstr "Gibt ein [PoolStringArray] zurück, das die Namen aller Knoten enthält."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -8172,16 +8322,22 @@ msgid ""
"Sets the mix amount of a Mix node given its name and value.\n"
"A Mix node adds input b to input a by the amount given by ratio."
msgstr ""
+"Legt die Mischmenge eines Mix-Knotens fest, dessen Name und Wert angegeben "
+"ist.\n"
+"Ein Mix-Knoten fügt Eingang B zu Eingang A um den durch ratio angegebenen "
+"Betrag hinzu."
#: doc/classes/AnimationTreePlayer.xml
msgid "Check if a node exists (by name)."
-msgstr ""
+msgstr "Prüfen, ob ein Knoten existiert (nach Name)."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
"Returns the input count for a given node. Different types of nodes have "
"different amount of inputs."
msgstr ""
+"Gibt die Anzahl der Eingaben für einen bestimmten Knoten zurück. "
+"Verschiedene Knotentypen haben eine unterschiedliche Anzahl von Eingängen."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -8196,6 +8352,7 @@ msgstr "Gibt das AnimationNode mit dem gegebenen Namen zurück."
#: doc/classes/AnimationTreePlayer.xml
msgid "Gets the node type, will return from [enum NodeType] enum."
msgstr ""
+"Ruft den Knotentyp ab, wird von der Aufzählung [enum NodeType] zurückgegeben."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -8243,28 +8400,38 @@ msgstr "Gibt das AnimationNode mit dem gegebenen Namen zurück."
msgid ""
"Sets the autorestart property of a OneShot node given its name and value."
msgstr ""
+"Legt die Autorestart-Eigenschaft eines OneShot-Knotens mit dessen Namen und "
+"Wert fest."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
"Sets the autorestart delay of a OneShot node given its name and value in "
"seconds."
msgstr ""
+"Legt die Autostart-Verzögerung eines OneShot-Knotens fest, wobei der Name "
+"und der Wert in Sekunden angegeben werden."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
"Sets the autorestart random delay of a OneShot node given its name and value "
"in seconds."
msgstr ""
+"Legt die Zufallsverzögerung für den Autorestart eines OneShot-Knotens fest, "
+"wobei der Name und der Wert in Sekunden angegeben werden."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
"Sets the fade in time of a OneShot node given its name and value in seconds."
msgstr ""
+"Legt die Einblendzeit eines OneShot-Knotens mit seinem Namen und einem Wert "
+"in Sekunden fest."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
"Sets the fade out time of a OneShot node given its name and value in seconds."
msgstr ""
+"Legt die Ausblendzeit eines OneShot-Knotens fest, wobei der Name und der "
+"Wert in Sekunden angegeben werden."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
@@ -8272,6 +8439,9 @@ msgid ""
"[code]id[/code] turns off the track modifying the property at [code]path[/"
"code]. The modified node's children continue to animate."
msgstr ""
+"Wenn [code]enable[/code] [code]true[/code] ist, schaltet der OneShot-Knoten "
+"mit der ID [code]id[/code] die Spur aus, die die Eigenschaft bei [code]path[/"
+"code] ändert. Die Kinder des geänderten Knotens werden weiterhin animiert"
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -8289,6 +8459,9 @@ msgid ""
"animation nodes. Needed when external sources modify the animation nodes' "
"state."
msgstr ""
+"Berechnet den Cache der von Animationsknoten erzeugten Spurinformationen "
+"manuell neu. Wird benötigt, wenn externe Quellen den Zustand der "
+"Animationsknoten ändern."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -8297,7 +8470,7 @@ msgstr "Entfernt die Animation mit dem key [code]name[/code]."
#: doc/classes/AnimationTreePlayer.xml
msgid "Resets this [AnimationTreePlayer]."
-msgstr ""
+msgstr "Setzt diesen [AnimationTreePlayer] zurück."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -8314,6 +8487,12 @@ msgid ""
"If applied after a blend or mix, affects all input animations to that blend "
"or mix."
msgstr ""
+"Setzt die Zeitskala des TimeScale-Knotens mit dem Namen [code]id[/code] auf "
+"[code]scale[/code].\n"
+"Der TimeScale-Knoten wird verwendet, um [Animationen] zu beschleunigen, wenn "
+"die Skala über 1 liegt, oder sie zu verlangsamen, wenn sie unter 1 liegt.\n"
+"Wenn er nach einer Überblendung oder Mischung angewendet wird, wirkt er sich "
+"auf alle Eingangsanimationen für diese Überblendung oder Mischung aus."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
@@ -8322,6 +8501,10 @@ msgid ""
"This functions as a seek in the [Animation] or the blend or mix of "
"[Animation]s input in it."
msgstr ""
+"Setzt den Zeitsuchwert des TimeSeek-Knotens mit dem Namen [code]id[/code] "
+"auf [code]seconds[/code].\n"
+"Dies funktioniert wie ein Suchlauf in der [Animation] oder der Mischung oder "
+"dem Mix von [Animation]en, die darin eingegeben werden."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -8346,6 +8529,9 @@ msgid ""
"Returns the number of inputs for the transition node with name [code]id[/"
"code]. You can add inputs by right-clicking on the transition node."
msgstr ""
+"Gibt die Anzahl der Eingänge für den Übergangsknoten mit dem Namen [code]id[/"
+"code] zurück. Sie können Eingaben hinzufügen, indem Sie mit der rechten "
+"Maustaste auf den Übergangsknoten klicken."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -8360,6 +8546,9 @@ msgid ""
"transition node with name [code]id[/code] is set to automatically advance to "
"the next input upon completion."
msgstr ""
+"Gibt [code]true[/code] zurück, wenn die Eingabe an [code]input_idx[/code] "
+"auf dem Übergangsknoten mit dem Namen [code]id[/code] so eingestellt ist, "
+"dass sie nach Abschluss automatisch zur nächsten Eingabe übergeht."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -8375,12 +8564,17 @@ msgid ""
"The transition node with name [code]id[/code] advances to its next input "
"automatically when the input at [code]input_idx[/code] completes."
msgstr ""
+"Der Übergangsknoten mit dem Namen [code]id[/code] geht automatisch zu seiner "
+"nächsten Eingabe über, wenn die Eingabe an [code]input_idx[/code] "
+"abgeschlossen ist."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
"Resizes the number of inputs available for the transition node with name "
"[code]id[/code]."
msgstr ""
+"Verändert die Anzahl der verfügbaren Eingänge für den Übergangsknoten mit "
+"dem Namen [code]id[/code]."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -8403,6 +8597,9 @@ msgid ""
"It accesses the bones, so it should point to the same node the "
"[AnimationPlayer] would point its Root Node at."
msgstr ""
+"Der Knoten, von dem aus relativ auf andere Knoten zugegriffen werden kann.\n"
+"Er greift auf die Bones zu, sollte also auf denselben Knoten zeigen, auf den "
+"der [AnimationPlayer] seinen Root Knoten zeigen würde."
#: doc/classes/AnimationTreePlayer.xml
msgid ""
@@ -8410,6 +8607,10 @@ msgid ""
"binds animations to animation nodes.\n"
"Once set, [Animation] nodes can be added to the [AnimationTreePlayer]."
msgstr ""
+"Der Pfad zum [AnimationPlayer], von dem dieser [AnimationTreePlayer] "
+"Animationen an Animationsknoten bindet.\n"
+"Einmal festgelegt, können [Animation]-Knoten zum [AnimationTreePlayer] "
+"hinzugefügt werden."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -8418,7 +8619,7 @@ msgstr "Die Prozessmeldung, in der die Animationen aktualisiert werden sollen."
#: doc/classes/AnimationTreePlayer.xml
msgid "Output node."
-msgstr ""
+msgstr "Ausgangsknoten."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -8432,27 +8633,27 @@ msgstr "Einmaliger Timer."
#: doc/classes/AnimationTreePlayer.xml
msgid "Mix node."
-msgstr ""
+msgstr "Mischknoten."
#: doc/classes/AnimationTreePlayer.xml
msgid "Blend2 node."
-msgstr ""
+msgstr "Blend2 Knoten."
#: doc/classes/AnimationTreePlayer.xml
msgid "Blend3 node."
-msgstr ""
+msgstr "Blend3 Knoten."
#: doc/classes/AnimationTreePlayer.xml
msgid "Blend4 node."
-msgstr ""
+msgstr "Blend4 Knoten."
#: doc/classes/AnimationTreePlayer.xml
msgid "TimeScale node."
-msgstr ""
+msgstr "TimeScale Knoten."
#: doc/classes/AnimationTreePlayer.xml
msgid "TimeSeek node."
-msgstr ""
+msgstr "TimeSeek Knoten."
#: doc/classes/AnimationTreePlayer.xml
#, fuzzy
@@ -8478,7 +8679,7 @@ msgstr ""
#: doc/classes/Area.xml doc/classes/QuadMesh.xml doc/classes/Viewport.xml
#: doc/classes/ViewportTexture.xml
msgid "GUI in 3D Demo"
-msgstr ""
+msgstr "Benutzeroberfläche in 3D-Demo"
#: doc/classes/Area.xml
msgid ""
@@ -8645,10 +8846,15 @@ msgid ""
"The degree to which this area applies reverb to its associated audio. Ranges "
"from [code]0[/code] to [code]1[/code] with [code]0.1[/code] precision."
msgstr ""
+"Der Grad, in dem dieser Bereich Hall auf das zugehörige Audiomaterial "
+"anwendet. Der Bereich reicht von [code]0[/code] bis [code]1[/code] mit einer "
+"Genauigkeit von [code]0.1[/code]."
#: doc/classes/Area.xml
msgid "If [code]true[/code], the area applies reverb to its associated audio."
msgstr ""
+"Wenn [code]true[/code], wendet der Bereich Hall auf das zugehörige "
+"Audiomaterial an."
#: doc/classes/Area.xml
msgid "The reverb bus name to use for this area's associated audio."
@@ -8677,6 +8883,9 @@ msgid ""
"be set to [code]true[/code].\n"
"[code]area[/code] the other Area."
msgstr ""
+"Wird ausgesendet, wenn ein anderer Bereich diesen Bereich betritt. "
+"Erfordert, dass [member monitoring] auf [code]true[/code] gesetzt ist.\n"
+"[code]area[/code] der andere Bereich."
#: doc/classes/Area.xml
msgid ""
@@ -8684,6 +8893,9 @@ msgid ""
"be set to [code]true[/code].\n"
"[code]area[/code] the other Area."
msgstr ""
+"Wird ausgesendet, wenn ein anderer Bereich diesen Bereich verlässt. "
+"Erfordert, dass [member monitoring] auf [code]true[/code] gesetzt ist.\n"
+"[code]area[/code] der andere Bereich."
#: doc/classes/Area.xml
msgid ""
@@ -8699,6 +8911,18 @@ msgid ""
"the [PhysicsServer]. Get the [CollisionShape] node with [code]self."
"shape_owner_get_owner(local_shape_index)[/code]."
msgstr ""
+"Wird ausgesendet, wenn [Shape]s eines anderen Bereichs in [Shape]s dieses "
+"Bereichs eintreten. Erfordert, dass [member monitoring] auf [code]true[/"
+"code] gesetzt ist.\n"
+"[code]area_rid[/code] die [RID] des vom [PhysicsServer] verwendeten "
+"[CollisionObject] des anderen Bereichs.\n"
+"[code]area[/code] die andere Area.\n"
+"[code]area_shape_index[/code] der Index des [Shape] des anderen Bereichs, "
+"der vom [PhysicsServer] verwendet wird. Holen Sie den [CollisionShape] "
+"Knoten mit [code]area.shape_owner_get_owner(area_shape_index)[/code].\n"
+"[code]local_shape_index[/code] der Index des [Shape] dieses Bereichs, der "
+"vom [PhysicsServer] verwendet wird. Holen Sie den [CollisionShape] Knoten "
+"mit [code]self.shape_owner_get_owner(local_shape_index)[/code]."
#: doc/classes/Area.xml
msgid ""
@@ -8708,6 +8932,12 @@ msgid ""
"[code]body[/code] the [Node], if it exists in the tree, of the other "
"[PhysicsBody] or [GridMap]."
msgstr ""
+"Wird ausgesendet, wenn ein [PhysicsBody] oder eine [GridMap] diesen Bereich "
+"betritt. Erfordert, dass [member monitoring] auf [code]true[/code] gesetzt "
+"ist. [GridMap]s werden erkannt, wenn die [MeshLibrary] Kollisions-[Shape]s "
+"hat.\n"
+"[code]body[/code] die [Node] des anderen [PhysicsBody] oder der [GridMap], "
+"wenn er im Baum existiert."
#: doc/classes/Area.xml
msgid ""
@@ -8717,6 +8947,12 @@ msgid ""
"[code]body[/code] the [Node], if it exists in the tree, of the other "
"[PhysicsBody] or [GridMap]."
msgstr ""
+"Wird ausgesendet, wenn ein [PhysicsBody] oder eine [GridMap] diesen Bereich "
+"verlässt. Erfordert, dass [member monitoring] auf [code]true[/code] gesetzt "
+"ist. [GridMap]s werden erkannt, wenn die [MeshLibrary] Kollisions-[Shape]s "
+"hat.\n"
+"[code]body[/code] der [Node], falls im Baum vorhanden, des anderen "
+"[PhysicsBody] oder der [GridMap]."
#: doc/classes/Area.xml
msgid ""
@@ -8734,6 +8970,21 @@ msgid ""
"the [PhysicsServer]. Get the [CollisionShape] node with [code]self."
"shape_owner_get_owner(local_shape_index)[/code]."
msgstr ""
+"Wird ausgesendet, wenn eine [Shape] eines [PhysicsBody] oder einer [GridMap] "
+"in eine [Shape] dieses Bereichs eintritt. Erfordert, dass [member "
+"monitoring] auf [code]true[/code] gesetzt ist. [GridMap]s werden erkannt, "
+"wenn die [MeshLibrary] Kollisions-[Shape]s hat.\n"
+"[code]body_rid[/code] die [RID] des [PhysicsBody]s oder [MeshLibrary]s "
+"[CollisionObject], das vom [PhysicsServer] verwendet wird.\n"
+"[code]body[/code] der [Node] des [PhysicsBody] oder der [GridMap], wenn er "
+"im Baum existiert.\n"
+"[code]body_shape_index[/code] der Index des [Shape]s des [PhysicsBody] oder "
+"der [GridMap], der vom [PhysicsServer] verwendet wird. Holen Sie den "
+"[CollisionShape] Knoten mit [code]body."
+"shape_owner_get_owner(body_shape_index)[/code].\n"
+"[code]local_shape_index[/code] der Index des [Shape]s dieses Bereichs, der "
+"vom [PhysicsServer] verwendet wird. Holen Sie den [CollisionShape] Knoten "
+"mit [code]self.shape_owner_get_owner(local_shape_index)[/code]."
#: doc/classes/Area.xml doc/classes/Area2D.xml
msgid "This area does not affect gravity/damping."
@@ -8744,24 +8995,34 @@ msgid ""
"This area adds its gravity/damping values to whatever has been calculated so "
"far (in [member priority] order)."
msgstr ""
+"Dieser Bereich addiert seine Schwerkraft-/Dämpfungswerte zu den bisher "
+"berechneten Werten (in der Reihenfolge der [member priority])."
#: doc/classes/Area.xml doc/classes/Area2D.xml
msgid ""
"This area adds its gravity/damping values to whatever has been calculated so "
"far (in [member priority] order), ignoring any lower priority areas."
msgstr ""
+"Dieser Bereich addiert seine Schwere-/Dämpfungswerte zu den bisher "
+"berechneten Werten (in der Reihenfolge der [member priority]) und ignoriert "
+"alle Bereiche mit niedrigerer Priorität."
#: doc/classes/Area.xml doc/classes/Area2D.xml
msgid ""
"This area replaces any gravity/damping, even the defaults, ignoring any "
"lower priority areas."
msgstr ""
+"Dieser Bereich ersetzt jede Schwerkraft/Dämpfung, auch die Standardwerte, "
+"und ignoriert alle Bereiche mit niedrigerer Priorität."
#: doc/classes/Area.xml doc/classes/Area2D.xml
msgid ""
"This area replaces any gravity/damping calculated so far (in [member "
"priority] order), but keeps calculating the rest of the areas."
msgstr ""
+"Dieser Bereich ersetzt alle bisher berechneten Schwerkraft-/Dämpfungswerte "
+"(in der Reihenfolge der [member priority]), berechnet aber weiterhin die "
+"übrigen Bereiche."
#: doc/classes/Area2D.xml
#, fuzzy
@@ -8786,13 +9047,13 @@ msgstr "Verwendung von Area2D"
#: doc/classes/Area2D.xml doc/classes/CollisionShape2D.xml
#: doc/classes/RectangleShape2D.xml
msgid "2D Pong Demo"
-msgstr ""
+msgstr "2D Pong Demo"
#: doc/classes/Area2D.xml doc/classes/Camera2D.xml
#: doc/classes/KinematicBody2D.xml doc/classes/TileMap.xml
#: doc/classes/TileSet.xml
msgid "2D Platformer Demo"
-msgstr ""
+msgstr "2D Platformer Demo"
#: doc/classes/Area2D.xml
msgid ""
@@ -8905,6 +9166,9 @@ msgid ""
"to be set to [code]true[/code].\n"
"[code]area[/code] the other Area2D."
msgstr ""
+"Wird ausgesendet, wenn ein anderes Area2D dieses Area2D betritt. Erfordert, "
+"dass [member monitoring] auf [code]true[/code] gesetzt ist.\n"
+"[code]area[/code] die andere Area2D."
#: doc/classes/Area2D.xml
msgid ""
@@ -8912,6 +9176,9 @@ msgid ""
"to be set to [code]true[/code].\n"
"[code]area[/code] the other Area2D."
msgstr ""
+"Wird ausgesendet, wenn ein anderes Area2D dieses Area2D verlässt. Erfordert, "
+"dass [member monitoring] auf [code]true[/code] gesetzt ist.\n"
+"[code]area[/code] die andere Area2D."
#: doc/classes/Area2D.xml
msgid ""
@@ -8927,6 +9194,18 @@ msgid ""
"used by the [Physics2DServer]. Get the [CollisionShape2D] node with "
"[code]self.shape_owner_get_owner(local_shape_index)[/code]."
msgstr ""
+"Wird ausgesendet, wenn [Shape2D]s eines anderen Area2Ds in [Shape2D]s dieses "
+"Area2Ds verlassen. Erfordert, dass [member monitoring] auf [code]true[/code] "
+"gesetzt ist.\n"
+"[code]area_rid[/code] die [RID] des anderen Area2D's [CollisionObject2D], "
+"das vom [Physics2DServer] verwendet wird.\n"
+"[code]area[/code] die andere Area2D.\n"
+"[code]area_shape_index[/code] der Index des [Shape2D]s des anderen Area2Ds, "
+"das vom [Physics2DServer] verwendet wird. Holen Sie den [CollisionShape2D] "
+"Knoten mit [code]area.shape_owner_get_owner(area_shape_index)[/code].\n"
+"[code]local_shape_index[/code] der Index des [Shape2D]s dieses Area2Ds, der "
+"vom [Physics2DServer] verwendet wird. Holen Sie den [CollisionShape2D] "
+"Knoten mit [code]self.shape_owner_get_owner(local_shape_index)[/code]."
#: doc/classes/Area2D.xml
msgid ""
@@ -8942,6 +9221,18 @@ msgid ""
"used by the [Physics2DServer]. Get the [CollisionShape2D] node with "
"[code]self.shape_owner_get_owner(local_shape_index)[/code]."
msgstr ""
+"Wird ausgesendet, wenn [Shape2D]s eines anderen Area2Ds [Shape2D]s dieses "
+"Area2D verlassen. Erfordert, dass [member monitoring] auf [code]true[/code] "
+"gesetzt ist.\n"
+"[code]area_rid[/code] die [RID] des anderen Area2D's [CollisionObject2D], "
+"das vom [Physics2DServer] verwendet wird.\n"
+"[code]area[/code] die andere Area2D.\n"
+"[code]area_shape_index[/code] der Index des [Shape2D]s des anderen Area2Ds, "
+"das vom [Physics2DServer] verwendet wird. Holen Sie den [CollisionShape2D] "
+"Knoten mit [code]area.shape_owner_get_owner(area_shape_index)[/code].\n"
+"[code]local_shape_index[/code] der Index des [Shape2D]s dieses Area2Ds, der "
+"vom [Physics2DServer] verwendet wird. Holen Sie den [CollisionShape2D] "
+"Knoten mit [code]self.shape_owner_get_owner(local_shape_index)[/code]."
#: doc/classes/Area2D.xml
msgid ""
@@ -8951,6 +9242,12 @@ msgid ""
"[code]body[/code] the [Node], if it exists in the tree, of the other "
"[PhysicsBody2D] or [TileMap]."
msgstr ""
+"Wird ausgesendet, wenn ein [PhysicsBody2D] oder eine [TileMap] diesen Area2D "
+"betritt. Erfordert, dass [member monitoring] auf [code]true[/code] gesetzt "
+"ist. [TileMap]s werden erkannt, wenn das [TileSet] Kollisions-[Shape2D]s "
+"hat.\n"
+"[code]body[/code] der [Node], falls im Baum vorhanden, des anderen "
+"[PhysicsBody2D] oder [TileMap]."
#: doc/classes/Area2D.xml
msgid ""
@@ -8960,6 +9257,12 @@ msgid ""
"[code]body[/code] the [Node], if it exists in the tree, of the other "
"[PhysicsBody2D] or [TileMap]."
msgstr ""
+"Wird ausgesendet, wenn ein [PhysicsBody2D] oder eine [TileMap] diesen Area2D "
+"verlässt. Erfordert, dass [member monitoring] auf [code]true[/code] gesetzt "
+"ist. [TileMap]s werden erkannt, wenn das [TileSet] Kollisions-[Shape2D]s "
+"hat.\n"
+"[code]body[/code] der [Node], falls im Baum vorhanden, des anderen "
+"[PhysicsBody2D] oder [TileMap]."
#: doc/classes/Area2D.xml
msgid ""
@@ -8979,6 +9282,21 @@ msgid ""
"used by the [Physics2DServer]. Get the [CollisionShape2D] node with "
"[code]self.shape_owner_get_owner(local_shape_index)[/code]."
msgstr ""
+"Wird ausgesendet, wenn eine der [Shape2D]s eines [PhysicsBody2D] oder einer "
+"[TileMap] in eine der [Shape2D]s dieser Area2D eintritt. Erfordert, dass "
+"[member monitoring] auf [code]true[/code] gesetzt ist. [TileMap]s werden "
+"erkannt, wenn das [TileSet] Kollisions-[Shape2D]s hat.\n"
+"[code]body_rid[/code] die [RID] des [PhysicsBody2D] oder [TileSet]'s "
+"[CollisionObject2D], das vom [Physics2DServer] verwendet wird.\n"
+"[code]body[/code] der [Node] des [PhysicsBody2D] oder der [TileMap], wenn er "
+"im Baum existiert.\n"
+"[code]body_shape_index[/code] der Index des [Shape2D]s des [PhysicsBody2D]s "
+"oder der [TileMap], der vom [Physics2DServer] verwendet wird. Holen Sie sich "
+"den [CollisionShape2D] Knoten mit [code]body."
+"shape_owner_get_owner(body_shape_index)[/code].\n"
+"[code]local_shape_index[/code] der Index des [Shape2D]s dieses Area2Ds, der "
+"vom [Physics2DServer] verwendet wird. Holen Sie den [CollisionShape2D] "
+"Knoten mit [code]self.shape_owner_get_owner(local_shape_index)[/code]."
#: doc/classes/Area2D.xml
msgid ""
@@ -8998,10 +9316,25 @@ msgid ""
"used by the [Physics2DServer]. Get the [CollisionShape2D] node with "
"[code]self.shape_owner_get_owner(local_shape_index)[/code]."
msgstr ""
+"Wird ausgesendet, wenn eine der [Shape2D]s eines [PhysicsBody2D] oder einer "
+"[TileMap] eine der [Shape2D]s dieser Area2D verlässt. Erfordert, dass "
+"[member monitoring] auf [code]true[/code] gesetzt ist. [TileMap]s werden "
+"erkannt, wenn das [TileSet] Kollisions-[Shape2D]s hat.\n"
+"[code]body_rid[/code] die [RID] des [PhysicsBody2D] oder [TileSet]'s "
+"[CollisionObject2D], das vom [Physics2DServer] verwendet wird.\n"
+"[code]body[/code] der [Node] des [PhysicsBody2D] oder der [TileMap], wenn er "
+"im Baum existiert.\n"
+"[code]body_shape_index[/code] der Index des [Shape2D]s des [PhysicsBody2D]s "
+"oder der [TileMap], der vom [Physics2DServer] verwendet wird. Holen Sie sich "
+"den [CollisionShape2D] Knoten mit [code]body."
+"shape_owner_get_owner(body_shape_index)[/code].\n"
+"[code]local_shape_index[/code] der Index des [Shape2D]s dieses Area2Ds, der "
+"vom [Physics2DServer] verwendet wird. Holen Sie den [CollisionShape2D] "
+"Knoten mit [code]self.shape_owner_get_owner(local_shape_index)[/code]."
#: doc/classes/Array.xml
msgid "A generic array datatype."
-msgstr ""
+msgstr "Ein generischer Array Datentyp."
#: doc/classes/Array.xml
msgid ""
@@ -9035,6 +9368,37 @@ msgid ""
"pushing/removing elements. Using [code]const[/code] will only prevent "
"assigning the constant with another value after it was initialized."
msgstr ""
+"Ein generisches Array, das mehrere Elemente beliebiger Typen enthalten kann, "
+"die über einen numerischen Index ab 0 zugänglich sind. Negative Indizes "
+"können verwendet werden, um von hinten zu zählen, wie in Python (-1 ist das "
+"letzte Element, -2 das vorletzte usw.).\n"
+"[b]Zum Beispiel:[/b]\n"
+"[codeblock]\n"
+"var array = [\"Eins\", 2, 3, \"Vier\"]\n"
+"print(array[0]) # Eins.\n"
+"print(array[2]) # 3.\n"
+"print(array[-1]) # Vier.\n"
+"array[2] = \"Drei\"\n"
+"print(array[-2]) # Drei.\n"
+"[/codeblock]\n"
+"Arrays können mit dem Operator [code]+[/code] verbunden werden:\n"
+"[codeblock]\n"
+"var array1 = [\"Eins\", 2]\n"
+"var array2 = [3, \"Vier\"]\n"
+"print(array1 + array2) # [\"Eins\", 2, 3, \"Vier\"]\n"
+"[/codeblock]\n"
+"[b]Hinweis:[/b] Die Verkettung mit dem Operator [code]+=[/code] erzeugt ein "
+"neues Array, was mit Kosten verbunden ist. Wenn Sie ein weiteres Array an "
+"ein bestehendes Array anhängen wollen, ist die [method append_array] "
+"effizienter.\n"
+"[b]Hinweis:[/b] Arrays werden immer per Referenz übergeben. Um eine Kopie "
+"eines Arrays zu erhalten, die unabhängig vom ursprünglichen Array verändert "
+"werden kann, verwenden Sie [method duplicate].\n"
+"[b]Hinweis:[/b] Wenn ein Array mit [code]const[/code] deklariert wird, kann "
+"das Array selbst immer noch verändert werden, indem die Werte an einzelnen "
+"Indizes definiert oder Elemente verschoben/entfernt werden. Die Verwendung "
+"von [code]const[/code] verhindert nur, dass der Konstante ein anderer Wert "
+"zugewiesen wird, nachdem sie initialisiert wurde."
#: doc/classes/Array.xml
#, fuzzy
@@ -9090,6 +9454,13 @@ msgid ""
"print(array1) # Prints [1, 2, 3, 4, 5, 6].\n"
"[/codeblock]"
msgstr ""
+"Hängt ein weiteres Array an das Ende dieses Array an.\n"
+"[codeblock]\n"
+"var array1 = [1, 2, 3]\n"
+"var array2 = [4, 5, 6]\n"
+"array1.append_array(array2)\n"
+"print(array1) # Prints [1, 2, 3, 4, 5, 6].\n"
+"[/codeblock]"
#: doc/classes/Array.xml
msgid ""
@@ -9099,6 +9470,12 @@ msgid ""
"[/code]. If the array is empty, accessing by index will pause project "
"execution when running from the editor."
msgstr ""
+"Gibt das letzte Element des Arrays zurück. Gibt einen Fehler aus und liefert "
+"[code]null[/code], wenn das Array leer ist.\n"
+"[b]Hinweis:[/b] Der Aufruf dieser Funktion ist nicht dasselbe wie das "
+"Schreiben von [code]array[-1][/code]. Wenn das Array leer ist, führt der "
+"Zugriff über den Index zu einer Unterbrechung der Projektausführung, wenn es "
+"vom Editor aus ausgeführt wird."
#: doc/classes/Array.xml
msgid ""
@@ -9110,6 +9487,13 @@ msgid ""
"[b]Note:[/b] Calling [method bsearch] on an unsorted array results in "
"unexpected behavior."
msgstr ""
+"Findet den Index eines vorhandenen Wertes (oder den Einfügeindex, der die "
+"Sortierreihenfolge beibehält, wenn der Wert noch nicht im Array vorhanden "
+"ist) mithilfe der binären Suche. Optional kann ein [code]before[/code]-"
+"Spezifizierer übergeben werden. Falls [code]false[/code], kommt der "
+"zurückgegebene Index nach allen vorhandenen Einträgen des Wertes im Array.\n"
+"[b]Hinweis:[/b] Der Aufruf der [method bsearch] auf einem unsortierten Array "
+"führt zu unerwartetem Verhalten."
#: doc/classes/Array.xml
msgid ""
@@ -9149,19 +9533,57 @@ msgid ""
"[b]Note:[/b] Calling [method bsearch_custom] on an unsorted array results in "
"unexpected behavior."
msgstr ""
+"Findet den Index eines vorhandenen Wertes (oder den Einfügeindex, der die "
+"Sortierreihenfolge beibehält, wenn der Wert noch nicht im Array vorhanden "
+"ist) mithilfe der binären Suche und eine benutzerdefinierte "
+"Vergleichsmethode, die im [code]obj[/code] deklariert ist. Optional kann ein "
+"[code]before[/code]-Spezifizierer übergeben werden. Wenn [code]false[/code], "
+"kommt der zurückgegebene Index nach allen vorhandenen Einträgen des Wertes "
+"im Array. Die benutzerdefinierte Methode erhält zwei Argumente (ein Element "
+"aus dem Array und den gesuchten Wert) und muss [code]true[/code] "
+"zurückgeben, wenn das erste Argument kleiner als das zweite ist, und "
+"ansonsten [code]false[/code].\n"
+"[codeblock]\n"
+"func cardinal_to_algebraic(a):\n"
+" match a:\n"
+" \"eins\":\n"
+" return 1\n"
+" \"zwei\":\n"
+" return 2\n"
+" \"drei\":\n"
+" return 3\n"
+" \"vier\":\n"
+" return 4\n"
+" _:\n"
+" return 0\n"
+"\n"
+"func compare(a, b):\n"
+" return cardinal_to_algebraic(a) < cardinal_to_algebraic(b)\n"
+"\n"
+"func _ready():\n"
+" var a = [\"one\", \"two\", \"three\", \"four\"]\n"
+" # `compare`ist in diesem Objekt definiert, also benutzen wir `self` als "
+"den `obj` Parameter.\n"
+" print(a.bsearch_custom(\"three\", self, \"compare\", true)) # Expected "
+"value is 2.\n"
+"[/codeblock]\n"
+"[b]Hinweis:[/b] Der Aufruf der [method bsearch_custom] auf einem "
+"unsortierten Array führt zu unerwartetem Verhalten."
#: doc/classes/Array.xml
msgid ""
"Clears the array. This is equivalent to using [method resize] with a size of "
"[code]0[/code]."
msgstr ""
+"Löscht das Array. Dies entspricht der Verwendung von [method resize] mit "
+"einer Größe von [code]0[/code]."
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
#: doc/classes/PoolRealArray.xml doc/classes/PoolStringArray.xml
#: doc/classes/PoolVector2Array.xml doc/classes/PoolVector3Array.xml
msgid "Returns the number of times an element is in the array."
-msgstr ""
+msgstr "Gibt die Anzahl der Vorkommen eines Elements im Array zurück."
#: doc/classes/Array.xml
msgid ""
@@ -9173,6 +9595,14 @@ msgid ""
"modifying a sub-array or dictionary in the copy will also impact those "
"referenced in the source array."
msgstr ""
+"Gibt eine Kopie des Arrays zurück.\n"
+"Wenn [code]deep[/code] [code]true[/code] ist, wird eine tiefe Kopie "
+"erstellt: alle verschachtelten Arrays und Dictionaries werden dupliziert und "
+"nicht mit dem ursprünglichen Array geteilt. Wenn es [code]false[/code] ist, "
+"wird eine flache Kopie erstellt und Verweise auf die ursprünglichen "
+"verschachtelten Arrays und Dictionaries werden beibehalten, so dass die "
+"Änderung eines Sub-Arrays oder Dictionaries in der Kopie auch Auswirkungen "
+"auf die im Quell-Array referenzierten hat."
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
@@ -9191,6 +9621,15 @@ msgid ""
"element is close to the beginning of the array (index 0). This is because "
"all elements placed after the removed element have to be reindexed."
msgstr ""
+"Entfernt das erste Vorkommen eines Wertes aus dem Array. Wenn der Wert nicht "
+"im Array vorhanden ist, passiert nichts. Um ein Element nach Index zu "
+"entfernen, verwenden Sie stattdessen [method remove].\n"
+"[b]Hinweis:[/b] Diese Methode arbeitet in-place und gibt keinen Wert "
+"zurück.\n"
+"[b]Hinweis:[/b] Bei großen Arrays ist diese Methode langsamer, wenn das "
+"entfernte Element nahe am Anfang des Arrays liegt (Index 0). Das liegt "
+"daran, dass alle Elemente, die nach dem entfernten Element platziert sind, "
+"neu indiziert werden müssen."
#: doc/classes/Array.xml
msgid ""
@@ -9203,6 +9642,14 @@ msgid ""
"array.fill(0) # Initialize the 10 elements to 0.\n"
"[/codeblock]"
msgstr ""
+"Weist allen Elementen des Arrays den angegebenen Wert zu. Dies kann "
+"normalerweise zusammen mit [method resize] verwendet werden, um ein Array "
+"mit einer bestimmten Größe und initialisierten Elementen zu erstellen:\n"
+"[codeblock]\n"
+"var array = []\n"
+"array.resize(10)\n"
+"array.fill(0) # Initialisieren Sie die 10 Elemente auf 0.\n"
+"[/codeblock]"
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
@@ -9213,12 +9660,18 @@ msgid ""
"not found. Optionally, the initial search index can be passed. Returns "
"[code]-1[/code] if [code]from[/code] is out of bounds."
msgstr ""
+"Durchsucht das Array nach einem Wert und gibt dessen Index oder [code]-1[/"
+"code] zurück, wenn er nicht gefunden wurde. Optional kann auch der "
+"anfängliche Suchindex übergeben werden. Gibt [code]-1[/code] zurück, wenn "
+"[code]from[/code] außerhalb der Grenzen liegt."
#: doc/classes/Array.xml
msgid ""
"Searches the array in reverse order for a value and returns its index or "
"[code]-1[/code] if not found."
msgstr ""
+"Durchsucht das Array in umgekehrter Reihenfolge nach einem Wert und gibt "
+"dessen Index oder [code]-1[/code] zurück, wenn er nicht gefunden wird."
#: doc/classes/Array.xml
msgid ""
@@ -9228,6 +9681,12 @@ msgid ""
"[/code]. If the array is empty, accessing by index will pause project "
"execution when running from the editor."
msgstr ""
+"Gibt das erste Element des Arrays zurück. Gibt einen Fehler aus und liefert "
+"[code]null[/code], wenn das Array leer ist.\n"
+"[b]Hinweis:[/b] Der Aufruf dieser Funktion ist nicht dasselbe wie das "
+"Schreiben von [code]array[0][/code]. Wenn das Array leer ist, führt der "
+"Zugriff über den Index zu einer Unterbrechung der Projektausführung, wenn es "
+"vom Editor aus ausgeführt wird."
#: doc/classes/Array.xml
msgid ""
@@ -9246,6 +9705,20 @@ msgid ""
" pass\n"
"[/codeblock]"
msgstr ""
+"Gibt [code]true[/code] zurück, wenn das Array den angegebenen Wert enthält.\n"
+"[codeblock]\n"
+"[\"innerhalb\", 7].has(\"innerhalb\") # True\n"
+"[\"innerhalb\", 7].has(\"außerhalb\") # False\n"
+"[\"innerhalb\", 7].has(7) # True\n"
+"[\"innerhalb\", 7].has(\"7\") # False\n"
+"[/codeblock]\n"
+"[b]Hinweis:[/b] Dies entspricht der Verwendung des Operators [code]in[/code] "
+"wie folgt:\n"
+"[codeblock]\n"
+"# Wird als `true` ausgewertet.\n"
+"if 2 in [2, 4, 6, 8]:\n"
+" pass\n"
+"[/codeblock]"
#: doc/classes/Array.xml
msgid ""
@@ -9256,6 +9729,13 @@ msgid ""
"does [i]not[/i] imply the arrays are equal, because different arrays can "
"have identical hash values due to hash collisions."
msgstr ""
+"Gibt einen gehashten 32-Bit-Ganzzahlwert zurück, der das Array und seinen "
+"Inhalt darstellt.\n"
+"[b]Hinweis:[/b] [Array]s mit gleichem Inhalt erzeugen immer identische "
+"Hashwerte. Das Gegenteil ist jedoch nicht der Fall. Die Rückgabe von "
+"identischen Hash-Werten bedeutet [i]nicht[/i], dass die Arrays gleich sind, "
+"da verschiedene Arrays aufgrund von Hash-Kollisionen identische Hash-Werte "
+"haben können."
#: doc/classes/Array.xml
msgid ""
@@ -9266,6 +9746,15 @@ msgid ""
"element is close to the beginning of the array (index 0). This is because "
"all elements placed after the newly inserted element have to be reindexed."
msgstr ""
+"Fügt ein neues Element an einer bestimmten Position in das Array ein. Die "
+"Position muss gültig sein oder am Ende des Arrays liegen ([code]pos == size()"
+"[/code]).\n"
+"[b]Hinweis:[/b] Diese Methode arbeitet in-place und gibt keinen Wert "
+"zurück.\n"
+"[b]Hinweis:[/b] Bei großen Arrays wird diese Methode langsamer sein, wenn "
+"das eingefügte Element nahe am Anfang des Arrays (Index 0) liegt. Dies liegt "
+"daran, dass alle Elemente, die nach dem neu eingefügten Element platziert "
+"sind, neu indiziert werden müssen."
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
@@ -9280,6 +9769,9 @@ msgid ""
"comparable types. If the elements can't be compared, [code]null[/code] is "
"returned."
msgstr ""
+"Gibt den größten im Array enthaltenen Wert zurück, wenn alle Elemente von "
+"vergleichbarem Typ sind. Wenn die Elemente nicht verglichen werden können, "
+"wird [code]null[/code] zurückgegeben."
#: doc/classes/Array.xml
msgid ""
@@ -9287,6 +9779,9 @@ msgid ""
"comparable types. If the elements can't be compared, [code]null[/code] is "
"returned."
msgstr ""
+"Gibt den kleinsten im Array enthaltenen Wert zurück, wenn alle Elemente von "
+"vergleichbarem Typ sind. Wenn die Elemente nicht verglichen werden können, "
+"wird [code]null[/code] zurückgegeben."
#: doc/classes/Array.xml
msgid ""
@@ -9300,6 +9795,17 @@ msgid ""
"removed element. The larger the array and the lower the index of the removed "
"element, the slower [method pop_at] will be."
msgstr ""
+"Entfernt das Element des Arrays am Index [code]position[/code] und gibt es "
+"zurück. Falls negativ, wird [code]position[/code] relativ zum Ende des "
+"Arrays betrachtet. Lässt das Array unangetastet und gibt [code]null[/code] "
+"zurück, wenn das Array leer ist oder wenn der Zugriff außerhalb der Grenzen "
+"erfolgt. Es wird eine Fehlermeldung ausgegeben, wenn der Zugriff auf das "
+"Array außerhalb der Grenzen erfolgt, aber nicht, wenn das Array leer ist.\n"
+"[b]Hinweis:[/b] Bei großen Arrays kann diese Methode langsamer sein als "
+"[method pop_back], da sie die Elemente des Arrays, die sich nach dem "
+"entfernten Element befinden, neu indiziert werden müssen. Je größer das "
+"Array und je niedriger der Index des entfernten Elements ist, desto "
+"langsamer wird die [method pop_at] sein."
#: doc/classes/Array.xml
msgid ""
@@ -9307,6 +9813,9 @@ msgid ""
"if the array is empty, without printing an error message. See also [method "
"pop_front]."
msgstr ""
+"Entfernt und gibt das letzte Element des Arrays zurück. Gibt [code]null[/"
+"code] zurück, wenn das Array leer ist, ohne eine Fehlermeldung auszugeben. "
+"Siehe auch [Methode pop_front]."
#: doc/classes/Array.xml
msgid ""
@@ -9317,6 +9826,12 @@ msgid ""
"pop_back] as it will reindex all the array's elements every time it's "
"called. The larger the array, the slower [method pop_front] will be."
msgstr ""
+"Entfernt und gibt das erste Element des Arrays zurück. Gibt [code]null[/"
+"code] zurück, wenn das Array leer ist, ohne eine Fehlermeldung auszugeben. "
+"Siehe auch [Methode pop_back].\n"
+"[b]Hinweis:[/b] Bei großen Arrays ist diese Methode viel langsamer als "
+"[method pop_back], da sie bei jedem Aufruf alle Elemente des Arrays neu "
+"indiziert. Je größer das Array, desto langsamer ist [method pop_front]."
#: doc/classes/Array.xml
#, fuzzy
@@ -9332,6 +9847,11 @@ msgid ""
"push_back] as it will reindex all the array's elements every time it's "
"called. The larger the array, the slower [method push_front] will be."
msgstr ""
+"Fügt ein Element am Anfang des Arrays hinzu. Siehe auch [Methode "
+"push_back].\n"
+"[b]Hinweis:[/b] Bei großen Arrays ist diese Methode viel langsamer als "
+"[method push_back], da sie bei jedem Aufruf alle Elemente des Arrays neu "
+"indiziert. Je größer das Array, desto langsamer ist [method push_front]."
#: doc/classes/Array.xml
msgid ""
@@ -9343,6 +9863,15 @@ msgid ""
"element is close to the beginning of the array (index 0). This is because "
"all elements placed after the removed element have to be reindexed."
msgstr ""
+"Entfernt ein Element aus dem Array nach Index. Wenn der Index im Array nicht "
+"vorhanden ist, passiert nichts. Um ein Element durch die Suche nach seinem "
+"Wert zu entfernen, verwenden Sie stattdessen [method erase].\n"
+"[b]Hinweis:[/b] Diese Methode arbeitet in-place und gibt keinen Wert "
+"zurück.\n"
+"[b]Hinweis:[/b] Bei großen Arrays ist diese Methode langsamer, wenn das "
+"entfernte Element nahe am Anfang des Arrays liegt (Index 0). Dies liegt "
+"daran, dass alle Elemente, die nach dem entfernten Element platziert sind, "
+"neu indiziert werden müssen."
#: doc/classes/Array.xml
msgid ""
@@ -9350,6 +9879,9 @@ msgid ""
"size is smaller, elements are cleared, if bigger, new elements are "
"[code]null[/code]."
msgstr ""
+"Ändert die Größe des Arrays, damit es eine andere Anzahl von Elementen "
+"enthält. Ist die Größe des Arrays kleiner, werden die Elemente gelöscht, ist "
+"sie größer, sind die neuen Elemente [code]null[/code]."
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
@@ -9361,6 +9893,10 @@ msgid ""
"the array. If the adjusted start index is out of bounds, this method "
"searches from the end of the array."
msgstr ""
+"Durchsucht das Array in umgekehrter Reihenfolge. Optional kann ein Start-"
+"Suchindex übergeben werden. Ist dieser negativ, wird der Startindex relativ "
+"zum Ende des Arrays betrachtet. Liegt der eingestellte Startindex außerhalb "
+"der Grenzen, sucht diese Methode ab dem Ende des Arrays."
#: doc/classes/Array.xml
msgid ""
@@ -9369,6 +9905,11 @@ msgid ""
"@GDScript.randi]. Call [method @GDScript.randomize] to ensure that a new "
"seed will be used each time if you want non-reproducible shuffling."
msgstr ""
+"Mischt das Array so, dass die Elemente eine zufällige Reihenfolge haben. "
+"Diese Methode verwendet den globalen Zufallszahlengenerator, der auch für "
+"Methoden wie [method @GDScript.randi] verwendet wird. Rufen Sie [method "
+"@GDScript.randomize] auf, um sicherzustellen, dass jedes Mal ein neuer Seed "
+"verwendet wird, wenn Sie ein nicht reproduzierbares Mischen wünschen."
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
#: doc/classes/PoolColorArray.xml doc/classes/PoolIntArray.xml
@@ -9384,6 +9925,11 @@ msgid ""
"and upper index are inclusive, with the [code]step[/code] describing the "
"change between indices while slicing."
msgstr ""
+"Dupliziert die in der Funktion beschriebene Teilmenge und gibt sie in einem "
+"Array zurück, wobei das Array tief kopiert wird, wenn [code]deep[/code] "
+"[code]true[/code] ist. Unterer und oberer Index sind inklusive, wobei "
+"[code]step[/code] den Wechsel zwischen den Indizes während des Slicings "
+"beschreibt."
#: doc/classes/Array.xml
msgid ""
@@ -9397,6 +9943,16 @@ msgid ""
"print(strings) # Prints [string1, string10, string11, string2]\n"
"[/codeblock]"
msgstr ""
+"Sortiert das Array.\n"
+"[b]Hinweis:[/b] Strings werden in alphabetischer Reihenfolge sortiert (im "
+"Gegensatz zur natürlichen Reihenfolge). Dies kann zu unerwartetem Verhalten "
+"führen, wenn ein Array mit Strings sortiert wird, die mit einer Zahlenfolge "
+"enden. Betrachten Sie das folgende Beispiel:\n"
+"[codeblock]\n"
+"var strings = [\"string1\", \"string2\", \"string10\", \"string11\"]\n"
+"strings.sort()\n"
+"print(strings) # Prints [string1, string10, string11, string2]\n"
+"[/codeblock]"
#: doc/classes/Array.xml
msgid ""
@@ -9422,11 +9978,33 @@ msgid ""
"print(my_items) # Prints [[4, Tomato], [5, Potato], [9, Rice]].\n"
"[/codeblock]"
msgstr ""
+"Sortiert das Array mit einer eigenen Methode. Die Argumente sind ein Objekt, "
+"das die Methode enthält, und der Name dieser Methode. Die benutzerdefinierte "
+"Methode erhält zwei Argumente (ein Paar von Elementen aus dem Array) und "
+"muss entweder [code]true[/code] oder [code]false[/code] zurückgeben.\n"
+"Für zwei Elemente [code]a[/code] und [code]b[/code], wenn die angegebene "
+"Methode [code]true[/code] zurückgibt, wird Element [code]b[/code] nach "
+"Element [code]a[/code] im Array stehen.\n"
+"[b]Hinweis:[/b] Sie können den Rückgabewert nicht zufällig bestimmen, da der "
+"Heapsort-Algorithmus ein deterministisches Ergebnis erwartet. Dies würde zu "
+"einem unerwarteten Verhalten führen.\n"
+"[codeblock]\n"
+"class MyCustomSorter:\n"
+" static func sort_ascending(a, b):\n"
+" if a[0] < b[0]:\n"
+" return true\n"
+" return false\n"
+"\n"
+"var my_items = [[5, \"Kartoffel\"], [9, \"Reis\"], [4, \"Tomate\"]]\n"
+"my_items.sort_custom(MyCustomSorter, \"sort_ascending\")\n"
+"print(my_items) # Prints [[4, Tomate], [5, Kartoffel], [9, Reis]].\n"
+"[/codeblock]"
#: doc/classes/ArrayMesh.xml
msgid ""
"[Mesh] type that provides utility for constructing a surface from arrays."
msgstr ""
+"[Mesh]-Typ, der das Konstruieren einer Oberfläche aus Arrays ermöglicht."
#: doc/classes/ArrayMesh.xml
msgid ""
@@ -9455,12 +10033,40 @@ msgid ""
"OpenGL/Face-culling]winding order[/url] for front faces of triangle "
"primitive modes."
msgstr ""
+"Das [ArrayMesh] wird verwendet, um ein [Mesh] zu konstruieren, indem die "
+"Attribute als Arrays angegeben werden.\n"
+"Das einfachste Beispiel ist die Erstellung eines einzelnen Dreiecks:\n"
+"[codeblock]\n"
+"var vertices = PoolVector3Array()\n"
+"vertices.push_back(Vector3(0, 1, 0))\n"
+"vertices.push_back(Vector3(1, 0, 0))\n"
+"vertices.push_back(Vector3(0, 0, 1))\n"
+"# Initialisiere das ArrayMesh.\n"
+"var arr_mesh = ArrayMesh.new()\n"
+"var arrays = []\n"
+"arrays.resize(ArrayMesh.ARRAY_MAX)\n"
+"arrays[ArrayMesh.ARRAY_VERTEX] = vertices\n"
+"# Erstelle das Mesh.\n"
+"arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)\n"
+"var m = MeshInstance.new()\n"
+"m.mesh = arr_mesh\n"
+"[/codeblock]\n"
+"Die [MeshInstance] ist bereit, dem darzustellenden [SceneTree] hinzugefügt "
+"zu werden.\n"
+"Siehe auch [ImmediateGeometry], [MeshDataTool] und [SurfaceTool] für "
+"prozedurale Geometrieerzeugung.\n"
+"[b]Hinweis:[/b] Godot verwendet die [url=https://learnopengl.com/Advanced-"
+"OpenGL/Face-culling]Wickelreihenfolge[/url] im Uhrzeigersinn für "
+"Vorderseiten von Dreiecks-Primitivmodi."
#: doc/classes/ArrayMesh.xml
msgid ""
"Adds name for a blend shape that will be added with [method "
"add_surface_from_arrays]. Must be called before surface is added."
msgstr ""
+"Fügt einen Namen für eine Mischform hinzu, die mit der [method "
+"add_surface_from_arrays] hinzugefügt wird. Muss aufgerufen werden, bevor die "
+"Oberfläche hinzugefügt wird."
#: doc/classes/ArrayMesh.xml
msgid ""
@@ -9479,76 +10085,105 @@ msgid ""
"length as the vertex array or be empty, except for [constant ARRAY_INDEX] if "
"it is used."
msgstr ""
+"Erzeugt eine neue Oberfläche.\n"
+"Flächen werden erstellt, um mit einem [code]primitive[/code] gerendert zu "
+"werden, das einer der in [enum Mesh.PrimitiveType] definierten Typen sein "
+"kann. (Es wird empfohlen, bei der Verwendung von Indizes nur Punkte, Linien "
+"oder Dreiecke zu verwenden). Die [method Mesh.get_surface_count] wird zur "
+"[code]surf_idx[/code] für diese neue Oberfläche.\n"
+"Das Argument [code]arrays[/code] ist ein Array von Arrays. Siehe [enum "
+"ArrayType] für die in diesem Array verwendeten Werte. Zum Beispiel ist "
+"[code]arrays[0][/code] das Array der Vertices. Das erste Vertex-Sub-Array "
+"ist immer erforderlich; die anderen sind optional. Das Hinzufügen eines "
+"Index-Arrays versetzt diese Funktion in den \"Index-Modus\", in dem die "
+"Vertex- und anderen Arrays zu Datenquellen werden und das Index-Array die "
+"Reihenfolge der Vertexe definiert. Alle Sub-Arrays müssen die gleiche Länge "
+"wie das Vertex-Array haben oder leer sein, mit Ausnahme der [constant "
+"ARRAY_INDEX], falls sie verwendet wird."
#: doc/classes/ArrayMesh.xml
msgid "Removes all blend shapes from this [ArrayMesh]."
-msgstr ""
+msgstr "Entfernt alle Mischformen aus diesem [ArrayMesh]."
#: doc/classes/ArrayMesh.xml
msgid "Removes all surfaces from this [ArrayMesh]."
-msgstr ""
+msgstr "Entfernt alle Flächen aus diesem [ArrayMesh]."
#: doc/classes/ArrayMesh.xml
msgid "Returns the number of blend shapes that the [ArrayMesh] holds."
-msgstr ""
+msgstr "Gibt die Anzahl der Blendformen zurück, die das [ArrayMesh] enthält."
#: doc/classes/ArrayMesh.xml
msgid "Returns the name of the blend shape at this index."
-msgstr ""
+msgstr "Gibt den Namen der Blendform an diesem Index zurück."
#: doc/classes/ArrayMesh.xml
msgid ""
"Will perform a UV unwrap on the [ArrayMesh] to prepare the mesh for "
"lightmapping."
msgstr ""
+"Führt ein UV Unwrap auf dem [ArrayMesh] durch, um das Mesh für das "
+"Lightmapping vorzubereiten."
#: doc/classes/ArrayMesh.xml
msgid "Will regenerate normal maps for the [ArrayMesh]."
-msgstr ""
+msgstr "Regeneriert Normal Maps für das [ArrayMesh]."
#: doc/classes/ArrayMesh.xml
msgid ""
"Returns the index of the first surface with this name held within this "
"[ArrayMesh]. If none are found, -1 is returned."
msgstr ""
+"Gibt den Index der ersten Fläche mit diesem Namen in diesem [ArrayMesh] "
+"zurück. Wenn keine gefunden wird, wird -1 zurückgegeben."
#: doc/classes/ArrayMesh.xml
msgid ""
"Returns the length in indices of the index array in the requested surface "
"(see [method add_surface_from_arrays])."
msgstr ""
+"Gibt die Länge des Index-Arrays in der angeforderten Oberfläche in Indizes "
+"zurück (siehe [method add_surface_from_arrays])."
#: doc/classes/ArrayMesh.xml
msgid ""
"Returns the length in vertices of the vertex array in the requested surface "
"(see [method add_surface_from_arrays])."
msgstr ""
+"Gibt die Länge des Vertex-Arrays in der angeforderten Oberfläche in Vertices "
+"zurück (siehe [method add_surface_from_arrays])."
#: doc/classes/ArrayMesh.xml
msgid ""
"Returns the format mask of the requested surface (see [method "
"add_surface_from_arrays])."
msgstr ""
+"Gibt die Formatmaske der angeforderten Oberfläche zurück (siehe [method "
+"add_surface_from_arrays])."
#: doc/classes/ArrayMesh.xml
msgid "Gets the name assigned to this surface."
-msgstr ""
+msgstr "Ruft den dieser Fläche zugewiesenen Namen ab."
#: doc/classes/ArrayMesh.xml
msgid ""
"Returns the primitive type of the requested surface (see [method "
"add_surface_from_arrays])."
msgstr ""
+"Gibt den primitiven Typ der angeforderten Fläche zurück (siehe [method "
+"add_surface_from_arrays])."
#: doc/classes/ArrayMesh.xml
msgid ""
"Removes a surface at position [code]surf_idx[/code], shifting greater "
"surfaces one [code]surf_idx[/code] slot down."
msgstr ""
+"Entfernt eine Fläche an der Position [code]surf_idx[/code] und verschiebt "
+"größere Flächen um einen [code]surf_idx[/code] Slot nach unten."
#: doc/classes/ArrayMesh.xml
msgid "Sets a name for a given surface."
-msgstr ""
+msgstr "Legt einen Namen für eine bestimmte Oberfläche fest."
#: doc/classes/ArrayMesh.xml
msgid ""
@@ -9556,10 +10191,14 @@ msgid ""
"[b]Warning:[/b] Only use if you know what you are doing. You can easily "
"cause crashes by calling this function with improper arguments."
msgstr ""
+"Aktualisiert einen bestimmten Bereich von Mesh-Arrays auf der GPU.\n"
+"[b]Warnung:[/b] Nur verwenden, wenn Sie wissen, was Sie tun. Sie können "
+"leicht Abstürze verursachen, wenn Sie diese Funktion mit falschen Argumenten "
+"aufrufen."
#: doc/classes/ArrayMesh.xml
msgid "Sets the blend shape mode to one of [enum Mesh.BlendShapeMode]."
-msgstr ""
+msgstr "Setzt den Blendform-Modus auf einen der [enum Mesh.BlendShapeMode]."
#: doc/classes/ArrayMesh.xml doc/classes/PrimitiveMesh.xml
msgid ""
@@ -9567,22 +10206,26 @@ msgid ""
"Especially useful to avoid unexpected culling when using a shader to offset "
"vertices."
msgstr ""
+"Überschreibt den [AABB] mit einem vom Benutzer definierten Wert für die "
+"Verwendung mit Frustum Culling. Besonders nützlich, um unerwartetes Culling "
+"zu vermeiden, wenn ein Shader zum Versetzen von Vertices verwendet wird."
#: doc/classes/ArrayMesh.xml
msgid "Value used internally when no indices are present."
-msgstr ""
+msgstr "Wert wird intern benutzt, wenn keine Indizes vorhanden sind."
#: doc/classes/ArrayMesh.xml
msgid "Amount of weights/bone indices per vertex (always 4)."
-msgstr ""
+msgstr "Anzahl der Gewichte/Knochenindizes pro Vertex (immer 4)."
#: doc/classes/ArrayMesh.xml
msgid "[PoolVector3Array], [PoolVector2Array], or [Array] of vertex positions."
msgstr ""
+"[PoolVector3Array], [PoolVector2Array] oder [Array] von Vertex-Positionen."
#: doc/classes/ArrayMesh.xml
msgid "[PoolVector3Array] of vertex normals."
-msgstr ""
+msgstr "[PoolVector3Array] von Vertex-Normalen."
#: doc/classes/ArrayMesh.xml
msgid ""
@@ -9590,28 +10233,34 @@ msgid ""
"first 3 floats determine the tangent, and the last the binormal direction as "
"-1 or 1."
msgstr ""
+"[PoolRealArray] von Vertex-Tangenten. Jedes Element in Gruppen von 4 Floats, "
+"die ersten 3 Floats bestimmen die Tangente, und das letzte die binormale "
+"Richtung als -1 oder 1."
#: doc/classes/ArrayMesh.xml
msgid "[PoolColorArray] of vertex colors."
-msgstr ""
+msgstr "[PoolColorArray] von Vertex-Farben."
#: doc/classes/ArrayMesh.xml
msgid "[PoolVector2Array] for UV coordinates."
-msgstr ""
+msgstr "[PoolVector2Array] für UV-Koordinaten."
#: doc/classes/ArrayMesh.xml
msgid "[PoolVector2Array] for second UV coordinates."
-msgstr ""
+msgstr "[PoolVector2Array] für zweite UV-Koordinaten."
#: doc/classes/ArrayMesh.xml
msgid ""
"[PoolRealArray] or [PoolIntArray] of bone indices. Each element in groups of "
"4 floats."
msgstr ""
+"[PoolRealArray] oder [PoolIntArray] von Knochenindizes. Jedes Element in "
+"Gruppen von 4 Floats."
#: doc/classes/ArrayMesh.xml
msgid "[PoolRealArray] of bone weights. Each element in groups of 4 floats."
msgstr ""
+"[PoolRealArray] von Knochengewichten. Jedes Element in Gruppen von 4 Floats."
#: doc/classes/ArrayMesh.xml
msgid ""
@@ -9626,50 +10275,61 @@ msgid ""
"vertices of each triangle. For lines, the index array is in pairs indicating "
"the start and end of each line."
msgstr ""
+"[PoolIntArray] von Ganzzahlen, die als Indizes verwendet werden und auf "
+"Vertices, Farben, Normalen, Tangenten und Texturen verweisen. Alle diese "
+"Arrays müssen die gleiche Anzahl von Elementen haben wie das Vertex-Array. "
+"Kein Index kann über die Größe des Vertex-Arrays hinausgehen. Wenn dieses "
+"Index-Array vorhanden ist, versetzt es die Funktion in den \"Index-Modus\", "
+"in dem der Index den *i*-ten Vertex, die Normale, die Tangente, die Farbe, "
+"die UV, usw. auswählt. Das bedeutet, wenn man verschiedene Normalen oder "
+"Farben entlang einer Kante haben will, muss man die Vertices duplizieren.\n"
+"Bei Dreiecken wird das Index-Array als Tripel interpretiert, das sich auf "
+"die Vertices der einzelnen Dreiecke bezieht. Bei Linien besteht das Index-"
+"Array aus Paaren, die den Anfang und das Ende jeder Linie angeben."
#: doc/classes/ArrayMesh.xml doc/classes/Mesh.xml doc/classes/VisualServer.xml
msgid "Represents the size of the [enum ArrayType] enum."
-msgstr ""
+msgstr "Stellt die Größe der Aufzählung [enum ArrayType] dar."
#: doc/classes/ArrayMesh.xml
msgid "Array format will include vertices (mandatory)."
-msgstr ""
+msgstr "Das Array-Format enthält Vertices (obligatorisch)."
#: doc/classes/ArrayMesh.xml
msgid "Array format will include normals."
-msgstr ""
+msgstr "Das Array-Format enthält Normalen."
#: doc/classes/ArrayMesh.xml
msgid "Array format will include tangents."
-msgstr ""
+msgstr "Das Array-Format enthält Tangenten."
#: doc/classes/ArrayMesh.xml
msgid "Array format will include a color array."
-msgstr ""
+msgstr "Das Array-Format enthält ein Farbarray."
#: doc/classes/ArrayMesh.xml
msgid "Array format will include UVs."
-msgstr ""
+msgstr "Das Array-Format enthält UVs."
#: doc/classes/ArrayMesh.xml
msgid "Array format will include another set of UVs."
-msgstr ""
+msgstr "Das Array-Format enthält einen weiteren Satz von UVs."
#: doc/classes/ArrayMesh.xml
msgid "Array format will include bone indices."
-msgstr ""
+msgstr "Das Array-Format enthält Knochenindizes."
#: doc/classes/ArrayMesh.xml
msgid "Array format will include bone weights."
-msgstr ""
+msgstr "Das Array-Format enthält Knochengewichte."
#: doc/classes/ArrayMesh.xml
msgid "Index array will be used."
-msgstr ""
+msgstr "Das Index-Array wird verwendet."
#: doc/classes/ARVRAnchor.xml
msgid "An anchor point in AR space."
-msgstr ""
+msgstr "Ein Ankerpunkt im AR-Raum."
#: doc/classes/ARVRAnchor.xml
msgid ""
@@ -9687,16 +10347,32 @@ msgid ""
"more about the real world out there especially if only part of the surface "
"is in view."
msgstr ""
+"Der [ARVRAnchor]-Punkt ist ein räumlicher Knoten, der einen von der AR-"
+"Plattform identifizierten Standort in der realen Welt auf eine Position "
+"innerhalb der Spielwelt abbildet. Solange z. B. die Ebenenerkennung in ARKit "
+"aktiviert ist, identifiziert und aktualisiert ARKit die Position von Ebenen "
+"(Tische, Böden usw.) und erstellt Anker für sie.\n"
+"Dieser Knoten wird durch seine eindeutige ID auf einen der Anker abgebildet. "
+"Wenn Sie ein Signal erhalten, dass ein neuer Anker verfügbar ist, sollten "
+"Sie diesen Knoten zu Ihrer Szene für diesen Anker hinzufügen. Sie können "
+"Knoten vordefinieren und die ID festlegen; die Knoten bleiben dann einfach "
+"auf 0,0,0, bis eine Ebene erkannt wird.\n"
+"Denken Sie daran, dass, solange die Ebenenerkennung aktiviert ist, die "
+"Größe, Platzierung und Ausrichtung eines Ankers aktualisiert wird, da die "
+"Erkennungslogik mehr über die reale Welt da draußen erfährt, insbesondere "
+"wenn nur ein Teil der Oberfläche im Blickfeld ist."
#: doc/classes/ARVRAnchor.xml
msgid "Returns the name given to this anchor."
-msgstr ""
+msgstr "Gibt den Namen zurück, der diesem Anker gegeben wurde."
#: doc/classes/ARVRAnchor.xml
msgid ""
"Returns [code]true[/code] if the anchor is being tracked and [code]false[/"
"code] if no anchor with this ID is currently known."
msgstr ""
+"Gibt [code]true[/code] zurück, wenn der Anker verfolgt wird, und "
+"[code]false[/code], wenn derzeit kein Anker mit dieser ID bekannt ist."
#: doc/classes/ARVRAnchor.xml
msgid ""
@@ -9706,11 +10382,18 @@ msgid ""
"can be used to create shadows/reflections on surfaces or for generating "
"collision shapes."
msgstr ""
+"Falls vom [ARVRInterface] bereitgestellt, wird ein Mesh-Objekt für den Anker "
+"zurückgegeben. Bei einem Anker kann es sich um eine Form handeln, die sich "
+"auf das verfolgte Objekt bezieht, oder um ein Mesh, das eine Topologie in "
+"Bezug auf den Anker bietet und zur Erstellung von Schatten/Reflexionen auf "
+"Oberflächen oder zur Erzeugung von Kollisionsformen verwendet werden kann."
#: doc/classes/ARVRAnchor.xml
msgid ""
"Returns a plane aligned with our anchor; handy for intersection testing."
msgstr ""
+"Gibt eine Ebene zurück, die an unserem Anker ausgerichtet ist; praktisch für "
+"Schnittpunkttests."
#: doc/classes/ARVRAnchor.xml
msgid ""
@@ -9718,6 +10401,9 @@ msgid ""
"anchor relates to a table in the real world, this is the estimated size of "
"the surface of that table."
msgstr ""
+"Gibt die geschätzte Größe der erkannten Fläche zurück. Wenn sich der Anker "
+"beispielsweise auf einen Tisch in der realen Welt bezieht, ist dies die "
+"geschätzte Größe der Oberfläche dieses Tisches."
#: doc/classes/ARVRAnchor.xml
msgid ""
@@ -9728,6 +10414,12 @@ msgid ""
"when the AR server identifies that two anchors represent different parts of "
"the same plane and merges them."
msgstr ""
+"Die ID des Ankers. Sie können diese festlegen, bevor der Anker selbst "
+"existiert. Der erste Anker erhält eine ID von [code]1[/code], der zweite "
+"eine ID von [code]2[/code] usw. Wenn Anker entfernt werden, kann die Engine "
+"dann die entsprechende ID neuen Ankern zuweisen. Die häufigste Situation, in "
+"der Anker \"verschwinden\", ist, wenn der AR-Server feststellt, dass zwei "
+"Anker verschiedene Teile derselben Ebene darstellen, und sie zusammenführt."
#: doc/classes/ARVRAnchor.xml
msgid ""
@@ -9735,12 +10427,17 @@ msgid ""
"available. This is especially important for topology that is constantly "
"being [code]mesh_updated[/code]."
msgstr ""
+"Wird ausgesendet, wenn sich das mit dem Anker verbundene Netz ändert oder "
+"eines verfügbar wird. Dies ist besonders wichtig für eine Topologie, die "
+"ständig [code]mesh_updated[/code] wird."
#: doc/classes/ARVRCamera.xml
msgid ""
"A camera node with a few overrules for AR/VR applied, such as location "
"tracking."
msgstr ""
+"Ein Kameraknoten, der einige Grundregeln für AR/VR anwendet, z. B. die "
+"Standortverfolgung."
#: doc/classes/ARVRCamera.xml
msgid ""
@@ -9755,10 +10452,23 @@ msgid ""
"tracking data of the HMD and the location of the ARVRCamera can lag a few "
"milliseconds behind what is used for rendering as a result."
msgstr ""
+"Dies ist ein räumlicher Hilfsknoten für unsere Kamera; beachten Sie, dass "
+"bei stereoskopischem Rendering (VR-HMD) die meisten Kameraeigenschaften "
+"ignoriert werden, da die HMD-Informationen sie außer Kraft setzen. Die "
+"einzigen Eigenschaften, auf die man sich verlassen kann, sind die Nah- und "
+"Fern-Ebene.\n"
+"Die Position und Ausrichtung dieses Knotens wird vom ARVR-Server automatisch "
+"aktualisiert, um die Position des HMD darzustellen, wenn eine solche "
+"Verfolgung verfügbar ist, und kann somit von der Spiellogik verwendet "
+"werden. Beachten Sie, dass der Render-Thread im Gegensatz zum ARVR "
+"Controller Zugriff auf die aktuellsten Tracking-Daten des HMD hat und die "
+"Position der ARVRCamera daher einige Millisekunden hinter dem zurückbleiben "
+"kann, was für das Rendering verwendet wird."
#: doc/classes/ARVRController.xml
msgid "A spatial node representing a spatially-tracked controller."
msgstr ""
+"Ein räumlicher Knoten, der einen räumlich verfolgten Controller darstellt."
#: doc/classes/ARVRController.xml
msgid ""
@@ -9775,18 +10485,35 @@ msgid ""
"[ARVRServer]. This makes this node ideal to add child nodes to visualize the "
"controller."
msgstr ""
+"Dies ist ein räumlicher Hilfsknoten, der mit der Verfolgung von Controllern "
+"verbunden ist. Er bietet auch mehrere praktische Durchreichungen für den "
+"Zustand von Schaltflächen und dergleichen auf den Controllern.\n"
+"Controller sind durch ihre ID verknüpft. Sie können Controller-Knoten "
+"erstellen, bevor die Controller verfügbar sind. Wenn Ihr Spiel immer zwei "
+"Controller verwendet (einen für jede Hand), können Sie die Controller mit "
+"der ID 1 und 2 vordefinieren; sie werden aktiv, sobald die Controller "
+"erkannt werden. Wenn Sie erwarten, dass zusätzliche Controller verwendet "
+"werden, sollten Sie auf die Signale reagieren und ARVRController-Knoten zu "
+"Ihrer Szene hinzufügen.\n"
+"Die Position des Controllerknotens wird automatisch durch den [ARVRServer] "
+"aktualisiert. Dies macht diesen Knoten ideal, um Kindknoten zur "
+"Visualisierung des Controllers hinzuzufügen."
#: doc/classes/ARVRController.xml
msgid ""
"If active, returns the name of the associated controller if provided by the "
"AR/VR SDK used."
msgstr ""
+"Wenn aktiv, wird der Name des zugehörigen Controllers zurückgegeben, sofern "
+"er vom verwendeten AR/VR-SDK bereitgestellt wird."
#: doc/classes/ARVRController.xml
msgid ""
"Returns the hand holding this controller, if known. See [enum "
"ARVRPositionalTracker.TrackerHand]."
msgstr ""
+"Gibt die Hand zurück, die diesen Controller hält, falls bekannt. Siehe [enum "
+"ARVRPositionalTracker.TrackerHand]."
#: doc/classes/ARVRController.xml
#, fuzzy
@@ -9802,6 +10529,8 @@ msgid ""
"Returns the value of the given axis for things like triggers, touchpads, "
"etc. that are embedded into the controller."
msgstr ""
+"Gibt den Wert der angegebenen Achse für Dinge wie Trigger, Touchpads usw. "
+"zurück, die in den Controller eingebettet sind."
#: doc/classes/ARVRController.xml
msgid ""
@@ -9812,12 +10541,22 @@ msgid ""
"the AR/VR controllers. This ID is purely offered as information so you can "
"link up the controller with its joystick entry."
msgstr ""
+"Gibt die ID des Joystick-Objekts zurück, das mit diesem verbunden ist. Jeder "
+"vom [ARVRServer] verfolgte Controller, der Tasten und Achsen hat, wird auch "
+"als Joystick in Godot registriert. Das bedeutet, dass alle normalen Joystick-"
+"Verfolgungen und Eingabe-Zuordnungen für Tasten und Achsen auf den AR/VR-"
+"Controllern funktionieren werden. Diese ID wird lediglich als Information "
+"angeboten, damit Sie den Controller mit seinem Joystick-Eintrag verknüpfen "
+"können."
#: doc/classes/ARVRController.xml
msgid ""
"If provided by the [ARVRInterface], this returns a mesh associated with the "
"controller. This can be used to visualize the controller."
msgstr ""
+"Falls von der [ARVRInterface] bereitgestellt, wird ein mit dem Controller "
+"verbundenes Netz zurückgegeben. Dieses kann zur Visualisierung des "
+"Controllers verwendet werden."
#: doc/classes/ARVRController.xml
msgid ""
@@ -9825,6 +10564,9 @@ msgid ""
"pressed. See [enum JoystickList], in particular the [code]JOY_VR_*[/code] "
"constants."
msgstr ""
+"Gibt [code]true[/code] zurück, wenn die Taste bei Index [code]button[/code] "
+"gedrückt ist. Siehe [enum JoystickList], insbesondere die [code]JOY_VR_*[/"
+"code] Konstanten."
#: doc/classes/ARVRController.xml
msgid ""
@@ -9838,6 +10580,16 @@ msgid ""
"When a controller is turned off, its slot is freed. This ensures controllers "
"will keep the same ID even when controllers with lower IDs are turned off."
msgstr ""
+"Die ID des Controllers.\n"
+"Eine Controller-ID von 0 ist ungebunden und führt immer zu einem inaktiven "
+"Knoten. Die Controller-ID 1 ist für den ersten Controller reserviert, der "
+"sich als linker Controller identifiziert, und die ID 2 ist für den ersten "
+"Controller reserviert, der sich als rechter Controller identifiziert.\n"
+"Für jeden weiteren Controller, den der [ARVRServer] erkennt, wird mit der "
+"Controller-ID 3 fortgefahren.\n"
+"Wenn ein Controller ausgeschaltet wird, wird sein Steckplatz freigegeben. "
+"Dadurch wird sichergestellt, dass die Controller dieselbe ID behalten, auch "
+"wenn Controller mit niedrigeren IDs ausgeschaltet werden."
#: doc/classes/ARVRController.xml
msgid ""
@@ -9847,14 +10599,21 @@ msgid ""
"This is a useful property to animate if you want the controller to vibrate "
"for a limited duration."
msgstr ""
+"Der Grad, in dem die Steuerung vibriert. Der Bereich reicht von [code]0.0[/"
+"code] bis [code]1.0[/code]. Wenn er geändert wird, wird [member "
+"ARVRPositionalTracker.rumble] entsprechend aktualisiert.\n"
+"Dies ist eine nützliche Eigenschaft zum Animieren, wenn der Controller für "
+"eine begrenzte Dauer vibrieren soll."
#: doc/classes/ARVRController.xml
msgid "Emitted when a button on this controller is pressed."
msgstr ""
+"Wird ausgesendet, wenn eine Taste auf diesem Steuergerät gedrückt wird."
#: doc/classes/ARVRController.xml
msgid "Emitted when a button on this controller is released."
msgstr ""
+"Wird ausgesendet, wenn eine Taste an diesem Controller losgelassen wird."
#: doc/classes/ARVRController.xml
msgid ""
@@ -9862,10 +10621,13 @@ msgid ""
"becomes available. Generally speaking this will be a static mesh after "
"becoming available."
msgstr ""
+"Wird ausgesendet, wenn sich das mit dem Controller verknüpfte Netz ändert "
+"oder wenn eines verfügbar wird. Im Allgemeinen wird dies ein statisches Mesh "
+"sein, nachdem es verfügbar geworden ist."
#: doc/classes/ARVRInterface.xml
msgid "Base class for an AR/VR interface implementation."
-msgstr ""
+msgstr "Basisklasse für die Implementierung einer AR/VR-Schnittstelle."
#: doc/classes/ARVRInterface.xml
msgid ""
@@ -9878,6 +10640,15 @@ msgid ""
"give us a working setup. You can query the available interfaces through "
"[ARVRServer]."
msgstr ""
+"Diese Klasse muss implementiert werden, um eine AR- oder VR-Plattform für "
+"Godot verfügbar zu machen. Diese sollten als C++-Module oder GDNative-Module "
+"implementiert werden (beachten Sie, dass für GDNative die Unterklasse "
+"ARVRScriptInterface verwendet werden sollte). Ein Teil der Schnittstelle ist "
+"für GDScript offengelegt, so dass Sie eine AR- oder VR-Plattform erkennen, "
+"aktivieren und konfigurieren können.\n"
+"Die Schnittstellen sollten so geschrieben sein, dass man durch einfaches "
+"Aktivieren ein funktionierendes Setup erhält. Sie können die verfügbaren "
+"Schnittstellen über [ARVRServer] abfragen."
#: doc/classes/ARVRInterface.xml
msgid ""
@@ -9885,22 +10656,31 @@ msgid ""
"background, this method returns the feed ID in the [CameraServer] for this "
"interface."
msgstr ""
+"Wenn es sich um eine AR-Schnittstelle handelt, die die Anzeige eines "
+"Kamerafeeds als Hintergrund erfordert, gibt diese Methode die Feed-ID im "
+"[CameraServer] für diese Schnittstelle zurück."
#: doc/classes/ARVRInterface.xml
msgid ""
"Returns a combination of [enum Capabilities] flags providing information "
"about the capabilities of this interface."
msgstr ""
+"Gibt eine Kombination von [enum Capabilities]-Flags zurück, die "
+"Informationen über die Fähigkeiten dieser Schnittstelle liefern."
#: doc/classes/ARVRInterface.xml
msgid "Returns the name of this interface (OpenVR, OpenHMD, ARKit, etc)."
msgstr ""
+"Gibt den Namen dieser Schnittstelle zurück (OpenVR, OpenHMD, ARKit, etc.)."
#: doc/classes/ARVRInterface.xml
msgid ""
"Returns the resolution at which we should render our intermediate results "
"before things like lens distortion are applied by the VR platform."
msgstr ""
+"Gibt die Auflösung zurück, mit der wir unsere Zwischenergebnisse rendern "
+"sollten, bevor Dinge wie Linsenverzerrungen von der VR-Plattform angewendet "
+"werden."
#: doc/classes/ARVRInterface.xml
msgid ""
@@ -9908,6 +10688,9 @@ msgid ""
"provide feedback to the user whether there are issues with positional "
"tracking."
msgstr ""
+"Gibt, falls unterstützt, den Status unserer Positionsbestimmung zurück. So "
+"können Sie dem Benutzer eine Rückmeldung geben, ob es Probleme mit der "
+"Positionsbestimmung gibt."
#: doc/classes/ARVRInterface.xml
msgid ""
@@ -9928,45 +10711,72 @@ msgid ""
"wish to do this if you want to track controllers from other platforms. "
"However, at this point in time only one interface can render to an HMD."
msgstr ""
+"Rufen Sie dies auf, um diese Schnittstelle zu initialisieren. Die erste "
+"Schnittstelle, die initialisiert wird, wird als primäre Schnittstelle "
+"identifiziert und wird für die Rendering-Ausgabe verwendet.\n"
+"Nach der Initialisierung der Schnittstelle, die Sie verwenden möchten, "
+"müssen Sie den AR/VR-Modus eines Ansichtsfensters aktivieren und das "
+"Rendering sollte beginnen.\n"
+"[b]Hinweis:[/b] Sie müssen den AR/VR-Modus im Haupt-Viewport für jedes Gerät "
+"aktivieren, das die Hauptausgabe von Godot verwendet, z. B. für mobile VR.\n"
+"Wenn Sie dies für eine Plattform tun, die ihre eigene Ausgabe verarbeitet "
+"(wie OpenVR), zeigt Godot nur ein Auge ohne Verzerrung auf dem Bildschirm "
+"an. Alternativ können Sie einen separaten Viewport-Knoten zu Ihrer Szene "
+"hinzufügen und AR/VR in diesem Viewport aktivieren. Es wird für die Ausgabe "
+"an das HMD verwendet, so dass Sie im Hauptfenster alles tun können, was Sie "
+"möchten, z. B. eine separate Kamera als Zuschauerkamera verwenden oder etwas "
+"völlig anderes rendern.\n"
+"Sie können zusätzliche Schnittstellen aktivieren, die derzeit nicht "
+"verwendet werden. Dies kann sinnvoll sein, wenn Sie Controller von anderen "
+"Plattformen verfolgen wollen. Zum jetzigen Zeitpunkt kann jedoch nur eine "
+"Schnittstelle auf ein HMD gerendert werden."
#: doc/classes/ARVRInterface.xml
msgid ""
"Returns [code]true[/code] if the current output of this interface is in "
"stereo."
msgstr ""
+"Gibt [code]true[/code] zurück, wenn die aktuelle Ausgabe dieser "
+"Schnittstelle in Stereo ist."
#: doc/classes/ARVRInterface.xml
msgid "Turns the interface off."
-msgstr ""
+msgstr "Schaltet die Schnittstelle aus."
#: doc/classes/ARVRInterface.xml
msgid "On an AR interface, [code]true[/code] if anchor detection is enabled."
msgstr ""
+"Auf einer AR-Schnittstelle: [code]true[/code], wenn die Ankererkennung "
+"aktiviert ist."
#: doc/classes/ARVRInterface.xml
msgid "[code]true[/code] if this interface been initialized."
-msgstr ""
+msgstr "[code]true[/code] wenn diese Schnittstelle initialisiert wurde."
#: doc/classes/ARVRInterface.xml
msgid "[code]true[/code] if this is the primary interface."
-msgstr ""
+msgstr "[code]true[/code], wenn dies die primäre Schnittstelle ist."
#: doc/classes/ARVRInterface.xml
msgid "No ARVR capabilities."
-msgstr ""
+msgstr "Keine ARVR-Fähigkeiten."
#: doc/classes/ARVRInterface.xml
msgid ""
"This interface can work with normal rendering output (non-HMD based AR)."
msgstr ""
+"Diese Schnittstelle kann mit normaler Rendering-Ausgabe arbeiten (nicht-HMD-"
+"basierte AR)."
#: doc/classes/ARVRInterface.xml
msgid "This interface supports stereoscopic rendering."
-msgstr ""
+msgstr "Diese Schnittstelle unterstützt das stereoskopische Rendering."
#: doc/classes/ARVRInterface.xml
msgid "This interface supports AR (video background and real world tracking)."
msgstr ""
+"Diese Schnittstelle unterstützt AR (Video-Hintergrund und Real-World-"
+"Tracking)."
#: doc/classes/ARVRInterface.xml
msgid ""
@@ -9976,6 +10786,12 @@ msgid ""
"[method get_render_targetsize]). Using a separate viewport node frees up the "
"main viewport for other purposes."
msgstr ""
+"Diese Schnittstelle gibt die Daten an ein externes Gerät aus. Wird das "
+"Hauptansichtsfenster verwendet, ist die Bildschirmausgabe ein unveränderter "
+"Puffer entweder des linken oder des rechten Auges (gestreckt, wenn die Größe "
+"des Ansichtsfensters nicht auf das gleiche Seitenverhältnis von [method "
+"get_render_targetsize] geändert wird). Die Verwendung eines separaten "
+"Ansichtsfenster-Knotens macht das Hauptansichtfenster für andere Zwecke frei."
#: doc/classes/ARVRInterface.xml
msgid ""
@@ -9983,50 +10799,67 @@ msgid ""
"information for our camera node or when stereo scopic rendering is not "
"supported."
msgstr ""
+"Mono-Ausgabe, diese wird meist intern verwendet, wenn "
+"Positionierungsinformationen für unseren Kameraknoten abgerufen werden oder "
+"wenn das stereoskopische Rendering nicht unterstützt wird."
#: doc/classes/ARVRInterface.xml
msgid ""
"Left eye output, this is mostly used internally when rendering the image for "
"the left eye and obtaining positioning and projection information."
msgstr ""
+"Die Ausgabe für das linke Auge wird hauptsächlich intern verwendet, um das "
+"Bild für das linke Auge zu rendern und Informationen zur Positionierung und "
+"Projektion zu erhalten."
#: doc/classes/ARVRInterface.xml
msgid ""
"Right eye output, this is mostly used internally when rendering the image "
"for the right eye and obtaining positioning and projection information."
msgstr ""
+"Die Ausgabe für das rechte Auge wird hauptsächlich intern verwendet, um das "
+"Bild für das rechte Auge zu rendern und Informationen zur Positionierung und "
+"Projektion zu erhalten."
#: doc/classes/ARVRInterface.xml
msgid "Tracking is behaving as expected."
-msgstr ""
+msgstr "Das Tracking verhält sich wie erwartet."
#: doc/classes/ARVRInterface.xml
msgid ""
"Tracking is hindered by excessive motion (the player is moving faster than "
"tracking can keep up)."
msgstr ""
+"Das Tracking wird durch übermäßige Bewegung behindert (der Spieler bewegt "
+"sich schneller, als die Verfolgung mithalten kann)."
#: doc/classes/ARVRInterface.xml
msgid ""
"Tracking is hindered by insufficient features, it's too dark (for camera-"
"based tracking), player is blocked, etc."
msgstr ""
+"Das Tracking wird durch unzureichende Fähigkeiten behindert, es ist zu "
+"dunkel (für kamerabasiertes Tracking), der Spieler ist blockiert, usw."
#: doc/classes/ARVRInterface.xml
msgid ""
"We don't know the status of the tracking or this interface does not provide "
"feedback."
msgstr ""
+"Wir kennen den Status der Nachverfolgung nicht, oder diese Schnittstelle "
+"gibt keine Rückmeldung."
#: doc/classes/ARVRInterface.xml
msgid ""
"Tracking is not functional (camera not plugged in or obscured, lighthouses "
"turned off, etc.)."
msgstr ""
+"Das Tracking funktioniert nicht (Kamera nicht eingesteckt oder verdeckt, "
+"Lighthouses ausgeschaltet usw.)."
#: modules/gdnative/doc_classes/ARVRInterfaceGDNative.xml
msgid "GDNative wrapper for an ARVR interface."
-msgstr ""
+msgstr "GDNative-Wrapper für eine ARVR-Schnittstelle."
#: modules/gdnative/doc_classes/ARVRInterfaceGDNative.xml
msgid ""
@@ -10034,10 +10867,14 @@ msgid ""
"To use a GDNative ARVR interface, simply instantiate this object and set "
"your GDNative library containing the ARVR interface implementation."
msgstr ""
+"Dies ist eine Wrapper-Klasse für GDNative-Implementierungen der ARVR-"
+"Schnittstelle. Um eine GDNative-ARVR-Schnittstelle zu verwenden, "
+"instanziieren Sie einfach dieses Objekt und definieren Sie Ihre GDNative-"
+"Bibliothek, die die ARVR-Schnittstellenimplementierung enthält."
#: doc/classes/ARVROrigin.xml
msgid "The origin point in AR/VR."
-msgstr ""
+msgstr "Der Ursprungspunkt in AR/VR."
#: doc/classes/ARVROrigin.xml
msgid ""
@@ -10054,6 +10891,21 @@ msgid ""
"be a child node of this car. Or, if you're implementing a teleport system to "
"move your character, you should change the position of this node."
msgstr ""
+"Dies ist ein spezieller Knoten innerhalb des AR/VR-Systems, der die "
+"physische Position des Zentrums unseres Tracking-Raums der virtuellen "
+"Position innerhalb unserer Spielwelt zuordnet.\n"
+"Es sollte nur einen dieser Knoten in Ihrer Szene geben und Sie müssen einen "
+"haben. Alle ARVRCamera-, ARVRController- und ARVRAnchor-Knoten sollten "
+"direkte Kinder dieses Knotens sein, damit das räumliche Tracking korrekt "
+"funktioniert.\n"
+"Es ist die Position dieses Knotens, die du aktualisierst, wenn dein "
+"Charakter sich durch deine Spielwelt bewegen muss, während wir uns in der "
+"realen Welt nicht bewegen. Die Bewegung in der realen Welt erfolgt immer in "
+"Bezug auf diesen Ursprungspunkt.\n"
+"Wenn deine Figur zum Beispiel ein Auto fährt, sollte der ARVROrigin-Knoten "
+"ein untergeordneter Knoten dieses Autos sein. Oder wenn du ein Teleport-"
+"System implementierst, um deinen Charakter zu bewegen, solltest du die "
+"Position dieses Knotens ändern."
#: doc/classes/ARVROrigin.xml
msgid ""
@@ -10061,10 +10913,14 @@ msgid ""
"assume a scale of 1 game world unit = 1 real world meter.\n"
"[b]Note:[/b] This method is a passthrough to the [ARVRServer] itself."
msgstr ""
+"Ermöglicht es Ihnen, den Maßstab an die Einheiten Ihres Spiels anzupassen. "
+"Die meisten AR/VR-Plattformen gehen von einem Maßstab von 1 Einheit der "
+"Spielwelt = 1 Meter der realen Welt aus.\n"
+"[b]Hinweis:[/b] Diese Methode ist ein Passthrough zum [ARVRServer] selbst."
#: doc/classes/ARVRPositionalTracker.xml
msgid "A tracked object."
-msgstr ""
+msgstr "Ein getracktes Objekt."
#: doc/classes/ARVRPositionalTracker.xml
msgid ""
@@ -10079,35 +10935,53 @@ msgid ""
"hood objects that make this all work. These are mostly exposed so that "
"GDNative-based interfaces can interact with them."
msgstr ""
+"Eine Instanz dieses Objekts stellt ein Gerät dar, das verfolgt wird, z. B. "
+"einen Controller oder Ankerpunkt. HMDs werden hier nicht dargestellt, da sie "
+"intern gehandhabt werden.\n"
+"Wenn Controller eingeschaltet werden und die AR/VR-Schnittstelle sie "
+"erkennt, werden Instanzen dieses Objekts automatisch zur Liste der aktiven "
+"Tracking-Objekte hinzugefügt, die über den [ARVRServer] zugänglich sind.\n"
+"Der [ARVRController] und der [ARVRAnchor] verbrauchen beide Objekte dieses "
+"Typs und sollten in Ihrem Projekt verwendet werden. Die Positions-Tracker "
+"sind nur Objekte, die unter der Haube liegen und dafür sorgen, dass das "
+"alles funktioniert. Sie sind meist offengelegt, damit GDNative-basierte "
+"Schnittstellen mit ihnen interagieren können."
#: doc/classes/ARVRPositionalTracker.xml
msgid ""
"Returns the hand holding this tracker, if known. See [enum TrackerHand] "
"constants."
msgstr ""
+"Gibt die Hand zurück, die diesen Tracker hält, falls bekannt. Siehe [enum "
+"TrackerHand] Konstanten."
#: doc/classes/ARVRPositionalTracker.xml
msgid ""
"If this is a controller that is being tracked, the controller will also be "
"represented by a joystick entry with this ID."
msgstr ""
+"Wenn es sich um einen Controller handelt, der verfolgt wird, wird der "
+"Controller auch durch einen Joystick-Eintrag mit dieser ID dargestellt."
#: doc/classes/ARVRPositionalTracker.xml
msgid ""
"Returns the mesh related to a controller or anchor point if one is available."
msgstr ""
+"Gibt das Netz zurück, das mit einem Controller oder Ankerpunkt verbunden "
+"ist, falls ein solcher vorhanden ist."
#: doc/classes/ARVRPositionalTracker.xml
msgid "Returns the controller or anchor point's name if available."
msgstr ""
+"Gibt den Namen des Controllers oder des Ankerpunkts zurück, falls vorhanden."
#: doc/classes/ARVRPositionalTracker.xml
msgid "Returns the controller's orientation matrix."
-msgstr ""
+msgstr "Gibt die Orientierungsmatrix des Controllers zurück."
#: doc/classes/ARVRPositionalTracker.xml
msgid "Returns the world-space controller position."
-msgstr ""
+msgstr "Gibt die Position des Controllers im Raum zurück."
#: doc/classes/ARVRPositionalTracker.xml
msgid ""
@@ -10115,60 +10989,75 @@ msgid ""
"tracker type and matches the ID you need to specify for nodes such as the "
"[ARVRController] and [ARVRAnchor] nodes."
msgstr ""
+"Gibt die interne Tracker-ID zurück. Diese identifiziert den Tracker "
+"eindeutig pro Tracker-Typ und entspricht der ID, die Sie für Knoten wie die "
+"[ARVRController]- und [ARVRAnchor]-Knoten angeben müssen."
#: doc/classes/ARVRPositionalTracker.xml
msgid "Returns [code]true[/code] if this device tracks orientation."
msgstr ""
+"Gibt [code]true[/code] zurück, wenn dieses Gerät die Ausrichtung verfolgt."
#: doc/classes/ARVRPositionalTracker.xml
msgid "Returns [code]true[/code] if this device tracks position."
msgstr ""
+"Gibt [code]true[/code] zurück, wenn dieses Gerät die Position verfolgt."
#: doc/classes/ARVRPositionalTracker.xml
msgid "Returns the transform combining this device's orientation and position."
msgstr ""
+"Gibt die Transformation zurück, die die Ausrichtung und Position dieses "
+"Geräts kombiniert."
#: doc/classes/ARVRPositionalTracker.xml
msgid "Returns the tracker's type."
-msgstr ""
+msgstr "Gibt den Typ des Tracker zurück."
#: doc/classes/ARVRPositionalTracker.xml
msgid ""
"The degree to which the tracker rumbles. Ranges from [code]0.0[/code] to "
"[code]1.0[/code] with precision [code].01[/code]."
msgstr ""
+"Der Grad, wie stark der Tracker wackelt. Der Bereich reicht von [code]0.0[/"
+"code] bis [code]1.0[/code] mit einer Genauigkeit von [code].01[/code]."
#: doc/classes/ARVRPositionalTracker.xml
msgid "The hand this tracker is held in is unknown or not applicable."
msgstr ""
+"Die Hand, in der dieser Tracker gehalten wird, ist unbekannt oder nicht "
+"anwendbar."
#: doc/classes/ARVRPositionalTracker.xml
msgid "This tracker is the left hand controller."
-msgstr ""
+msgstr "Dieser Tracker ist der Controller für die linke Hand."
#: doc/classes/ARVRPositionalTracker.xml
msgid "This tracker is the right hand controller."
-msgstr ""
+msgstr "Dieser Tracker ist der Controller für die rechte Hand."
#: doc/classes/ARVRServer.xml
msgid "Server for AR and VR features."
-msgstr ""
+msgstr "Server für AR- und VR-Funktionen."
#: doc/classes/ARVRServer.xml
msgid ""
"The AR/VR server is the heart of our Advanced and Virtual Reality solution "
"and handles all the processing."
msgstr ""
+"Der AR/VR-Server ist das Herzstück unserer Advanced and Virtual Reality-"
+"Lösung und übernimmt die gesamte Verarbeitung."
#: doc/classes/ARVRServer.xml
msgid "Registers an [ARVRInterface] object."
-msgstr ""
+msgstr "Registriert ein [ARVRInterface]-Objekt."
#: doc/classes/ARVRServer.xml
msgid ""
"Registers a new [ARVRPositionalTracker] that tracks a spatial location in "
"real space."
msgstr ""
+"Registriert einen neuen [ARVRPositionalTracker], der eine räumliche Position "
+"im realen Raum verfolgt."
#: doc/classes/ARVRServer.xml
msgid ""
@@ -10192,11 +11081,34 @@ msgid ""
"button on a controller for a short period of time, or when implementing a "
"teleport mechanism."
msgstr ""
+"Das ist eine wichtige Funktion, die man richtig verstehen muss. AR- und VR-"
+"Plattformen gehen alle etwas anders mit der Positionierung um.\n"
+"Bei Plattformen, die kein räumliches Tracking bieten, ist unser "
+"Ursprungspunkt (0,0,0) die Position unseres HMD, aber Sie haben wenig "
+"Kontrolle über die Richtung, in die der Spieler in der realen Welt blickt.\n"
+"Bei Plattformen, die räumliches Tracking bieten, hängt unser Ausgangspunkt "
+"sehr stark vom System ab. Bei OpenVR ist unser Ausgangspunkt in der Regel "
+"das Zentrum des Tracking-Raums, also auf dem Boden. Bei anderen Plattformen "
+"ist es oft die Position der Tracking-Kamera.\n"
+"Mit dieser Methode können Sie Ihren Tracker auf die Position des HMD "
+"zentrieren. Dabei wird die aktuelle Position des HMD verwendet, um alle "
+"Tracking-Daten anzupassen; im Wesentlichen wird die reale Welt an die "
+"aktuelle Position des Spielers in der Spielwelt angepasst.\n"
+"Damit diese Methode brauchbare Ergebnisse liefert, müssen Tracking-"
+"Informationen verfügbar sein. Dies dauert oft ein paar Frames nach dem Start "
+"des Spiels.\n"
+"Sie sollten diese Methode aufrufen, nachdem ein paar Sekunden vergangen "
+"sind. Zum Beispiel, wenn der Benutzer eine Neuausrichtung der Anzeige "
+"anfordert, indem er eine bestimmte Taste auf einem Controller für eine kurze "
+"Zeitspanne gedrückt hält, oder wenn er einen Teleportmechanismus "
+"implementiert."
#: doc/classes/ARVRServer.xml
msgid ""
"Clears our current primary interface if it is set to the provided interface."
msgstr ""
+"Löscht unsere aktuelle primäre Schnittstelle, wenn sie auf die angegebene "
+"Schnittstelle eingestellt ist."
#: doc/classes/ARVRServer.xml
msgid ""
@@ -10204,15 +11116,20 @@ msgid ""
"capabilities of an AR/VR platform, you can find the interface for that "
"platform by name and initialize it."
msgstr ""
+"Findet eine Schnittstelle anhand ihres Namens. Wenn Ihr Projekt z. B. die "
+"Funktionen einer AR/VR-Plattform nutzt, können Sie die Schnittstelle für "
+"diese Plattform anhand ihres Namens finden und sie initialisieren."
#: doc/classes/ARVRServer.xml
msgid "Returns the primary interface's transformation."
-msgstr ""
+msgstr "Gibt die Transformation der primären Schnittstelle zurück."
#: doc/classes/ARVRServer.xml
msgid ""
"Returns the interface registered at a given index in our list of interfaces."
msgstr ""
+"Gibt die Schnittstelle zurück, die unter einem bestimmten Index in unserer "
+"Liste der Schnittstellen registriert ist."
#: doc/classes/ARVRServer.xml
msgid ""
@@ -10222,11 +11139,18 @@ msgid ""
"try to initialize each interface and use the first one that returns "
"[code]true[/code]."
msgstr ""
+"Gibt die Anzahl der derzeit beim AR/VR-Server registrierten Schnittstellen "
+"zurück. Wenn Ihr Projekt mehrere AR/VR-Plattformen unterstützt, können Sie "
+"die verfügbaren Schnittstellen durchsehen und dem Benutzer entweder eine "
+"Auswahl präsentieren oder einfach versuchen, jede Schnittstelle zu "
+"initialisieren und die erste zu verwenden, die [code]true[/code] zurückgibt."
#: doc/classes/ARVRServer.xml
msgid ""
"Returns a list of available interfaces the ID and name of each interface."
msgstr ""
+"Liefert eine Liste der verfügbaren Schnittstellen, die ID und den Namen "
+"jeder Schnittstelle."
#: doc/classes/ARVRServer.xml
msgid ""
@@ -10234,6 +11158,9 @@ msgid ""
"the AR/VR eyes to [VisualServer]. The value comes from an internal call to "
"[method OS.get_ticks_usec]."
msgstr ""
+"Gibt den absoluten Zeitstempel (in μs) der letzten [ARVRServer]-Übertragung "
+"der AR/VR-Augen an [VisualServer] zurück. Der Wert stammt aus einem internen "
+"Aufruf der [Methode OS.get_ticks_usec]."
#: doc/classes/ARVRServer.xml
msgid ""
@@ -10241,6 +11168,9 @@ msgid ""
"difference between [method get_last_commit_usec] and [method "
"get_last_process_usec] when committing."
msgstr ""
+"Gibt die Dauer (in μs) des letzten Frames zurück. Dies wird als Differenz "
+"zwischen [method get_last_commit_usec] und [method get_last_process_usec] "
+"beim Commit berechnet."
#: doc/classes/ARVRServer.xml
msgid ""
@@ -10248,46 +11178,55 @@ msgid ""
"callback. The value comes from an internal call to [method OS."
"get_ticks_usec]."
msgstr ""
+"Gibt den absoluten Zeitstempel (in μs) des letzten [ARVRServer]-Prozess-"
+"Callbacks zurück. Der Wert stammt aus einem internen Aufruf der [Methode OS."
+"get_ticks_usec]."
#: doc/classes/ARVRServer.xml
msgid ""
"Returns the reference frame transform. Mostly used internally and exposed "
"for GDNative build interfaces."
msgstr ""
+"Gibt die Transformation des Referenzrahmens zurück. Wird meist intern "
+"verwendet und für GDNative-Build-Schnittstellen bereitgestellt."
#: doc/classes/ARVRServer.xml
msgid "Returns the positional tracker at the given ID."
-msgstr ""
+msgstr "Gibt den Positionstracker an der angegebenen ID zurück."
#: doc/classes/ARVRServer.xml
msgid "Returns the number of trackers currently registered."
-msgstr ""
+msgstr "Gibt die Anzahl der derzeit registrierten Tracker zurück."
#: doc/classes/ARVRServer.xml
msgid "Removes this interface."
-msgstr ""
+msgstr "Entfernt diese Schnittstelle."
#: doc/classes/ARVRServer.xml
msgid "Removes this positional tracker."
-msgstr ""
+msgstr "Entfernt diesen Positionstracker."
#: doc/classes/ARVRServer.xml
msgid "The primary [ARVRInterface] currently bound to the [ARVRServer]."
msgstr ""
+"Das primäre [ARVRInterface], das derzeit an den [ARVRServer] gebunden ist."
#: doc/classes/ARVRServer.xml
msgid ""
"Allows you to adjust the scale to your game's units. Most AR/VR platforms "
"assume a scale of 1 game world unit = 1 real world meter."
msgstr ""
+"Ermöglicht es Ihnen, den Maßstab an die Einheiten Ihres Spiels anzupassen. "
+"Die meisten AR/VR-Plattformen gehen von einem Maßstab von 1 Einheit der "
+"Spielwelt = 1 Meter der realen Welt aus."
#: doc/classes/ARVRServer.xml
msgid "Emitted when a new interface has been added."
-msgstr ""
+msgstr "Wird ausgesendet, wenn eine neue Schnittstelle hinzugefügt wurde."
#: doc/classes/ARVRServer.xml
msgid "Emitted when an interface is removed."
-msgstr ""
+msgstr "Wird ausgesendet, wenn eine Schnittstelle entfernt wird."
#: doc/classes/ARVRServer.xml
msgid ""
@@ -10296,6 +11235,11 @@ msgid ""
"important to react to this signal to add the appropriate [ARVRController] or "
"[ARVRAnchor] nodes related to this new tracker."
msgstr ""
+"Wird ausgesendet, wenn ein neuer Tracker hinzugefügt wurde. Wenn Sie keine "
+"feste Anzahl von Controllern verwenden oder wenn Sie [ARVRAnchor]s für eine "
+"AR-Lösung verwenden, ist es wichtig, auf dieses Signal zu reagieren, um die "
+"entsprechenden [ARVRController]- oder [ARVRAnchor]-Knoten für diesen neuen "
+"Tracker hinzuzufügen."
#: doc/classes/ARVRServer.xml
msgid ""
@@ -10305,30 +11249,36 @@ msgid ""
"available (i.e. a new controller is switched on that takes the place of the "
"previous one)."
msgstr ""
+"Wird ausgesendet, wenn ein Tracker entfernt wird. Sie sollten alle "
+"[ARVRController]- oder [ARVRAnchor]-Punkte entfernen, falls zutreffend. Dies "
+"ist nicht zwingend erforderlich, die Knoten werden einfach inaktiv und "
+"werden wieder aktiv, wenn ein neuer Tracker verfügbar wird (d. h. ein neuer "
+"Controller wird eingeschaltet, der den vorherigen ersetzt)."
#: doc/classes/ARVRServer.xml
msgid "The tracker tracks the location of a controller."
-msgstr ""
+msgstr "Der Tracker tracktden Standort eines Controllers."
#: doc/classes/ARVRServer.xml
msgid "The tracker tracks the location of a base station."
-msgstr ""
+msgstr "Der Tracker trackt den Standort einer Basisstation."
#: doc/classes/ARVRServer.xml
msgid "The tracker tracks the location and size of an AR anchor."
-msgstr ""
+msgstr "Der Tracker trackt die Position und Größe eines AR-Ankers."
#: doc/classes/ARVRServer.xml
msgid "Used internally to filter trackers of any known type."
-msgstr ""
+msgstr "Wird intern verwendet, um Tracker jedes bekannten Typs zu filtern."
#: doc/classes/ARVRServer.xml
msgid "Used internally if we haven't set the tracker type yet."
msgstr ""
+"Wird intern verwendet, wenn wir den Tracker-Typ noch nicht festgelegt haben."
#: doc/classes/ARVRServer.xml
msgid "Used internally to select all trackers."
-msgstr ""
+msgstr "Wird intern verwendet, um alle Tracker auszuwählen."
#: doc/classes/ARVRServer.xml
msgid ""
@@ -10336,22 +11286,32 @@ msgid ""
"user is looking to in the real world. The user will look dead ahead in the "
"virtual world."
msgstr ""
+"Vollständige Rückstellung der Ausrichtung des HMD. Es spielt keine Rolle, in "
+"welche Richtung der Benutzer in der realen Welt schaut. Der Benutzer blickt "
+"in der virtuellen Welt genau nach vorne."
#: doc/classes/ARVRServer.xml
msgid ""
"Resets the orientation but keeps the tilt of the device. So if we're looking "
"down, we keep looking down but heading will be reset."
msgstr ""
+"Setzt die Ausrichtung zurück, behält aber die Neigung des Geräts bei. Wenn "
+"wir also nach unten schauen, schauen wir weiterhin nach unten, aber die "
+"Ausrichtung wird zurückgesetzt."
#: doc/classes/ARVRServer.xml
msgid ""
"Does not reset the orientation of the HMD, only the position of the player "
"gets centered."
msgstr ""
+"Die Ausrichtung des HMD wird nicht zurückgesetzt, nur die Position des "
+"Spielers wird zentriert."
#: doc/classes/AspectRatioContainer.xml
msgid "Container that preserves its child controls' aspect ratio."
msgstr ""
+"Container, der das Seitenverhältnis seiner untergeordneten Steuerelemente "
+"beibehält."
#: doc/classes/AspectRatioContainer.xml
msgid ""
@@ -10360,6 +11320,11 @@ msgid ""
"the container size is dynamic and the contents' size needs to adjust "
"accordingly without losing proportions."
msgstr ""
+"Ordnet untergeordnete Steuerelemente so an, dass ihr Seitenverhältnis "
+"automatisch erhalten bleibt, wenn die Größe des Containers geändert wird. "
+"Löst das Problem, dass die Größe des Containers dynamisch ist und die Größe "
+"des Inhalts entsprechend angepasst werden muss, ohne dass die Proportionen "
+"verloren gehen."
#: doc/classes/AspectRatioContainer.xml doc/classes/BoxContainer.xml
#: doc/classes/CenterContainer.xml doc/classes/Container.xml
@@ -10375,16 +11340,21 @@ msgstr "Tabulierter Container."
#: doc/classes/AspectRatioContainer.xml
msgid "Specifies the horizontal relative position of child controls."
msgstr ""
+"Gibt die horizontale relative Position der untergeordneten Steuerelemente an."
#: doc/classes/AspectRatioContainer.xml
msgid "Specifies the vertical relative position of child controls."
msgstr ""
+"Gibt die vertikale relative Position der untergeordneten Steuerelemente an."
#: doc/classes/AspectRatioContainer.xml
msgid ""
"The aspect ratio to enforce on child controls. This is the width divided by "
"the height. The ratio depends on the [member stretch_mode]."
msgstr ""
+"Das Seitenverhältnis, das für untergeordnete Steuerelemente erzwungen werden "
+"soll. Dies ist die Breite geteilt durch die Höhe. Das Verhältnis hängt von "
+"dem [member stretch_mode] ab."
#: doc/classes/AspectRatioContainer.xml
#, fuzzy
@@ -10396,18 +11366,25 @@ msgid ""
"The height of child controls is automatically adjusted based on the width of "
"the container."
msgstr ""
+"Die Höhe der untergeordneten Steuerelemente wird automatisch an die Breite "
+"des Containers angepasst."
#: doc/classes/AspectRatioContainer.xml
msgid ""
"The width of child controls is automatically adjusted based on the height of "
"the container."
msgstr ""
+"Die Breite der untergeordneten Steuerelemente wird automatisch an die Höhe "
+"des Containers angepasst."
#: doc/classes/AspectRatioContainer.xml
msgid ""
"The bounding rectangle of child controls is automatically adjusted to fit "
"inside the container while keeping the aspect ratio."
msgstr ""
+"Das Begrenzungsrechteck der untergeordneten Steuerelemente wird automatisch "
+"so angepasst, dass es in den Container passt, wobei das Seitenverhältnis "
+"beibehalten wird."
#: doc/classes/AspectRatioContainer.xml
msgid ""
@@ -10418,25 +11395,38 @@ msgid ""
"and [member Control.rect_clip_content] is enabled, this allows to show only "
"the container's area restricted by its own bounding rectangle."
msgstr ""
+"Die Breite und Höhe der untergeordneten Steuerelemente wird automatisch so "
+"angepasst, dass ihr Begrenzungsrechteck den gesamten Bereich des Containers "
+"abdeckt und das Seitenverhältnis beibehalten wird.\n"
+"Wenn das Begrenzungsrechteck der untergeordneten Steuerelemente die Größe "
+"des Containers überschreitet und [member Control.rect_clip_content] "
+"aktiviert ist, ermöglicht dies die Anzeige nur des Bereichs des Containers, "
+"der durch sein eigenes Begrenzungsrechteck begrenzt ist."
#: doc/classes/AspectRatioContainer.xml
msgid ""
"Aligns child controls with the beginning (left or top) of the container."
msgstr ""
+"Richtet untergeordnete Steuerelemente am Anfang (links oder oben) des "
+"Containers aus."
#: doc/classes/AspectRatioContainer.xml
msgid "Aligns child controls with the center of the container."
-msgstr ""
+msgstr "Richtet untergeordnete Steuerelemente an der Mitte des Containers aus."
#: doc/classes/AspectRatioContainer.xml
msgid "Aligns child controls with the end (right or bottom) of the container."
msgstr ""
+"Richtet untergeordnete Steuerelemente am Ende (rechts oder unten) des "
+"Containers aus."
#: doc/classes/AStar.xml
msgid ""
"An implementation of A* to find the shortest paths among connected points in "
"space."
msgstr ""
+"Eine Implementierung von A*, um die kürzesten Wege zwischen verbundenen "
+"Punkten im Raum zu finden."
#: doc/classes/AStar.xml
msgid ""
@@ -10481,12 +11471,59 @@ msgid ""
"[code]1.0[/code], then this equals the sum of Euclidean distances of all "
"segments in the path."
msgstr ""
+"A* ( A Star) ist ein Computeralgorithmus, der häufig bei der Pfadfindung und "
+"der Durchquerung von Graphen eingesetzt wird. Dabei werden kurze Pfade "
+"zwischen Vertices (Punkten) über eine bestimmte Menge von Kanten (Segmenten) "
+"gezeichnet. Aufgrund seiner Leistungsfähigkeit und Genauigkeit ist er weit "
+"verbreitet. Die A*-Implementierung von Godot verwendet standardmäßig Punkte "
+"im dreidimensionalen Raum und euklidische Abstände.\n"
+"Sie müssen Punkte manuell mit [method add_point] hinzufügen und Segmente "
+"manuell mit [method connect_points] erstellen. Anschließend können Sie mit "
+"der Funktion [method are_points_connected] prüfen, ob es einen Pfad zwischen "
+"zwei Punkten gibt, mit [method get_id_path] einen Pfad mit Indizes oder mit "
+"[method get_point_path] einen Pfad mit tatsächlichen Koordinaten erhalten.\n"
+"Es ist auch möglich, nicht-euklidische Distanzen zu verwenden. Erstellen Sie "
+"dazu eine Klasse, die [code]AStar[/code] erweitert und überschreiben Sie die "
+"Methoden [method _compute_cost] und [method _estimate_cost]. Beide nehmen "
+"zwei Indizes und geben eine Länge zurück, wie im folgenden Beispiel gezeigt "
+"wird.\n"
+"[codeblock]\n"
+"class MyAStar:\n"
+" extends AStar\n"
+"\n"
+" func _compute_cost(u, v):\n"
+" return abs(u - v)\n"
+"\n"
+" func _estimate_cost(u, v):\n"
+" return min(0, abs(u - v) - 1)\n"
+"[/codeblock]\n"
+"Die [method_estimate_cost] sollte eine Untergrenze des Abstands zurückgeben, "
+"d.h. [code]_estimate_cost(u, v) <= _compute_cost(u, v)[/code]. Dies dient "
+"als Hinweis für den Algorithmus, da die benutzerdefinierten "
+"[code]_compute_cost[/code] möglicherweise sehr rechenintensiv sind. Wenn "
+"dies nicht der Fall ist, sollte [method _estimate_cost] denselben Wert wie "
+"[method _compute_cost] zurückgeben, um dem Algorithmus die genauesten "
+"Informationen zu liefern.\n"
+"Wenn die Standardmethoden [method _estimate_cost] und [method _compute_cost] "
+"verwendet werden oder wenn die mitgelieferte Methode [method _estimate_cost] "
+"eine untere Grenze der Kosten zurückgibt, dann sind die von A* "
+"zurückgegebenen Pfade die Pfade mit den niedrigsten Kosten. Dabei sind die "
+"Kosten eines Pfades gleich der Summe der [method _compute_cost]-Ergebnisse "
+"aller Segmente des Pfades multipliziert mit den [code]weight_scale[/code]s "
+"der Endpunkte der jeweiligen Segmente. Wenn die Standardmethoden verwendet "
+"werden und die [code]weight_scale[/code]s aller Punkte auf [code]1.0[/code] "
+"gesetzt werden, dann entspricht dies der Summe der euklidischen Abstände "
+"aller Segmente im Pfad."
#: doc/classes/AStar.xml
msgid ""
"Called when computing the cost between two connected points.\n"
"Note that this function is hidden in the default [code]AStar[/code] class."
msgstr ""
+"Wird aufgerufen, wenn die Kosten zwischen zwei verbundenen Punkten berechnet "
+"werden.\n"
+"Beachten Sie, dass diese Funktion in der Standardklasse [code]AStar[/code] "
+"verborgen ist."
#: doc/classes/AStar.xml
msgid ""
@@ -10494,6 +11531,10 @@ msgid ""
"point.\n"
"Note that this function is hidden in the default [code]AStar[/code] class."
msgstr ""
+"Wird aufgerufen, wenn die Kosten zwischen einem Punkt und dem Endpunkt des "
+"Pfades geschätzt werden.\n"
+"Beachten Sie, dass diese Funktion in der Standardklasse [code]AStar[/code] "
+"verborgen ist."
#: doc/classes/AStar.xml
msgid ""
@@ -10513,6 +11554,21 @@ msgid ""
"If there already exists a point for the given [code]id[/code], its position "
"and weight scale are updated to the given values."
msgstr ""
+"Fügt einen neuen Punkt an der angegebenen Position mit dem angegebenen "
+"Bezeichner hinzu. Die [code]id[/code] muss 0 oder größer sein, und die "
+"[code]weight_scale[/code] muss 0,0 oder größer sein.\n"
+"Der [code]weight_scale[/code] wird mit dem Ergebnis von [method "
+"_compute_cost] multipliziert, um die Gesamtkosten der Reise über ein Segment "
+"von einem benachbarten Punkt zu diesem Punkt zu ermitteln. Unter sonst "
+"gleichen Bedingungen bevorzugt der Algorithmus also Punkte mit niedrigeren "
+"[code]weight_scale[/code]s, um einen Pfad zu bilden.\n"
+"[codeblock]\n"
+"var astar = AStar.new()\n"
+"astar.add_point(1, Vector3(1, 0, 0), 4) # Fügt den Punkt (1, 0, 0) mit "
+"weight_scale 4 und id 1 hinzu\n"
+"[/codeblock]\n"
+"Wenn es bereits einen Punkt für die angegebene [code]id[/code] gibt, werden "
+"seine Position und Gewichtung auf die angegebenen Werte aktualisiert"
#: doc/classes/AStar.xml
msgid ""
@@ -10520,10 +11576,14 @@ msgid ""
"[code]bidirectional[/code] is [code]false[/code], returns whether movement "
"from [code]id[/code] to [code]to_id[/code] is possible through this segment."
msgstr ""
+"Gibt zurück, ob die beiden angegebenen Punkte direkt durch ein Segment "
+"verbunden sind. Wenn [code]bidirectional[/code] [code]false[/code] ist, wird "
+"zurückgegeben, ob eine Bewegung von [code]id[/code] nach [code]to_id[/code] "
+"durch dieses Segment möglich ist."
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid "Clears all the points and segments."
-msgstr ""
+msgstr "Löscht alle Punkte und Segmente."
#: doc/classes/AStar.xml
msgid ""
@@ -10537,6 +11597,16 @@ msgid ""
"astar.connect_points(1, 2, false)\n"
"[/codeblock]"
msgstr ""
+"Erzeugt ein Segment zwischen den angegebenen Punkten. Wenn "
+"[code]bidirectional[/code] [code]false[/code] ist, ist nur die Bewegung von "
+"[code]id[/code] nach [code]to_id[/code] erlaubt, nicht die umgekehrte "
+"Richtung.\n"
+"[codeblock]\n"
+"var astar = AStar.new()\n"
+"astar.add_point(1, Vector3(1, 1, 0))\n"
+"astar.add_point(2, Vector3(0, 5, 0))\n"
+"astar.connect_points(1, 2, false)\n"
+"[/codeblock]"
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid ""
@@ -10544,10 +11614,15 @@ msgid ""
"is [code]false[/code], only movement from [code]id[/code] to [code]to_id[/"
"code] is prevented, and a unidirectional segment possibly remains."
msgstr ""
+"Löscht das Segment zwischen den angegebenen Punkten. Wenn "
+"[code]bidirectional[/code] [code]false[/code] ist, wird nur die Bewegung von "
+"[code]id[/code] nach [code]to_id[/code] verhindert, und es bleibt "
+"möglicherweise ein unidirektionales Segment übrig."
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid "Returns the next available point ID with no point associated to it."
msgstr ""
+"Gibt die nächste verfügbare Punkte-ID zurück, der kein Punkt zugeordnet ist."
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid ""
@@ -10558,6 +11633,12 @@ msgid ""
"the one with the smallest ID will be returned, ensuring a deterministic "
"result."
msgstr ""
+"Gibt die ID des Punktes zurück, der [code]to_position[/code] am nächsten "
+"liegt, optional unter Berücksichtigung deaktivierter Punkte. Gibt [code]-1[/"
+"code] zurück, wenn es keine Punkte im Punktepool gibt.\n"
+"[b]Hinweis:[/b] Wenn mehrere Punkte der [code]to_position[/code] am nächsten "
+"liegen, wird der Punkt mit der kleinsten ID zurückgegeben, um ein "
+"deterministisches Ergebnis zu gewährleisten."
#: doc/classes/AStar.xml
msgid ""
@@ -10574,6 +11655,19 @@ msgid ""
"The result is in the segment that goes from [code]y = 0[/code] to [code]y = "
"5[/code]. It's the closest position in the segment to the given point."
msgstr ""
+"Gibt die nächstgelegene Position zu [code]to_position[/code] zurück, die "
+"sich innerhalb eines Segments zwischen zwei verbundenen Punkten befindet.\n"
+"[codeblock]\n"
+"var astar = AStar.new()\n"
+"astar.add_point(1, Vector3(0, 0, 0))\n"
+"astar.add_point(2, Vector3(0, 5, 0))\n"
+"astar.connect_points(1, 2)\n"
+"var res = astar.get_closest_position_in_segment(Vector3(3, 3, 0)) # Gibt (0, "
+"3, 0) zurück\n"
+"[/codeblock]\n"
+"Das Ergebnis liegt in dem Segment, das von [code]y = 0[/code] bis [code]y = "
+"5[/code] reicht. Es ist die Position im Segment, die dem angegebenen Punkt "
+"am nächsten liegt."
#: doc/classes/AStar.xml
msgid ""
@@ -10598,12 +11692,34 @@ msgid ""
"4, 3][/code] instead, because now even though the distance is longer, it's "
"\"easier\" to get through point 4 than through point 2."
msgstr ""
+"Gibt ein Array mit den IDs der Punkte zurück, die den von AStar gefundenen "
+"Pfad zwischen den angegebenen Punkten bilden. Das Array ist vom Startpunkt "
+"bis zum Endpunkt des Pfades geordnet.\n"
+"[codeblock]\n"
+"var astar = AStar.new()\n"
+"astar.add_point(1, Vector3(0, 0, 0))\n"
+"astar.add_point(2, Vector3(0, 1, 0), 1) # Standartgewichtung ist 1\n"
+"astar.add_point(3, Vector3(1, 1, 0))\n"
+"astar.add_point(4, Vector3(2, 0, 0))\n"
+"\n"
+"astar.connect_points(1, 2, false)\n"
+"astar.connect_points(2, 3, false)\n"
+"astar.connect_points(4, 3, false)\n"
+"astar.connect_points(1, 4, false)\n"
+"\n"
+"var res = astar.get_id_path(1, 3) # Gibt [1, 2, 3] zurück\n"
+"[/codeblock]\n"
+"Wenn du die Gewichtung des 2. Punktes auf 3 änderst, wird das Ergebnis "
+"stattdessen [code][1, 4, 3][/code] sein, weil es jetzt, obwohl die Strecke "
+"länger ist, \"einfacher\" ist, durch Punkt 4 zu kommen als durch Punkt 2."
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid ""
"Returns the capacity of the structure backing the points, useful in "
"conjunction with [code]reserve_space[/code]."
msgstr ""
+"Gibt die Kapazität der Struktur zurück, in der die Punkte gespeichert sind, "
+"nützlich in Verbindung mit [code]reserve_space[/code]."
#: doc/classes/AStar.xml
msgid ""
@@ -10622,10 +11738,25 @@ msgid ""
"var neighbors = astar.get_point_connections(1) # Returns [2, 3]\n"
"[/codeblock]"
msgstr ""
+"Gibt ein Array mit den IDs der Punkte zurück, die die Verbindung mit dem "
+"angegebenen Punkt bilden.\n"
+"[codeblock]\n"
+"var astar = AStar.new()\n"
+"astar.add_point(1, Vector3(0, 0, 0))\n"
+"astar.add_point(2, Vector3(0, 1, 0))\n"
+"astar.add_point(3, Vector3(1, 1, 0))\n"
+"astar.add_point(4, Vector3(2, 0, 0))\n"
+"\n"
+"astar.connect_points(1, 2, true)\n"
+"astar.connect_points(1, 3, true)\n"
+"\n"
+"var neighbors = astar.get_point_connections(1) # Gibt [2, 3] zurück\n"
+"[/codeblock]"
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid "Returns the number of points currently in the points pool."
msgstr ""
+"Gibt die Anzahl der Punkte zurück, die sich derzeit im Punktepool befinden."
#: doc/classes/AStar.xml
msgid ""
@@ -10635,38 +11766,53 @@ msgid ""
"[b]Note:[/b] This method is not thread-safe. If called from a [Thread], it "
"will return an empty [PoolVector3Array] and will print an error message."
msgstr ""
+"Gibt ein Array mit den Punkten zurück, die sich auf dem von AStar gefundenen "
+"Pfad zwischen den angegebenen Punkten befinden. Das Array ist vom Startpunkt "
+"bis zum Endpunkt des Pfades geordnet.\n"
+"[b]Hinweis:[/b] Diese Methode ist nicht thread-sicher. Wenn sie von einem "
+"[Thread] aufgerufen wird, gibt sie ein leeres [PoolVector3Array] zurück und "
+"gibt eine Fehlermeldung aus."
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid ""
"Returns the position of the point associated with the given [code]id[/code]."
msgstr ""
+"Gibt die Position des Punktes zurück, der mit der angegebenen [code]id[/"
+"code] verbunden ist."
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid ""
"Returns the weight scale of the point associated with the given [code]id[/"
"code]."
msgstr ""
+"Gibt die Gewichtungsskala des Punktes zurück, der mit der angegebenen "
+"[code]id[/code] verbunden ist."
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid "Returns an array of all points."
-msgstr ""
+msgstr "Gibt ein Array mit allen Punkten zurück."
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid ""
"Returns whether a point associated with the given [code]id[/code] exists."
msgstr ""
+"Gibt zurück, ob ein Punkt mit der angegebenen [code]id[/code] existiert."
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid ""
"Returns whether a point is disabled or not for pathfinding. By default, all "
"points are enabled."
msgstr ""
+"Gibt zurück, ob ein Punkt für die Pfadfindung deaktiviert ist oder nicht. "
+"Standardmäßig sind alle Punkte aktiviert."
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid ""
"Removes the point associated with the given [code]id[/code] from the points "
"pool."
msgstr ""
+"Entfernt den mit der angegebenen [code]id[/code] verbundenen Punkt aus dem "
+"Punktepool."
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid ""
@@ -10674,17 +11820,25 @@ msgid ""
"you're adding a known large number of points at once, for a grid for "
"instance. New capacity must be greater or equals to old capacity."
msgstr ""
+"Reserviert intern Platz für [code]num_nodes[/code] Punkte, was nützlich ist, "
+"wenn Sie eine bekannt große Anzahl von Punkten auf einmal hinzufügen, z. B. "
+"für ein Gitter. Die neue Kapazität muss größer oder gleich der alten "
+"Kapazität sein."
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid ""
"Disables or enables the specified point for pathfinding. Useful for making a "
"temporary obstacle."
msgstr ""
+"Deaktiviert oder aktiviert den angegebenen Punkt für die Pfadfindung. "
+"Nützlich für die Erstellung eines temporären Hindernisses."
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid ""
"Sets the [code]position[/code] for the point with the given [code]id[/code]."
msgstr ""
+"Setzt die [code]Position[/code] für den Punkt mit der angegebenen [code]id[/"
+"code]."
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid ""
@@ -10693,22 +11847,33 @@ msgid ""
"_compute_cost] when determining the overall cost of traveling across a "
"segment from a neighboring point to this point."
msgstr ""
+"Setzt den [code]weight_scale[/code] für den Punkt mit der angegebenen "
+"[code]id[/code]. Der [code]weight_scale[/code] wird mit dem Ergebnis von "
+"[method _compute_cost] multipliziert, wenn die Gesamtkosten für die Reise "
+"über ein Segment von einem benachbarten Punkt zu diesem Punkt bestimmt "
+"werden."
#: doc/classes/AStar2D.xml
msgid "AStar class representation that uses 2D vectors as edges."
-msgstr ""
+msgstr "AStar-Klassendarstellung, die 2D-Vektoren als Kanten verwendet."
#: doc/classes/AStar2D.xml
msgid ""
"This is a wrapper for the [AStar] class which uses 2D vectors instead of 3D "
"vectors."
msgstr ""
+"Dies ist ein Wrapper für die Klasse [AStar], die 2D-Vektoren anstelle von 3D-"
+"Vektoren verwendet."
#: doc/classes/AStar2D.xml
msgid ""
"Called when computing the cost between two connected points.\n"
"Note that this function is hidden in the default [code]AStar2D[/code] class."
msgstr ""
+"Wird aufgerufen, wenn die Kosten zwischen zwei verbundenen Punkten berechnet "
+"werden.\n"
+"Beachten Sie, dass diese Funktion in der Standardklasse [code]AStar2D[/code] "
+"verborgen ist."
#: doc/classes/AStar2D.xml
msgid ""
@@ -10716,6 +11881,10 @@ msgid ""
"point.\n"
"Note that this function is hidden in the default [code]AStar2D[/code] class."
msgstr ""
+"Wird aufgerufen, wenn die Kosten zwischen einem Punkt und dem Endpunkt des "
+"Pfades geschätzt werden.\n"
+"Beachten Sie, dass diese Funktion in der Standardklasse [code]AStar2D[/code] "
+"verborgen ist."
#: doc/classes/AStar2D.xml
msgid ""
@@ -10735,6 +11904,21 @@ msgid ""
"If there already exists a point for the given [code]id[/code], its position "
"and weight scale are updated to the given values."
msgstr ""
+"Fügt einen neuen Punkt an der angegebenen Position mit dem angegebenen "
+"Bezeichner hinzu. Die [code]id[/code] muss 0 oder größer sein, und die "
+"[code]weight_scale[/code] muss 0,0 oder größer sein.\n"
+"Der [code]weight_scale[/code] wird mit dem Ergebnis von [method "
+"_compute_cost] multipliziert, um die Gesamtkosten der Reise über ein Segment "
+"von einem benachbarten Punkt zu diesem Punkt zu ermitteln. Unter sonst "
+"gleichen Bedingungen bevorzugt der Algorithmus also Punkte mit niedrigeren "
+"[code]weight_scale[/code]s, um einen Pfad zu bilden.\n"
+"[codeblock]\n"
+"var astar = AStar2D.new()\n"
+"astar.add_point(1, Vector2(1, 0), 4) # Fügt den Punkt (1, 0) mit "
+"weight_scale 4 und id 1 hinzu\n"
+"[/codeblock]\n"
+"Wenn für die angegebene [code]id[/code] bereits ein Punkt existiert, werden "
+"dessen Position und Gewichtungsskala auf die angegebenen Werte aktualisiert."
#: doc/classes/AStar2D.xml
msgid ""
@@ -10742,6 +11926,10 @@ msgid ""
"[code]bidirectional[/code] is [code]false[/code], returns whether movement "
"from [code]id[/code] to [code]to_id[/code] is possible through this segment."
msgstr ""
+"Gibt zurück, ob es eine Verbindung/ein Segment zwischen den angegebenen "
+"Punkten gibt. Wenn [code]bidirectional[/code] [code]false[/code] ist, wird "
+"zurückgegeben, ob eine Bewegung von [code]id[/code] nach [code]to_id[/code] "
+"durch dieses Segment möglich ist."
#: doc/classes/AStar2D.xml
msgid ""
@@ -10755,6 +11943,16 @@ msgid ""
"astar.connect_points(1, 2, false)\n"
"[/codeblock]"
msgstr ""
+"Erzeugt ein Segment zwischen den angegebenen Punkten. Wenn "
+"[code]bidirectional[/code] [code]false[/code] ist, ist nur die Bewegung von "
+"[code]id[/code] nach [code]to_id[/code] erlaubt, nicht die umgekehrte "
+"Richtung.\n"
+"[codeblock]\n"
+"var astar = AStar2D.new()\n"
+"astar.add_point(1, Vector2(1, 1))\n"
+"astar.add_point(2, Vector2(0, 5))\n"
+"astar.connect_points(1, 2, false)\n"
+"[/codeblock]"
#: doc/classes/AStar2D.xml
msgid ""
@@ -10771,6 +11969,19 @@ msgid ""
"The result is in the segment that goes from [code]y = 0[/code] to [code]y = "
"5[/code]. It's the closest position in the segment to the given point."
msgstr ""
+"Gibt die nächstgelegene Position zu [code]to_position[/code] zurück, die "
+"sich innerhalb eines Segments zwischen zwei verbundenen Punkten befindet.\n"
+"[codeblock]\n"
+"var astar = AStar2D.new()\n"
+"astar.add_point(1, Vector2(0, 0))\n"
+"astar.add_point(2, Vector2(0, 5))\n"
+"astar.connect_points(1, 2)\n"
+"var res = astar.get_closest_position_in_segment(Vector2(3, 3)) # Gibt (0, 3) "
+"zurück\n"
+"[/codeblock]\n"
+"Das Ergebnis liegt in dem Segment, das von [code]y = 0[/code] bis [code]y = "
+"5[/code] reicht. Es ist die Position im Segment, die dem angegebenen Punkt "
+"am nächsten liegt."
#: doc/classes/AStar2D.xml
msgid ""
@@ -10795,6 +12006,26 @@ msgid ""
"4, 3][/code] instead, because now even though the distance is longer, it's "
"\"easier\" to get through point 4 than through point 2."
msgstr ""
+"Gibt ein Array mit den IDs der Punkte zurück, die den von AStar2D gefundenen "
+"Pfad zwischen den angegebenen Punkten bilden. Das Array ist vom Startpunkt "
+"bis zum Endpunkt des Pfades geordnet.\n"
+"[codeblock]\n"
+"var astar = AStar2D.new()\n"
+"astar.add_point(1, Vector2(0, 0))\n"
+"astar.add_point(2, Vector2(0, 1), 1) # Standartgewichtung ist 1\n"
+"astar.add_point(3, Vector2(1, 1))\n"
+"astar.add_point(4, Vector2(2, 0))\n"
+"\n"
+"astar.connect_points(1, 2, false)\n"
+"astar.connect_points(2, 3, false)\n"
+"astar.connect_points(4, 3, false)\n"
+"astar.connect_points(1, 4, false)\n"
+"\n"
+"var res = astar.get_id_path(1, 3) # Gibt [1, 2, 3] zurück\n"
+"[/codeblock]\n"
+"Wenn du die Gewichtung des 2. Punktes auf 3 änderst, wird das Ergebnis "
+"stattdessen [code][1, 4, 3][/code] sein, weil es jetzt, obwohl die Strecke "
+"länger ist, \"einfacher\" ist, durch Punkt 4 zu kommen als durch Punkt 2."
#: doc/classes/AStar2D.xml
msgid ""
@@ -10813,6 +12044,20 @@ msgid ""
"var neighbors = astar.get_point_connections(1) # Returns [2, 3]\n"
"[/codeblock]"
msgstr ""
+"Gibt ein Array mit den IDs der Punkte zurück, die die Verbindung mit dem "
+"angegebenen Punkt bilden.\n"
+"[codeblock]\n"
+"var astar = AStar2D.new()\n"
+"astar.add_point(1, Vector2(0, 0))\n"
+"astar.add_point(2, Vector2(0, 1))\n"
+"astar.add_point(3, Vector2(1, 1))\n"
+"astar.add_point(4, Vector2(2, 0))\n"
+"\n"
+"astar.connect_points(1, 2, true)\n"
+"astar.connect_points(1, 3, true)\n"
+"\n"
+"var neighbors = astar.get_point_connections(1) # Gibt [2, 3] zurück\n"
+"[/codeblock]"
#: doc/classes/AStar2D.xml
msgid ""
@@ -10822,11 +12067,19 @@ msgid ""
"[b]Note:[/b] This method is not thread-safe. If called from a [Thread], it "
"will return an empty [PoolVector2Array] and will print an error message."
msgstr ""
+"Gibt ein Array mit den Punkten zurück, die sich auf dem von AStar2D "
+"gefundenen Pfad zwischen den angegebenen Punkten befinden. Das Array ist vom "
+"Startpunkt bis zum Endpunkt des Pfades geordnet.\n"
+"[b]Hinweis:[/b] Diese Methode ist nicht thread-sicher. Wenn sie von einem "
+"[Thread] aufgerufen wird, gibt sie ein leeres [PoolVector2Array] zurück und "
+"gibt eine Fehlermeldung aus."
#: doc/classes/AtlasTexture.xml
msgid ""
"Crops out one part of a texture, such as a texture from a texture atlas."
msgstr ""
+"Schneidet einen Teil einer Textur aus, z. B. eine Textur aus einem "
+"Texturatlas."
#: doc/classes/AtlasTexture.xml
msgid ""
@@ -10846,16 +12099,36 @@ msgid ""
"FLAG_REPEAT] and [constant Texture.FLAG_MIRRORED_REPEAT] flags are ignored "
"when using an AtlasTexture."
msgstr ""
+"Ressource [Texture], die einen Teil der Textur [member atlas], definiert "
+"durch [member region], ausschneidet. Der Hauptanwendungsfall ist das "
+"Ausschneiden von Texturen aus einem Textur-Atlas, der eine große Texturdatei "
+"ist, die mehrere kleinere Texturen enthält. Besteht aus einer [Texture] für "
+"den [member atlas], einer [member region], die den zu verwendenden Bereich "
+"des [member atlas] definiert, und einem [member margin], der die Randbreite "
+"definiert.\n"
+"[AtlasTexture] kann nicht in einer [AnimatedTexture] verwendet werden, kann "
+"nicht in Knoten wie [TextureRect] gekachelt werden und funktioniert nicht "
+"ordnungsgemäß, wenn sie innerhalb von anderen [AtlasTexture]-Ressourcen "
+"verwendet wird. Mehrere [AtlasTexture]-Ressourcen können verwendet werden, "
+"um mehrere Texturen aus dem Atlas zu schneiden. Die Verwendung eines "
+"Texturatlasses hilft, die Videospeicherkosten und Renderaufrufe im Vergleich "
+"zur Verwendung mehrerer kleiner Dateien zu optimieren.\n"
+"[b]Hinweis:[/b] AtlasTexturen unterstützen keine Wiederholungen. Die Flags "
+"[constant Texture.FLAG_REPEAT] und [constant Texture.FLAG_MIRRORED_REPEAT] "
+"werden bei der Verwendung einer AtlasTextur ignoriert."
#: doc/classes/AtlasTexture.xml
msgid "The texture that contains the atlas. Can be any [Texture] subtype."
msgstr ""
+"Die Textur, die den Atlas enthält. Kann ein beliebiger [Texture]-Subtyp sein."
#: doc/classes/AtlasTexture.xml
msgid ""
"If [code]true[/code], clips the area outside of the region to avoid bleeding "
"of the surrounding texture pixels."
msgstr ""
+"Wenn [code]true[/code], wird der Bereich außerhalb der Region abgeschnitten, "
+"um ein Ausbluten der umliegenden Texturpixel zu vermeiden."
#: doc/classes/AtlasTexture.xml
msgid ""
@@ -10863,87 +12136,124 @@ msgid ""
"(\"w\" and \"h\" in the editor) resizes the texture so it fits within the "
"margin."
msgstr ""
+"Der Rand um die Region. Der Parameter [member Rect2.size] von [Rect2] (\"w\" "
+"und \"h\" im Editor) ändert die Größe der Textur so, dass sie in den Rand "
+"passt."
#: doc/classes/AtlasTexture.xml
msgid "The AtlasTexture's used region."
-msgstr ""
+msgstr "Die verwendete Region der AtlasTextur."
#: doc/classes/AudioBusLayout.xml
msgid "Stores information about the audio buses."
-msgstr ""
+msgstr "Speichert Informationen über die Audiobusse."
#: doc/classes/AudioBusLayout.xml
msgid ""
"Stores position, muting, solo, bypass, effects, effect position, volume, and "
"the connections between buses. See [AudioServer] for usage."
msgstr ""
+"Speichert Position, Stummschaltung, Solo, Bypass, Effekte, Effektposition, "
+"Lautstärke und die Verbindungen zwischen Bussen. Siehe [AudioServer] für die "
+"Verwendung."
#: doc/classes/AudioEffect.xml
msgid "Audio effect for audio."
-msgstr ""
+msgstr "Audioeffekt für Audio."
#: doc/classes/AudioEffect.xml
msgid ""
"Base resource for audio bus. Applies an audio effect on the bus that the "
"resource is applied on."
msgstr ""
+"Basisressource für Audiobus. Wendet einen Audioeffekt auf den Bus an, auf "
+"den die Ressource angewendet wird."
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
-msgstr ""
+msgstr "Audio Mic Record Demo"
#: doc/classes/AudioEffectAmplify.xml
msgid ""
"Adds an amplifying audio effect to an audio bus.\n"
"Increases or decreases the volume of the selected audio bus."
msgstr ""
+"Fügt einen verstärkenden Audioeffekt zu einem Audiobus hinzu.\n"
+"Erhöht oder verringert die Lautstärke des ausgewählten Audiobusses."
#: doc/classes/AudioEffectAmplify.xml
msgid "Increases or decreases the volume being routed through the audio bus."
-msgstr ""
+msgstr "Erhöht oder verringert die über den Audiobus geleitete Lautstärke."
#: doc/classes/AudioEffectAmplify.xml
msgid ""
"Amount of amplification in decibels. Positive values make the sound louder, "
"negative values make it quieter. Value can range from -80 to 24."
msgstr ""
+"Betrag der Verstärkung in Dezibel. Positive Werte machen den Ton lauter, "
+"negative Werte machen ihn leiser. Der Wert kann von -80 bis 24 reichen."
#: doc/classes/AudioEffectBandLimitFilter.xml
msgid "Adds a band limit filter to the audio bus."
-msgstr ""
+msgstr "Fügt dem Audiobus einen Bandbegrenzungsfilter hinzu."
#: doc/classes/AudioEffectBandLimitFilter.xml
msgid ""
"Limits the frequencies in a range around the [member AudioEffectFilter."
"cutoff_hz] and allows frequencies outside of this range to pass."
msgstr ""
+"Begrenzt die Frequenzen in einem Bereich um den [member AudioEffectFilter."
+"cutoff_hz] und lässt Frequenzen außerhalb dieses Bereichs passieren."
#: doc/classes/AudioEffectBandPassFilter.xml
msgid "Adds a band pass filter to the audio bus."
-msgstr ""
+msgstr "Fügt dem Audiobus einen Bandpassfilter hinzu."
#: doc/classes/AudioEffectBandPassFilter.xml
msgid ""
"Attenuates the frequencies inside of a range around the [member "
"AudioEffectFilter.cutoff_hz] and cuts frequencies outside of this band."
msgstr ""
+"Dämpft die Frequenzen innerhalb eines Bereichs um den [member "
+"AudioEffectFilter.cutoff_hz] und schneidet Frequenzen außerhalb dieses "
+"Bereichs ab."
#: doc/classes/AudioEffectCapture.xml
msgid "Captures audio from an audio bus in real-time."
-msgstr ""
+msgstr "Nimmt Audio von einem Audiobus in Echtzeit auf."
#: doc/classes/AudioEffectCapture.xml
+#, fuzzy
msgid ""
"AudioEffectCapture is an AudioEffect which copies all audio frames from the "
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+"AudioEffectCapture ist ein AudioEffect, der alle Audio-Frames vom "
+"angeschlossenen Audio-Effekt-Bus in seinen internen Ringpuffer kopiert.\n"
+"Der Anwendungscode sollte diese Audioframes aus diesem Ringpuffer mit der "
+"[method get_buffer] abrufen und nach Bedarf verarbeiten, z.B. um Daten von "
+"einem Mikrofon zu erfassen, anwendungsdefinierte Effekte zu implementieren "
+"oder um Audio über das Netzwerk zu übertragen. Wenn Audiodaten von einem "
+"Mikrofon aufgenommen werden, ist das Format der Samples Stereo 32-Bit "
+"Floating Point PCM."
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -10957,7 +12267,7 @@ msgstr ""
#: doc/classes/AudioEffectCapture.xml
msgid "Clears the internal ring buffer."
-msgstr ""
+msgstr "Löscht den internen Ringspeicher."
#: doc/classes/AudioEffectCapture.xml
msgid ""
@@ -10967,6 +12277,11 @@ msgid ""
"samples if available, or an empty [PoolVector2Array] if insufficient data "
"was available."
msgstr ""
+"Ruft die nächsten [code]frames[/code] Audio-Samples aus dem internen "
+"Ringpuffer ab.\n"
+"Gibt ein [PoolVector2Array] zurück, das genau [code]frames[/code] Audio-"
+"Samples enthält, falls verfügbar, oder ein leeres [PoolVector2Array], falls "
+"nicht genügend Daten verfügbar waren."
#: doc/classes/AudioEffectCapture.xml
#, fuzzy
@@ -10978,11 +12293,15 @@ msgid ""
"Returns the number of audio frames discarded from the audio bus due to full "
"buffer."
msgstr ""
+"Gibt die Anzahl der Audioframes zurück, die aufgrund eines vollen Puffers "
+"vom Audiobus verworfen wurden."
#: doc/classes/AudioEffectCapture.xml
msgid ""
"Returns the number of frames available to read using [method get_buffer]."
msgstr ""
+"Gibt die Anzahl der Bilder zurück, die mit der [methodget_buffer] gelesen "
+"werden können."
#: doc/classes/AudioEffectCapture.xml
#, fuzzy
@@ -10994,6 +12313,8 @@ msgid ""
"Length of the internal ring buffer, in seconds. Setting the buffer length "
"will have no effect if already initialized."
msgstr ""
+"Länge des internen Ringpuffers, in Sekunden. Die Einstellung der Pufferlänge "
+"hat keine Auswirkungen, wenn sie bereits initialisiert ist."
#: doc/classes/AudioEffectChorus.xml
msgid "Adds a chorus audio effect."
@@ -11073,7 +12394,7 @@ msgstr ""
#: doc/classes/AudioEffectCompressor.xml
msgid "Gain applied to the output signal."
-msgstr ""
+msgstr "Auf das Ausgangssignal angewendete Verstärkung."
#: doc/classes/AudioEffectCompressor.xml
msgid ""
@@ -11190,12 +12511,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -11741,7 +13056,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -11902,12 +13222,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -12059,6 +13383,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
#, fuzzy
msgid "MP3 audio stream driver."
@@ -12203,7 +13542,10 @@ msgstr "Spielt Audio in 2D."
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -13899,7 +15241,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -13992,7 +15334,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -14020,9 +15364,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -14529,13 +15873,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -14561,8 +15906,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -14875,12 +16222,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -14925,8 +16272,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -14976,8 +16325,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -15039,7 +16391,8 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+#, fuzzy
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr "[CanvasItem] wird aufgefordert zu zeichnen."
#: doc/classes/CanvasItem.xml
@@ -15174,7 +16527,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -18297,7 +19653,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -21065,7 +22423,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -21214,16 +22574,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -21369,18 +22730,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
#, fuzzy
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr "Liefert die Fläche des [Rect2i]."
@@ -26323,8 +27672,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -26949,7 +28302,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -28549,10 +29904,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -29994,8 +31352,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -32325,11 +33683,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -33178,7 +34539,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -33190,6 +34555,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -35609,14 +36984,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -35624,22 +36999,29 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr ""
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "Gibt die Anzahl der Spuren in der Animation zurück."
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr ""
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "Liefert die Position des Punktes bei Index [code]Punkt[/code]."
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
+"Entfernt den Punkt bei Index [code]Punkt[/code] aus dem Überblendungsbereich."
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
+"Liefert die Position des Punktes bei Index [code]Punkt[/code] im Dreieck von "
+"Index [code]Dreieck[/code]."
#: doc/classes/Line2D.xml
msgid ""
@@ -37219,9 +38601,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -37682,7 +39064,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -38846,7 +40230,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -39688,13 +41072,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -41461,11 +42857,11 @@ msgstr "Gobale Position."
#: doc/classes/Node2D.xml
msgid "Global rotation in radians."
-msgstr ""
+msgstr "Globale Rotation im Bogenmaß."
#: doc/classes/Node2D.xml
msgid "Global rotation in degrees."
-msgstr ""
+msgstr "Globale Rotation in Grad."
#: doc/classes/Node2D.xml
msgid "Global scale."
@@ -41515,6 +42911,10 @@ msgid ""
"VisualServer.CANVAS_ITEM_Z_MIN] and [constant VisualServer."
"CANVAS_ITEM_Z_MAX] (inclusive)."
msgstr ""
+"Z-Index. Legt fest, in welcher Reihenfolge die Nodes gerendert werde . Eine "
+"Node mit höherem Z-Index wird über anderen angezeigt. Wert muss zwischen "
+"[constant VisualServer.CANVAS_ITEM_Z_MIN] und [constant VisualServer."
+"CANVAS_ITEM_Z_MAX] liegen (einschließlich)."
#: doc/classes/NodePath.xml
msgid "Pre-parsed scene tree path."
@@ -43378,7 +44778,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -47933,7 +49335,7 @@ msgstr ""
#: doc/classes/Polygon2D.xml
msgid "The texture's rotation in degrees."
-msgstr ""
+msgstr "Die Rotation (Drehung) der Textur in Grad."
#: doc/classes/Polygon2D.xml
msgid ""
@@ -48857,7 +50259,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "Liefert die Position des Punktes bei Index [code]Punkt[/code]."
#: doc/classes/PopupMenu.xml
@@ -49099,7 +50503,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -49832,7 +51238,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -52520,8 +53930,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -56598,7 +58019,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56745,13 +58168,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -57943,7 +59372,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -58574,6 +60006,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -58910,7 +60350,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -60362,7 +61804,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -61656,6 +63098,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -61717,6 +63162,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -61739,7 +63187,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -62892,6 +64343,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Liefert die Position des Punktes bei Index [code]Punkt[/code]."
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -62922,6 +64378,11 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Liefert die Position des Punktes bei Index [code]Punkt[/code]."
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -62963,8 +64424,13 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+#, fuzzy
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
+"Wird ausgegeben, wenn eine benutzerdefinierte Taste gedrückt wird. Siehe "
+"[method add_button]."
#: doc/classes/Tabs.xml
msgid "Emitted when a tab is clicked, even if it is the current tab."
@@ -67975,21 +69441,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -68002,7 +69472,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -68031,7 +69501,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -68041,22 +69543,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -68069,8 +69584,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -68268,16 +69785,16 @@ msgid "Unknown error."
msgstr "unbekannter Fehler."
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
-msgstr "UPNP Gerät."
+msgid "Universal Plug and Play (UPnP) device."
+msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -77135,7 +78652,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/el.po b/doc/translations/el.po
index 87eee32604..2a2608c38f 100644
--- a/doc/translations/el.po
+++ b/doc/translations/el.po
@@ -548,8 +548,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -559,7 +560,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -613,7 +615,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -625,7 +628,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1040,10 +1044,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4855,19 +4864,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4888,21 +4899,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4912,9 +4927,10 @@ msgstr "Επιστρέφει την εφαπτομένη της παραμέτρ
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5566,9 +5582,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5742,8 +5758,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8745,8 +8761,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8797,10 +8814,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9043,12 +9070,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9594,7 +9615,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9755,12 +9781,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9908,6 +9938,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10048,7 +10093,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11728,7 +11776,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11821,7 +11869,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11849,9 +11899,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12352,13 +12402,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12384,8 +12435,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12698,12 +12751,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12748,8 +12801,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12797,8 +12852,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12860,7 +12918,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12985,7 +13043,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -15981,7 +16042,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18712,7 +18775,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18861,16 +18926,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19016,18 +19082,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
#, fuzzy
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr "Επιστρέφει το τόξο ημιτόνου της παραμέτρου."
@@ -23942,8 +23996,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24564,7 +24622,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26152,10 +26212,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27564,8 +27627,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29867,11 +29930,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30717,7 +30783,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30729,6 +30799,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33089,14 +33169,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33104,22 +33184,26 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr ""
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "Επιστρέφει το ημίτονο της παραμέτρου."
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr ""
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "Επιστρέφει το ημίτονο της παραμέτρου."
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
-msgstr ""
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
+msgstr "Επιστρέφει το ημίτονο της παραμέτρου."
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
-msgstr ""
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
+msgstr "Επιστρέφει το ημίτονο της παραμέτρου."
#: doc/classes/Line2D.xml
msgid ""
@@ -34696,9 +34780,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35159,7 +35243,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36290,7 +36376,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37116,13 +37202,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40792,7 +40890,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46166,7 +46266,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "Επιστρέφει το ημίτονο της παραμέτρου."
#: doc/classes/PopupMenu.xml
@@ -46405,7 +46507,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47135,7 +47239,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49816,8 +49924,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53836,7 +53955,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53980,13 +54101,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55176,7 +55303,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55795,6 +55925,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56129,7 +56267,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57562,7 +57702,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58829,6 +58969,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58890,6 +59033,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58912,7 +59058,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -60049,6 +60198,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Επιστρέφει το ημίτονο της παραμέτρου."
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -60079,6 +60233,11 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Επιστρέφει το ημίτονο της παραμέτρου."
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60120,7 +60279,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -65001,21 +65162,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -65028,7 +65193,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -65057,7 +65222,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65067,22 +65264,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -65095,8 +65305,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65294,16 +65506,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73959,7 +74171,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/es.po b/doc/translations/es.po
index f9d008c41a..f44ab6b4bf 100644
--- a/doc/translations/es.po
+++ b/doc/translations/es.po
@@ -35,12 +35,13 @@
# Jake-insane <jake0insane@gmail.com>, 2022.
# Luis Alberto Flores Baca <betofloresbaca@gmail.com>, 2022.
# emnrx <emanuelermancia@gmail.com>, 2022.
+# BlackNoizE404 <blacknoize404@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-06-16 18:58+0000\n"
-"Last-Translator: emnrx <emanuelermancia@gmail.com>\n"
+"PO-Revision-Date: 2022-08-31 03:18+0000\n"
+"Last-Translator: BlackNoizE404 <blacknoize404@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/es/>\n"
"Language: es\n"
@@ -48,7 +49,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.13-dev\n"
+"X-Generator: Weblate 4.14.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -108,7 +109,7 @@ msgstr "(sobreescribe %s)"
#: doc/tools/make_rst.py
msgid "Default"
-msgstr "Por defecto"
+msgstr "Predeterminado"
#: doc/tools/make_rst.py
msgid "Setter"
@@ -523,7 +524,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Compares two values by checking their actual contents, recursing into any "
"[Array] or [Dictionary] up to its deepest level.\n"
@@ -575,13 +575,12 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Converts a dictionary (previously created with [method inst2dict]) back to "
"an instance. Useful for deserializing."
msgstr ""
-"Convierte un diccionario (que fue creado previamente con [method inst2dict]) "
-"de nuevo en una instancia. Es útil para deserializar."
+"Convierte un diccionario (previamente creado con [method inst2dict]) de "
+"nuevo en una instancia. Es útil para deserializar."
#: modules/gdscript/doc_classes/@GDScript.xml
#, fuzzy
@@ -624,7 +623,6 @@ msgstr ""
"avanzadas, utilice [Tween] o [AnimationPlayer]."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"The natural exponential function. It raises the mathematical constant [b]e[/"
"b] to the power of [code]s[/code] and returns it.\n"
@@ -862,8 +860,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -873,7 +872,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
"Devuelve un factor de interpolación o extrapolación, considerando el rango "
"especificado en [code]from[/code] y [code]to[/code], y el valor interpolado "
@@ -967,7 +967,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -979,7 +980,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
"Interpola linealmente entre dos valores por un valor normalizado. Esto es la "
"función inversa de [method inverse_lerp].\n"
@@ -1653,16 +1655,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
-"Transforma un [code]value[/code] entre los rangos [code](istart, istop][/"
-"code] a los rangos [code][ostart, ostop][/code].\n"
-"[codeblock]\n"
-"range_lerp(75, 0, 100, -1, 1) # Devuelve 0.5\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
#, fuzzy
@@ -6348,25 +6350,22 @@ msgstr ""
"[AnimationRootNode]. Si no, el editor no mostrará el nodo para añadir."
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
-"Obtiene la leyenda del texto de este nodo (usado por algunos editores)."
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
-"Obtiene un nodo hijo por índice (utilizado por los editores que heredan de "
-"[AnimationRootNode])."
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
-"Ordena todos los nodos infantiles como un diccionario de [code]name: node[/"
-"code]. Sólo es útil cuando se hereda [AnimationRootNode]."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -6390,17 +6389,22 @@ msgstr ""
"reutilizado en múltiples árboles."
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
"Obtiene el valor por defecto de un parametro. Los parametros son "
"personalizados en memoria local utilizados para tus nodos, dado que un "
"recurso puede ser reutilizado en multiples arboles."
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
@@ -6410,9 +6414,11 @@ msgstr ""
"del [method Object.get_property_list]."
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
"Devuelve [code]true[/code] si quieres que el editor del árbol de mezcla "
"muestre la edición del filtro en este nodo."
@@ -6423,10 +6429,12 @@ msgid "Returns whether the given path is filtered."
msgstr "Devuelve [code]true[/code] si un camino dado es filtrado."
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -7259,9 +7267,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -7495,9 +7503,10 @@ msgstr ""
"encuentra."
#: doc/classes/AnimationPlayer.xml
+#, fuzzy
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
"Devuelve la [Animation] con clave [code]name[/code] or [code]null[/code] si "
"no se encuentra."
@@ -11614,8 +11623,9 @@ msgstr ""
"Recurso base para el bus de audio. Aplica un efecto de audio en el bus en "
"que el recurso es aplicado."
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -11675,10 +11685,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -11989,12 +12009,6 @@ msgstr ""
"los juegos, puede simular el sonido proveniente de algún dispositivo "
"saturado o altavoz muy eficientemente."
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr "Poder de distorsión. El valor puede variar entre 0 y 1."
@@ -12709,10 +12723,13 @@ msgstr ""
"[code]at_position[/code]."
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
-"Devuelve los nombres de todos los dispositivos de entrada de audio "
-"detectados en el sistema."
#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
@@ -12906,12 +12923,16 @@ msgstr "Número de buses de audio disponibles."
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -13070,6 +13091,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
#, fuzzy
msgid "MP3 audio stream driver."
@@ -13228,7 +13264,10 @@ msgstr "Reproduce el sonido 3D en el espacio 3D."
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -15326,7 +15365,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
"Establece la proyección de la cámara en modo frustum (ver [constant "
"PROJECTION_FRUSTUM]), especificando un [code]size[/code], un [code]offset[/"
@@ -15445,10 +15484,13 @@ msgstr ""
"- ~121,63 grados en una vista de 21:9"
#: doc/classes/Camera.xml
+#, fuzzy
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
"El desplazamiento de la cámara de frustum. Se puede cambiar desde el valor "
"predeterminado para crear efectos de \"frustum inclinado\" como [url=https://"
@@ -15485,15 +15527,11 @@ msgstr ""
"la cámara escala su tamaño percibido."
#: doc/classes/Camera.xml
-#, fuzzy
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
-"El tamaño de la cámara se mide como la mitad de la anchura o la altura. Sólo "
-"aplicable en modo ortogonal. Dado que [member keep_aspect] se bloquea en el "
-"eje, [code]size[/code] establece la longitud del tamaño del otro eje."
#: doc/classes/Camera.xml
msgid "The vertical (Y) offset of the camera viewport."
@@ -16157,18 +16195,20 @@ msgid "Base class of anything 2D."
msgstr "Clase base de cualquier cosa 2D."
#: doc/classes/CanvasItem.xml
+#, fuzzy
msgid ""
"Base class of anything 2D. Canvas items are laid out in a tree; children "
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -16220,12 +16260,19 @@ msgid "Custom drawing in 2D"
msgstr ""
#: doc/classes/CanvasItem.xml
+#, fuzzy
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
-"Función sobreescribible llamada por el motor (si está definida) para dibujar "
-"el objeto canvas."
+"Llamado cuando el nodo entra en el [SceneTree] (por ejemplo, al instalarse, "
+"al cambiar de escena o después de llamar a [method add_child] en un script). "
+"Si el nodo tiene hijos, su llamada a [method _enter_tree] se llamará "
+"primero, y luego la de los hijos.\n"
+"Corresponde a la notificación [constant NOTIFICATION_ENTER_TREE] en [method "
+"Object._notification]."
#: doc/classes/CanvasItem.xml
msgid ""
@@ -16614,12 +16661,13 @@ msgstr ""
"Devuelve [code]true[/code] si las notificaciones de transformación global se "
"comunican a los hijos."
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
+#, fuzzy
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
"Devuelve [code]true[/code] si el nodo está presente en el [SceneTree], su "
"propiedad [member visible] es [code]true[/code] y todos sus antecedentes "
@@ -16682,12 +16730,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
-"Pone en la cola el [CanvasItem] para la actualización. La [constant "
-"NOTIFICATION_DRAW] será llamada en tiempo de inactividad para solicitar el "
-"redibujado."
#: doc/classes/CanvasItem.xml
msgid ""
@@ -16746,11 +16793,12 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
-"Emitido cuando el [CanvasItem] debe ser dibujado de nuevo. Esto sólo puede "
-"ser conectado en tiempo real, ya que en diferido no se podrá dibujar."
#: doc/classes/CanvasItem.xml
msgid "Emitted when becoming hidden."
@@ -16823,7 +16871,8 @@ msgstr ""
"set_notify_local_transform]."
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+#, fuzzy
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr "Se solicita al [CanvasItem] que dibuje."
#: doc/classes/CanvasItem.xml
@@ -16993,10 +17042,12 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
-"Establece la capa que sigue a la vista para simular un pseudo efecto 3D."
#: doc/classes/CanvasLayer.xml
msgid ""
@@ -20889,10 +20940,10 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
-"Roba el foco de otro control y pasa a ser el control enfocado (ver [member "
-"focus_mode])."
#: doc/classes/Control.xml
#, fuzzy
@@ -24472,10 +24523,13 @@ msgid "A mathematic curve."
msgstr "Una curva matemática."
#: doc/classes/Curve.xml
+#, fuzzy
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
"Una curva que puede ser guardada y reutilizada para otros objetos. Por "
"defecto, oscila entre [code]0[/code] y [code]1[/code] en el eje Y y "
@@ -24664,17 +24718,18 @@ msgstr ""
"Mantiene un cacheo de puntos precalculados a lo largo de la curva, para "
"acelerar los cálculos."
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
#, fuzzy
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
"Añade un punto a una curva en la posición [code]position[/code], con puntos "
"de control [code]in[/code] y [code]out[/code].\n"
@@ -24907,27 +24962,6 @@ msgstr ""
#: doc/classes/Curve3D.xml
#, fuzzy
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-"Añade un punto a una curva en la posición [code]position[/code], con puntos "
-"de control [code]in[/code] y [code]out[/code].\n"
-"Si se da [code]at_position[/code], el punto se inserta antes del número de "
-"punto [code]at_position[/code], desplazando ese punto (y todos los puntos "
-"posteriores) después del punto insertado. Si no se da [code]at_position[/"
-"code], o es un valor ilegal ([code]at_position <0[/code] o [code]at_position "
-">= [method get_point_count][/code]), el punto se añadirá al final de la "
-"lista de puntos."
-
-#: doc/classes/Curve3D.xml
-#, fuzzy
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr "Devuelve el caché de puntos como un [PackedVector3Array]."
@@ -31644,11 +31678,13 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
-"Devuelve todo el archivo como una [String].\n"
-"El texto se interpreta como codificado en UTF-8."
#: doc/classes/File.xml
#, fuzzy
@@ -32413,13 +32449,16 @@ msgstr ""
"Véase también [method CanvasItem.draw_string]."
#: doc/classes/Font.xml
+#, fuzzy
msgid ""
"Draw character [code]char[/code] into a canvas item using the font at a "
"given position, with [code]modulate[/code] color, and optionally kerning if "
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
"Dibuja el carácter [code]char[/code] en un elemento del canvas utilizando la "
"fuente en una posición determinada, con [code]modular[/code] color, y "
@@ -34545,12 +34584,16 @@ msgstr ""
"entre puntos de color definidos por el usuario."
#: doc/classes/Gradient.xml
+#, fuzzy
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
"Dado un conjunto de colores, este recurso los interpolará en orden. Esto "
"significa que si tiene el color 1, el color 2 y el color 3, la rampa "
@@ -36333,8 +36376,8 @@ msgstr "Cliente HTTP(Hyper-text transfer protocol)."
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -39548,11 +39591,14 @@ msgstr "Detiene la vibración del joypad."
#: doc/classes/Input.xml
#, fuzzy
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
"Vibración de los dispositivos Android e iOS.\n"
"[b]Nota:[/b] Necesita permiso de VIBRATE para Android en la configuración de "
@@ -40668,7 +40714,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -40683,6 +40733,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -43795,44 +43855,40 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-"Añade un punto en la [code]position[/code]. Añade el punto al final de la "
-"línea.\n"
-"Si se da [code]at_position[/code], el punto se inserta antes del número de "
-"punto [code]at_position[/code], desplazando ese punto (y todos los puntos "
-"posteriores) después del punto insertado. Si no se da [code]at_position[/"
-"code], o es un valor ilegal ([code]at_position < 0[/code] o "
-"[code]at_position >= [method get_point_count][/code]), el punto se añadirá "
-"al final de la lista de puntos."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
+msgstr ""
#: doc/classes/Line2D.xml
msgid "Removes all points from the line."
msgstr "Elimina todos los puntos de la línea."
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr "Devuelve la cantidad de puntos de Line2D."
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "Devuelve la cantidad de huesos del esqueleto."
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr "Devuelve la posición del punto [code]i[/code]."
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "Devuelve la posición del punto en el índice [code]point[/code]."
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr "Elimina el punto en el índice [code]i[/code] de la línea."
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
"Sobrescribe la posición en el punto [code]i[/code] con la [code]position[/"
"code] suministrada."
@@ -45879,9 +45935,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
"MeshInstance es un nodo que toma un recurso [Mesh] y lo añade al escenario "
"actual creando una instancia del mismo. Esta es la clase más usada para "
@@ -46463,7 +46519,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
"Establece el color de una instancia específica.\n"
"Para que el color tenga efecto, asegúrate de que [member use_colors] es "
@@ -47819,7 +47877,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -48746,15 +48804,26 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
-#, fuzzy
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
-msgstr "Devuelve el estado actual de la conexión. Ver [enum ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
+msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
#, fuzzy
@@ -53930,7 +53999,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -61141,7 +61212,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "Establece el icono del artículo en el índice [code]idx[/code]."
#: doc/classes/PopupMenu.xml
@@ -61458,7 +61531,9 @@ msgstr "Clase para mostrar popups con un fondo de panel."
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
"Clase para mostrar popups con un fondo de panel. En algunos casos puede ser "
"más simple de usar que el [Popup], ya que proporciona un fondo configurable. "
@@ -62393,10 +62468,12 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
-"Si [code]true[/code], se permitirá la entrada del micrófono. Esto requiere "
-"que se establezcan los permisos apropiados al exportar a Android o iOS."
#: doc/classes/ProjectSettings.xml
#, fuzzy
@@ -65582,8 +65659,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -70849,7 +70937,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
"Cambia la escena en curso a una nueva instancia de la [PackedScene] dada.\n"
"Devuelve [constant OK] en el éxito o [constant ERR_CANT_CREATE] si la escena "
@@ -71044,18 +71134,20 @@ msgstr "La escena actual."
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
-"Si [code]true[/code], las formas de colisión serán visibles cuando se "
-"ejecute el juego desde el editor con fines de depuración."
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
-"Si [code]true[/code], los polígonos de navegación serán visibles cuando se "
-"ejecute el juego desde el editor para su depuración."
#: doc/classes/SceneTree.xml
msgid "The root of the edited scene."
@@ -72462,8 +72554,11 @@ msgstr ""
"es específico para cada forma y no puede ser configurado."
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
-msgstr "La forma personalizada es un solucionador personalizado."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
+msgstr ""
#: doc/classes/ShortCut.xml
msgid "A shortcut for binding input."
@@ -73228,6 +73323,18 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+"Devuelve [code]true[/code] si el nodo está presente en el [SceneTree], su "
+"propiedad [member visible] es [code]true[/code] y todos sus antecedentes "
+"también son visibles. Si algún antecedente está oculto, este nodo no será "
+"visible en el árbol de la escena."
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -73673,7 +73780,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -75516,7 +75625,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -77083,6 +77192,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -77161,6 +77273,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -77195,11 +77310,15 @@ msgstr ""
"en su lugar."
#: doc/classes/String.xml
+#, fuzzy
msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
"Divide la string en reales usando una string delimitadora y devuelve un "
"array de las substrings..\n"
@@ -78701,6 +78820,11 @@ msgstr ""
"está activada."
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Devuelve el texto del artículo en el índice [code]idx[/code]."
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr "Devuelve el número de pestañas ocultas desplazadas a la izquierda."
@@ -78733,6 +78857,11 @@ msgstr ""
"del ratón."
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Establece un icono para la pestaña en el índice [code]tab_idx[/code]."
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
"Establece un icono [code]icon[/code] para la pestaña en el índice "
@@ -78790,9 +78919,12 @@ msgstr ""
"ratón. Ver [member drag_to_rearrange_enabled]."
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+#, fuzzy
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
-"Se emite cuando se hace clic con el botón derecho del ratón en una pestaña."
+"Se emite cuando se presiona un botón personalizado. Ver [method add_button]."
#: doc/classes/Tabs.xml
msgid "Emitted when a tab is clicked, even if it is the current tab."
@@ -85082,21 +85214,25 @@ msgstr ""
"sola."
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
-msgstr "Funciones de red de UPNP."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
+msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -85109,7 +85245,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -85138,7 +85274,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -85146,24 +85314,38 @@ msgid "Adds the given [UPNPDevice] to the list of discovered devices."
msgstr "Añade el [UPNPDevice] dado a la lista de dispositivos descubiertos."
#: modules/upnp/doc_classes/UPNP.xml
+#, fuzzy
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
"Añade un mapeo para reenviar el [code]port[/code] externo (entre 1 y 65535) "
@@ -85192,12 +85374,15 @@ msgid "Clears the list of discovered devices."
msgstr "Borra la lista de dispositivos descubiertos."
#: modules/upnp/doc_classes/UPNP.xml
+#, fuzzy
msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
"Elimina la asignación de puertos para la combinación de puertos y protocolos "
"dada en la pasarela por defecto (ver [method get_gateway]) si existe. "
@@ -85443,16 +85628,17 @@ msgid "Unknown error."
msgstr "Error desconocido."
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
-msgstr "Dispositivo UPNP."
+msgid "Universal Plug and Play (UPnP) device."
+msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
+#, fuzzy
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
"Dispositivo UPNP. Véase [UPNP] para las funciones de descubrimiento y "
"utilidad del UPNP. Proporciona un acceso de bajo nivel a los comandos de "
@@ -96678,8 +96864,13 @@ msgstr ""
"dependencia cíclica, y permite que las referencias sean liberadas."
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
-msgstr "Devuelve el [Object] al que se refiere este weakref."
+#, fuzzy
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
+msgstr ""
+"Devuelve el valor inicial de la propiedad especificada. Devuelve [code]null[/"
+"code] si la propiedad no existe."
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
msgid "Closes this data channel, notifying the other peer."
diff --git a/doc/translations/fa.po b/doc/translations/fa.po
index 7416d80072..4be9e9a8e1 100644
--- a/doc/translations/fa.po
+++ b/doc/translations/fa.po
@@ -16,12 +16,13 @@
# Seyed Fazel Alavi <fazel8195@gmail.com>, 2022.
# Giga hertz <gigahertzyt@gmail.com>, 2022.
# ilia khormali <iliakhormaly1384@gmail.com>, 2022.
+# John Smith <pkafsharix@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-06-21 15:55+0000\n"
-"Last-Translator: ilia khormali <iliakhormaly1384@gmail.com>\n"
+"PO-Revision-Date: 2022-09-08 12:47+0000\n"
+"Last-Translator: John Smith <pkafsharix@gmail.com>\n"
"Language-Team: Persian <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/fa/>\n"
"Language: fa\n"
@@ -29,7 +30,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.13.1-dev\n"
+"X-Generator: Weblate 4.14.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -77,11 +78,11 @@ msgstr "توضیحات ویژگی تم"
#: doc/tools/make_rst.py
msgid "Inherits:"
-msgstr ""
+msgstr "ارث می‌برد از:"
#: doc/tools/make_rst.py
msgid "Inherited By:"
-msgstr ""
+msgstr "ارث برده شده توسط:"
#: doc/tools/make_rst.py
msgid "(overrides %s)"
@@ -101,7 +102,7 @@ msgstr "مقدار"
#: doc/tools/make_rst.py
msgid "Getter"
-msgstr ""
+msgstr "گیرنده"
#: doc/tools/make_rst.py
msgid ""
@@ -119,16 +120,20 @@ msgstr ""
msgid ""
"This method accepts any number of arguments after the ones described here."
msgstr ""
+"این متد هر تعداد آرگومان را پس از آنهایی که اینجا توضیح داده شده اند قبول "
+"می‌کند."
#: doc/tools/make_rst.py
msgid "This method is used to construct a type."
-msgstr ""
+msgstr "این متد برای ساختن یک تایپ استفاده میشود."
#: doc/tools/make_rst.py
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 ""
@@ -786,8 +791,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -797,7 +803,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -875,7 +882,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -887,7 +895,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
"با یک مقدار نرمال شده بین دو مقدار درون یابی می کند. این مخالف [روش "
"inverse_lerp] است.\n"
@@ -1460,10 +1469,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -5280,19 +5294,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5313,21 +5329,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5336,9 +5356,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5990,9 +6011,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -6166,8 +6187,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -9169,8 +9190,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -9221,10 +9243,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9466,12 +9498,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -10017,7 +10043,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10178,12 +10209,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10331,6 +10366,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10471,7 +10521,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -12149,7 +12202,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12242,7 +12295,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12270,9 +12325,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12769,13 +12824,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12801,8 +12857,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13115,12 +13173,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13165,8 +13223,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13214,8 +13274,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13277,7 +13340,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13402,7 +13465,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -16398,7 +16464,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -19123,7 +19191,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -19272,16 +19342,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19426,18 +19497,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -24344,8 +24403,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24965,7 +25028,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26549,10 +26614,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27959,8 +28027,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -30260,11 +30328,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -31109,7 +31180,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -31121,6 +31196,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33478,14 +33563,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33493,21 +33578,21 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -35084,9 +35169,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35545,7 +35630,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36663,7 +36750,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37478,13 +37565,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -41148,7 +41247,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46524,7 +46625,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46763,7 +46866,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47492,7 +47597,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -50173,8 +50282,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51981,7 +52101,7 @@ msgstr ""
#: doc/classes/Resource.xml
msgid "Resources"
-msgstr ""
+msgstr "منابع"
#: doc/classes/Resource.xml
msgid ""
@@ -54195,7 +54315,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -54339,13 +54461,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55535,7 +55663,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -56154,6 +56285,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56488,7 +56627,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57921,7 +58062,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -59186,6 +59327,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -59247,6 +59391,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -59269,7 +59416,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -60406,6 +60556,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -60435,6 +60589,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60476,7 +60634,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -65341,21 +65501,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -65368,7 +65532,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -65397,7 +65561,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65407,22 +65603,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -65435,8 +65644,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65634,16 +65845,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -74273,7 +74484,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/fi.po b/doc/translations/fi.po
index b1d940aa14..558873eb70 100644
--- a/doc/translations/fi.po
+++ b/doc/translations/fi.po
@@ -615,8 +615,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -626,7 +627,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -680,7 +682,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -692,7 +695,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1107,10 +1111,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4922,19 +4931,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4955,21 +4966,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4979,9 +4994,10 @@ msgstr "Palauttaa parametrin tangentin."
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5633,9 +5649,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5809,8 +5825,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8818,8 +8834,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8870,10 +8887,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9116,12 +9143,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9667,7 +9688,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9828,12 +9854,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9981,6 +10011,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10121,7 +10166,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11802,7 +11850,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11895,7 +11943,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11923,9 +11973,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12427,13 +12477,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12459,8 +12510,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12773,12 +12826,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12823,8 +12876,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12872,8 +12927,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12935,7 +12993,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13060,7 +13118,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -16057,7 +16118,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18788,7 +18851,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18937,16 +19002,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19092,18 +19158,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
#, fuzzy
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr "Palauttaa parametrin arkussinin."
@@ -24018,8 +24072,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24640,7 +24698,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26228,10 +26288,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27647,8 +27710,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29950,11 +30013,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30800,7 +30866,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30812,6 +30882,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33173,14 +33253,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33188,22 +33268,26 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr ""
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "Palauttaa kahden vektorin jäännöksen."
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr ""
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "Laskee kahden vektorin ristitulon."
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
-msgstr ""
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
+msgstr "Laskee kahden vektorin ristitulon."
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
-msgstr ""
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
+msgstr "Laskee kahden vektorin ristitulon."
#: doc/classes/Line2D.xml
msgid ""
@@ -34780,9 +34864,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35243,7 +35327,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36375,7 +36461,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37201,13 +37287,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40877,7 +40975,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46251,7 +46351,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "Laskee kahden vektorin ristitulon."
#: doc/classes/PopupMenu.xml
@@ -46490,7 +46592,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47220,7 +47324,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49901,8 +50009,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53921,7 +54040,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -54065,13 +54186,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55261,7 +55388,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55881,6 +56011,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56215,7 +56353,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57649,7 +57789,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58916,6 +59056,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58977,6 +59120,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58999,7 +59145,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -60136,6 +60285,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Laskee kahden vektorin ristitulon."
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -60166,6 +60320,11 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Laskee kahden vektorin ristitulon."
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60207,7 +60366,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -65091,21 +65252,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -65118,7 +65283,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -65147,7 +65312,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65157,22 +65354,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -65185,8 +65395,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65384,16 +65596,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -74056,7 +74268,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/fil.po b/doc/translations/fil.po
index 42ab5537f4..0f6a2d6ec6 100644
--- a/doc/translations/fil.po
+++ b/doc/translations/fil.po
@@ -549,8 +549,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -560,7 +561,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -614,7 +616,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -626,7 +629,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1041,10 +1045,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4855,19 +4864,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4888,21 +4899,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4911,9 +4926,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5565,9 +5581,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5741,8 +5757,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8744,8 +8760,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8796,10 +8813,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9041,12 +9068,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9592,7 +9613,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9753,12 +9779,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9906,6 +9936,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10046,7 +10091,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11724,7 +11772,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11817,7 +11865,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11845,9 +11895,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12344,13 +12394,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12376,8 +12427,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12690,12 +12743,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12740,8 +12793,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12789,8 +12844,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12852,7 +12910,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12977,7 +13035,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -15973,7 +16034,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18698,7 +18761,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18847,16 +18912,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19001,18 +19067,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -23919,8 +23973,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24540,7 +24598,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26124,10 +26184,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27534,8 +27597,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29835,11 +29898,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30684,7 +30750,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30696,6 +30766,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33053,14 +33133,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33068,21 +33148,21 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34659,9 +34739,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35120,7 +35200,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36232,7 +36314,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37047,13 +37129,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40717,7 +40811,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46081,7 +46177,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46320,7 +46418,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47049,7 +47149,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49730,8 +49834,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53748,7 +53863,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53892,13 +54009,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55088,7 +55211,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55707,6 +55833,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56041,7 +56175,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57474,7 +57610,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58739,6 +58875,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58800,6 +58939,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58822,7 +58964,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -59959,6 +60104,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -59988,6 +60137,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60029,7 +60182,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -64894,21 +65049,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -64921,7 +65080,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -64950,7 +65109,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -64960,22 +65151,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -64988,8 +65192,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65187,16 +65393,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73826,7 +74032,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/fr.po b/doc/translations/fr.po
index 44d40e1bd5..22533d6b9a 100644
--- a/doc/translations/fr.po
+++ b/doc/translations/fr.po
@@ -61,7 +61,7 @@ msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-08-04 05:23+0000\n"
+"PO-Revision-Date: 2022-08-19 12:56+0000\n"
"Last-Translator: Maxime Leroy <lisacintosh@gmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/fr/>\n"
@@ -632,8 +632,8 @@ msgstr ""
"nombre à virgule flottante, avec des valeurs spécifiques conduisant aux "
"comportements suivants:\n"
"[codeblock]\n"
-"- Inférieur à -1.0 (exclus) : Plus lent au début et à la fin (\"ease in-out\""
-")\n"
+"- Inférieur à -1.0 (exclus) : Plus lent au début et à la fin (\"ease in-"
+"out\")\n"
"- 1.0 : Linéaire\n"
"- Entre -1.0 et 0.0 (exclus) : Plus rapide au début et à la fin (\"ease out-"
"in\")\n"
@@ -876,6 +876,7 @@ 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 +884,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -894,7 +896,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"See also [method lerp] which performs the reverse of this operation, and "
+"[method range_lerp] to map a continuous series of values to another."
msgstr ""
"Retourne le facteur d'interpolation ou d'extrapolation suivant l'intervalle "
"spécifié dans [code]from[/code] et [code]to[/code], et la valeur interpolée "
@@ -985,12 +988,14 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
"Linearly interpolates between two values by the factor defined in "
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -1002,7 +1007,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
"L'interpolation linéaire entre deux valeurs avec un facteur défini par "
"[code]weight[/code]. Pour faire une interpolation, [code]weight[/code] doit "
@@ -1733,17 +1739,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
-"Permet de trouver la valeur correspondante dans l'intervalle [code][ostart, "
-"ostop][/code] de la valeur [code]value[/code] appartenant à l'intervalle "
-"[code][istart, istop][/code].\n"
-"[codeblock]\n"
-"range_lerp(75, 0, 100, -1, 1) # Renvoie la valeur 0.5\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1849,26 +1854,27 @@ msgid ""
"-1.6521) return values[/url]"
msgstr ""
"Retourne le résultat de l'interpolation douce de la valeur [code]s[/code] "
-"entre [code]0[/code] et [code]1[/code], basée sur la position de "
-"[code]s[/code] entre [code]from[/code] et [code]to[/code].\n"
+"entre [code]0[/code] et [code]1[/code], basée sur la position de [code]s[/"
+"code] entre [code]from[/code] et [code]to[/code].\n"
"La valeur retournée est [code]0[/code] si [code]s <= from[/code], et "
"[code]1[/code] si [code]s >= to[/code]. Si [code]s[/code] se trouve entre "
"[code]from[/code] et [code]to[/code], la valeur retournée suit une courbe en "
"S qui représente les positions de [code]s[/code] entre[code]0[/code] et "
"[code]1[/code].\n"
"Cette courbe en S est l'interpolation cubique d'Hermite, obtenu par la "
-"fonction mathématique [code]f(y) = 3*y^2 - 2*y^3[/code] où [code]y = (x-from)"
-" / (to-from)[/code].\n"
+"fonction mathématique [code]f(y) = 3*y^2 - 2*y^3[/code] où [code]y = (x-"
+"from) / (to-from)[/code].\n"
"[codeblock]\n"
"smoothstep(0, 2, -5.0) # Retourne 0.0\n"
"smoothstep(0, 2, 0.5) # Retourne 0.15625\n"
"smoothstep(0, 2, 1.0) # Retourne 0.5\n"
"smoothstep(0, 2, 2.0) # Retourne 1.0\n"
"[/codeblock]\n"
-"Comparé à l'utilisateur [method ease] avec une valeur de courbe de [code]-1."
-"6521[/code], [method smoothstep] retourne la courbe la plus douce possible, "
-"sans changement brusque de dérivée. Si vous avez besoin d'effectuer des "
-"transitions plus avancées, utilisez [Tween] ou [AnimationPlayer].\n"
+"Comparé à l'utilisateur [method ease] avec une valeur de courbe de "
+"[code]-1.6521[/code], [method smoothstep] retourne la courbe la plus douce "
+"possible, sans changement brusque de dérivée. Si vous avez besoin "
+"d'effectuer des transitions plus avancées, utilisez [Tween] ou "
+"[AnimationPlayer].\n"
"[url=https://raw.githubusercontent.com/godotengine/godot-docs/3.4/img/"
"smoothstep_ease_comparison.png]Comparaison entre les valeurs retournées par "
"smoothstep() et ease(x, -1.6521)[/url]"
@@ -4008,7 +4014,6 @@ msgid "VR Controller analog trigger."
msgstr "Gâchette analogique de la manette VR."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "VR Controller analog grip (side buttons)."
msgstr "Bouton guide du contrôleur de jeu SDL."
@@ -6418,25 +6423,22 @@ msgstr ""
"[AnimationRootNode], sinon les éditeurs n'afficheront pas le nœud pour ajout."
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
-msgstr "Obtient la légende pour ce nœud (utilisé par certains éditeurs)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
+msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
-"Obtient un nœud enfant par son index (utilisé par les éditeurs héritant "
-"d'[AnimationRootNode])."
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
-"Obtient tous les nœuds enfants dans l'ordre en tant que dictionnaire "
-"[code]name: node[/code]. Utile uniquement lorsque [AnimationRootNode] est "
-"hérité."
#: doc/classes/AnimationNode.xml
msgid ""
@@ -6460,17 +6462,22 @@ msgstr ""
"réutilisé dans plusieurs arbres de nœuds."
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
"Obtient la valeur par défaut d'un paramètre. Les paramètres sont la mémoire "
"locale personnalisé utilisé pour vos nœuds, étant donné qu'une ressource "
"peut être réutilisé dans plusieurs arbres de nœuds."
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
@@ -6480,9 +6487,11 @@ msgstr ""
"format est similaire à [method Object.get_property_list]."
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
"Renvoie [code]true[/code] si vous souhaitez que l'éditeur de mélange d'arbre "
"affiche l'édition de filtre sur ce nœud."
@@ -6492,10 +6501,12 @@ msgid "Returns whether the given path is filtered."
msgstr "Retourne quand un chemin donné est filtré."
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -7317,13 +7328,14 @@ msgstr ""
"court."
#: doc/classes/AnimationNodeStateMachineTransition.xml
+#, fuzzy
msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -7568,9 +7580,10 @@ msgstr ""
"Retourne le nom de [code]animation[/code] ou un chaine vide si n'existe pas."
#: doc/classes/AnimationPlayer.xml
+#, fuzzy
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
"Retourne le [Animation] avec la clé [code]name[/code] ou [code]null[/code] "
"s'il n'est pas trouvé."
@@ -11868,8 +11881,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr "Démo d'enregistrement du microphone"
@@ -11928,12 +11942,22 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
+msgstr "Bus audio"
+
#: doc/classes/AudioEffectCapture.xml
msgid ""
"Returns [code]true[/code] if at least [code]frames[/code] audio frames are "
@@ -12218,12 +12242,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr "Bus audio"
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr "L'intensité de la distorsion. Cette valeur est comprise entre 0 et 1."
@@ -12455,7 +12473,6 @@ msgid "Gain amount of the frequencies after the filter."
msgstr "La valeur du gain de fréquences après le filtre."
#: doc/classes/AudioEffectFilter.xml
-#, fuzzy
msgid "Amount of boost in the frequency range near the cutoff frequency."
msgstr ""
"Quantité de boost dans les harmoniques près de la fréquence de coupure."
@@ -12906,9 +12923,13 @@ msgstr ""
"[code]at_position[/code]."
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
-"Retourne le nom de tous les appareils d'entrée audio détectés par le système."
#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
@@ -13095,13 +13116,18 @@ msgid "Number of available audio buses."
msgstr "Nombre de bus audio disponibles."
#: doc/classes/AudioServer.xml
+#, fuzzy
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
"Le nom du périphérique actuel pour l'entrée audio (voir [method "
"get_device_list)]. Sur les systèmes avec plusieurs entrées audio (comme "
@@ -13309,6 +13335,21 @@ msgstr ""
"langages compilés avec GDNative, mais [method push_frame] peut être "
"[i]moins[/i] efficace avec GDScript."
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr "Le pilote de flux audio MP3."
@@ -13462,8 +13503,12 @@ msgid "Plays positional sound in 2D space."
msgstr "Joue un son localisé dans un espace 2D."
#: doc/classes/AudioStreamPlayer2D.xml
+#, fuzzy
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -15631,7 +15676,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -15755,7 +15800,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -15788,14 +15835,10 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
-"La taille de la caméra mesurée comme la moitié de la largeur ou de la "
-"hauteur. N'est applicable qu'en modes orthogonal et frustum. Comme [member "
-"keep_aspect] verrouille l'axe, [code]size[/code] fixe la longueur de la "
-"taille sur l'autre axe."
#: doc/classes/Camera.xml
msgid "The vertical (Y) offset of the camera viewport."
@@ -16045,18 +16088,16 @@ msgid ""
"Left margin needed to drag the camera. A value of [code]1[/code] makes the "
"camera move only when reaching the edge of the screen."
msgstr ""
-"La marge gauche nécessaire pour glisser la caméra. Une valeur de "
-"[code]1[/code] ne déplace la caméra que lorsqu'elle atteint le bord de "
-"l'écran."
+"La marge gauche nécessaire pour glisser la caméra. Une valeur de [code]1[/"
+"code] ne déplace la caméra que lorsqu'elle atteint le bord de l'écran."
#: doc/classes/Camera2D.xml
msgid ""
"Right margin needed to drag the camera. A value of [code]1[/code] makes the "
"camera move only when reaching the edge of the screen."
msgstr ""
-"La marge droite nécessaire pour glisser la caméra. Une valeur de "
-"[code]1[/code] ne déplace la caméra que lorsqu'elle atteint le bord de "
-"l'écran."
+"La marge droite nécessaire pour glisser la caméra. Une valeur de [code]1[/"
+"code] ne déplace la caméra que lorsqu'elle atteint le bord de l'écran."
#: doc/classes/Camera2D.xml
msgid ""
@@ -16425,18 +16466,20 @@ msgid "Base class of anything 2D."
msgstr "Classe de base de tout ce qui est 2D."
#: doc/classes/CanvasItem.xml
+#, fuzzy
msgid ""
"Base class of anything 2D. Canvas items are laid out in a tree; children "
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -16488,10 +16531,19 @@ msgid "Custom drawing in 2D"
msgstr ""
#: doc/classes/CanvasItem.xml
+#, fuzzy
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
+"Appelé lorsque le nœud entre dans la [SceneTree] (par exemple en étant "
+"instancié, au changement de scène, ou après avoir appelé [method add_child] "
+"dans un script). Si le nœud a des enfants, sa méthode [méthod enter_tree] "
+"sera appelée d'abord, puis ensuite celle de ses enfants.\n"
+"Correspond à la notification [constant NOTIFICATION_ENTER_TREE] dans [method "
+"Object._notification]."
#: doc/classes/CanvasItem.xml
msgid ""
@@ -16637,7 +16689,6 @@ msgstr ""
"avec anti-crénelage."
#: doc/classes/CanvasItem.xml
-#, fuzzy
msgid ""
"Draws multiple disconnected lines with a uniform [code]width[/code] and "
"segment-by-segment coloring. Colors assigned to line segments match by index "
@@ -16982,12 +17033,13 @@ msgstr ""
"Retourne [code]true[/code] si les notification des transformations globales "
"sont communiquées aux enfants."
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
+#, fuzzy
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
"Retourne [code]true[/code] si le nœud est présent dans le [SceneTree], que "
"sa propriété [member visible] est [code]true[/code] et que tous ses parents "
@@ -17055,11 +17107,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
-"Ajoute le [CanvasItem] pour être mis à jour. [constant NOTIFICATION_DRAW] "
-"sera émise sur le temps inoccupé pour demander la mise à jour."
#: doc/classes/CanvasItem.xml
msgid ""
@@ -17117,12 +17169,12 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
-"Émis lorsque le [CanvasItem] doit être redessiné. Ça ne peut être que "
-"connecté qu'en temps réel, puisque le différer peut ne pas permettre le "
-"dessin."
#: doc/classes/CanvasItem.xml
msgid "Emitted when becoming hidden."
@@ -17194,7 +17246,8 @@ msgstr ""
"reçue que si elle est activée par [method set_notify_local_transform]."
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+#, fuzzy
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr "Le [CanvasItem] est demandé de dessiner."
#: doc/classes/CanvasItem.xml
@@ -17348,7 +17401,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -19277,12 +19333,10 @@ msgid "Antique white color."
msgstr "Couleur blanc antique."
#: doc/classes/Color.xml
-#, fuzzy
msgid "Aqua color."
msgstr "Couleur aqua."
#: doc/classes/Color.xml
-#, fuzzy
msgid "Aquamarine color."
msgstr "Couleur aigue-marine."
@@ -19363,7 +19417,6 @@ msgid "Dark cyan color."
msgstr "Couleur cyan foncé."
#: doc/classes/Color.xml
-#, fuzzy
msgid "Dark goldenrod color."
msgstr "Couleur verge d'or foncé."
@@ -19436,7 +19489,6 @@ msgid "Dim gray color."
msgstr "Couleur gris pâle."
#: doc/classes/Color.xml
-#, fuzzy
msgid "Dodger blue color."
msgstr "Couleur bleue Dodger."
@@ -19457,7 +19509,6 @@ msgid "Fuchsia color."
msgstr "Couleur fuchsia."
#: doc/classes/Color.xml
-#, fuzzy
msgid "Gainsboro color."
msgstr "Couleur Gainsboro."
@@ -19470,7 +19521,6 @@ msgid "Gold color."
msgstr "Couleur or."
#: doc/classes/Color.xml
-#, fuzzy
msgid "Goldenrod color."
msgstr "Couleur verge d'or."
@@ -19599,7 +19649,6 @@ msgid "Maroon color."
msgstr "Couleur marron."
#: doc/classes/Color.xml
-#, fuzzy
msgid "Medium aquamarine color."
msgstr "Couleur bleu-marine moyenne."
@@ -19684,7 +19733,6 @@ msgid "Orchid color."
msgstr "Couleur d’orchidée."
#: doc/classes/Color.xml
-#, fuzzy
msgid "Pale goldenrod color."
msgstr "Couleur verge d'or pâle."
@@ -19729,7 +19777,6 @@ msgid "Purple color."
msgstr "Couleur violette."
#: doc/classes/Color.xml
-#, fuzzy
msgid "Rebecca purple color."
msgstr "Couleur violette Rebecca."
@@ -19766,7 +19813,6 @@ msgid "Seashell color."
msgstr "Couleur coquillage."
#: doc/classes/Color.xml
-#, fuzzy
msgid "Sienna color."
msgstr "Couleur Sienne."
@@ -19807,7 +19853,6 @@ msgid "Teal color."
msgstr "Couleur sarcelle."
#: doc/classes/Color.xml
-#, fuzzy
msgid "Thistle color."
msgstr "Couleur chardon."
@@ -20259,7 +20304,6 @@ msgstr ""
"Plus c'est haut, plus c'est rapide."
#: doc/classes/ConeTwistJoint.xml doc/classes/PhysicsServer.xml
-#, fuzzy
msgid ""
"Defines, how fast the swing- and twist-speed-difference on both sides gets "
"synced."
@@ -21405,10 +21449,10 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
-"Voler le focus d'un autre contrôle et devenir le contrôle focalisé (voir "
-"[member focus_mode])."
#: doc/classes/Control.xml
msgid ""
@@ -22990,10 +23034,10 @@ msgid ""
"variables, like [member anchor_left]. To change all 4 anchors at once, use "
"[method set_anchors_preset]."
msgstr ""
-"Magnétise l'un des 4 côtés d'ancrage à l'origine de l'ancrage "
-"[code]Rect[/code], en haut à gauche. Utilisez-le avec l'une des variables "
-"membres [code]anchor_*[/code], comme [member anchor_left]. Pour modifier les "
-"4 ancres à la fois, utilisez [method set_anchors_preset]."
+"Magnétise l'un des 4 côtés d'ancrage à l'origine de l'ancrage [code]Rect[/"
+"code], en haut à gauche. Utilisez-le avec l'une des variables membres "
+"[code]anchor_*[/code], comme [member anchor_left]. Pour modifier les 4 "
+"ancres à la fois, utilisez [method set_anchors_preset]."
#: doc/classes/Control.xml
msgid ""
@@ -25097,10 +25141,13 @@ msgid "A mathematic curve."
msgstr "Une courbe mathématique."
#: doc/classes/Curve.xml
+#, fuzzy
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
"Une courbe qui peut être sauvegardée et réutilisée pour d'autres objets. Par "
"défaut, elle va de [code]0[/code] à [code]1[/code] selon l'axe Y et les "
@@ -25286,26 +25333,28 @@ msgstr ""
"Ça garde un cache des points calculés le long de la courbe, pour accélérer "
"les calculs ultérieurs."
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
+#, fuzzy
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
"Ajoute un point à une courbe à la [code]position[/code] par rapport à la "
-"position de la [Curve2D], avec des points de contrôle d'entrée "
-"[code]in[/code] et de sortie [code]out[/code].\n"
+"position de la [Curve2D], avec des points de contrôle d'entrée [code]in[/"
+"code] et de sortie [code]out[/code].\n"
"Si [code]at_position[/code] est spécifié, le point est inséré juste avant ce "
"numéro de point [code]at_position[/code], en déplaçant ce point (et tous les "
-"autres points qui suivent) après le point inséré. Si [code]at_position[/code]"
-" n'est pas donné, ou est une valeur invalide ([code]at_position < 0[/code] "
-"ou [code]at_position >= [method get_point_count][/code]), le point sera "
-"ajouté en dernier."
+"autres points qui suivent) après le point inséré. Si [code]at_position[/"
+"code] n'est pas donné, ou est une valeur invalide ([code]at_position < 0[/"
+"code] ou [code]at_position >= [method get_point_count][/code]), le point "
+"sera ajouté en dernier."
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
@@ -25520,27 +25569,6 @@ msgstr ""
"accélérer de nouveaux calculs."
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-"Ajoute un point à la courbe à [code]position[/code] par rapport à la "
-"position [Curve3D], avec des points de contrôle [code]in[/code] et "
-"[code]out[/code].\n"
-"Si [code]at_position[/code] est spécifiée, le point est inséré avant le "
-"numéro de point [code]at_position[/code], deplaçant ce point (et tous les "
-"suivants) après le point inséré. Si [code]at_position[/code] n'est pas "
-"spécifiée, ou est une valeur invalide ([code]at_position <0[/code] ou "
-"[code]at_position >= [method get_point_count][/code]), le point sera ajouté "
-"à la fin de la liste des points."
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr "Retourne le cache de points sous forme de [PoolVector3Array]."
@@ -26418,8 +26446,8 @@ msgstr ""
"Change le dossier actuellement ouvert par celui donné en argument. "
"L'argument peut être relatif au répertoire actuel (par exemple "
"[code]nouveau_dossier[/code] ou [code]./dossier[/code]), ou être un chemin "
-"absolu (par exemple [code]/tmp/dossier[/code] ou [code]res://parent/"
-"dossier[/code]).\n"
+"absolu (par exemple [code]/tmp/dossier[/code] ou [code]res://parent/dossier[/"
+"code]).\n"
"Retourne une des constantes de code [enum Error] (et [code]OK[/code] en cas "
"de succès)."
@@ -31794,7 +31822,6 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-#, fuzzy
msgid "The screen-space ambient occlusion color."
msgstr "Le rayon d'occlusion ambiante de l'espace de l'écran primaire."
@@ -31852,7 +31879,6 @@ msgid ""
msgstr ""
#: doc/classes/Environment.xml
-#, fuzzy
msgid "The default exposure used for tonemapping."
msgstr "L’exposition par défaut utilisée pour tonifier."
@@ -32292,11 +32318,13 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
-"Retourne le fichier complet en [String].\n"
-"Le texte est interprété comme étant encodé en UTF-8."
#: doc/classes/File.xml
msgid "Returns next [code]len[/code] bytes of the file as a [PoolByteArray]."
@@ -32959,7 +32987,6 @@ msgid ""
msgstr ""
#: doc/classes/FlowContainer.xml
-#, fuzzy
msgid "Base class for flow containers."
msgstr "La classe de base pour les conteneurs de flux."
@@ -33013,7 +33040,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -33984,20 +34013,19 @@ msgid ""
msgstr ""
"Gonfle ou dégonfle [code]polygon[/code] par la quantité [code]delta[/code] "
"unités (pixels) dans toutes les directions. Si [code]delta[/code] est "
-"positif, le polygone décale chaque sommet vers l'extérieur. Si "
-"[code]delta[/code] est négatif, décale chaque sommet vers l'intérieur. "
-"Retourne une liste des polygones parce que gonflage/dégonflage peut produire "
-"plusieurs polygones distinctes. Retourne un tableau vide si "
-"[code]delta[/code] est négatif et la valeur absolue de celui-ci dépasse "
-"approximativement les dimensions du rectangle minimal englobant du polygone."
-"\n"
+"positif, le polygone décale chaque sommet vers l'extérieur. Si [code]delta[/"
+"code] est négatif, décale chaque sommet vers l'intérieur. Retourne une liste "
+"des polygones parce que gonflage/dégonflage peut produire plusieurs "
+"polygones distinctes. Retourne un tableau vide si [code]delta[/code] est "
+"négatif et la valeur absolue de celui-ci dépasse approximativement les "
+"dimensions du rectangle minimal englobant du polygone.\n"
"Les sommets de chaque polygone sont arrondis suivant [code]join_type[/code], "
"voir [enum PolyJoinType].\n"
"L'opération peut fournir un polygone extérieur (la limite extérieure) et "
"plusieurs polygones à intérieur (représentant les trous) qui pourraient être "
"distingués en appelant [method is_polygon_clockwise].\n"
-"[b]Note :[/b] Pour transformer les sommets en polygone, utilisez la méthode ["
-"method Transform2D.xform]:\n"
+"[b]Note :[/b] Pour transformer les sommets en polygone, utilisez la méthode "
+"[method Transform2D.xform]:\n"
"[codeblock]\n"
"var polygon = PoolVector2Array([Vector2(0, 0), Vector2(100, 0), Vector2(100, "
"100), Vector2(0, 100)])\n"
@@ -34030,8 +34058,8 @@ msgstr ""
"vide.\n"
"Les sommets de chaque polygone sont arrondis suivant [code]join_type[/code], "
"voir [enum PolyJoinType].\n"
-"Chaque point d'extrémité du polygone sera arrondi suivant "
-"[code]end_type[/code], voir [enum PolyEndType].\n"
+"Chaque point d'extrémité du polygone sera arrondi suivant [code]end_type[/"
+"code], voir [enum PolyEndType].\n"
"L'opération peut fournir un polygone extérieur (la limite extérieur) et "
"plusieurs polygones à intérieur (représentant les trous) qui pourraient être "
"distingués en appelant [method is_polygon_clockwise]."
@@ -34861,12 +34889,16 @@ msgstr ""
"des couleurs entre des points de couleur définis par l'utilisateur."
#: doc/classes/Gradient.xml
+#, fuzzy
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
"À partir d'un ensemble de couleurs, cette ressource les interpolera dans "
"l'ordre. Cela signifie que si vous avez la couleur 1, la couleur 2 et la "
@@ -35581,8 +35613,8 @@ msgstr ""
"[code]custom_left[/code]/[code]right[/code] est une texture personnalisée "
"pour le port de ce côté.\n"
"[b]Note :[/b] Cette méthode ne définit que les propriétés de l'emplacement. "
-"Pour créer l'emplacement, ajoutez un enfant dérivé de [Control] au GraphNode."
-"\n"
+"Pour créer l'emplacement, ajoutez un enfant dérivé de [Control] au "
+"GraphNode.\n"
"Les propriétés individuelles peuvent être définies en utilisant l'une des "
"méthodes [code]set_slot_*[/code]. Vous devez activer au moins un côté de "
"l'emplacement pour le faire."
@@ -36245,7 +36277,6 @@ msgid "Horizontal version of [FlowContainer]."
msgstr "La version horizontale du [FlowContainer]."
#: doc/classes/HingeJoint.xml
-#, fuzzy
msgid "A hinge between two 3D PhysicsBodies."
msgstr "Une articulation de torsion entre deux corps 3D."
@@ -36503,7 +36534,6 @@ msgid ""
msgstr ""
#: doc/classes/HScrollBar.xml doc/classes/VScrollBar.xml
-#, fuzzy
msgid "Used when the mouse hovers over the grabber."
msgstr "Utilisé lorsque la souris survole le glisseur."
@@ -36615,11 +36645,12 @@ msgid "Low-level hyper-text transfer protocol client."
msgstr "Client de protocole de transfert hypertexte de bas niveau."
#: doc/classes/HTTPClient.xml
+#, fuzzy
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -37675,12 +37706,12 @@ msgstr ""
"des fichiers ou du contenu web via HTTP.\n"
"[b]Avertissement :[/b] Voir les notes et avertissements du [HTTPClient] pour "
"les limites, notamment concernant la sécurité SSL.\n"
-"[b]Exemple pour contacter une API REST et afficher les champs retournés :[/b]"
-"\n"
+"[b]Exemple pour contacter une API REST et afficher les champs retournés :[/"
+"b]\n"
"[codeblock]\n"
"func _ready():\n"
-" # Créer un nœud de requête HTTP et le connecter au signal de complétion."
-"\n"
+" # Créer un nœud de requête HTTP et le connecter au signal de "
+"complétion.\n"
" var http_request = HTTPRequest.new()\n"
" add_child(http_request)\n"
" http_request.connect(\"request_completed\", self, "
@@ -37716,8 +37747,8 @@ msgstr ""
"HTTPRequest:[/b]\n"
"[codeblock]\n"
"func _ready():\n"
-" # Créer un nœud de requête HTTP et le connecter au signal de complétion."
-"\n"
+" # Créer un nœud de requête HTTP et le connecter au signal de "
+"complétion.\n"
" var http_request = HTTPRequest.new()\n"
" add_child(http_request)\n"
" http_request.connect(\"request_completed\", self, "
@@ -39364,11 +39395,14 @@ msgstr "Arrête la vibration du joypad."
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -40298,7 +40332,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -40310,6 +40348,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -42409,8 +42457,8 @@ msgid ""
msgstr ""
"Définit la priorité de rendu pour la bordure du texte. Les objets les plus "
"prioritaires seront affichés par-dessus des objets les moins prioritaires.\n"
-"[b]Note :[/b] Cela ne s'applique que si [member alpha_cut] est défini à ["
-"constant ALPHA_CUT_DISABLED] (c'est la valeur par défaut).\n"
+"[b]Note :[/b] Cela ne s'applique que si [member alpha_cut] est défini à "
+"[constant ALPHA_CUT_DISABLED] (c'est la valeur par défaut).\n"
"[b]Note :[/b] Cela ne s'applique qu'au tri des objets transparents. Cela "
"n'affectera pas la façon dont les objets transparents sont triés par rapport "
"aux objets opaques. C'est parce que les objets opaques ne sont pas triés, "
@@ -42434,8 +42482,8 @@ msgid ""
msgstr ""
"Définit la priorité de rendu pour le texte. Les objets les plus prioritaires "
"seront affichés par-dessus des objets les moins prioritaires.\n"
-"[b]Note :[/b] Cela ne s'applique que si [member alpha_cut] est défini à ["
-"constant ALPHA_CUT_DISABLED] (c'est la valeur par défaut).\n"
+"[b]Note :[/b] Cela ne s'applique que si [member alpha_cut] est défini à "
+"[constant ALPHA_CUT_DISABLED] (c'est la valeur par défaut).\n"
"[b]Note :[/b] Cela ne s'applique qu'au tri des objets transparents. Cela "
"n'affectera pas la façon dont les objets transparents sont triés par rapport "
"aux objets opaques. C'est parce que les objets opaques ne sont pas triés, "
@@ -43121,44 +43169,40 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
-"Ajoute un point au [code]position[/code]. Ajoute le point à la fin de la "
-"ligne.\n"
-"Si [code]at_position[/code] est donné, le point est inséré avant l'indice "
-"[code]at_position[/code], en déplaçant ce point (et chaque point après) "
-"après le point inséré. Si [code]at_position[/code] n'est pas donné, ou est "
-"une valeur invalide ([code]at_position < 0[/code] ou [code]at_position >= "
-"[method get_point_count][/code]), le point sera ajouté à la fin de la liste "
-"des points."
#: doc/classes/Line2D.xml
msgid "Removes all points from the line."
msgstr "Retire tous les points de la ligne."
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr "Renvoie le nombre de points de la Ligne2D."
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "Retourne le nombre d'os dans ce squelette."
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr "Renvoie la position du point [code]i[/code]."
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "Retourne la position du point à l'index [code]point[/code]."
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr "Supprime le point à l'index [code]i[/code] de la ligne."
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
"Remplace la position du point [code]i[/code] par la [code]position[/code] "
"spécifiée."
@@ -43262,8 +43306,8 @@ msgid ""
"The texture used for the line's texture. Uses [code]texture_mode[/code] for "
"drawing style."
msgstr ""
-"La texture utilisée pour la texture de la ligne. Utilise "
-"[code]texture_mode[/code] pour le style de dessin."
+"La texture utilisée pour la texture de la ligne. Utilise [code]texture_mode[/"
+"code] pour le style de dessin."
#: doc/classes/Line2D.xml
msgid ""
@@ -43572,22 +43616,22 @@ msgid ""
"# `text_change_rejected` is emitted with \"bye\" as parameter.\n"
"[/codeblock]"
msgstr ""
-"La quantité maximale de caractères qui peuvent être entré dans ce "
-"[LineEdit]. Si [code]0[/code], il n'y a aucune limite.\n"
+"La quantité maximale de caractères qui peuvent être entré dans le "
+"[LineEdit]. Aucune limite si [code]0[/code].\n"
"Quand une limite est définie, le texte est tronqué aux [member max_length] "
-"premiers caractères. Ça arrive pour le [member text] existant lorsque la "
-"longueur maximale est définie, ou quand un nouveau texte est inséré dans le "
+"premiers caractères. Cela s'applique au [member text] existant lorsque la "
+"longueur maximale est définie ou quand un nouveau texte est inséré dans le "
"[LineEdit], en étant par exemple collé. Si le texte est tronqué, le signal "
"[signal text_change_rejected] est émis avec le reste du texte tronqué passé "
"en paramètre.\n"
-"[b]Example:[/b]\n"
+"[b]Exemple:[/b]\n"
"[codeblock]\n"
"text = \"Salut le monde\"\n"
"max_length = 5\n"
"# `text` est tronqué à \"Salut\".\n"
"max_length = 11\n"
"text += \" l'univers\"\n"
-"# `text` becomes \"Salut l'uni\".\n"
+"# `text` devient \"Salut l'uni\".\n"
"# `text_change_rejected` est émis avec \"vers\" passé en paramètre.\n"
"[/codeblock]"
@@ -44593,18 +44637,24 @@ msgid ""
"Returns a [Material] in a given surface. Surface is rendered using this "
"material."
msgstr ""
+"Retourne le [Material] pour une surface donnée. Le rendu de la surface est "
+"fait en utilisant ce matériau."
#: doc/classes/Mesh.xml
msgid ""
"Sets a [Material] for a given surface. Surface will be rendered using this "
"material."
msgstr ""
+"Définit un [Material] pour une surface donnée. Le rendu de la surface sera "
+"faite utilisant ce matériau."
#: doc/classes/Mesh.xml
msgid ""
"Sets a hint to be used for lightmap resolution in [BakedLightmap]. Overrides "
"[member BakedLightmap.default_texels_per_unit]."
msgstr ""
+"Définit un indice à utiliser pour la résolution de la lightmap dans "
+"[BakedLightmap]. Surcharge [member BakedLightmap.default_texels_per_unit]."
#: doc/classes/Mesh.xml
msgid "Render array as points (one vertex equals one point)."
@@ -44616,11 +44666,13 @@ msgstr "Rend le tableau en ligne (une ligne est créée tous les deux sommets)."
#: doc/classes/Mesh.xml
msgid "Render array as line strip."
-msgstr ""
+msgstr "Fait le rendu du tableau comme une suite de lignes."
#: doc/classes/Mesh.xml
msgid "Render array as line loop (like line strip, but closed)."
msgstr ""
+"Fait le rendu du tableau comme une boucle de ligne (une suite de lignes, "
+"mais fermée)."
#: doc/classes/Mesh.xml
msgid "Render array as triangles (every three vertices a triangle is created)."
@@ -44629,11 +44681,11 @@ msgstr ""
#: doc/classes/Mesh.xml
msgid "Render array as triangle strips."
-msgstr ""
+msgstr "Fait le rendu du tableau comme une suite de triangles."
#: doc/classes/Mesh.xml
msgid "Render array as triangle fans."
-msgstr ""
+msgstr "Fait le rendu du tableau comme un éventail de triangles."
#: doc/classes/Mesh.xml doc/classes/VisualServer.xml
msgid "Blend shapes are normalized."
@@ -44699,6 +44751,8 @@ msgstr ""
#: doc/classes/Mesh.xml doc/classes/VisualServer.xml
msgid "Flag used to mark a compressed (half float) normal array."
msgstr ""
+"Le drapeau utilisé pour marquer que le tableau de normales est compressé "
+"(avec des demi-flottants)."
#: doc/classes/Mesh.xml doc/classes/VisualServer.xml
msgid "Flag used to mark a compressed (half float) tangent array."
@@ -44959,8 +45013,8 @@ msgid ""
msgstr ""
"Retourne le format du [Mesh]. Le format est un entier composé des drapeaux "
"de format du [Mesh]. Par exemple, un maillage contenant à la fois des "
-"sommets et des normales retournerait un format de [code]3[/code] parce que ["
-"constant ArrayMesh.ARRAY_FORMAT_VERTEX] est [code]1[/code] et [constant "
+"sommets et des normales retournerait un format de [code]3[/code] parce que "
+"[constant ArrayMesh.ARRAY_FORMAT_VERTEX] est [code]1[/code] et [constant "
"ArrayMesh.ARRAY_FORMAT_NORMAL] est [code]2[/code].\n"
"Voir [enum ArrayMesh.ArrayFormat] pour une liste de drapeaux de format."
@@ -45069,13 +45123,14 @@ msgid "Node that instances meshes into a scenario."
msgstr "Nœud qui instancie des meshes dans un scénario."
#: doc/classes/MeshInstance.xml
+#, fuzzy
msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
"MeshInstance est un nœud qui prend une ressource [Mesh] et l'ajoute au "
"scénario actuel en créant une instance. C'est la classe la plus souvent "
@@ -45112,6 +45167,9 @@ msgid ""
"This helper creates a [MeshInstance] child node with gizmos at every vertex "
"calculated from the mesh geometry. It's mainly used for testing."
msgstr ""
+"Cett aide crée un nœud [MeshInstance] enfant avec des manipulateur à chaque "
+"sommet calculé à partir de la géométrie de maillages. C'est principalement "
+"utilisé pour les essais."
#: doc/classes/MeshInstance.xml
msgid ""
@@ -45119,6 +45177,10 @@ msgid ""
"[ConvexPolygonShape] collision shapes calculated from the mesh geometry via "
"convex decomposition. It's mainly used for testing."
msgstr ""
+"Cett aide crée un nœud [StaticBody] enfant avec plusieurs formes de "
+"collision [ConvexPolygonShape] calculées à partir de la géométrie de "
+"maillage via la décomposition de convexes. C'est principalement utilisé pour "
+"les essais."
#: doc/classes/MeshInstance.xml
msgid ""
@@ -45126,6 +45188,9 @@ msgid ""
"collision shape calculated from the mesh geometry. It's mainly used for "
"testing."
msgstr ""
+"Cette aide crée un nœud [StaticBody] enfant avec une forme de collision "
+"[ConcavePolygonShape] calculée à partir de la géométrie de maillages. C'est "
+"principalement utilisé pour les essais."
#: doc/classes/MeshInstance.xml
msgid ""
@@ -45135,6 +45200,12 @@ msgid ""
"[Material] defined in the [Mesh]. For example, if [member GeometryInstance."
"material_override] is used, all surfaces will return the override material."
msgstr ""
+"Retourne le [Material] qui sera utilisé par le [Mesh] lors de l'affichage. "
+"Ceci peut renvoyer le [member GeometryInstance.material_override], la "
+"surcharge de surface [Material] définie dans ce [MeshInstance], ou la "
+"surface [Material] définie dans le [Mesh]. Par exemple, si [member "
+"GeometryInstance.material_override] est utilisé, toutes les surfaces "
+"retourneront le matériau de surcharge."
#: doc/classes/MeshInstance.xml
msgid ""
@@ -45163,8 +45234,8 @@ msgid ""
"each surface must match, in terms of material, attributes and vertex format."
msgstr ""
"Retourne [code]true[/code] si cette [MeshInstance] peut être fusionnée avec "
-"l'autre instance [code]other_mesh_instance[/code], en utilisant la fonction ["
-"method MeshInstance.merge_meshes].\n"
+"l'autre instance [code]other_mesh_instance[/code], en utilisant la fonction "
+"[method MeshInstance.merge_meshes].\n"
"Pour pouvoir être fusionnées, les propriétés des [MeshInstance] doivent "
"correspondre, et chaque surface doit correspondre, en termes de matériau, "
"d'attributs et de format des sommets."
@@ -45256,6 +45327,11 @@ msgid ""
"toolbar. Select the [Sprite] node, then choose [b]Sprite > Convert to "
"MeshInstance2D[/b] at the top of the 2D editor viewport."
msgstr ""
+"Le nœud utilisé pour afficher un [Mesh] en 2D. Un [MeshInstance2D] peut être "
+"automatiquement créé à partir d'un [Sprite] existant via un outil dans la "
+"barre d'outils d'éditeur. Sélectionnez le nœud [Sprite], puis choisissez "
+"[b]Sprite > Convertir en MeshInstance2D[/b] en haut de la fenêtre "
+"d'affichage 2D."
#: doc/classes/MeshInstance2D.xml
msgid "The [Mesh] that will be drawn by the [MeshInstance2D]."
@@ -45269,12 +45345,22 @@ msgid ""
"Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for "
"a comparison of normal map coordinates expected by popular engines."
msgstr ""
+"La carte de normales qui sera utilisée si vous utilisez le "
+"[CanvasItemMaterial] par défaut.\n"
+"[b]Note :[/b] Godot s'attend à ce que la carte normale utilise les "
+"coordonnées X+, Y+ et Z+. Voir [url=http://wiki.polycount.com/wiki/"
+"Normal_Map_Technical_Details#Common_Swizzle_Coordinates]cette page[/url] "
+"pour une comparaison des coordonnées des cartes de normales attendues par "
+"certains moteurs populaires."
#: doc/classes/MeshInstance2D.xml doc/classes/MultiMeshInstance2D.xml
msgid ""
"The [Texture] that will be used if using the default [CanvasItemMaterial]. "
"Can be accessed as [code]TEXTURE[/code] in CanvasItem shader."
msgstr ""
+"La [Texture] qui sera utilisée si vous utilisez le [CanvasItemMaterial] par "
+"défaut. Peut être accédée via [code]TEXTURE[/code] dans le shader du "
+"CanvasItem."
#: doc/classes/MeshInstance2D.xml doc/classes/MultiMeshInstance2D.xml
msgid "Emitted when the [member texture] is changed."
@@ -45290,6 +45376,10 @@ msgid ""
"and ID. Each item can also include collision and navigation shapes. This "
"resource is used in [GridMap]."
msgstr ""
+"Une bibliothèque de maillages. Contient une liste des ressources [Mesh], "
+"chacune avec un nom et un identifiant. Chaque article peut également inclure "
+"des formes de collision et de navigation. Cette ressource est utilisée dans "
+"[GridMap]."
#: doc/classes/MeshLibrary.xml
msgid "Clears the library."
@@ -45300,6 +45390,9 @@ msgid ""
"Creates a new item in the library with the given ID.\n"
"You can get an unused ID from [method get_last_unused_item_id]."
msgstr ""
+"Crée un nouvel article dans la bibliothèque avec l'identifiant donné.\n"
+"Vous pouvez obtenir un identifiant inutilisé via [method "
+"get_last_unused_item_id]."
#: doc/classes/MeshLibrary.xml
msgid "Returns the first item with the given name."
@@ -45315,7 +45408,7 @@ msgstr "Retourne le maillage de l'élément."
#: doc/classes/MeshLibrary.xml
msgid "Returns the transform applied to the item's mesh."
-msgstr ""
+msgstr "Retourne la transformation appliquée au maillage de l'objet."
#: doc/classes/MeshLibrary.xml
msgid "Returns the item's name."
@@ -45338,12 +45431,20 @@ msgid ""
"set_item_preview]. Returns an empty [Texture] if no preview was manually set "
"in a running project."
msgstr ""
+"Lors de l'exécution dans l'éditeur, retourne l'aperçu généré d'un élément "
+"(un rendu 3D dans la perspective isométrique). Lorsqu'il est utilisé dans un "
+"projet en cours d'exécution, retourne l'aperçu personnalisé de l'élément qui "
+"peut être défini en utilisant [method set_item_preview]. Retourne une "
+"[Texture] vide si aucun aperçu n'a été défini manuellement dans un projet en "
+"cours d'exécution."
#: doc/classes/MeshLibrary.xml
msgid ""
"Returns an item's collision shapes.\n"
"The array consists of each [Shape] followed by its [Transform]."
msgstr ""
+"Retourne les formes de collision.\n"
+"Le tableau contient chaque [Shape] aussitôt suivie de sa [Transform]."
#: doc/classes/MeshLibrary.xml
msgid "Gets an unused ID for a new item."
@@ -45359,7 +45460,7 @@ msgstr "Définit le maillage de l'élément."
#: doc/classes/MeshLibrary.xml
msgid "Sets the transform to apply to the item's mesh."
-msgstr ""
+msgstr "Régle la transformation à appliquer au maillage de l'objet."
#: doc/classes/MeshLibrary.xml
msgid ""
@@ -45367,6 +45468,9 @@ msgid ""
"This name is shown in the editor. It can also be used to look up the item "
"later using [method find_item_by_name]."
msgstr ""
+"Définit le nom de l'objet.\n"
+"Ce nom est indiqué dans l'éditeur. Il peut également être utilisé pour "
+"retrouver l'élément par la suite en utilisant [method find_item_by_name]."
#: doc/classes/MeshLibrary.xml
msgid "Sets the item's navigation mesh."
@@ -45379,7 +45483,7 @@ msgstr ""
#: doc/classes/MeshLibrary.xml
msgid "Sets a texture to use as the item's preview icon in the editor."
-msgstr ""
+msgstr "Définit la texture pour l'icône d'aperçu de l'élément dans l'éditeur."
#: doc/classes/MeshLibrary.xml
msgid ""
@@ -45388,6 +45492,10 @@ msgid ""
"that will be applied to it. For shapes that should not have a transform, use "
"[constant Transform.IDENTITY]."
msgstr ""
+"Définit les formes de collision d'un objet.\n"
+"Le tableau doit être composé d'objets [Shape], chacun aussitôt suivi d'une "
+"[Transform] qui lui sera appliqué. Pour les formes qui ne devraient pas "
+"avoir une transformation, utilisez [constant Transform.IDENTITY]."
#: doc/classes/MeshTexture.xml
msgid "Simple texture that uses a mesh to draw itself."
@@ -45398,6 +45506,9 @@ msgid ""
"Simple texture that uses a mesh to draw itself. It's limited because flags "
"can't be changed and region drawing is not supported."
msgstr ""
+"Une texture simple qui utilise un maillage pour se dessiner elle-même. C'est "
+"assez limité parce que les drapeaux ne peuvent pas être modifiés et que "
+"l'affichage uniquement de cette région n'est pas supporté."
#: doc/classes/MeshTexture.xml
msgid "Sets the base texture that the Mesh will use to draw."
@@ -45417,6 +45528,8 @@ msgstr ""
msgid ""
"Interpolates an abstract value and supplies it to a method called over time."
msgstr ""
+"Interpole une valeur abstraite et la fournit à une méthode appelée dans le "
+"temps."
#: doc/classes/MethodTweener.xml
msgid ""
@@ -45428,6 +45541,13 @@ msgid ""
"create [MethodTweener]. Any [MethodTweener] created manually will not "
"function correctly."
msgstr ""
+"[MethodTweener] est comme une combinaison de [CallbackTweener] et de "
+"[PropertyTweener]. Il appelle une méthode en fournissant une valeur "
+"interpolée comme paramètre. Voir [method SceneTreeTween.tween_method] pour "
+"plus d'informations d'utilisation.\n"
+"[b]Note :[/b] [method SceneTreeTween.tween_method] est le seul moyen correct "
+"de créer un [MethodTweener]. Tout [MethodTweener] créé manuellement ne "
+"fonctionnera pas correctement."
#: doc/classes/MethodTweener.xml
msgid ""
@@ -45442,6 +45562,9 @@ msgid ""
"Sets the type of used easing from [enum Tween.EaseType]. If not set, the "
"default easing is used from the [SceneTreeTween] that contains this Tweener."
msgstr ""
+"Définit le type de comportement utilisé pour [enum Tween.EaseType]. Si n'est "
+"pas défini, le comportement par défaut sera celui utilisé dans le "
+"[SceneTreeTween] qui contient ce Tweener."
#: doc/classes/MethodTweener.xml doc/classes/PropertyTweener.xml
msgid ""
@@ -45449,6 +45572,9 @@ msgid ""
"set, the default transition is used from the [SceneTreeTween] that contains "
"this Tweener."
msgstr ""
+"Définit le type de transition utilisée pour [enum Tween.TransitionType]. Si "
+"n'est pas définie, la transition par défaut sera celle utilisée dans le "
+"[SceneTreeTween] qui contient ce Tweener."
#: modules/mobile_vr/doc_classes/MobileVRInterface.xml
msgid "Generic mobile VR implementation."
@@ -45470,6 +45596,20 @@ msgid ""
" get_viewport().arvr = true\n"
"[/codeblock]"
msgstr ""
+"Il s'agit d'une implémentation VR mobile générique où vous devez fournir des "
+"détails sur le téléphone et le HMD utilisés. Il ne repose sur aucune "
+"bibliothèque existante. C'est l'interface la plus basique que nous avons. "
+"Pour un meilleur résultat, vous avez besoin d'un téléphone mobile avec un "
+"gyroscope et un accéléromètre intégrés.\n"
+"Notez que même s'il n'y a pas de suivi de la position, la caméra suppose que "
+"le casque est à une hauteur de 1.85 mètres. Vous pouvez changer cela en "
+"définissant [member eye_height].\n"
+"Vous pouvez initialiser cette interface ainsi :\n"
+"[codeblock]\n"
+"var interface = ARVRServer.find_interface(\"Native mobile\")\n"
+"if interface and interface.initialize():\n"
+" get_viewport().arvr = true\n"
+"[/codeblock]"
#: modules/mobile_vr/doc_classes/MobileVRInterface.xml
msgid ""
@@ -45537,12 +45677,25 @@ msgid ""
"Since instances may have any behavior, the AABB used for visibility must be "
"provided by the user."
msgstr ""
+"MultiMesh fournit un moyen d'instancier des maillages en bas niveau. "
+"L'affichage des milliers de nœuds [MeshInstance] peuvent être lent, puisque "
+"chaque objet est envoyé au GPU puis dessiné individuellement.\n"
+"MultiMesh est beaucoup plus rapide puisqu'il peut dessiner des milliers "
+"d'instances avec un seul appel, ce qui réduit la charge sur l'API.\n"
+"Un des inconvénients c'est que si les instances sont trop éloignées les unes "
+"des autres, les performances peuvent être réduites car chaque instance sera "
+"rendu individuellemen (elles sont indexés spatialement comme étant une "
+"seule, mais pour l'objet entier).\n"
+"Comme les instances peuvent avoir différents comportements, l'AABB utilisée "
+"pour la visibilité doit être fournie par l'utilisateur."
#: doc/classes/MultiMesh.xml
msgid ""
"Returns the visibility axis-aligned bounding box in local space. See also "
"[method VisualInstance.get_transformed_aabb]."
msgstr ""
+"Retourne la boîte englobante, alignée sur les axes, de visibilité dans "
+"l'espace local. Voir aussi [method VisualInstance.get_transformed_aabb]."
#: doc/classes/MultiMesh.xml
msgid "Gets a specific instance's color."
@@ -45570,6 +45723,12 @@ msgid ""
"used when initially placing an instance such as a bullet to prevent "
"graphical glitches."
msgstr ""
+"En utilisant [i]l'interpolation physique[/i], cette fonction vous permet "
+"d'empêcher l'interpolation sur une instance durant la trame physique "
+"actuelle.\n"
+"Cela vous permet de déplacer les instances instantanément, et devrait "
+"généralement être utilisé lors du placement initial d'une instance telle "
+"qu'une balle pour éviter les incohérences graphiques."
#: doc/classes/MultiMesh.xml
msgid ""
@@ -45619,12 +45778,15 @@ msgstr ""
"l'interpolation."
#: doc/classes/MultiMesh.xml
+#, fuzzy
msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
"Définit la couleur d'une instance spécifique en [i]multipliant[/i] les "
"couleurs des sommets existants du maillage.\n"
@@ -45747,12 +45909,19 @@ msgid ""
"8 bits can only represent values between 0 and 1, numbers outside that range "
"will be clamped."
msgstr ""
+"Compresse les données personnalisées en 8 bits pour les passer au shader. "
+"Cela utilise moins de mémoire et peut être plus rapide, mais réduit la "
+"précision et l'intervalle. Les flottans réduits à 8 bits ne peuvent "
+"représenter que des valeurs entre 0 et 1, les nombres en dehors de cet "
+"intervalle seront limités à ces valeurs."
#: doc/classes/MultiMesh.xml
msgid ""
"The [Color] passed into [method set_instance_custom_data] will use 4 floats. "
"Use this for highest precision."
msgstr ""
+"La [Color] passée dans [method set_instance_custom_data] utilisera 4 "
+"flottants. Utilisez ce mode pour utiliser la plus haute précision possible."
#: doc/classes/MultiMesh.xml
msgid ""
@@ -45765,6 +45934,8 @@ msgid ""
"Attempt to interpolate using Basis slerping (spherical linear interpolation) "
"where possible, otherwise fall back to lerping."
msgstr ""
+"Tente d'interpoler à l'aide de l'interpolation linéaire sphérique de Basis "
+"si possible, sinon utilise l'interpolation basique."
#: doc/classes/MultiMeshInstance.xml
msgid "Node that instances a [MultiMesh]."
@@ -45777,12 +45948,19 @@ msgid ""
"This is useful to optimize the rendering of a high amount of instances of a "
"given mesh (for example trees in a forest or grass strands)."
msgstr ""
+"[MultiMeshInstance] est un nœud spécialisé pour l'instance de "
+"[GeometryInstance] basé sur une ressource [MultiMesh].\n"
+"Ceci est utile pour optimiser le rendu d'une grande quantité d'instances "
+"avec un maillage donné (par exemple des arbres dans une forêt ou des brins "
+"d'herbe)."
#: doc/classes/MultiMeshInstance.xml
msgid ""
"The [MultiMesh] resource that will be used and shared among all instances of "
"the [MultiMeshInstance]."
msgstr ""
+"La ressource [MultiMesh] qui sera utilisée et partagée entre toutes les "
+"instances de la [MultiMeshInstance]."
#: doc/classes/MultiMeshInstance2D.xml
msgid "Node that instances a [MultiMesh] in 2D."
@@ -45825,12 +46003,16 @@ msgid ""
"Clears the current MultiplayerAPI network state (you shouldn't call this "
"unless you know what you are doing)."
msgstr ""
+"Efface l'état actuel du réseau MultiplayerAPI (vous ne devriez pas appeler "
+"ceci à moins que vous ne sachiez ce que vous faites)."
#: doc/classes/MultiplayerAPI.xml
msgid ""
"Returns the peer IDs of all connected peers of this MultiplayerAPI's [member "
"network_peer]."
msgstr ""
+"Retourne les identifiants de tous les pairs connectés à [member "
+"network_peer] de ce MultiplayerAPI."
#: doc/classes/MultiplayerAPI.xml
msgid ""
@@ -45844,6 +46026,9 @@ msgid ""
"Returns the sender's peer ID for the RPC currently being executed.\n"
"[b]Note:[/b] If not inside an RPC this method will return 0."
msgstr ""
+"Retourne l'identification par les pairs de l'expéditeur pour le RPC en cours "
+"d'exécution.\n"
+"[b]Note :[/b] Si n'est à l'intérieur d'un RPC, cette méthode retournera 0."
#: doc/classes/MultiplayerAPI.xml doc/classes/SceneTree.xml
msgid "Returns [code]true[/code] if there is a [member network_peer] set."
@@ -45855,6 +46040,8 @@ msgid ""
"Returns [code]true[/code] if this MultiplayerAPI's [member network_peer] is "
"in server mode (listening for connections)."
msgstr ""
+"Retourne [code]true[/code] si le [member network_peer] de ce MultiplayerAPI "
+"est en mode serveur (en attente de nouvelles connections)."
#: doc/classes/MultiplayerAPI.xml
msgid ""
@@ -45866,6 +46053,14 @@ msgid ""
"will be executed in the same context of this function (e.g. [code]_process[/"
"code], [code]physics[/code], [Thread])."
msgstr ""
+"La méthode utilisée pour vérifier régulièrement le MultijoueurAPI. Vous "
+"n'avez qu'à vous soucier de cela si vous utilisez la surcharge [member Node."
+"custom_multiplayer] ou que vous définissez [member SceneTree."
+"multiplayer_poll] à [code]false[/code]. Par défaut, [SceneTree] polluera son "
+"MultijoueurAPI pour vous.\n"
+"[b]Note :[/b] Cette méthode permet d'appeler les RPC et RSET, de sorte "
+"qu'ils seront exécutés dans le même contexte de cette fonction (par "
+"exemple : [code]_process[/code], [code]physics[/code], [Thread])."
#: doc/classes/MultiplayerAPI.xml
msgid ""
@@ -45873,6 +46068,10 @@ msgid ""
"[code]id[/code] (see [method NetworkedMultiplayerPeer.set_target_peer]). "
"Default ID is [code]0[/code], i.e. broadcast to all peers."
msgstr ""
+"Envoie le code brut [code]bytes[/code] à un pair spécifique identifié par "
+"[code]id[/code] (voir [method NetworkedMultiplayerPeer.set_target_peer]). "
+"L'identifiant par défaut est [code]0[/code], c'est-à-dire envoyé à tous les "
+"pairs."
#: doc/classes/MultiplayerAPI.xml
msgid ""
@@ -45983,6 +46182,9 @@ msgid ""
"method or property for all RPC calls, making it unavailable. Default for all "
"methods."
msgstr ""
+"Utilisé avec [method Node.rpc_config] ou [method Node.rset_config] pour "
+"désactiver une méthode ou une propriété pour tous les appels RPC, la rendant "
+"indisponible. C'est la valeur par défaut pour toutes les méthodes."
#: doc/classes/MultiplayerAPI.xml
msgid ""
@@ -46025,8 +46227,8 @@ msgid ""
"change locally. Analogous to the [code]remotesync[/code] keyword."
msgstr ""
"Se comporte comme [constant RPC_MODE_REMOTE] mais fait aussi l'appel ou le "
-"changement d'un propriété en local. Similaire au mot-clé "
-"[code]remotesync[/code]."
+"changement d'un propriété en local. Similaire au mot-clé [code]remotesync[/"
+"code]."
#: doc/classes/MultiplayerAPI.xml
msgid ""
@@ -46042,8 +46244,8 @@ msgid ""
"change locally. Analogous to the [code]mastersync[/code] keyword."
msgstr ""
"Se comporte comme [constant RPC_MODE_MASTER] mais fait aussi l'appel ou le "
-"changement d'une propriété en local. Similaire au mot-clé "
-"[code]mastersync[/code]."
+"changement d'une propriété en local. Similaire au mot-clé [code]mastersync[/"
+"code]."
#: doc/classes/MultiplayerAPI.xml
msgid ""
@@ -46051,8 +46253,8 @@ msgid ""
"change locally. Analogous to the [code]puppetsync[/code] keyword."
msgstr ""
"Se comporte comme [constant RPC_MODE_PUPPET] mais fait aussi l'appel ou le "
-"changement d'une propriété en local. Similaire au mot-clé "
-"[code]puppetsync[/code]."
+"changement d'une propriété en local. Similaire au mot-clé [code]puppetsync[/"
+"code]."
#: doc/classes/Mutex.xml
msgid "A synchronization mutex (mutual exclusion)."
@@ -46065,6 +46267,11 @@ msgid ""
"that only one thread can ever acquire the lock at a time. A mutex can be "
"used to protect a critical section; however, be careful to avoid deadlocks."
msgstr ""
+"Un mutex de synchronisation (une exclusion mutuelle). Ceci est utilisé pour "
+"synchroniser plusieurs [Thread], et est équivalent à un [Semaphore] binaire. "
+"Il garantit qu'un seul fil d'exécution peut imposer un blocage à la fois. Un "
+"mutex peut être utilisé pour protéger une section critique ; cependant, "
+"soyez prudent pour éviter le blocage total de l'exécution."
#: doc/classes/Mutex.xml
msgid ""
@@ -46072,6 +46279,10 @@ msgid ""
"[b]Note:[/b] This function returns without blocking if the thread already "
"has ownership of the mutex."
msgstr ""
+"Verrouille ce [Mutex], le bloque jusqu'à ce qu'il soit déverrouillé par le "
+"propriétaire actuel.\n"
+"[b]Note :[/b] Cette fonction retourne sans bloquer si ce fil d'exécution est "
+"déjà le propriétaire du mutex."
#: doc/classes/Mutex.xml
msgid ""
@@ -46092,6 +46303,11 @@ msgid ""
"times while already having ownership of the mutex, it must also call [method "
"unlock] the same number of times in order to unlock it correctly."
msgstr ""
+"Débloque ce [Mutex], le laissant à d'autres fils d'exécution.\n"
+"[b]Note :[/b] Si un fil d'exécution a appelé [method lock] ou [method "
+"try_lock] plusieurs fois en étant déjà propriétaire du mutex, il doit "
+"également appeler [method unlock] un nombre de fois identifique pour le "
+"déverrouiller correctement."
#: modules/gdnative/doc_classes/NativeScript.xml
msgid ""
@@ -46133,10 +46349,15 @@ msgid ""
"passed to the native constructor function. This will change with in a future "
"API extension."
msgstr ""
+"Construit un nouvel objet du type de base avec un script de ce type déjà "
+"attaché.\n"
+"[b]Note :[/b] Tout argument passé à cette fonction sera ignoré et ne sera "
+"pas transmis à la fonction native du constructeur. Cela va changer avec dans "
+"une future extension de l'API."
#: doc/classes/Navigation.xml
msgid "Mesh-based navigation and pathfinding node."
-msgstr ""
+msgstr "Noeuds de navigation à base de maillages et de cheminement."
#: doc/classes/Navigation.xml
msgid ""
@@ -46149,6 +46370,14 @@ msgid ""
"class also assists with aligning navigation agents with the meshes they are "
"navigating on."
msgstr ""
+"[i]Obsolète.[/i] Le nœud [Navigation] et la méthode [method get_simple_path] "
+"sont rendues obsolètes et seront retiré dans une prochaine version. Utilisez "
+"plutôt [method NavigationServer.map_get_path].\n"
+"Fournit la navigation et le cheminement dans une collection de "
+"[NavigationMesh]. Par défaut, ceux-ci seront automatiquement récupérés "
+"auprès des [NavigationMeshInstance] enfants. En plus du cheminement de base, "
+"cette classe aide également à aligner les agents de navigation sur les "
+"maillages sur lesquels ils naviguent."
#: doc/classes/Navigation.xml doc/classes/NavigationMesh.xml
#: doc/classes/NavigationServer.xml
@@ -46160,6 +46389,8 @@ msgid ""
"Returns the navigation point closest to the point given. Points are in local "
"coordinate space."
msgstr ""
+"Retourne le point de navigation le plus proche du point donné. Les points "
+"sont dans les coordonnées locales."
#: doc/classes/Navigation.xml
msgid ""
@@ -46167,6 +46398,9 @@ msgid ""
"given. Useful for rotating a navigation agent according to the navigation "
"mesh it moves on."
msgstr ""
+"Retourne la normale de la surface au point de navigation le plus proche du "
+"point donné. Utile pour la rotation d'un agent de navigation selon "
+"l'inclinaison du maillage de navigation sur lequel il se déplace."
#: doc/classes/Navigation.xml
msgid ""
@@ -46184,10 +46418,16 @@ msgid ""
"between segment and navigation meshes. If multiple intersection points are "
"found, the one closest to the segment start point is returned."
msgstr ""
+"Retourne le point de navigation le plus proche du segment de ligne donné. "
+"Quand [code]use_collision[/code] est activé, ne considère que les points "
+"d'intersection entre le segment et les maillages de navigation. Si plusieurs "
+"points d'intersection sont trouvés, celui le plus proche du point de départ "
+"du segment est retourné."
#: doc/classes/Navigation.xml
msgid "Returns the [RID] of the navigation map on the [NavigationServer]."
msgstr ""
+"Retourne le [RID] de la carte de navigation dans le [NavigationServer]."
#: doc/classes/Navigation.xml
msgid ""
@@ -46200,8 +46440,8 @@ msgid ""
"etc.) are considered in the path calculation, otherwise they are ignored."
msgstr ""
"[i]Obsolète.[/i] Le nœud [Navigation] la méthode [method get_simple_path] "
-"sont obsolètes se seront retiré dans une prochaine version. Utilisez plutôt ["
-"method NavigationServer.map_get_path].\n"
+"sont obsolètes se seront retiré dans une prochaine version. Utilisez plutôt "
+"[method NavigationServer.map_get_path].\n"
"Retourne le chemin entre deux points donnés. Les points sont des coordonées "
"locales. Si [code]optimize[/code] est [code]true[/code] (par défaut), les "
"propriétés de l'agent associées à chaque [NavigationMesh] (rayon, hauteur, "
@@ -46219,6 +46459,8 @@ msgstr ""
msgid ""
"This value is used to detect the near edges to connect compatible regions."
msgstr ""
+"Cette valeur est utilisée pour détecter les bords proches pour relier les "
+"régions compatibles."
#: doc/classes/Navigation.xml
msgid ""
@@ -46244,7 +46486,7 @@ msgstr ""
#: doc/classes/Navigation2D.xml
msgid "2D navigation and pathfinding node."
-msgstr ""
+msgstr "Nœuds de navigation et de cheminement en 2D."
#: doc/classes/Navigation2D.xml
msgid ""
@@ -46255,6 +46497,13 @@ msgid ""
"as a collection of [NavigationPolygon] resources. By default, these are "
"automatically collected from child [NavigationPolygonInstance] nodes."
msgstr ""
+"[i]Obsolète.[/i] Le nœud [Navigation2D] et la méthode [method "
+"get_simple_path] sont rendues obsolètes et seront retiré dans une prochaine "
+"version. Utilisez plutôt [method NavigationServer.map_get_path].\n"
+"Navigation2D fournit la navigation et le cheminement dans une zone en 2D, "
+"spécifiée comme une collection de ressources [NavigationPolygon]. Par "
+"défaut, elles sont automatiquement récupérées à partir de nœuds "
+"[NavigationPolygonInstance] enfants."
#: doc/classes/Navigation2D.xml doc/classes/Navigation2DServer.xml
#: doc/classes/NavigationPolygon.xml
@@ -46267,6 +46516,9 @@ msgid ""
"point closest to the point given. This is usually a "
"[NavigationPolygonInstance]."
msgstr ""
+"Retourne le propriétaire du [NavigationPolygon] qui contient le point de "
+"navigation le plus proche du point donné. C'est généralement une "
+"[NavigationPolygonInstance]."
#: doc/classes/Navigation2D.xml
msgid ""
@@ -46277,10 +46529,17 @@ msgid ""
"space. If [code]optimize[/code] is [code]true[/code] (the default), the path "
"is smoothed by merging path segments where possible."
msgstr ""
+"[i]Obsolète.[/i] Le nœud [Navigation2D] et la méthode [method "
+"get_simple_path] sont rendues obsolètes et seront retiré dans une prochaine "
+"version. Utilisez plutôt [method NavigationServer.map_get_path].\n"
+"Retourne le chemin entre deux points donnés. Les points sont dans les "
+"coordonnées locales. Si [code]optimize[/code] est [code]true[/code] (par "
+"défaut), le chemin est lissé en fusionnant les segments du chemin quand "
+"c'est possible."
#: doc/classes/Navigation2D.xml
msgid "The XY plane cell size to use for fields."
-msgstr ""
+msgstr "La taille des cellules sur le plan XY pour les champs."
#: doc/classes/Navigation2D.xml
msgid ""
@@ -46290,10 +46549,9 @@ msgstr ""
#: doc/classes/Navigation2DServer.xml
msgid "Server interface for low-level 2D navigation access."
-msgstr ""
+msgstr "L'Interface serveur pour un accès bas niveau de la navigation 2D."
#: doc/classes/Navigation2DServer.xml
-#, fuzzy
msgid ""
"Navigation2DServer is the server responsible for all 2D navigation. It "
"handles several objects, namely maps, regions and agents.\n"
@@ -46322,26 +46580,36 @@ msgid ""
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
msgstr ""
-"Le NavigationServer2D est le serveur responsable pour toutes les navigation "
-"en 2D. Il gère différents objets, nommés carte, régions et agents.\n"
-"Les cartes (\"maps\") sont faites de régions, qui sont faites de maillages "
-"de navigation. Ensemble, ces cartes définissent les aires navigables dans le "
-"monde 2D. Pour que deux régions soient connectées entre elles, elles doivent "
-"avoir une bordure en commun. Une bordure (\"edge\") est considérée connectée "
-"à une autre si elles ont deux sommets rapprochés de moins de la distance ["
-"member Navigation.edge_connection_margin].\n"
-"Pour utiliser le système d'évitement, vous devez utiliser des agents. Vous "
-"pouvez définir la vitesse cible d'un agent, puis le serveur émettra une "
+"Le NavigationServer2D est le serveur responsable de la navigation 2D. Il "
+"gère différents objets appelés cartes, régions et agents.\n"
+"Les cartes (\"maps\") sont constituées de régions qui sont faites d'un "
+"maillage de polygones de navigation. Ensemble, elles définissent les zones "
+"navigables du monde 2D.\n"
+"[b]Note :[/b] La plupart des changements effectués sur un NavigationServer "
+"ne prennent pas effet immédiatement mais après la frame de physique "
+"suivante. Cela inclut tous les changements faits aux cartes, régions ou "
+"agents par des nœuds liés à la navigation dans l'arborescence de la scène ou "
+"par des scripts.\n"
+"Pour que deux régions soient connectées entre elles, celles-ci doivent avoir "
+"une bordure en commun. Une bordure (\"edge\") est considérée connectée à une "
+"autre si ses deux sommets ont une distance inférieure à [member Navigation."
+"edge_connection_margin] des sommets respectifs de l'autre bordure.\n"
+"Vous pouvez assigner des couches de navigation aux régions avec [method "
+"Navigation2DServer.region_set_navigation_layers], qui pourra ensuite être "
+"utilisé en faisant une requête de chemin avec [method Navigation2DServer."
+"map_get_path]. Cela permet d'autoriser ou d'interdire certaines zones aux "
+"objets 2D.\n"
+"Pour utiliser le système d'évitement, vous pouvez utiliser des agents. Vous "
+"pouvez définir la vitesse cible d'un agent, le serveur émettra ensuite une "
"méthode de rappel avec la vitesse modifiée.\n"
"[b]Note :[/b] Le système d'évitement des collisions ignorent les régions. "
-"Utiliser la vitesse modifiée telle quelle peut déplacer un agent hors de la "
-"surface de navigable. C'est une limite du système d'évitement des "
-"collisions, et certaines situations plus complexes peuvent nécessiter "
-"l'utilisation du moteur physique.\n"
-"Le serveur garde en mémoire tous les appels et les exécutent durant la phase "
-"de synchronisation. Cela veut dire que vous pouvez demander n'importe quel "
-"changement sur l'ensemble des cartes, via n'importe quel fil d'exécution, "
-"sans soucis."
+"Utiliser la vitesse modifiée telle quelle peut faire sortir un agent d'une "
+"zone navigable. C'est une limite du système d'évitement des collisions et "
+"certaines situations plus complexes peuvent nécessiter l'utilisation du "
+"moteur physique.\n"
+"Le serveur garde en mémoire tous les appels et les exécute durant la phase "
+"de synchronisation. Ainsi, vous pouvez demander n'importe quel changement "
+"sur la carte, depuis n'importe quel fil d'exécution sans problème."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Creates the agent."
@@ -46358,6 +46626,7 @@ msgstr ""
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Returns [code]true[/code] if the map got changed the previous frame."
msgstr ""
+"Retourne [code]true[/code] si la carte a changé lors de la trame précédente."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid ""
@@ -46389,7 +46658,7 @@ msgstr ""
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Sets the maximum speed of the agent. Must be positive."
-msgstr ""
+msgstr "Définit la vitesse maximale de l'agent. Ça doit être positif."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid ""
@@ -46404,7 +46673,7 @@ msgstr ""
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Sets the position of the agent in world space."
-msgstr ""
+msgstr "Définit la position de l'agent dans l'espace global."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Sets the radius of the agent."
@@ -46429,7 +46698,7 @@ msgstr ""
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Sets the current velocity of the agent."
-msgstr ""
+msgstr "Définit la vitesse actuelle de l'agent."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Destroys the given RID."
@@ -46483,8 +46752,8 @@ msgstr ""
"Cette fonction peut être utilisée pour calculer immédiatement tous les "
"maillages de navigation et les connexions entre les régions de la carte de "
"navigation. Cela permet d'interroger un chemin de navigation pour une carte "
-"modifiée immédiatement et dans la même trame (plusieurs fois si nécessaire)."
-"\n"
+"modifiée immédiatement et dans la même trame (plusieurs fois si "
+"nécessaire).\n"
"En raison de restrictions techniques, la file de commandes actuelle de "
"NavigationServer sera exécutée aussitôt. Cela signifie que toutes les "
"commandes de mise à jour en attente pour cette trame de physique seront "
@@ -46518,6 +46787,8 @@ msgstr ""
#: doc/classes/Navigation2DServer.xml
msgid "Returns the map cell height. [b]Note:[/b] Currently not implemented."
msgstr ""
+"Retourne la hauteur de la cellule. [b]Note :[/b] N'est pas implémenté pour "
+"l'instant."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Returns the map cell size."
@@ -46567,7 +46838,7 @@ msgstr ""
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Returns [code]true[/code] if the map is active."
-msgstr ""
+msgstr "Retourne [code]true[/code] si la carte est active."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Sets the map active."
@@ -46578,10 +46849,14 @@ msgid ""
"Set the map cell height used to weld the navigation mesh polygons. [b]Note:[/"
"b] Currently not implemented."
msgstr ""
+"Définit la hauteur de la cellule de carte utilisée pour souder les polygones "
+"de maillage de navigation. [b]Note :[/b] N'est pas implémenté pour l'instant."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Set the map cell size used to weld the navigation mesh polygons."
msgstr ""
+"Définit la taille de la cellule de carte utilisée pour souder les polygones "
+"de maillage de navigation."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid ""
@@ -46609,8 +46884,9 @@ msgid ""
"an index between 0 and the return value of [method "
"region_get_connections_count]."
msgstr ""
-"Retourne le point de départ d'une porte de connexion. [code]connection[/code]"
-" est un indice entre 0 et la valeur de [method region_get_connections_count]."
+"Retourne le point de départ d'une porte de connexion. [code]connection[/"
+"code] est un indice entre 0 et la valeur de [method "
+"region_get_connections_count]."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid ""
@@ -46622,15 +46898,15 @@ msgstr ""
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Returns the [code]enter_cost[/code] of this [code]region[/code]."
-msgstr ""
+msgstr "Retourne le [code]enter_cost[/code] de cette [code]region[/code]."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid ""
"Returns the navigation map [RID] the requested [code]region[/code] is "
"currently assigned to."
msgstr ""
-"Retourne le [RID] de la carte de navigation à laquelle la [code]region[/code]"
-" spécifiée est actuellement assignée."
+"Retourne le [RID] de la carte de navigation à laquelle la [code]region[/"
+"code] spécifiée est actuellement assignée."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Returns the region's navigation layers."
@@ -46638,7 +46914,7 @@ msgstr "Retourne les calques de navigation de la région."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Returns the [code]travel_cost[/code] of this [code]region[/code]."
-msgstr ""
+msgstr "Retourne le [code]travel_cost[/code] de cette [code]region[/code]."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid ""
@@ -46673,7 +46949,7 @@ msgstr ""
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Sets the [code]enter_cost[/code] for this [code]region[/code]."
-msgstr ""
+msgstr "Définit le [code]enter_cost[/code] pour cette [code]region[/code]."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Sets the map for the region."
@@ -46698,7 +46974,7 @@ msgstr "Retourne la transformation globale de cette région."
#: doc/classes/Navigation2DServer.xml doc/classes/NavigationServer.xml
msgid "Sets the [code]travel_cost[/code] for this [code]region[/code]."
-msgstr ""
+msgstr "Définit le [code]travel_cost[/code] pour cette [code]region[/code]."
#: doc/classes/NavigationAgent.xml
msgid "3D agent used in navigation for collision avoidance."
@@ -46834,12 +47110,16 @@ msgid ""
"Returns the user-defined target location (set with [method "
"set_target_location])."
msgstr ""
+"Retourne l'emplacement de la cible défini par l'utilisateur (défini avec "
+"[method set_target_location])."
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Returns [code]true[/code] if the navigation path's final location has been "
"reached."
msgstr ""
+"Retourne [code]true[/code] si l'emplacement final du parcours de navigation "
+"a été atteint."
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
@@ -46856,6 +47136,11 @@ msgid ""
"possible to reach the target location. It should always be possible to reach "
"the final location though. See [method get_final_location]."
msgstr ""
+"Retourne [code]true[/code] si l'emplacement cible est atteint. L'emplacement "
+"cible est défini en utilisant [method set_target_location]. Il peut parfois "
+"ne pas être possible d'atteindre l'emplacement cible. Par contre, il devrait "
+"toujours être possible d'atteindre l'emplacement final. Voir [method "
+"get_final_location]."
#: doc/classes/NavigationAgent.xml
msgid ""
@@ -46937,7 +47222,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid "The maximum number of neighbors for the agent to consider."
-msgstr ""
+msgstr "Le nombre maximum de voisins à considérer par l'agent."
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid "The maximum speed that an agent can move."
@@ -46956,7 +47241,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid "The distance to search for other agents."
-msgstr ""
+msgstr "La distance pour chercher d'autres agents."
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
@@ -47036,7 +47321,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid "Notifies when the final location is reached."
-msgstr ""
+msgstr "Notifie quand l'emplacement final est atteint."
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
@@ -47055,9 +47340,10 @@ msgstr ""
"set_target_location], est atteinte."
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
+#, fuzzy
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
"Notifie quand la vitesse d'évitement de collision est calculée après un "
"appel à [method set_velocity]."
@@ -47167,6 +47453,8 @@ msgstr ""
#: doc/classes/NavigationMesh.xml
msgid "A mesh to approximate the walkable areas and obstacles."
msgstr ""
+"Un maillage pour l'approximation des zones où l'on peut marcher et des "
+"obstacles."
#: doc/classes/NavigationMesh.xml
msgid ""
@@ -47174,12 +47462,17 @@ msgid ""
"environment are traversable to aid agents in pathfinding through complicated "
"spaces."
msgstr ""
+"Un maillage de navigation est une collection de polygones qui définissent "
+"les zones d'un environnement qui peuvent être traversés pour aider les "
+"agents dans leur cheminement dans les espaces compliqués."
#: doc/classes/NavigationMesh.xml doc/classes/NavigationPolygon.xml
msgid ""
"Adds a polygon using the indices of the vertices you get when calling "
"[method get_vertices]."
msgstr ""
+"Ajoute un polygone en utilisant les indices des sommets que obtenus avec "
+"[method get_vertices]."
#: doc/classes/NavigationMesh.xml
msgid ""
@@ -47192,12 +47485,16 @@ msgid ""
"Initializes the navigation mesh by setting the vertices and indices "
"according to a [Mesh]."
msgstr ""
+"Initialise le maillage de navigation en définissant les sommets et les "
+"indices dans un [Mesh]."
#: doc/classes/NavigationMesh.xml
msgid ""
"Returns whether the specified [code]bit[/code] of the [member "
"geometry_collision_mask] is set."
msgstr ""
+"Retourne si le [code]bit[/code] spécifié de [member geometry_collision_mask] "
+"est défini."
#: doc/classes/NavigationMesh.xml doc/classes/NavigationPolygon.xml
msgid ""
@@ -47209,7 +47506,7 @@ msgstr ""
#: doc/classes/NavigationMesh.xml
msgid "Returns the number of polygons in the navigation mesh."
-msgstr ""
+msgstr "Retourne le nombre de polygones dans le maillage de navigation."
#: doc/classes/NavigationMesh.xml
msgid ""
@@ -47236,6 +47533,8 @@ msgid ""
"Sets the vertices that can be then indexed to create polygons with the "
"[method add_polygon] method."
msgstr ""
+"Définit les sommets qui peuvent ensuite être indexés pour créer des "
+"polygones avec la méthode [method add_polygon]."
#: doc/classes/NavigationMesh.xml
msgid ""
@@ -47244,6 +47543,10 @@ msgid ""
"[b]Note:[/b] While baking, this value will be rounded up to the nearest "
"multiple of [member cell_height]."
msgstr ""
+"La hauteur minimale entre le sol et le plafond qui permettra toujours que la "
+"surface au sol soit considérée comme pouvant être traversée.\n"
+"[b]Note :[/b] Pendant le pré-calcul, cette valeur sera arrondie au multiple "
+"le plus proche de [member cell_height]."
#: doc/classes/NavigationMesh.xml
msgid ""
@@ -47251,10 +47554,15 @@ msgid ""
"[b]Note:[/b] While baking, this value will be rounded down to the nearest "
"multiple of [member cell_height]."
msgstr ""
+"La hauteur minimale de haie qui est considérée comme toujours pouvant être "
+"traversée.\n"
+"[b]Note :[/b] Pendant le pré-calcul, cette valeur sera arrondie au multiple "
+"le plus proche de [member cell_height]."
#: doc/classes/NavigationMesh.xml
msgid "The maximum slope that is considered walkable, in degrees."
msgstr ""
+"La pente maximale qui est considérée comme pouvant être traversée, en degrés."
#: doc/classes/NavigationMesh.xml
msgid ""
@@ -47266,24 +47574,30 @@ msgstr ""
#: doc/classes/NavigationMesh.xml
msgid "The Y axis cell size to use for fields."
-msgstr ""
+msgstr "La taille de la cellule suivant l'axe Y pour les champs."
#: doc/classes/NavigationMesh.xml
msgid ""
"The sampling distance to use when generating the detail mesh, in cell unit."
msgstr ""
+"La distance d'échantillonnage à utiliser pour générer le maillage de détail, "
+"dans l'unité des cellules."
#: doc/classes/NavigationMesh.xml
msgid ""
"The maximum distance the detail mesh surface should deviate from "
"heightfield, in cell unit."
msgstr ""
+"La distance maximale de la surface de maillage de détail devrait s'écarter "
+"du champ de hauteur, dans l'unité des cellules."
#: doc/classes/NavigationMesh.xml
msgid ""
"The maximum distance a simplfied contour's border edges should deviate the "
"original raw contour."
msgstr ""
+"La distance maximale qu'un contour simplifié peut dévier du contour brut "
+"d'origine."
#: doc/classes/NavigationMesh.xml
msgid ""
@@ -47291,6 +47605,10 @@ msgid ""
"[b]Note:[/b] While baking, this value will be rounded up to the nearest "
"multiple of [member cell_size]."
msgstr ""
+"La longueur maximale autorisée pour les bords de contour le long de la "
+"bordure du maillage.\n"
+"[b]Note :[/b] Pendant le pré-calcul, cette valeur sera arrondie au multiple "
+"le plus proche de [member cell_height]."
#: doc/classes/NavigationMesh.xml
msgid ""
@@ -47301,6 +47619,7 @@ msgstr ""
#: doc/classes/NavigationMesh.xml
msgid "The position offset applied to the [member filter_baking_aabb] [AABB]."
msgstr ""
+"Le décalage de position appliqué au [AABB] de [member filter_baking_aabb]."
#: doc/classes/NavigationMesh.xml
msgid "If [code]true[/code], marks spans that are ledges as non-walkable."
@@ -47341,6 +47660,8 @@ msgid ""
"The source of the geometry used when baking. See [enum SourceGeometryMode] "
"for possible values."
msgstr ""
+"La source de la géométrie utilisée lors du pré-calcul. Voir [enum "
+"SourceGeometryMode] pour les valeurs possibles."
#: doc/classes/NavigationMesh.xml
msgid ""
@@ -47589,6 +47910,8 @@ msgid ""
"Removes all polygons and vertices from the provided [code]nav_mesh[/code] "
"resource."
msgstr ""
+"Enlève tous les polygones et les sommets de la ressource [code]nav_mesh[/"
+"code] fournie."
#: doc/classes/NavigationMeshInstance.xml
msgid "An instance of a [NavigationMesh]."
@@ -47664,10 +47987,10 @@ msgid ""
"identify the [NavigationMeshInstance] closest to a point on the merged "
"navigation map."
msgstr ""
-"Retourne le [RID] de cette région sur [NavigationServer]. Combiné avec ["
-"method NavigationServer.map_get_closest_point_owner], peut être utilisé pour "
-"identifier le [NavigationMeshInstance] le plus proche d'un point d'une carte "
-"de navigation fusionnée."
+"Retourne le [RID] de cette région sur [NavigationServer]. Combiné avec "
+"[method NavigationServer.map_get_closest_point_owner], peut être utilisé "
+"pour identifier le [NavigationMeshInstance] le plus proche d'un point d'une "
+"carte de navigation fusionnée."
#: doc/classes/NavigationMeshInstance.xml
msgid "Determines if the [NavigationMeshInstance] is enabled or disabled."
@@ -47707,6 +48030,8 @@ msgstr ""
#: doc/classes/NavigationMeshInstance.xml
msgid "Notifies when the navigation mesh bake operation is completed."
msgstr ""
+"Notifie quand l'opération de pré-calcul de maillage de navigation est "
+"terminée."
#: doc/classes/NavigationMeshInstance.xml
msgid "Notifies when the [NavigationMesh] has changed."
@@ -47844,8 +48169,8 @@ msgid ""
"$NavigationPolygonInstance.navpoly = polygon\n"
"[/codeblock]"
msgstr ""
-"Il y a deux façons de créer des polygones. Soit en utilisant la méthode ["
-"method add_outline], soit en utilisant la méthode [method add_polygon].\n"
+"Il y a deux façons de créer des polygones. Soit en utilisant la méthode "
+"[method add_outline], soit en utilisant la méthode [method add_polygon].\n"
"Avec [method add_outline] :\n"
"[codeblock]\n"
"var polygon = NavigationPolygon.new()\n"
@@ -47955,20 +48280,20 @@ msgid ""
"Removes an outline created in the editor or by script. You have to call "
"[method make_polygons_from_outlines] for the polygons to update."
msgstr ""
-"Enlève un aperçu créé dans l'éditeur ou par un script. Vous devez appeler ["
-"method make_polygons_from_outlines] pour mettre à jour les polygones."
+"Enlève un aperçu créé dans l'éditeur ou par un script. Vous devez appeler "
+"[method make_polygons_from_outlines] pour mettre à jour les polygones."
#: doc/classes/NavigationPolygon.xml
msgid ""
"Changes an outline created in the editor or by script. You have to call "
"[method make_polygons_from_outlines] for the polygons to update."
msgstr ""
-"Change un aperçu créé dans l'éditeur ou par un script. Vous devez appeler ["
-"method make_polygons_from_outlines] pour mettre à jour les polygones."
+"Change un aperçu créé dans l'éditeur ou par un script. Vous devez appeler "
+"[method make_polygons_from_outlines] pour mettre à jour les polygones."
#: doc/classes/NavigationPolygonInstance.xml
msgid "A region of the 2D navigation map."
-msgstr ""
+msgstr "Une région de la carte de navigation 2D."
#: doc/classes/NavigationPolygonInstance.xml
msgid ""
@@ -47997,8 +48322,8 @@ msgstr ""
"la carte de navigation du nœud de navigation.\n"
"Deux régions peuvent être reliées l'une à l'autre si elles partagent un bord "
"similaire. Vous pouvez définir la distance minimale entre deux sommets "
-"nécessaires pour connecter deux bords en utilisant [method Navigation2DServer"
-".map_set_edge_connection_margin]\n"
+"nécessaires pour connecter deux bords en utilisant [method "
+"Navigation2DServer.map_set_edge_connection_margin]\n"
"[b]Note :[/b] Embiquer deux régions ne suffit pas pour relier ces deux "
"régions. Elles doivent partager un bord similaire.\n"
"Le coût de cheminement de cette région vers une autre peut être contrôlé "
@@ -48015,10 +48340,10 @@ msgid ""
"identify the [NavigationPolygonInstance] closest to a point on the merged "
"navigation map."
msgstr ""
-"Retourne le [RID] de cette région sur le [Navigation2DServer]. Combiné avec ["
-"method Navigation2DServer.map_get_closest_point_propriétaire] peut permettre "
-"d'identifier le [NavigationPolygonInstance] le plus proche d'un point sur la "
-"carte de navigation fusionnée."
+"Retourne le [RID] de cette région sur le [Navigation2DServer]. Combiné avec "
+"[method Navigation2DServer.map_get_closest_point_propriétaire] peut "
+"permettre d'identifier le [NavigationPolygonInstance] le plus proche d'un "
+"point sur la carte de navigation fusionnée."
#: doc/classes/NavigationPolygonInstance.xml
msgid "Determines if the [NavigationPolygonInstance] is enabled or disabled."
@@ -48038,10 +48363,9 @@ msgstr "La ressource [NavigationPolygon] à utiliser."
#: doc/classes/NavigationServer.xml
msgid "Server interface for low-level 3D navigation access."
-msgstr ""
+msgstr "Interface serveur pour un accès de navigation 3D de bas niveau."
#: doc/classes/NavigationServer.xml
-#, fuzzy
msgid ""
"NavigationServer is the server responsible for all 3D navigation. It handles "
"several objects, namely maps, regions and agents.\n"
@@ -48089,12 +48413,14 @@ msgstr ""
#: doc/classes/NavigationServer.xml
msgid "Returns the map cell height."
-msgstr ""
+msgstr "Retourne la hauteur de la cellule de la carte."
#: doc/classes/NavigationServer.xml
msgid ""
"Returns the normal for the point returned by [method map_get_closest_point]."
msgstr ""
+"Retourne la normale pour le point retourné par [method "
+"map_get_closest_point]."
#: doc/classes/NavigationServer.xml
msgid ""
@@ -48118,6 +48444,8 @@ msgstr "Retourne la direction haut de la carte."
#: doc/classes/NavigationServer.xml
msgid "Set the map cell height used to weld the navigation mesh polygons."
msgstr ""
+"Définit la hauteur de la cellule de carte utilisée pour souder les polygones "
+"de maillage de navigation."
#: doc/classes/NavigationServer.xml
msgid "Sets the map up direction."
@@ -48157,6 +48485,8 @@ msgid ""
"A [NetworkedMultiplayerPeer] implementation that can be controlled from a "
"script."
msgstr ""
+"Une implémentation de [NetworkedMultiplayerPeer] qui peut être contrôlée à "
+"partir d'un script."
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
@@ -48165,6 +48495,11 @@ msgid ""
"Its purpose is to allow adding a new backend for the high-Level multiplayer "
"API without needing to use GDNative."
msgstr ""
+"Une implémentation de [NetworkedMultiplayerPeer] qui peut être utilisée "
+"comme un [member MultiplayerAPI.network_peer] et contrôlée à partir d'un "
+"script.\n"
+"Son but est de permettre d'ajouter un nouveau backend haut niveau pour l'API "
+"multijoueur sans avoir besoin d'utiliser GDNative."
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
@@ -48173,24 +48508,38 @@ msgid ""
"(originating from the [signal packet_generated] signal on the sending peer), "
"passing it to this method will deliver it locally."
msgstr ""
+"Envoie un paquet au [MultiplayerAPI] local.\n"
+"Lorsque votre script reçoit un paquet d'autres pairs sur le réseau (à partir "
+"du signal [signal packet_generated] sur le pair que l'envoie), il le "
+"transmet à cette méthode en local."
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
-"Retourne l'état actuel de la connexion. Voir [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid "Set the max packet size that this peer can handle."
-msgstr ""
+msgstr "Définit la taille maximale du paquet que ce pair peut traiter."
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
@@ -48199,6 +48548,10 @@ msgid ""
"the network (which should call [method deliver_packet] with the data when "
"it's received)."
msgstr ""
+"Émis lorsque le [MultiplayerAPI] local génère un paquet.\n"
+"Votre script devrait prendre ce paquet et l'envoyer au pair spécifié sur le "
+"réseau (qui devrait appeler [method deliver_packet] avec les données "
+"lorsqu'il reçoit)."
#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml
msgid ""
@@ -48282,9 +48635,9 @@ msgstr ""
"client a été créé, [constant ERR_ALREADY_IN_USE] si ce "
"NetworkedMultiplayerENet a déjà une connexion ouverte (dans quel cas vous "
"devez appeler [method close_connection] d'abord) ou [constant "
-"ERR_CANT_CREATE] si le client ne peut pas être créé. Si "
-"[code]client_port[/code] est spécifié, le client écoutera également le port "
-"donné ; ceci est utile pour certaines techniques NAT transversale."
+"ERR_CANT_CREATE] si le client ne peut pas être créé. Si [code]client_port[/"
+"code] est spécifié, le client écoutera également le port donné ; ceci est "
+"utile pour certaines techniques NAT transversale."
#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml
msgid ""
@@ -48340,8 +48693,8 @@ msgid ""
"Returns the channel of the next packet that will be retrieved via [method "
"PacketPeer.get_packet]."
msgstr ""
-"Retourne le canal du prochain paquet qui sera récupéré via [method PacketPeer"
-".get_packet]."
+"Retourne le canal du prochain paquet qui sera récupéré via [method "
+"PacketPeer.get_packet]."
#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml
#: modules/websocket/doc_classes/WebSocketServer.xml
@@ -49449,11 +49802,11 @@ msgid ""
"[method get_node] instead. To avoid using [method find_parent] too often, "
"consider caching the node reference into a variable."
msgstr ""
-"Trouve le premier parent de ce nœud dont le nom correspond à "
-"[code]mask[/code] suivant le même fonctionnement que pour [method String."
-"match] (c'est-à-dire sensible à la casse, que [code]\"*\"[/code] correspond "
-"à un zéro au un seul caractère, et que [code]\"?\"[/code] correspond à "
-"n'importe quel unique caractère sauf [code]\".\"[/code]).\n"
+"Trouve le premier parent de ce nœud dont le nom correspond à [code]mask[/"
+"code] suivant le même fonctionnement que pour [method String.match] (c'est-à-"
+"dire sensible à la casse, que [code]\"*\"[/code] correspond à un zéro au un "
+"seul caractère, et que [code]\"?\"[/code] correspond à n'importe quel unique "
+"caractère sauf [code]\".\"[/code]).\n"
"[b]Note :[/b] La correspondance ne se fait pas sur le chemin complet mais "
"juste les noms des nœuds.\n"
"[b]Note :[/b] Comme cette méthode liste tous les parents d'un nœud, c'est le "
@@ -49669,9 +50022,9 @@ msgid ""
"processing unless the frames per second is changed via [member Engine."
"iterations_per_second]."
msgstr ""
-"Retourne le temps écoulé (en secondes) depuis la dernière trame physique ("
-"voir [method _physics_process]). C'est toujours une valeur constante dans le "
-"traitement de la physique à moins que les trames par seconde ne soient "
+"Retourne le temps écoulé (en secondes) depuis la dernière trame physique "
+"(voir [method _physics_process]). C'est toujours une valeur constante dans "
+"le traitement de la physique à moins que les trames par seconde ne soient "
"changés via [member Engine.iterations_per_second]."
#: doc/classes/Node.xml
@@ -49746,6 +50099,8 @@ msgid ""
"Returns [code]true[/code] if the given node occurs later in the scene "
"hierarchy than the current node."
msgstr ""
+"Retourne [code]true[/code] si le nœud donné apparait plus tard dans la "
+"hiérarchie de la scène que le nœud actuel."
#: doc/classes/Node.xml
msgid ""
@@ -49790,8 +50145,8 @@ msgid ""
"See [member SceneTree.physics_interpolation] and [member ProjectSettings."
"physics/common/physics_interpolation]."
msgstr ""
-"Retourne [code]true[/code] si l'interpolation physique est activée (voir ["
-"member physics_interpolation_mode]) [b]et[/b] activée dans [SceneTree].\n"
+"Retourne [code]true[/code] si l'interpolation physique est activée (voir "
+"[member physics_interpolation_mode]) [b]et[/b] activée dans [SceneTree].\n"
"Il s'agit d'une version pratique de [method is_physics_interpolated] qui "
"vérifie également si l'interpolation physique est activée globalement.\n"
"Voir [member SceneTree.physics_interpolation] et [member ProjectSettings."
@@ -50127,13 +50482,13 @@ msgid ""
"By default, methods are not exposed to networking (and RPCs). See also "
"[method rset] and [method rset_config] for properties."
msgstr ""
-"Change le mode RPC pour la [code]method[/code] donné pour le "
-"[code]mode[/code] spécifié. Voir [enum MultiplayerAPI.RPCMode]. Une "
-"alternative est d'annoter les méthodes et les propriétés avec les mots-clés "
-"correspondants ([code]remote[/code], [code]master[/code], [code]puppet[/code]"
-", [code]remotesync[/code], [code]mastersync[/code], [code]puppetsync[/code])"
-". Par défaut, les méthodes ne sont pas exposées au réseaut (et aux RPC). "
-"Voir aussi [method rset] et [method rset_config] pour les propriétés."
+"Change le mode RPC pour la [code]method[/code] donné pour le [code]mode[/"
+"code] spécifié. Voir [enum MultiplayerAPI.RPCMode]. Une alternative est "
+"d'annoter les méthodes et les propriétés avec les mots-clés correspondants "
+"([code]remote[/code], [code]master[/code], [code]puppet[/code], "
+"[code]remotesync[/code], [code]mastersync[/code], [code]puppetsync[/code]). "
+"Par défaut, les méthodes ne sont pas exposées au réseaut (et aux RPC). Voir "
+"aussi [method rset] et [method rset_config] pour les propriétés."
#: doc/classes/Node.xml
msgid ""
@@ -50187,22 +50542,26 @@ msgstr ""
"Change le mode RPC pour la [code]property[/code] donnée au [code]mode[/code] "
"spécifié. Voir [enum MultiplayerAPI.RPCMode]. Une alternative est "
"l'annotation des méthodes et des propriétés avec les mots-clés "
-"correspondants ([code]remote[/code], [code]master[/code], [code]puppet[/code]"
-", [code]remotesync[/code], [code]mastersync[/code], [code]puppetsync[/code])"
-". Par défaut, les propriétés ne sont pas exposées au réseau (et au RPC). "
-"Voir aussi [method rpc] et [method rpc_config] pour les méthodes."
+"correspondants ([code]remote[/code], [code]master[/code], [code]puppet[/"
+"code], [code]remotesync[/code], [code]mastersync[/code], [code]puppetsync[/"
+"code]). Par défaut, les propriétés ne sont pas exposées au réseau (et au "
+"RPC). Voir aussi [method rpc] et [method rpc_config] pour les méthodes."
#: doc/classes/Node.xml
msgid ""
"Remotely changes the property's value on a specific peer identified by "
"[code]peer_id[/code] (see [method NetworkedMultiplayerPeer.set_target_peer])."
msgstr ""
+"Modifie à distance de la valeur de la propriété indiquée par [code]peer_id[/"
+"code] (voir [method NetworkedMultiplayerPeer.set_target_peer])."
#: doc/classes/Node.xml
msgid ""
"Remotely changes the property's value on other peers (and locally) using an "
"unreliable protocol."
msgstr ""
+"Modifie à distance la valeur de propriété enregistrée sur d'autres pairs (et "
+"localement) en utilisant un protocole non fiable."
#: doc/classes/Node.xml
msgid ""
@@ -50210,10 +50569,13 @@ msgid ""
"[code]peer_id[/code] using an unreliable protocol (see [method "
"NetworkedMultiplayerPeer.set_target_peer])."
msgstr ""
+"Modifie à distance de la valeur de la propriété suivante sur un pair "
+"spécifique identifié par [code]peer_id[/code] en utilisant un protocole non "
+"fiable (voir [method NetworkedMultiplayerPeer.set_target_peer])."
#: doc/classes/Node.xml
msgid "Sets the folded state of the node in the Scene dock."
-msgstr ""
+msgstr "Définit l'état réduit du nœud dans le dock de Scène."
#: doc/classes/Node.xml
msgid ""
@@ -50224,6 +50586,12 @@ msgid ""
"defaults to peer ID 1 (the server). If [code]recursive[/code], the given "
"peer is recursively set as the master for all children of this node."
msgstr ""
+"Définit le nœud maître du réseau au pair avec l'identifiant de pair donné. "
+"Le maître du réseau est le pair qui a autorité sur le nœud sur le réseau. "
+"Utile avec les mots-clés [code]master[/code] et [code]puppet[/code]. "
+"Inhérité du nœud parent par défaut, qui a par défaut l'identifiant 1 (le "
+"serveur). Si [code]recursive[/code], le pair donné est récursivement défini "
+"comme le maître pour tous les enfants de ce nœud."
#: doc/classes/Node.xml
msgid ""
@@ -50235,6 +50603,13 @@ msgid ""
"if [method _physics_process] is overridden. Any calls to this before [method "
"_ready] will be ignored."
msgstr ""
+"Active ou désactive le traitement physique (c'est-à-dire les trames fixes). "
+"Lorsqu'un nœud est en cours de traitement, il recevra la notification "
+"[constant NOTIFICATION_PHYSICS_PROCESS] à un intervalle fixe (généralement "
+"60 FPS, voir [member Engine.iterations_per_second] pour le changer), et le "
+"callback [method physique_process] sera appelé s'il existe. Est activé "
+"automatiquement si [method physique_process] est surchargé. Tout appel à "
+"cela avant [method _ready] sera ignoré."
#: doc/classes/Node.xml
msgid ""
@@ -50293,11 +50668,16 @@ msgid ""
"_unhandled_key_input] is overridden. Any calls to this before [method "
"_ready] will be ignored."
msgstr ""
+"Permet un traitement des touches d'entrée non traitées. Activé "
+"automatiquement si [method unhandled_key_input] est surchargé. Tout appel à "
+"cela avant [method _ready] sera ignoré."
#: doc/classes/Node.xml
msgid ""
"Sets whether this is an instance load placeholder. See [InstancePlaceholder]."
msgstr ""
+"Définit s'il s'agit d'un chargeur fictif d'instance. Voir "
+"[InstancePlaceholder]."
#: doc/classes/Node.xml
msgid ""
@@ -50305,12 +50685,17 @@ msgid ""
"Use [method _get_configuration_warning] to setup the warning message to "
"display."
msgstr ""
+"Met à jour l'avertissement affiché pour ce nœud dans le dock de Scène.\n"
+"Utilisez [method get_configuration_warning] pour configurer le message "
+"d'avertissement à afficher."
#: doc/classes/Node.xml
msgid ""
"The override to the default [MultiplayerAPI]. Set to [code]null[/code] to "
"use the default [SceneTree] one."
msgstr ""
+"La surcharge de la valeur par défaut du [MultiplayerAPI]. Définissez-le à "
+"[code]null[/code] pour utiliser la valeur par défaut de [SceneTree]."
#: doc/classes/Node.xml
msgid ""
@@ -50319,12 +50704,19 @@ msgid ""
"[code]res://levels/1.tscn[/code]). Otherwise, [member filename] is set to an "
"empty string."
msgstr ""
+"Si une scène est instanciée à partir d'un fichier, son nœud le plus haut "
+"contient le chemin de fichier absolu à partir duquel elle a été chargée "
+"depuis [member filename] (par exemple [code]res://levels/1.tscn[/code]). "
+"Sinon, [member filename] sera une chaîne vide."
#: doc/classes/Node.xml
msgid ""
"The [MultiplayerAPI] instance associated with this node. Either the [member "
"custom_multiplayer], or the default SceneTree one (if inside tree)."
msgstr ""
+"L'instance [MultiplayerAPI] associée à ce nœud. Soit le [member "
+"custom_multiplayer], ou la SceneTree par défaut (si l'intérieur de "
+"l'arborescence)."
#: doc/classes/Node.xml
msgid ""
@@ -50376,6 +50768,11 @@ msgid ""
"process priority value is [i]lower[/i] will have their processing callbacks "
"executed first."
msgstr ""
+"La priorité du nœud dans l'ordre d'exécution des appels de traitement "
+"activés (c'est-à-dire [constant NOTIFICATION_PROCESS], [constant "
+"NOTIFICATION_PHYSICS_PROCESS] et leurs homologues internes). Les nœuds dont "
+"la valeur de priorité d'exécution est [i]plus basse[/i] auront leurs appels "
+"de traitement exécutés en premier."
#: doc/classes/Node.xml
msgid ""
@@ -50393,6 +50790,10 @@ msgid ""
"This signal is emitted [i]after[/i] the child node's own [constant "
"NOTIFICATION_ENTER_TREE] and [signal tree_entered]."
msgstr ""
+"Émis lorsqu'un nœud enfant entre dans l'arborescence, soit parce qu'il est "
+"entré seul ou parce que ce nœud est entré avec lui.\n"
+"Ce signal est émis [i]après[/i] [constant NOTIFICATION_ENTER_TREE] et "
+"[signal tree_entered] de cet enfant."
#: doc/classes/Node.xml
msgid ""
@@ -50403,6 +50804,12 @@ msgid ""
"tree and valid. This signal is emitted [i]after[/i] the child node's own "
"[signal tree_exiting] and [constant NOTIFICATION_EXIT_TREE]."
msgstr ""
+"Émis lorsqu'un nœud d'enfant var quitter l'arborescence, soit parce qu'il "
+"est enlevé ou libéré directement, soit parce que ce nœud sort de "
+"l'arborescence.\n"
+"Lorsque ce signal est reçu, le [code]node[/code] enfant est toujours dans "
+"l'arborescence et valide. Ce signal est émis [i]après[/i] [signal "
+"tree_exiting] et [constant NOTIFICATION_EXIT_TREE] de cet enfant."
#: doc/classes/Node.xml
msgid "Emitted when the node is ready."
@@ -50418,6 +50825,9 @@ msgid ""
"This signal is emitted [i]after[/i] the related [constant "
"NOTIFICATION_ENTER_TREE] notification."
msgstr ""
+"Émis quand le nœud entre dans l'arborescence.\n"
+"Ce signal est émis [i]après[/i] la notification correspondante [constant "
+"NOTIFICATION_ENTER_TREE]."
#: doc/classes/Node.xml
msgid "Emitted after the node exits the tree and is no longer active."
@@ -50430,12 +50840,19 @@ msgid ""
"This signal is emitted [i]before[/i] the related [constant "
"NOTIFICATION_EXIT_TREE] notification."
msgstr ""
+"Émis quand le nœud est encore actif mais sur le point de quitter "
+"l'arborescence. C'est le bon endroit pour la de-initialisation (ou d'appel "
+"au \"destructeur\").\n"
+"Ce signal est émis [i]avant[/i] la notification correspondante [constant "
+"NOTIFICATION_EXIT_TREE]."
#: doc/classes/Node.xml
msgid ""
"Notification received when the node enters a [SceneTree].\n"
"This notification is emitted [i]before[/i] the related [signal tree_entered]."
msgstr ""
+"La notification reçue lorsque le nœud entre dans un [SceneTree].\n"
+"Cette notification est émise [i]avant[/i] la [signal tree_entered]."
#: doc/classes/Node.xml
msgid ""
@@ -50467,24 +50884,34 @@ msgid ""
"Notification received every frame when the physics process flag is set (see "
"[method set_physics_process])."
msgstr ""
+"La notification reçue chaque trame lorsque le drapeau du processus de "
+"physique est défini (voir [method set_physics_process])."
#: doc/classes/Node.xml
msgid ""
"Notification received every frame when the process flag is set (see [method "
"set_process])."
msgstr ""
+"La notification a reçu chaque trame lorsque le drapeau de processus est "
+"défini (voir [method set_process])."
#: doc/classes/Node.xml
msgid ""
"Notification received when a node is set as a child of another node.\n"
"[b]Note:[/b] This doesn't mean that a node entered the [SceneTree]."
msgstr ""
+"La notification reçue lorsqu'un nœud est défini comme un enfant d'un autre "
+"nœud.\n"
+"[b]Note :[/b] Cela ne signifie pas que le nœud est nécessairement entré dans "
+"le [SceneTree]."
#: doc/classes/Node.xml
msgid ""
"Notification received when a node is unparented (parent removed it from the "
"list of children)."
msgstr ""
+"La notification reçue lorsqu'un nœud n'a plus de parent (le parent l'a "
+"retiré de sa liste d'enfants)."
#: doc/classes/Node.xml
msgid "Notification received when the node is instanced."
@@ -50504,6 +50931,9 @@ msgid ""
"Notification received when a drag operation ends.\n"
"Use [method Viewport.gui_is_drag_successful] to check if the drag succeeded."
msgstr ""
+"La notification reçue à la fin d'une opération de déposé-glissé.\n"
+"Utilisez [method Viewport.gui_is_drag_successful] pour vérifier si "
+"l'opération a réussi."
#: doc/classes/Node.xml
msgid "Notification received when the node's [NodePath] changed."
@@ -50514,12 +50944,16 @@ msgid ""
"Notification received every frame when the internal process flag is set (see "
"[method set_process_internal])."
msgstr ""
+"La notification a reçu chaque trame lorsque le drapeau interne du processus "
+"est défini (voir [method set_process_internal])."
#: doc/classes/Node.xml
msgid ""
"Notification received every frame when the internal physics process flag is "
"set (see [method set_physics_process_internal])."
msgstr ""
+"La notification a reçu chaque trame lorsque le drapeau du processus physique "
+"interne est défini (voir [method set_physics_process_internal])."
#: doc/classes/Node.xml
msgid ""
@@ -50527,12 +50961,18 @@ msgid ""
"NOTIFICATION_READY] is received. Unlike the latter, it's sent every time the "
"node enters tree, instead of only once."
msgstr ""
+"La notification reçue lorsque le nœud est prêt, juste avant que [constant "
+"NOTIFICATION_READY] soit reçue. Contrairement à cette dernière, cette "
+"notification est envoyée chaque fois que le nœud entre dans l'arborescence, "
+"et pas juste une seule fois."
#: doc/classes/Node.xml
msgid ""
"Notification received when [method reset_physics_interpolation] is called on "
"the node or parent nodes."
msgstr ""
+"La notification reçue lorsque [method reset_physics_interpolation] est "
+"appelée sur le nœud ou les nœuds parents."
#: doc/classes/Node.xml
msgid ""
@@ -50546,25 +50986,32 @@ msgstr "Arrête la mise à jour quand le [SceneTree] est en pause."
#: doc/classes/Node.xml
msgid "Continue to process regardless of the [SceneTree] pause state."
-msgstr ""
+msgstr "Continuer le processus peu importe l'état de pause de la [SceneTree]."
#: doc/classes/Node.xml
msgid ""
"Inherits physics interpolation mode from the node's parent. For the root "
"node, it is equivalent to [constant PHYSICS_INTERPOLATION_MODE_ON]. Default."
msgstr ""
+"Inhérit le mode d'interpolation physique de la part du nœud parent. Pour le "
+"nœud racine, c'est équivalent à [constant PHYSICS_INTERPOLATION_MODE_ON]. "
+"C'est la valeur par défaut."
#: doc/classes/Node.xml
msgid ""
"Turn off physics interpolation in this node and children set to [constant "
"PHYSICS_INTERPOLATION_MODE_INHERIT]."
msgstr ""
+"Désactive l'interpolation physique de ce nœud et ses enfants qui sont "
+"définis à [constant PHYSICS_INTERPOLATION_MODE_INHERIT]."
#: doc/classes/Node.xml
msgid ""
"Turn on physics interpolation in this node and children set to [constant "
"PHYSICS_INTERPOLATION_MODE_INHERIT]."
msgstr ""
+"Active l'interpolation physique de ce nœud et ses enfants qui sont définis à "
+"[constant PHYSICS_INTERPOLATION_MODE_INHERIT]."
#: doc/classes/Node.xml
msgid "Duplicate the node's signals."
@@ -50584,12 +51031,17 @@ msgid ""
"An instance stays linked to the original so when the original changes, the "
"instance changes too."
msgstr ""
+"Duplique via instanciation.\n"
+"Une instance reste liée à l'original de sorte que lorsque l'original change, "
+"l'instance change aussi."
#: doc/classes/Node2D.xml
msgid ""
"A 2D game object, inherited by all 2D-related nodes. Has a position, "
"rotation, scale, and Z index."
msgstr ""
+"Un objet de jeu 2D, hérité de tous les nœuds 2D. A une position, une "
+"rotation, une mise à l'échelle et un indice de profondeur Z."
#: doc/classes/Node2D.xml
msgid ""
@@ -50598,6 +51050,11 @@ msgid ""
"Node2D as a parent node to move, scale and rotate children in a 2D project. "
"Also gives control of the node's render order."
msgstr ""
+"Un objet 2D de jeu, avec une transformation (position, rotation et mise à "
+"l'échelle). Tous les nœuds 2D, y compris les objets de physique et les "
+"sprites, héritent de Node2D. Utilisez Node2D comme nœud parent pour "
+"déplacer, mettre à l'échelle et pivoter des enfants dans un projet 2D. donne "
+"également le contrôle sur l'ordre de rendu des nœuds."
#: doc/classes/Node2D.xml doc/classes/Vector2.xml
msgid "All 2D Demos"
@@ -50614,6 +51071,9 @@ msgid ""
"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
"node2d_get_angle_to.png]Illustration of the returned angle.[/url]"
msgstr ""
+"Retourne l'angle entre le nœud et le [code]point[/code] en radians.\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"nœud2d_get_angle_to.png]Illustration de l'angle retourné.[/url]"
#: doc/classes/Node2D.xml
msgid "Returns the [Transform2D] relative to this node's parent."
@@ -50630,6 +51090,8 @@ msgid ""
"Rotates the node so it points towards the [code]point[/code], which is "
"expected to use global coordinates."
msgstr ""
+"Pivote le nœud pour qu'il pointe vers [code]point[/code], en supposant ça se "
+"passe avec des coordonnées globales."
#: doc/classes/Node2D.xml
msgid ""
@@ -50637,6 +51099,9 @@ msgid ""
"_process]'s [code]delta[/code]. If [code]scaled[/code] is [code]false[/"
"code], normalizes the movement."
msgstr ""
+"Applique un déplacement locale selon l'axe X du nœud suivant [code]delta[/"
+"code] depuis [method Node._process]. Si [code]scaled[/code] est [code]false[/"
+"code], le déplacement sera normalisé."
#: doc/classes/Node2D.xml
msgid ""
@@ -50644,12 +51109,16 @@ msgid ""
"_process]'s [code]delta[/code]. If [code]scaled[/code] is [code]false[/"
"code], normalizes the movement."
msgstr ""
+"Applique un déplacement locale selon l'axe Y du nœud suivant [code]delta[/"
+"code] depuis [method Node._process]. Si [code]scaled[/code] est [code]false[/"
+"code], le déplacement sera normalisé."
#: doc/classes/Node2D.xml
msgid ""
"Applies a rotation to the node, in radians, starting from its current "
"rotation."
msgstr ""
+"Applique une rotation au nœud, en radians, à partir de son actuelle rotation."
#: doc/classes/Node2D.xml
msgid ""
@@ -50698,7 +51167,7 @@ msgstr "[Transform2D] global."
#: doc/classes/Node2D.xml
msgid "Position, relative to the node's parent."
-msgstr ""
+msgstr "La position, relative au nœud parent."
#: doc/classes/Node2D.xml
msgid "Rotation in radians, relative to the node's parent."
@@ -50728,6 +51197,9 @@ msgid ""
"index. If this node's Z index is 2 and its parent's effective Z index is 3, "
"then this node's effective Z index will be 2 + 3 = 5."
msgstr ""
+"Si [code]true[/code], l'indice n'est pas défini comme étant relatif à "
+"l'indice Z. Si l'indice Z du nœud est de 2 et que l'indice Z actuel du "
+"parent est de 3, l'indice Z de ce nœud sera au final 2 + 3 = 5."
#: doc/classes/Node2D.xml
msgid ""
@@ -50736,6 +51208,10 @@ msgid ""
"VisualServer.CANVAS_ITEM_Z_MIN] and [constant VisualServer."
"CANVAS_ITEM_Z_MAX] (inclusive)."
msgstr ""
+"Indice Z. Control l'ordre dans lequel les nœuds sont affichés. Un nœud avec "
+"un indice Z supérieur s'affichera devant les autres. Doit être définit entre "
+"[constant VisualServer.CANVAS_ITEM_Z_MIN] et [constant VisualServer."
+"CANVAS_ITEM_Z_MAX] (inclus)."
#: doc/classes/NodePath.xml
msgid "Pre-parsed scene tree path."
@@ -50885,6 +51361,19 @@ msgid ""
"print(property_path) # :position:x\n"
"[/codeblock]"
msgstr ""
+"Retourne un chemin de nœud avec un caractère deux points ([code]:[/code]) "
+"ajouté, le transformant en un chemin de propriété pur sans nom de nœud (par "
+"défaut de résolution du nœud actuel).\n"
+"[codeblock]\n"
+"# Ce sera interprété comme un chemin de nœud vers la propriété \"x\" dans le "
+"nœud \"position\".\n"
+"d'appel au nœud_path = NodePath).\n"
+"var node_path = NodePath(\"position:x\")\n"
+"# Cela sera interprété comme un chemin de nœud vers le composant \"x\" de la "
+"propriété \"position\" du nœud actuel.\n"
+"var property_path = node_path.get_as_property_path()\n"
+"print(property_path) # :position:x\n"
+"[/codeblock]"
#: doc/classes/NodePath.xml
msgid ""
@@ -50929,6 +51418,9 @@ msgid ""
"get_subname_count]) are not included.\n"
"For example, [code]\"Path2D/PathFollow2D/Sprite\"[/code] has 3 names."
msgstr ""
+"Retourne le nombre de noms de nœuds qui composent le chemin. Les sous-noms "
+"(voir [method get_subname_count]) ne sont pas inclus.\n"
+"Par exemple, [code]\"Path2D/PathFollow2D/Sprite\"[/code] a 3 noms."
#: doc/classes/NodePath.xml
msgid ""
@@ -50956,6 +51448,11 @@ msgid ""
"For example, [code]\"Path2D/PathFollow2D/Sprite:texture:load_path\"[/code] "
"has 2 subnames."
msgstr ""
+"Retourne le nombre de noms de ressources ou de propriétés (\"sous-noms\") "
+"dans le chemin. Chaque sous-nom est répertorié après deux points ([code]:[/"
+"code]) dans le chemin du nœud.\n"
+"Par exemple, [code]\"Path2D/PathFollow2D/Sprite:texture:load_path\"[/code] a "
+"2 sous-noms."
#: doc/classes/NodePath.xml
msgid ""
@@ -50965,6 +51462,11 @@ msgid ""
"root\"[/code]) or autoloads (e.g. [code]\"/global\"[/code] if a \"global\" "
"autoload was registered)."
msgstr ""
+"Retourne [code]true[/code] si le chemin du nœud est absolu (et non relatif), "
+"ce qui signifie qu'il commence par une barre oblique ([code]/[/code]). Les "
+"chemins de nœuds absolus peuvent être utilisés pour accéder au nœud racine "
+"([code]\"/root\"[/code]) ou pour les chargements automatiques (par exemple "
+"[code]\"/global\"[/code] si \"global\" est chargé automatiquement)."
#: doc/classes/NodePath.xml
msgid "Returns [code]true[/code] if the node path is empty."
@@ -51010,12 +51512,17 @@ msgid ""
"If [code]true[/code], the resulting texture contains a normal map created "
"from the original noise interpreted as a bump map."
msgstr ""
+"Si [code]true[/code], la texture résultante contient une carte normale créée "
+"à partir du bruit original interprété comme une carte de bosse."
#: modules/opensimplex/doc_classes/NoiseTexture.xml
msgid ""
"Strength of the bump maps used in this texture. A higher value will make the "
"bump maps appear larger while a lower value will make them appear softer."
msgstr ""
+"L'intensité des cartes de bosse utilisées dans cette texture. Une valeur "
+"plus élevée rendra les cartes de bosse plus grandes alors qu'une valeur plus "
+"basse les rendra plus douces."
#: modules/opensimplex/doc_classes/NoiseTexture.xml
msgid "Height of the generated texture."
@@ -51031,6 +51538,9 @@ msgid ""
"of the generated noise. This value is ignored if [member seamless] is "
"enabled."
msgstr ""
+"Un décalage utilisé pour préciser la coordonnées de l'espace de bruit du "
+"coin supérieur gauche du bruit généré. Cette valeur est ignorée si [member "
+"seamless] est activé."
#: modules/opensimplex/doc_classes/NoiseTexture.xml
msgid ""
@@ -51139,6 +51649,10 @@ msgid ""
"Returns the given property. Returns [code]null[/code] if the [code]property[/"
"code] does not exist."
msgstr ""
+"Une méthode virtuelle qui peut être surchargée pour personnaliser la valeur "
+"de retour de [method get].\n"
+"Retourne la propriété donnée. Retourne [code]null[/code] si [code]property[/"
+"code] n'existe pas."
#: doc/classes/Object.xml
msgid ""
@@ -51161,6 +51675,12 @@ msgid ""
"class. If any other means (such as [method PackedScene.instance]) is used, "
"then initialization will fail."
msgstr ""
+"Appelé lorsque l'objet est initialisé en mémoire. Peut prendre des "
+"paramètres, qui sont passés dans lors de la construction.\n"
+"[b]Note :[/b] Si [method _init] est défini avec les paramètres requis, alors "
+"la construction explicite (via le code) est le seul moyen valable de créer "
+"un objet de cette classe. Si d'autres moyens (comme [method PackedScene."
+"instance]) sont utilisés, l'initialisation échouera."
#: doc/classes/Object.xml
msgid ""
@@ -51170,6 +51690,11 @@ msgid ""
"NOTIFICATION_PREDELETE], but subclasses such as [Node] define a lot more "
"notifications which are also received by this method."
msgstr ""
+"Appelé chaque fois que l'objet reçoit une notification, qui est identifiée "
+"par [code]what[/code] qui est une constante. Le [Object] de base a deux "
+"constantes [constant NOTIFICATION_POSTINITIALIZE] et [constant "
+"NOTIFICATION_PREDELETE], mais les sous-classes comme [Node] définissent "
+"beaucoup plus de notifications qui sont également reçues par cette méthode."
#: doc/classes/Object.xml
msgid ""
@@ -51178,6 +51703,10 @@ msgid ""
"Sets a property. Returns [code]true[/code] if the [code]property[/code] "
"exists."
msgstr ""
+"La méthode virtuelle qui peut être surchargée pour personnaliser la valeur "
+"de retour de [method set].\n"
+"Définit une propriété. Retourne [code]true[/code] si la [code]property[/"
+"code] existe."
#: doc/classes/Object.xml
msgid ""
@@ -51187,6 +51716,12 @@ msgid ""
"Returns a [String] representing the object. If not overridden, defaults to "
"[code]\"[ClassName:RID]\"[/code]."
msgstr ""
+"Une méthode virtuelle qui peut être remplacée pour personnaliser la valeur "
+"de retour de [method to_string], et donc la représentation de l'objet s'il "
+"est converti en chaîne de caractère, par exemple avec [code]print(obj)[/"
+"code].\n"
+"Retourne une [String] représentant l'objet. Si ce n'est pas le cas, le "
+"format [code]\"[ClassName:RID]\"[/code] se retourné par défaut."
#: doc/classes/Object.xml
msgid ""
@@ -51269,6 +51804,8 @@ msgid ""
"Returns [code]true[/code] if the object can translate strings. See [method "
"set_message_translation] and [method tr]."
msgstr ""
+"Retourne [code]true[/code] si l'objet peut traduire des chaînes de "
+"caractères. Voir [method set_message_translation] et [method tr]."
#: doc/classes/Object.xml
msgid ""
@@ -51345,6 +51882,11 @@ msgid ""
"print an error. Use [method is_connected] to ensure that the connection "
"exists."
msgstr ""
+"Déconnecte le [code]signal[/code] d'une [code]method[/code] pour la cible "
+"[code]target[/code] donnée.\n"
+"Si vous essayez de déconnecter une connexion qui n'existe pas, la méthode "
+"affichera une erreur. Utiliser [method is_connected] pour s'assurer que la "
+"connexion existe."
#: doc/classes/Object.xml
msgid ""
@@ -51357,6 +51899,15 @@ msgid ""
"emit_signal(\"game_over\")\n"
"[/codeblock]"
msgstr ""
+"Émet le [code]signal[/code] donné. Le signal doit exister, de sorte qu'il "
+"doit être un signal intégré de cette classe ou une de ses classes parentes, "
+"ou un signal défini par l'utilisateur. Cette méthode prend en charge un "
+"nombre variable d'arguments, de sorte que les paramètres sont passés comme "
+"une liste séparée par des virgules. Exemple :\n"
+"[codeblock]\n"
+"emit_signal(\"hit\", weapon_type, damage)\n"
+"emit_signal(\"game_over\")\n"
+"[/codeblock]"
#: doc/classes/Object.xml
msgid ""
@@ -51387,6 +51938,11 @@ msgid ""
"declarations into account. If the object has a [code]class_name[/code] "
"defined, the base class name will be returned instead."
msgstr ""
+"Retourne la classe de l'objet en tant que [String]. Voir aussi [method "
+"is_class].\n"
+"[b]Note :[/b] [method get_class] ignore les déclarations [code]class_name[/"
+"code]. Si l'objet a un [code]class_name[/code] défini, le nom de classe de "
+"base sera retourné à la place."
#: doc/classes/Object.xml
msgid ""
@@ -51398,6 +51954,13 @@ msgid ""
"- [code]method_name[/code] is the name of the method to which the signal is "
"connected."
msgstr ""
+"Retourne un [Array] de dictionnaires avec des informations sur les signaux "
+"qui sont connectés à l'objet.\n"
+"Chaque [Dictionary] contient trois entrées en String :\n"
+"- [code]source[/code] est une référence à l'émetteur de signal.\n"
+"- [code]signal_name[/code] est le nom du signal connecté.\n"
+"- [code]method_name[/code] est le nom de la méthode à laquelle le signal est "
+"connecté."
#: doc/classes/Object.xml
msgid ""
@@ -51417,6 +51980,10 @@ msgid ""
"This ID can be saved in [EncodedObjectAsID], and can be used to retrieve the "
"object instance with [method @GDScript.instance_from_id]."
msgstr ""
+"Retourne l'identifiant de l'instance unique de l'objet.\n"
+"Cet identifiant peut être enregistré dans [EncodedObjectAsID] et peut être "
+"utilisé pour récupérer l'objet de l'instance avec [method @GDScript."
+"instance_from_id]."
#: doc/classes/Object.xml
msgid ""
@@ -51424,6 +51991,10 @@ msgid ""
"Throws error if the entry does not exist, unless [code]default[/code] is not "
"[code]null[/code] (in which case the default value will be returned)."
msgstr ""
+"Retourne l'entrée de métadonnées de l'objet [code]name[/code] spécifié.\n"
+"Affiche une erreur si l'entrée n'existe pas, sauf si [code]default[/code] "
+"n'est pas [code]null[/code] (dans quel cas la valeur par défaut sera "
+"retournée)."
#: doc/classes/Object.xml
msgid "Returns the object's metadata as a [PoolStringArray]."
@@ -51442,6 +52013,13 @@ msgid ""
"[code]hint_string: String[/code], and [code]usage: int[/code] (see [enum "
"PropertyUsageFlags])."
msgstr ""
+"Retourne la liste de propriétés de l'objet dans un [Array] de "
+"dictionnaires.\n"
+"Chaque propriété [Dictionary] contient au moins [code]name: String[/code] et "
+"[code]type: int[/code] (voir [enum Variant.Type]). En option, il peut "
+"également inclure [code]hint: int[/code] (voir [enum PropertyHint]), "
+"[code]hint_string: String[/code], et [code]usage: int[/code] (voir [enum "
+"PropertyUsageFlags])."
#: doc/classes/Object.xml
msgid ""
@@ -51485,6 +52063,9 @@ msgid ""
"exists. Only signals added using [method add_user_signal] are taken into "
"account."
msgstr ""
+"Retourne [code]true[/code] si le [code]signal[/code] défini par "
+"l'utilisateur existe. Seuls les signaux ajoutés à [method add_user_signal] "
+"sont pris en compte."
#: doc/classes/Object.xml
msgid "Returns [code]true[/code] if signal emission blocking is enabled."
@@ -51498,6 +52079,11 @@ msgid ""
"declarations into account. If the object has a [code]class_name[/code] "
"defined, [method is_class] will return [code]false[/code] for that name."
msgstr ""
+"Retourne [code]true[/code] si l'objet hérite de la [code]class[/code] "
+"donnée. Voir aussi [method get_class].\n"
+"[b]Note :[/b] [method is_class] ne prend pas en compte les déclarations "
+"[code]class_name[/code]. Si l'objet a un [code]class_name[/code] défini, "
+"[method is_class] retournera [code]false[/code] pour ce nom."
#: doc/classes/Object.xml
msgid ""
@@ -51579,12 +52165,23 @@ msgid ""
"print(position) # (42, -10)\n"
"[/codeblock]"
msgstr ""
+"Assigne une nouvelle valeur à la propriété identifiée par le [NodePath]. Le "
+"chemin nœud devrait être relatif à l'objet courant et peut utiliser le "
+"caractère des deux points ([code]:[/code]) pour accéder aux propriétés "
+"imbriquées. Par exemple :\n"
+"[codeblock]\n"
+"set_indexed(\"position\", Vector2(42, 0))\n"
+"set_indexed(\"position:y\", -10)\n"
+"print(position) # (42, -10)\n"
+"[/codeblock]"
#: doc/classes/Object.xml
msgid ""
"Defines whether the object can translate strings (with calls to [method "
"tr]). Enabled by default."
msgstr ""
+"Définit si l'objet peut traduire des chaînes (avec des appels à [method "
+"tr]). Activé par défaut."
#: doc/classes/Object.xml
msgid ""
@@ -51604,6 +52201,11 @@ msgid ""
"freed and its variables and state will be lost. The new script's [method "
"_init] method will be called."
msgstr ""
+"Attribue un script à l'objet. Chaque objet peut avoir un seul script qui lui "
+"est assigné, qui sont utilisés pour étendre ses fonctionnalités.\n"
+"Si l'objet avait déjà un script, l'instance de script précédente sera "
+"libérée, ses variables et son état seront perdus. La méthode [method _init] "
+"du nouveau script sera appelée."
#: doc/classes/Object.xml
msgid ""
@@ -51612,6 +52214,10 @@ msgid ""
"Override the method [method _to_string] to customize the [String] "
"representation."
msgstr ""
+"Retourne une [String] représentant l'objet. Si ce n'est pas le cas, au "
+"format par défaut [code]\"[ClassName:RID]\"[/code].\n"
+"Surcharger la méthode [method to_string] pour personnaliser la "
+"représentation en [String] affichée."
#: doc/classes/Object.xml
msgid ""
@@ -51621,6 +52227,11 @@ msgid ""
"otherwise it returns the [code]message[/code] unchanged. See [method "
"set_message_translation]."
msgstr ""
+"Traduit un message en utilisant le catalogue de translations définit dans "
+"les réglages du projet.\n"
+"Ne fonctionne que si la traduction de message est activée (par défaut), "
+"sinon elle retourne le [code]message[/code] inchangé. Voir [method "
+"set_message_translation]."
#: doc/classes/Object.xml
msgid "Emitted whenever the object's script is changed."
@@ -51662,6 +52273,9 @@ msgid ""
"connected several times to the same target, and will only be fully "
"disconnected once no references are left."
msgstr ""
+"Connectez un signal avec un compteur de référence. Cela signifie qu'un "
+"signal donné peut être connecté plusieurs fois à la même cible, et ne sera "
+"complètement déconnecté qu'une fois déconnecté de toutes les références."
#: doc/classes/Occluder.xml
msgid "Allows [OccluderShape]s to be used for occlusion culling."
@@ -51700,6 +52314,8 @@ msgid ""
"Editor facility that helps you draw a 2D polygon used as resource for "
"[LightOccluder2D]."
msgstr ""
+"Aide de l'édition pour dessiner un polygone 2D utilisé comme ressource pour "
+"un [LightOccluder2D]."
#: doc/classes/OccluderPolygon2D.xml
msgid ""
@@ -51707,6 +52323,10 @@ msgid ""
"occludes the light coming from any direction. An opened OccluderPolygon2D "
"occludes the light only at its outline's direction."
msgstr ""
+"Si [code]true[/code], ferme (boucle) le polygone. Un OccluderPolygon2D fermé "
+"bloque la lumière provenant de n'importe quelle direction. Un "
+"OccluderPolygon2D ouvert ne bloque que la lumière qui vient en direction de "
+"son alignement."
#: doc/classes/OccluderPolygon2D.xml
msgid "The culling mode to use."
@@ -51718,6 +52338,9 @@ msgid ""
"[b]Note:[/b] The returned value is a copy of the underlying array, rather "
"than a reference."
msgstr ""
+"Un tableau de [Vector2] avec l'indice pour les positions des sommets.\n"
+"[b]Note :[/b] La valeur retournée est une copie du tableau sous-jacent, et "
+"non pas une référence."
#: doc/classes/OccluderPolygon2D.xml
msgid "Culling is disabled. See [member cull_mode]."
@@ -51743,6 +52366,8 @@ msgstr ""
#: doc/classes/OccluderShape.xml
msgid "[Occluder]s can use any primitive shape derived from [OccluderShape]."
msgstr ""
+"Les [Occluder] peuvent utiliser toute forme primitive dérivée de "
+"[OccluderShape]."
#: doc/classes/OccluderShapePolygon.xml
msgid "Polygon occlusion primitive for use with the [Occluder] node."
@@ -51765,7 +52390,6 @@ msgid ""
msgstr ""
#: doc/classes/OccluderShapePolygon.xml
-#, fuzzy
msgid "Sets an individual hole point position."
msgstr "Définit la position d'un trou simple."
@@ -51775,17 +52399,19 @@ msgstr "Définit la position d'un seul point d'un polygone."
#: doc/classes/OccluderShapePolygon.xml
msgid "Allows changing the hole geometry from code."
-msgstr ""
+msgstr "Permet de changer la géométrie du trou depuis le code."
#: doc/classes/OccluderShapePolygon.xml
msgid "Allows changing the polygon geometry from code."
-msgstr ""
+msgstr "Permet de changer la géométrie de polygone depuis le code."
#: doc/classes/OccluderShapePolygon.xml
msgid ""
"Specifies whether the occluder should operate from both sides. If "
"[code]false[/code], the occluder will operate one way only."
msgstr ""
+"Précise si l'occulteur devrait fonctionner des deux côtés. Si [code]false[/"
+"code], l'occulteur ne fonctionnera que dans un sens."
#: doc/classes/OccluderShapeSphere.xml
msgid "Spherical occlusion primitive for use with the [Occluder] node."
@@ -51815,6 +52441,9 @@ msgid ""
"each sphere is stored in the [code]normal[/code], and the radius is stored "
"in the [code]d[/code] value of the plane."
msgstr ""
+"Les données de la sphère peuvent être obtenues dans un de tableau de "
+"[Plane]. La position de chaque sphère est enregistrée dans [code]normal[/"
+"code], et le rayon dans la valeur [code]d[/code] du plan."
#: doc/classes/OmniLight.xml
msgid "Omnidirectional light, such as a light bulb or a candle."
@@ -51867,6 +52496,8 @@ msgid ""
"Shadows are rendered to a dual-paraboloid texture. Faster than [constant "
"SHADOW_CUBE], but lower-quality."
msgstr ""
+"Les ombres sont rendues dans une texture dual-paraboloïde. Plus rapide que "
+"[constant SHADOW_CUBE], mais de qualité inférieure."
#: doc/classes/OmniLight.xml
msgid ""
@@ -51874,6 +52505,9 @@ msgid ""
"SHADOW_DUAL_PARABOLOID], but higher-quality. Only supported on GPUs that "
"feature support for depth cubemaps."
msgstr ""
+"Les ombres sont rendues à un CubeMap. Plus lent que [constant "
+"SHADOW_DUAL_PARABOLOID], mais de qualité supérieure. Seulement pris en "
+"charge sur les GPU qui disposent du support pour les CubeMap de profondeur."
#: doc/classes/OmniLight.xml
msgid "Use more detail vertically when computing the shadow."
@@ -51908,6 +52542,25 @@ msgid ""
"print(noise.get_noise_4d(0.5, 1.9, 4.7, 0.0))\n"
"[/codeblock]"
msgstr ""
+"Cette ressource vous permet de configurer et d'échantillonner un espace de "
+"bruit fractal. Voici un court exemple d'utilisation qui configure un "
+"OpenSimplexNoise et obtient des échantillons à différentes positions et "
+"dimensions :\n"
+"[codeblock]\n"
+"var noise = OpenSimplexNoise.new()\n"
+"\n"
+"# Configuration\n"
+"noise.seed = randi()\n"
+"noise.octaves = 4\n"
+"noise.period = 20.0\n"
+"noise.persistence = 0.8\n"
+"\n"
+"# Échantionnage\n"
+"print(\"Valeurs :\")\n"
+"print(noise.get_noise_2d(1.0, 1.0))\n"
+"print(noise.get_noise_3d(0.5, 3.0, 15.0))\n"
+"print(noise.get_noise_4d(0.5, 1.9, 4.7, 0.0))\n"
+"[/codeblock]"
#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml
msgid ""
@@ -51917,6 +52570,10 @@ msgid ""
"value is used as the coordinates of the top-left corner of the generated "
"noise."
msgstr ""
+"Générer une image de bruit au format [constant Image.FORMAT_L8] à la taille "
+"[code]width[/code] sur [code]height[/code], basé sur les paramètres de bruit "
+"actuels. Si [code]noise_offset[/code] est spécifié, le décalage sera utilisé "
+"comme coordonnées du coin supérieur gauche du bruit généré."
#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml
msgid ""
@@ -51924,6 +52581,10 @@ msgid ""
"[b]Note:[/b] This method actually returns the 2D noise value [code][-1,1][/"
"code] with fixed y-coordinate value 0.0."
msgstr ""
+"Retourne le code de valeur de bruit 1D dans l'intervalle [code][-1,1][/code] "
+"pour la coordonnée x donnée.\n"
+"[b]Note :[/b] Cette méthode retourne en fait la valeur de bruit 2D dans "
+"l'intervalle [code][-1,1][/code] mais avec la coordonnée y fixée à 0.0."
#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml
msgid "Returns the 2D noise value [code][-1,1][/code] at the given position."
@@ -51967,6 +52628,8 @@ msgid ""
"Period of the base octave. A lower period results in a higher-frequency "
"noise (more value changes across the same distance)."
msgstr ""
+"La période de l'octave de base. Une période inférieure entraîne un bruit de "
+"fréquence plus élevée (plus de valeur change sur la même distance)."
#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml
msgid ""
@@ -51974,12 +52637,18 @@ msgid ""
"value of 1 means all the octaves have the same contribution, a value of 0.5 "
"means each octave contributes half as much as the previous one."
msgstr ""
+"Le facteur de contribution des différentes octaves. Une valeur "
+"[code]persistence[/code] de 1 signifie que toutes les octaves ont la même "
+"contribution, une valeur de 0,5 signifie chaque octave contribue à la moitié "
+"de la précédente."
#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml
msgid ""
"Seed used to generate random values, different seeds will generate different "
"noise maps."
msgstr ""
+"La graine utilisée pour générer des valeurs aléatoires, différentes graines "
+"généreront différentes cartes de bruit."
#: doc/classes/OptionButton.xml
msgid "Button control that provides selectable options when pressed."
@@ -51993,6 +52662,11 @@ msgid ""
"See also [BaseButton] which contains common properties and methods "
"associated with this node."
msgstr ""
+"OptionButton est un type de bouton qui fournit une liste d'éléments "
+"lorsqu'il est pressé. L'élément sélectionné devient l'élément \"actuel\" et "
+"s'affiche comme le texte du bouton.\n"
+"Voir aussi [BaseButton] qui contient des propriétés et des méthodes communes "
+"associées à ce nœud."
#: doc/classes/OptionButton.xml
msgid ""
@@ -52000,6 +52674,10 @@ msgid ""
"(optionally) [code]id[/code]. If no [code]id[/code] is passed, the item "
"index will be used as the item's ID. New items are appended at the end."
msgstr ""
+"Ajoute un élément, avec une icône [code]texture[/code], un texte "
+"[code]label[/code] et (en option) un [code]id[/code]. Si aucun [code]id[/"
+"code] n'est spécifié, l'index de l'élément sera utilisé comme identifiant de "
+"l'élément. Les nouveaux éléments sont placés à la fin de la liste."
#: doc/classes/OptionButton.xml
msgid ""
@@ -52007,12 +52685,19 @@ msgid ""
"If no [code]id[/code] is passed, the item index will be used as the item's "
"ID. New items are appended at the end."
msgstr ""
+"Ajoute un élément, avec le texte [code]label[/code] et (en option) un "
+"[code]id[/code]. Si aucun [code]id[/code] n'est spécifié, l'index de "
+"l'élément sera utilisé comme identifiant de l'élément. Les nouveaux éléments "
+"sont placés à la fin de la liste."
#: doc/classes/OptionButton.xml
msgid ""
"Adds a separator to the list of items. Separators help to group items. "
"Separator also takes up an index and is appended at the end."
msgstr ""
+"Ajoute un séparateur à la liste des articles. Les séparateurs aident à "
+"regrouper les éléments. Le séparateur prend également un index et est ajouté "
+"à la fin."
#: doc/classes/OptionButton.xml
msgid "Clears all the items in the [OptionButton]."
@@ -52065,6 +52750,8 @@ msgid ""
"Gets the metadata of the selected item. Metadata for items can be set using "
"[method set_item_metadata]."
msgstr ""
+"Retourne les métadonnées de l'élément sélectionné. Les métadonnées peuvent "
+"être définies en utilisant [method set_item_metadata]."
#: doc/classes/OptionButton.xml
msgid ""
@@ -52083,6 +52770,10 @@ msgid ""
"if the item is disabled.\n"
"Passing [code]-1[/code] as the index deselects any currently selected item."
msgstr ""
+"Sélectionne un élément par son index et en fait l'élément actuel. Cela "
+"fonctionnera même si l'élément est désactivé.\n"
+"Passer [code]-1[/code] en index désélectionne tout élément actuellement "
+"sélectionné."
#: doc/classes/OptionButton.xml
msgid ""
@@ -52091,6 +52782,11 @@ msgid ""
"by the user. If the current selected item is set as disabled, it will remain "
"selected."
msgstr ""
+"Définit si l'élément à l'index [code]idx[/code] est désactivé.\n"
+"Les éléments désactivés sont dessinés différemment dans la liste déroulante "
+"et ne peuvent pas être sélectionnés par l'utilisateur. Si l'élément "
+"sélectionné actuel est définit comme désactivé, il restera tout de même "
+"sélectionné."
#: doc/classes/OptionButton.xml
msgid "Sets the icon of the item at index [code]idx[/code]."
@@ -52105,6 +52801,9 @@ msgid ""
"Sets the metadata of an item. Metadata may be of any type and can be used to "
"store extra information about an item, such as an external string ID."
msgstr ""
+"Définit les métadonnées d'un élément. Les métadonnées peuvent être de "
+"n'importe quel type et peuvent être utilisées pour stocker des informations "
+"supplémentaires sur un élément, comme un identifiant de chaîne externe."
#: doc/classes/OptionButton.xml doc/classes/PopupMenu.xml
msgid "Sets the text of the item at index [code]idx[/code]."
@@ -52119,6 +52818,8 @@ msgid ""
"The index of the currently selected item, or [code]-1[/code] if no item is "
"selected."
msgstr ""
+"L'index de l'élément actuellement sélectionné, ou [code]-1[/code] si aucun "
+"élément n'est sélectionné."
#: doc/classes/OptionButton.xml
msgid ""
@@ -52126,12 +52827,17 @@ msgid ""
"[code]ui_down[/code] actions. The index of the item selected is passed as "
"argument."
msgstr ""
+"Émis lorsque l'utilisateur navigue vers un élément utilisant les actions "
+"[code]ui_up[/code] ou [code]ui_down[/code]. L'index de l'élément sélectionné "
+"est passé comme argument."
#: doc/classes/OptionButton.xml
msgid ""
"Emitted when the current item has been changed by the user. The index of the "
"item selected is passed as argument."
msgstr ""
+"Émis lorsque l'élément actuel a été modifié par l'utilisateur. L'index de "
+"l'élément sélectionné est passé en argument."
#: doc/classes/OptionButton.xml
msgid "Default text [Color] of the [OptionButton]."
@@ -52147,6 +52853,9 @@ msgid ""
"normal text color of the button. Disabled, hovered, and pressed states take "
"precedence over this color."
msgstr ""
+"La [Color] du texte utilisée quand le [OptionButton] a le focus. Ne remplace "
+"que la couleur normale du texte du bouton. Les états désactivés, survolés et "
+"pressés sont prioritaires sur cette couleur."
#: doc/classes/OptionButton.xml
msgid "Text [Color] used when the [OptionButton] is being hovered."
@@ -52184,6 +52893,9 @@ msgid ""
"current [StyleBox], so using [StyleBoxEmpty] will just disable the focus "
"visual effect."
msgstr ""
+"Le [StyleBox] utilisé lorsque [OptionButton] a le focus. Elle est affichée "
+"sur la [StyleBox] actuelle, dont utiliser [StyleBoxEmpty] va tout simplement "
+"désactiver l'effet visuel de focus."
#: doc/classes/OptionButton.xml
msgid "[StyleBox] used when the [OptionButton] is being hovered."
@@ -52219,6 +52931,8 @@ msgid ""
"Displays a modal dialog box using the host OS' facilities. Execution is "
"blocked until the dialog is closed."
msgstr ""
+"Affiche une boîte de dialogue modal en utilisant le système d'exploitation "
+"hôte. L'exécution est bloquée jusqu'à ce que le dialogue soit fermé."
#: doc/classes/OS.xml
msgid "Returns [code]true[/code] if the host OS allows drawing."
@@ -52236,13 +52950,15 @@ msgstr ""
#: doc/classes/OS.xml
msgid "Centers the window on the screen if in windowed mode."
-msgstr ""
+msgstr "Centre la fenêtre à l'écran si en mode fenêtre."
#: doc/classes/OS.xml
msgid ""
"Shuts down system MIDI driver.\n"
"[b]Note:[/b] This method is implemented on Linux, macOS and Windows."
msgstr ""
+"Ferme le système de pilote MIDI.\n"
+"[b]Note :[/b] Cette méthode est implémenté sur Linux, macOS et Windows."
#: doc/classes/OS.xml
msgid ""
@@ -52252,6 +52968,12 @@ msgid ""
"order of preference) [method @GDScript.assert], [method @GDScript."
"push_error] or [method alert]. See also [method kill]."
msgstr ""
+"Fait planter le moteur (ou l'éditeur si appelé dans un script avec "
+"[code]tool[/code]). Ceci ne devrait être [i]seulement[/i] utilisé pour "
+"tester le gestionnaire de plantage du système, et non pour toute autre "
+"raison. Pour la déclaration d'erreur générale, utilisez (dans l'ordre des "
+"préférences) : [method @GDScript.assert], [method @GDScript.push_error] ou "
+"[method alert]. Voir aussi [method kill]."
#: doc/classes/OS.xml
msgid ""
@@ -52396,7 +53118,7 @@ msgstr ""
#: doc/classes/OS.xml
msgid "Returns the scancode of the given string (e.g. \"Escape\")."
-msgstr ""
+msgstr "Retourne le scancode de la chaîne donnée (par exemple \"Escape\")."
#: doc/classes/OS.xml
msgid "Returns the total number of available audio drivers."
@@ -52404,7 +53126,7 @@ msgstr "Retourne le nombre total de périphériques audio."
#: doc/classes/OS.xml
msgid "Returns the audio driver name for the given index."
-msgstr ""
+msgstr "Retourne le nom du pilote audio à l'index donné."
#: doc/classes/OS.xml
msgid ""
@@ -52463,12 +53185,18 @@ msgid ""
"previously been initialised with [method open_midi_inputs].\n"
"[b]Note:[/b] This method is implemented on Linux, macOS and Windows."
msgstr ""
+"Retourne un tableau de noms de périphériques MIDI.\n"
+"Le tableau retourné sera vide si le pilote MIDI n'a pas déjà été initialisé "
+"avec [method open_midi_inputs].\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Linux, macOS et Windows."
#: doc/classes/OS.xml
msgid ""
"Returns the currently used video driver, using one of the values from [enum "
"VideoDriver]."
msgstr ""
+"Retourne le pilote vidéo actuellement utilisé, en utilisant une des valeurs "
+"de [enum VideoDriver]."
#: doc/classes/OS.xml
msgid ""
@@ -52543,6 +53271,9 @@ msgid ""
"been granted to the Android application.\n"
"[b]Note:[/b] This method is implemented on Android."
msgstr ""
+"Avec cette fonction, vous pouvez obtenir la liste des autorisations "
+"dangereuses qui ont été accordées à cette application Android.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Android."
#: doc/classes/OS.xml
msgid ""
@@ -52552,6 +53283,11 @@ msgid ""
"notify it of changes to the IME cursor position.\n"
"[b]Note:[/b] This method is implemented on macOS."
msgstr ""
+"Retourne la position de curseur IME (la partie actuellement éditée de la "
+"chaîne) par rapport aux caractères de la chaîne de composition.\n"
+"[constant MainLoop.NOTIFICATION_OS_IME_UPDATE] est envoyé à l'application "
+"pour l'informer des modifications apportées à la position du curseur IME.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur macOS."
#: doc/classes/OS.xml
msgid ""
@@ -52560,6 +53296,10 @@ msgid ""
"notify it of changes to the IME composition string.\n"
"[b]Note:[/b] This method is implemented on macOS."
msgstr ""
+"Retourne la chaîne de composition intermédiaire IME.\n"
+"[constant MainLoop.NOTIFICATION_OS_IME_UPDATE] est envoyé à l'application "
+"pour l'informer des modifications apportées à la chaîne de composition IME.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur macOS."
#: doc/classes/OS.xml
msgid ""
@@ -52607,6 +53347,10 @@ msgid ""
"[b]Note:[/b] Thread IDs are not deterministic and may be reused across "
"application restarts."
msgstr ""
+"Retourne l'identifiant du fil d'exécution principal. Voir [method "
+"get_thread_caller_id].\n"
+"[b]Note :[/b] Les identifiants des Thread ne sont pas déterministes mais "
+"peuvent parfois être réutilisés même après des redémarrages de l'application."
#: doc/classes/OS.xml
msgid ""
@@ -52614,6 +53358,9 @@ msgid ""
"[b]Note:[/b] This method is implemented on Android and iOS. Returns "
"[code]\"GenericDevice\"[/code] on unsupported platforms."
msgstr ""
+"Retourne le nom du modèle de l'appareil actuel.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Android et iOS. Retourne "
+"[code]\"GénériqueDevice\"[/code] sur les plateformes non supportées."
#: doc/classes/OS.xml
msgid ""
@@ -52633,6 +53380,10 @@ msgid ""
"[b]Note:[/b] This method is implemented on Linux and Windows (other OSs will "
"soon be supported)."
msgstr ""
+"Retourne les pointeurs de structure internes pour une utilisation dans les "
+"greffons GDNative.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Linux et Windows (d'autres "
+"OS seront bientôt pris en charge)."
#: doc/classes/OS.xml
msgid ""
@@ -52640,6 +53391,9 @@ msgid ""
"[code]-1[/code] if power state is unknown.\n"
"[b]Note:[/b] This method is implemented on Linux, macOS and Windows."
msgstr ""
+"Retourne la quantité de batterie restante dans l'appareil en pourcentage. "
+"Retourne [code]-1[/code] si l'état de la batterie est inconnu.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Linux, macOS et Windows."
#: doc/classes/OS.xml
msgid ""
@@ -52647,6 +53401,10 @@ msgid ""
"of battery. Returns [code]-1[/code] if power state is unknown.\n"
"[b]Note:[/b] This method is implemented on Linux, macOS and Windows."
msgstr ""
+"Retourne une estimation du temps restant en secondes avant que l'appareil "
+"n'ait plus de batterie. Retourne [code]-1[/code] si l'état de la batterie "
+"est inconnu.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Linux, macOS et Windows."
#: doc/classes/OS.xml
msgid ""
@@ -52664,6 +53422,9 @@ msgid ""
"[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and "
"Windows."
msgstr ""
+"Retourne l'identifiant du processus du projet.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Android, iOS, Linux, macOS "
+"et Windows."
#: doc/classes/OS.xml
msgid ""
@@ -52671,6 +53432,9 @@ msgid ""
"machine. On CPUs with HyperThreading enabled, this number will be greater "
"than the number of [i]physical[/i] CPU cores."
msgstr ""
+"Retourne le nombre de cœurs [i]logiques[/i] du CPU disponibles sur la "
+"machine hôte. Sur les processeurs avec le mode HyperThreading activé, ce "
+"nombre sera supérieur au nombre de cœurs [i]physiques[/i] du CPU."
#: doc/classes/OS.xml
msgid ""
@@ -52680,6 +53444,11 @@ msgid ""
"iOS. On Android, HTML5 and UWP, [method get_processor_name] returns an empty "
"string."
msgstr ""
+"Retourne le nom du modèle CPU sur la machine hôte (par exemple \"Intel(R) "
+"Core(TM) i7-6700K CPU @ 4.00GHz\").\n"
+"[b]Note :[/b] Cette méthode n'est implémentée que sur Windows, MacOS, Linux "
+"et iOS. Sur Android, HTML5 et UWP, [method get_processor_name] renvoie une "
+"chaîne vide."
#: doc/classes/OS.xml
msgid "Returns the window size including decorations like window borders."
@@ -52694,6 +53463,10 @@ msgid ""
"See also [member InputEventKey.scancode] and [method InputEventKey."
"get_scancode_with_modifiers]."
msgstr ""
+"Retourne le scancode spécifié sous forme de chaîne (par exemple valeurs de "
+"retour : [code]\"Escape\"[/code], [code]\"Shift+Escape\"[/code]).\n"
+"Voir aussi [member InputEventKey.scancode] et [method InputEventKey."
+"get_scancode_with_modifiers]."
#: doc/classes/OS.xml
msgid "Returns the number of displays attached to the host machine."
@@ -52745,6 +53518,11 @@ msgid ""
"other cases.\n"
"[b]Note:[/b] This method is implemented on macOS."
msgstr ""
+"Retourner le plus grand facteur d'échelle de tous les écrans.\n"
+"[b]Note :[/b] Sur macOS la valeur retournée est [code]2.0[/code] s'il y a au "
+"moins un écran hiDPI (Retina) dans le système, et [code]1.0[/code] dans tous "
+"les autres cas.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur macOS."
#: doc/classes/OS.xml
msgid ""
@@ -52772,6 +53550,20 @@ msgid ""
" refresh_rate = 60.0\n"
"[/codeblock]"
msgstr ""
+"Retourne le taux de rafraîchissement actuel de l'écran spécifié. Si "
+"[code]screen[/code] est [code]-1[/code] (la valeur par défaut), l'écran "
+"actuel sera utilisé.\n"
+"[b]Note :[/b] Retourne [code]-1.0[/code] si Godot ne trouve pas le taux de "
+"rafraîchissement pour l'écran spécifié. Sur HTML5, [method "
+"get_screen_refresh_rate] retournera toujours [code]-1.0[/code] car il n'y a "
+"aucun moyen de récupérer le taux de rafraîchissement sur cette plate-forme.\n"
+"Pour utiliser un taux de rafraîchissement par défaut si la méthode échoue, "
+"essayez :\n"
+"[codeblock]\n"
+"var refresh_rate = OS.get_screen_refresh_rate()\n"
+"if refresh_rate < 0:\n"
+" refresh_rate = 60.0\n"
+"[/codeblock]"
#: doc/classes/OS.xml
msgid ""
@@ -52782,6 +53574,12 @@ msgid ""
"screen, and [code]1.0[/code] for all other cases.\n"
"[b]Note:[/b] This method is implemented on macOS."
msgstr ""
+"Retourner le facteur d'échelle de l'écran spécifié à l'index. Si "
+"[code]screen[/code] est [code]-1[/code] (la valeur par défaut), l'écran "
+"actuel sera utilisé.\n"
+"[b]Note :[/b] Sur macOS la valeur retournée est [code]2.0[/code] pour les "
+"écrans hiDPI (Retina) et [code]1.0[/code] pour tous les autres écrans.\n"
+"[b]Note :[/b] Cette méthode est implémentée sous macOS."
#: doc/classes/OS.xml
msgid ""
@@ -52810,6 +53608,8 @@ msgid ""
"Returns the amount of static memory being used by the program in bytes (only "
"works in debug)."
msgstr ""
+"Retourne la quantité de mémoire statique utilisée par le programme en octets "
+"(seulement pour les versions avec débogage)."
#: doc/classes/OS.xml
msgid ""
@@ -52821,6 +53621,14 @@ msgid ""
"differentiate between app specific and shared directories. Shared "
"directories have additional restrictions on Android."
msgstr ""
+"Retourne le chemin réel aux dossiers couramment utilisés sur différentes "
+"plateformes. Les emplacements disponibles sont spécifiés dans [enum "
+"SystemDir].\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Android, Linux, macOS et "
+"Windows.\n"
+"[b]Note :[/b] Le stockage partagé est implémenté sur Android et permet de "
+"différencier entre les applications spécifiques et les dossiers partagés. "
+"Les dossiers partagés ont des restrictions supplémentaires sur Android."
#: doc/classes/OS.xml
msgid "Returns the epoch time of the operating system in milliseconds."
@@ -52881,11 +53689,16 @@ msgid ""
"Deprecated, use [method Time.get_time_dict_from_system] instead.\n"
"Returns current time as a dictionary of keys: hour, minute, second."
msgstr ""
+"Obsolète, utilisez plutôt [method Time.get_time_dict_from_system].\n"
+"Retourne l'heure actuelle dans un dictionnaire avec les clés : \"hour\", "
+"\"minute\", \"second\"."
#: doc/classes/OS.xml
msgid ""
"Returns the current time zone as a dictionary with the keys: bias and name."
msgstr ""
+"Retourne l'actuel fuseau horaire dans un dictionnaire avec les clés : biais "
+"et nom."
#: doc/classes/OS.xml
msgid ""
@@ -52899,6 +53712,17 @@ msgid ""
"[b]Note:[/b] Returns an empty string on HTML5 and UWP, as this method isn't "
"implemented on those platforms yet."
msgstr ""
+"Retourne une chaîne de caractères unique à l'appareil.\n"
+"[b]Note :[/b] Cette chaîne peut changer sans préavis si l'utilisateur "
+"réinstalle ou met à jour son système d'exploitation ou modifie son matériel. "
+"Cela signifie qu'il ne devrait généralement pas être utilisé pour chiffrer "
+"les données persistantes car des données enregistrées avant ce changement "
+"d'identifiant deviendront inaccessibles. La chaîne retournée peut également "
+"être modifiée manuellement en utilisant des programmes externes, donc ne pas "
+"compter sur la chaîne retournée par [method get_unique_id] pour la "
+"sécurisation.\n"
+"[b]Note :[/b] Retourne une chaîne vide sur HTML5 et UWP, car cette méthode "
+"n'est pas encore implémentée sur ces plateformes."
#: doc/classes/OS.xml
msgid ""
@@ -52908,7 +53732,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -52948,6 +53774,8 @@ msgstr ""
#: doc/classes/OS.xml
msgid "Returns the number of video drivers supported on the current platform."
msgstr ""
+"Retourne le nombre de pilotes vidéo pris en charge sur la plateforme "
+"actuelle."
#: doc/classes/OS.xml
msgid ""
@@ -52955,18 +53783,25 @@ msgid ""
"index. This index is a value from [enum VideoDriver], and you can use "
"[method get_current_video_driver] to get the current backend's index."
msgstr ""
+"Retourne le nom du pilote vidéo correspondant à l'index [code]driver[/code] "
+"donné. Cet index est une valeur de [enum VideoDriver], et vous pouvez "
+"utiliser [method get_current_video_driver] pour obtenir l'index du backend."
#: doc/classes/OS.xml
msgid ""
"Returns the on-screen keyboard's height in pixels. Returns 0 if there is no "
"keyboard or if it is currently hidden."
msgstr ""
+"Retourne la hauteur du clavier virtuel à l'écran en pixels. Retourne 0 s'il "
+"n'y a pas de clavier ou s'il est actuellement caché."
#: doc/classes/OS.xml
msgid ""
"Returns unobscured area of the window where interactive controls should be "
"rendered."
msgstr ""
+"Retourne la zone sûre de la fenêtre où les contrôles interactifs doivent "
+"être placés."
#: doc/classes/OS.xml
msgid ""
@@ -52974,18 +53809,26 @@ msgid ""
"item to the macOS dock icon menu.\n"
"[b]Note:[/b] This method is implemented on macOS."
msgstr ""
+"Ajoute un nouvel élément avec le texte \"label\" au menu global. Utilisez le "
+"menu \"_dock\" pour ajouter l'élément au menu du dock sous macOS.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur macOS."
#: doc/classes/OS.xml
msgid ""
"Add a separator between items. Separators also occupy an index.\n"
"[b]Note:[/b] This method is implemented on macOS."
msgstr ""
+"Ajoute un séparateur entre les éléments. Les séparateurs occupent également "
+"un index.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur macOS."
#: doc/classes/OS.xml
msgid ""
"Clear the global menu, in effect removing all items.\n"
"[b]Note:[/b] This method is implemented on macOS."
msgstr ""
+"Efface le menu global, en supprimant tous les éléments.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur macOS."
#: doc/classes/OS.xml
msgid ""
@@ -52993,6 +53836,9 @@ msgid ""
"indexes of items after the removed item are going to be shifted by one.\n"
"[b]Note:[/b] This method is implemented on macOS."
msgstr ""
+"Retire l'élément à l'index \"idx\" du menu global. Notez que les index des "
+"éléments après l'élément supprimé seront déplacés de un.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur macOS."
#: doc/classes/OS.xml
msgid "Returns [code]true[/code] if there is content on the clipboard."
@@ -53005,6 +53851,11 @@ msgid ""
"[b]Note:[/b] Double-check the casing of [code]variable[/code]. Environment "
"variable names are case-sensitive on all platforms except Windows."
msgstr ""
+"Retourne [code]true[/code] si la variable d'environnement avec le nom "
+"[code]variable[/code] existe.\n"
+"[b]Note :[/b] Vérifiez à deux fois la casse de [code]variable[/code]. Les "
+"noms variables d'environnement sont sensibles à la casse sur toutes les "
+"plateformes sauf Windows."
#: doc/classes/OS.xml
msgid ""
@@ -53069,6 +53920,8 @@ msgid ""
"Returns [code]true[/code] if the input scancode corresponds to a Unicode "
"character."
msgstr ""
+"Retourne [code]true[/code] si le code d'entrée correspond à un caractère "
+"Unicode."
#: doc/classes/OS.xml
msgid ""
@@ -53084,6 +53937,10 @@ msgid ""
"that its state is the same after a player quits and starts the game again. "
"Relevant to the HTML5 platform, where this persistence may be unavailable."
msgstr ""
+"Si [code]true[/code], le système de fichiers dans [code]user://[/code] est "
+"persistant, que son état est le même après qu'un joueur quitte et relance le "
+"jeu. Pertinent pour la plate-forme HTML5, où cette persistance peut être "
+"indisponible."
#: doc/classes/OS.xml
msgid ""
@@ -53099,12 +53956,17 @@ msgid ""
"[b]Note:[/b] Only implemented on desktop platforms. On other platforms, it "
"will always return [code]true[/code]."
msgstr ""
+"Retourne [code]true[/code] si la fenêtre a actuellement le focus.\n"
+"[b]Note :[/b] Seulement implémenté sur les ordinateur de bureau. Sur "
+"d'autres plateformes, il retournera toujours [code]true[/code]."
#: doc/classes/OS.xml
msgid ""
"Returns active keyboard layout index.\n"
"[b]Note:[/b] This method is implemented on Linux, macOS and Windows."
msgstr ""
+"Retourne l'index de la disposition du clavier actif.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Linux, macOS et Windows."
#: doc/classes/OS.xml
msgid ""
@@ -53120,6 +53982,9 @@ msgid ""
"[code]index[/code].\n"
"[b]Note:[/b] This method is implemented on Linux, macOS and Windows."
msgstr ""
+"Retourne le code de langue ISO-639/BCP-47 de la disposition du clavier à la "
+"position [code]index[/code].\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Linux, macOS et Windows."
#: doc/classes/OS.xml
msgid ""
@@ -53127,6 +53992,9 @@ msgid ""
"code].\n"
"[b]Note:[/b] This method is implemented on Linux, macOS and Windows."
msgstr ""
+"Retourne le nom localisé de la disposition du clavier à la position "
+"[code]index[/code].\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Linux, macOS et Windows."
#: doc/classes/OS.xml
msgid ""
@@ -53134,12 +54002,17 @@ msgid ""
"keyboard layout.\n"
"[b]Note:[/b] This method is implemented on Linux, macOS and Windows."
msgstr ""
+"Convertit un [code]scancode[/code] physique (US QWERTY) en un dans la "
+"disposition du clavier actif.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Linux, macOS et Windows."
#: doc/classes/OS.xml
msgid ""
"Sets active keyboard layout.\n"
"[b]Note:[/b] This method is implemented on Linux, macOS and Windows."
msgstr ""
+"Définit la disposition active du clavier.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Linux, macOS et Windows."
#: doc/classes/OS.xml
msgid ""
@@ -53151,6 +54024,13 @@ msgid ""
"[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and "
"Windows."
msgstr ""
+"Tue (termine) le processus à partir de l'identifiant spécifié ([code]pid[/"
+"code]), c'est-à-dire par celui retourné par [method execute] en mode non-"
+"blocant. Voir aussi [method crash].\n"
+"[b]Note :[/b] Cette méthode peut également être utilisée pour tuer des "
+"processus qui n'ont pas été créés par le jeu.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Android, iOS, Linux, macOS "
+"et Windows."
#: doc/classes/OS.xml
msgid ""
@@ -53166,18 +54046,34 @@ msgid ""
"OS.move_to_trash(ProjectSettings.globalize_path(file_to_remove))\n"
"[/codeblock]"
msgstr ""
+"Déplace le fichier ou le dossier dans la corbeille du système. Voir aussi "
+"[method Directory.remove].\n"
+"La méthode ne prend que des chemins globaux, donc vous pouvez avoir besoin "
+"d'utiliser [method ProjectSettings.globalize_path]. Ne l'utilisez pas pour "
+"les fichiers dans [code]res://[/code] car ça ne fonctionnera pas dans le "
+"projet exporté.\n"
+"[b]Note :[/b] Si l'utilisateur a désactivé la corbeille sur son système, le "
+"fichier sera définitivement supprimé.\n"
+"[codeblock]\n"
+"var file_to_remove = \"user://slot1.sav\"\n"
+"OS.move_to_trash(ProjectSettings.globalize_path(file_to_remove))\n"
+"[/codeblock]"
#: doc/classes/OS.xml
msgid ""
"Moves the window to the front.\n"
"[b]Note:[/b] This method is implemented on Linux, macOS and Windows."
msgstr ""
+"Déplace la fenêtre vers l'avant.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Linux, macOS et Windows."
#: doc/classes/OS.xml
msgid ""
"Returns [code]true[/code] if native video is playing.\n"
"[b]Note:[/b] This method is only implemented on iOS."
msgstr ""
+"Retourne [code]true[/code] si la vidéo native joue.\n"
+"[b]Note :[/b] Cette méthode n'est implémenté que sur iOS."
#: doc/classes/OS.xml
msgid ""
@@ -53193,6 +54089,9 @@ msgid ""
"audio and subtitle tracks.\n"
"[b]Note:[/b] This method is only implemented on iOS."
msgstr ""
+"Joue la vidéo native depuis le chemin spécifié, au volume donné et avec des "
+"pistes audio et sous-titres.\n"
+"[b]Note :[/b] Cette méthode n'est implémenté que sur iOS."
#: doc/classes/OS.xml
msgid ""
@@ -53215,12 +54114,17 @@ msgid ""
"Initialises the singleton for the system MIDI driver.\n"
"[b]Note:[/b] This method is implemented on Linux, macOS and Windows."
msgstr ""
+"Initialise le singleton pour le système de pilote MIDI.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Linux, macOS et Windows."
#: doc/classes/OS.xml
msgid ""
"Shows all resources in the game. Optionally, the list can be written to a "
"file by specifying a file path in [code]tofile[/code]."
msgstr ""
+"Affiche toutes les ressources dans le jeu. En option, la liste peut être "
+"écrite à un fichier en spécifiant un chemin de fichier dans [code]tofile[/"
+"code]."
#: doc/classes/OS.xml
msgid "Shows the list of loaded textures sorted by size in memory."
@@ -53241,12 +54145,19 @@ msgid ""
"Windows or bounce the dock icon on OSX.\n"
"[b]Note:[/b] This method is implemented on Linux, macOS and Windows."
msgstr ""
+"Demandez l'attention de l'utilisateur sur cette fenêtre. Ça fait clignoter "
+"le bouton de la barre de tâches sur Windows ou fait rebondir l'icône du dock "
+"sur macOS.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Linux, macOS et Windows."
#: doc/classes/OS.xml
msgid ""
"At the moment this function is only used by [code]AudioDriverOpenSL[/code] "
"to request permission for [code]RECORD_AUDIO[/code] on Android."
msgstr ""
+"Pour le moment cette fonction est uniquement utilisée par "
+"[code]AudioDriverOpenSL[/code] pour demande la permission "
+"[code]RECORD_AUDIO[/code] sur Android."
#: doc/classes/OS.xml
msgid ""
@@ -53255,6 +54166,10 @@ msgid ""
"applications.\n"
"[b]Note:[/b] This method is implemented on Android."
msgstr ""
+"Avec cette fonction, vous pouvez demander des permissions dangereuses "
+"puisque les autorisations normales sont automatiquement accordées à "
+"l'installation dans les applications Android.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Android."
#: doc/classes/OS.xml
msgid ""
@@ -53274,6 +54189,12 @@ msgid ""
"dialog. Image is scaled as needed.\n"
"[b]Note:[/b] This method is implemented on HTML5, Linux, macOS and Windows."
msgstr ""
+"Définit l'icône du jeu en utilisant une ressource [Image].\n"
+"La même image est utilisée pour l'icône de la fenêtre, la barre de tâches ou "
+"du dock et le dialogue de sélection de la fenêtre. L'image est "
+"redimensionnée au besoin.\n"
+"[b]Note :[/b] Cette méthode est implémentée sur HTML5, Linux, macOS et "
+"Windows."
#: doc/classes/OS.xml
msgid ""
@@ -53291,6 +54212,9 @@ msgid ""
"Sets position of IME suggestion list popup (in window coordinates).\n"
"[b]Note:[/b] This method is implemented on Linux, macOS and Windows."
msgstr ""
+"Définit la position de la fenêtre surgissante avec la liste de suggestions "
+"IME (dans les coordonnées de la fenêtre).\n"
+"[b]Note :[/b] Cette méthode est implémentée sur Linux, macOS et Windows."
#: doc/classes/OS.xml
msgid ""
@@ -53460,12 +54384,18 @@ msgid ""
"If [code]true[/code], the engine optimizes for low processor usage by only "
"refreshing the screen if needed. Can improve battery consumption on mobile."
msgstr ""
+"Si [code]true[/code], le moteur réduit la consommation du processeur en "
+"rafraîchissant l'écran uniquement quand nécessaire. Peut améliorer la durée "
+"de batterie sur mobile."
#: doc/classes/OS.xml
msgid ""
"The amount of sleeping between frames when the low-processor usage mode is "
"enabled (in microseconds). Higher values will result in lower CPU usage."
msgstr ""
+"La quantité d'inactivité entre les trames lorsque le mode de réduction du "
+"processeur est activé (en microsecondes). Des valeurs plus élevées "
+"limiteront l'utilisation du processeur."
#: doc/classes/OS.xml
msgid ""
@@ -53473,6 +54403,9 @@ msgid ""
"decorations). Does not affect fullscreen mode. Set to [code](0, 0)[/code] to "
"reset to the system default value."
msgstr ""
+"La taille maximale de la fenêtre (sans compter les décorations du "
+"gestionnaire de fenêtre). N'affecte pas le mode plein écran. Réglez à [code]"
+"(0, 0)[/code] pour réinitialiser la valeur par défaut du système."
#: doc/classes/OS.xml
msgid ""
@@ -53513,6 +54446,9 @@ msgid ""
"[b]Note:[/b] Setting [code]window_borderless[/code] to [code]false[/code] "
"disables per-pixel transparency."
msgstr ""
+"Si [code]true[/code], supprime le cadre autour de la fenêtre.\n"
+"[b]Note :[/b] Le réglage [code]window_borderless[/code] à [code]false[/code] "
+"désactivera la transparence par pixel."
#: doc/classes/OS.xml
msgid "If [code]true[/code], the window is fullscreen."
@@ -53545,6 +54481,8 @@ msgid ""
"The window position relative to the screen, the origin is the top left "
"corner, +Y axis goes to the bottom and +X axis goes to the right."
msgstr ""
+"La position de la fenêtre par rapport à l'écran, l'origine étant le coin "
+"supérieur gauche, l'axe +Y va vers le bas et l'axe +X va à droite."
#: doc/classes/OS.xml
msgid "If [code]true[/code], the window is resizable by the user."
@@ -53560,12 +54498,16 @@ msgid ""
"The GLES2 rendering backend. It uses OpenGL ES 2.0 on mobile devices, OpenGL "
"2.1 on desktop platforms and WebGL 1.0 on the web."
msgstr ""
+"Le backend de rendu GLES2. Cela utilise OpenGL ES 2.0 sur les appareils "
+"mobiles, OpenGL 2.1 sur les plateformes de bureau et WebGL 1.0 sur le web."
#: doc/classes/OS.xml
msgid ""
"The GLES3 rendering backend. It uses OpenGL ES 3.0 on mobile devices, OpenGL "
"3.3 on desktop platforms and WebGL 2.0 on the web."
msgstr ""
+"Le backend de rendu GLES3. Cela utilise OpenGL ES 3.0 sur les appareils "
+"mobiles, OpenGL 3.3 sur les plateformes de bureau et WebGL 2.0 sur le web."
#: doc/classes/OS.xml
msgid "Sunday."
@@ -53651,6 +54593,11 @@ msgid ""
"implemented)\n"
"- Android: [code]JNIEnv*[/code] of the application (not yet implemented)"
msgstr ""
+"Les points de départ de l'application :\n"
+"- Windows : [code]HINSTANCE[/code] de l'application\n"
+"- MacOS : [code]NSApplication*[/code] de l'application (non encore "
+"implémenté)\n"
+"- Android : [code]JNIEnv*[/code] de l'application (pas encore implémenté)"
#: doc/classes/OS.xml
msgid ""
@@ -53788,7 +54735,7 @@ msgstr "Version de référence de [PackedDataContainer]."
#: doc/classes/PackedScene.xml
msgid "An abstraction of a serialized scene."
-msgstr ""
+msgstr "Une abstraction d'une scène sérialisée."
#: doc/classes/PackedScene.xml
msgid ""
@@ -53899,6 +54846,9 @@ msgid ""
"instantiation(s). Triggers a [constant Node.NOTIFICATION_INSTANCED] "
"notification on the root node."
msgstr ""
+"Instancie l'arborescence de la scène. Déclenche l'instanciation des enfants "
+"de la scène. Déclenche une notification [constant Node."
+"NOTIFICATION_INSTANCED] sur le nœud racine."
#: doc/classes/PackedScene.xml
msgid ""
@@ -53918,6 +54868,8 @@ msgstr ""
#: doc/classes/PackedScene.xml
msgid "If passed to [method instance], blocks edits to the scene state."
msgstr ""
+"S'il est passé à [method instance], bloque les modifications de l'état de la "
+"scène."
#: doc/classes/PackedScene.xml
msgid ""
@@ -53925,6 +54877,9 @@ msgid ""
"scene.\n"
"[b]Note:[/b] Only available in editor builds."
msgstr ""
+"S'il est passé à [method instance], fournit des ressources de scène locale à "
+"la scène locale.\n"
+"[b]Note :[/b] Seulement disponible dans les éditeurs."
#: doc/classes/PackedScene.xml
msgid ""
@@ -53932,6 +54887,10 @@ msgid ""
"scene. Only the main scene should receive the main edit state.\n"
"[b]Note:[/b] Only available in editor builds."
msgstr ""
+"S'il est passé à [method instance], fournit des ressources de scène locale à "
+"la scène locale. Seule la scène principale devrait recevoir l'état principal "
+"d'édition.\n"
+"[b]Note :[/b] Seulement disponible dans les éditeurs."
#: doc/classes/PackedScene.xml
msgid ""
@@ -53939,6 +54898,9 @@ msgid ""
"scene is being instantiated to be the base of another one.\n"
"[b]Note:[/b] Only available in editor builds."
msgstr ""
+"C'est similaire à [constant GEN_EDIT_STATE_MAIN], mais pour le cas où la "
+"scène est instanciée pour être la base d'une autre.\n"
+"[b]Note :[/b] Seulement disponible dans les éditeurs."
#: modules/gltf/doc_classes/PackedSceneGLTF.xml
msgid ""
@@ -53947,6 +54909,10 @@ msgid ""
"to [PackedSceneGLTF] within a script will cause an error in an exported "
"project."
msgstr ""
+"[b]Note :[/b] Cette classe n'est compilée que dans les éditeurs. Le "
+"chargement et l'enregistrement de glTF n'est [i]pas[/i] disponible dans les "
+"projets exportés. Les références à [PackedSceneGLTF] dans un script "
+"causeront une erreur dans les projets exportés."
#: doc/classes/PacketPeer.xml
msgid "Abstraction and base class for packet-based protocols."
@@ -54076,6 +55042,9 @@ msgid ""
"Poll the connection to check for incoming packets. Call this frequently to "
"update the status and keep the connection working."
msgstr ""
+"Sondez la connexion pour vérifier les paquets entrants. Appelez cela "
+"fréquemment pour mettre à jour le statut et garder la connexion "
+"fonctionnelle."
#: doc/classes/PacketPeerDTLS.xml
msgid "A status representing a [PacketPeerDTLS] that is disconnected."
@@ -54086,6 +55055,8 @@ msgid ""
"A status representing a [PacketPeerDTLS] that is currently performing the "
"handshake with a remote peer."
msgstr ""
+"Un statut représentant un [PacketPeerDTLS] qui effectue actuellement la "
+"poignée de main avec un pair distant."
#: doc/classes/PacketPeerDTLS.xml
msgid ""
@@ -54104,6 +55075,8 @@ msgid ""
"An error status that shows a mismatch in the DTLS certificate domain "
"presented by the host and the domain requested for validation."
msgstr ""
+"Un statut d'erreur qui montre une erreur dans le domaine de certificat DTLS "
+"présenté par l'hôte et le domaine demandé pour validation."
#: doc/classes/PacketPeerStream.xml
msgid "Wrapper to use a PacketPeer over a StreamPeer."
@@ -54129,10 +55102,12 @@ msgstr "Homologue de paquet UDP."
msgid ""
"UDP packet peer. Can be used to send raw UDP packets as well as [Variant]s."
msgstr ""
+"Un pair de paquet UDP. Peut être utilisé pour envoyer des paquets UDP bruts "
+"mais aussi des [Variant]."
#: doc/classes/PacketPeerUDP.xml
msgid "Closes the UDP socket the [PacketPeerUDP] is currently listening on."
-msgstr ""
+msgstr "Ferme la prise UDP [PacketPeerUDP] qui est actuellement à l'écoute."
#: doc/classes/PacketPeerUDP.xml
msgid ""
@@ -54155,18 +55130,24 @@ msgid ""
"Returns the IP of the remote peer that sent the last packet(that was "
"received with [method PacketPeer.get_packet] or [method PacketPeer.get_var])."
msgstr ""
+"Retourne l'IP du pair distant qui a envoyé le dernier paquet (qui a été reçu "
+"avec [method PacketPeer.get_packet] ou [method PacketPeer.get_var])."
#: doc/classes/PacketPeerUDP.xml
msgid ""
"Returns the port of the remote peer that sent the last packet(that was "
"received with [method PacketPeer.get_packet] or [method PacketPeer.get_var])."
msgstr ""
+"Retourne le port du pair distant qui a envoyé le dernier paquet (qui a été "
+"reçu avec [method PacketPeer.get_packet] ou [method PacketPeer.get_var])."
#: doc/classes/PacketPeerUDP.xml
msgid ""
"Returns [code]true[/code] if the UDP socket is open and has been connected "
"to a remote address. See [method connect_to_host]."
msgstr ""
+"Retourne [code]true[/code] si le socket UDP est ouverte et a été connectée à "
+"une adresse distante. Voir [method connect_to_host]."
#: doc/classes/PacketPeerUDP.xml
msgid "Returns whether this [PacketPeerUDP] is listening."
@@ -54181,12 +55162,21 @@ msgid ""
"[b]Note:[/b] Some Android devices might require the "
"[code]CHANGE_WIFI_MULTICAST_STATE[/code] permission for multicast to work."
msgstr ""
+"Joins le groupe multicast spécifié par [code]multicast_address[/code] en "
+"utilisant l'interface identifiée par [code]interface_name[/code].\n"
+"Vous pouvez rejoindre le même groupe multicast avec plusieurs interfaces. "
+"Utilisez [method IP.get_local_interfaces] pour savoir lesquelles sont "
+"disponibles.\n"
+"[b]Note :[/b] Certains appareils Android pourraient nécessiter la permission "
+"[code]CHANGE_WIFI_MULTICAST_STATE[/code] pour faire fonctionner le multicast."
#: doc/classes/PacketPeerUDP.xml
msgid ""
"Removes the interface identified by [code]interface_name[/code] from the "
"multicast group specified by [code]multicast_address[/code]."
msgstr ""
+"Supprime l'interface identifiée par [code]interface_name[/code] du groupe "
+"multicast spécifié par [code]multicast_address[/code]."
#: doc/classes/PacketPeerUDP.xml
msgid ""
@@ -54202,6 +55192,18 @@ msgid ""
"only listen on the interface with that addresses (or fail if no interface "
"with the given address exists)."
msgstr ""
+"Fait que ce [PacketPeerUDP] écoute le [code]port[/code] connecté à "
+"[code]bind_address[/code] avec une taille de mémoire tampon de "
+"[code]recv_buf_size[/code].\n"
+"Si [code]bind_address[/code] est défini à [code]\"*\"[/code] (par défaut), "
+"le pair écoutera toutes les adresses disponibles (IPv4 et IPv6.)\n"
+"Si [code]bind_address[/code] est défini à [code]\"0.0.0.0\"[/code] (pour "
+"IPv4) ou [code]\"::\"[/code] (pour IPv6), le pair écoutera toutes les "
+"adresses disponibles correspondant à ce type d'IP.\n"
+"Si [code]bind_address[/code] est défini à toute adresse valide (par exemple "
+"[code]\"192.168.1.101\"[/code], [code]\"::1\"[/code], etc), le pair "
+"n'écoutera que l'interface avec ces adresses (ou échouera si aucune "
+"interface avec l'adresse donnée n'existe)."
#: doc/classes/PacketPeerUDP.xml
msgid ""
@@ -54212,6 +55214,12 @@ msgid ""
"[code]CHANGE_WIFI_MULTICAST_STATE[/code] permission and this option to be "
"enabled to receive broadcast packets too."
msgstr ""
+"Active ou désactive l'envoi de paquets de diffusion (par exemple "
+"[code]set_dest_address(\"255.255.255.255\", 4343)[/code]. Cette option est "
+"désactivée par défaut.\n"
+"[b]Note :[/b] Certains appareils Android peuvent nécessiter la permission "
+"[code]CHANGE_WIFI_MULTICAST_STATE[/code] et cette option pour être activée "
+"pour recevoir aussi des paquets de diffusion."
#: doc/classes/PacketPeerUDP.xml
msgid ""
@@ -54220,6 +55228,11 @@ msgid ""
"[b]Note:[/b] [method set_broadcast_enabled] must be enabled before sending "
"packets to a broadcast address (e.g. [code]255.255.255.255[/code])."
msgstr ""
+"Définit l'adresse de destination et le port pour envoyer des paquets et des "
+"variables. Un nom d'hôte sera résolu en utilisant le DNS si nécessaire.\n"
+"[b]Note :[/b] [method set_broadcast_enabled] doit être activé avant "
+"d'envoyer des paquets à une adresse de diffusion (par exemple "
+"[code]255.255.255[/code])."
#: doc/classes/PacketPeerUDP.xml
msgid ""
@@ -54264,6 +55277,8 @@ msgid ""
"Panel is a [Control] that displays an opaque background. It's commonly used "
"as a parent and container for other types of [Control] nodes."
msgstr ""
+"Le panneau est un [Control] qui affiche un fond opaque. Il est couramment "
+"utilisé comme parent et conteneur pour d'autres types de nœuds [Control]."
#: doc/classes/Panel.xml
msgid "2D Finite State Machine Demo"
@@ -54286,6 +55301,9 @@ msgid ""
"Panel container type. This container fits controls inside of the delimited "
"area of a stylebox. It's useful for giving controls an outline."
msgstr ""
+"Le type de conteneur. Ce conteneur s'adapte aux contrôles à l'intérieur de "
+"la zone délimitée d'une boîte de style. C'est utile pour donner un contour "
+"aux contrôles."
#: doc/classes/PanelContainer.xml
msgid "The style of [PanelContainer]'s background."
@@ -56030,7 +57048,6 @@ msgid "Returns the value of a damped spring joint parameter."
msgstr ""
#: doc/classes/Physics2DServer.xml
-#, fuzzy
msgid ""
"Sets a damped spring joint parameter. See [enum DampedStringParam] for a "
"list of available parameters."
@@ -56402,12 +57419,10 @@ msgid "Constant to set/get whether the body can sleep."
msgstr "La constante pour définir/obtenir si le corps peut être au repos."
#: doc/classes/Physics2DServer.xml
-#, fuzzy
msgid "Constant to create pin joints."
msgstr "Constante pour créer des joints d’épingle."
#: doc/classes/Physics2DServer.xml
-#, fuzzy
msgid "Constant to create groove joints."
msgstr "Constante pour créer des joints de rainure."
@@ -57373,7 +58388,6 @@ msgid "If [code]true[/code], the query will take [PhysicsBody]s into account."
msgstr "Si [code]true[/code], le requête prendra les [PhysicsBody] en compte."
#: doc/classes/PinJoint.xml
-#, fuzzy
msgid "Pin joint for 3D PhysicsBodies."
msgstr "Joint d’épingle pour les formes 3D."
@@ -57402,7 +58416,6 @@ msgid ""
msgstr ""
#: doc/classes/PinJoint2D.xml
-#, fuzzy
msgid "Pin Joint for 2D shapes."
msgstr "Joint d’épingle pour les formes 2D."
@@ -58810,8 +59823,13 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+#, fuzzy
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
+"Retourne la position de l’élément qui a actuellement le focus. Ou retourne "
+"[code]-1[/code] si aucun n'a le focus."
#: doc/classes/PopupMenu.xml
msgid "Hides the [PopupMenu] when the window loses focus."
@@ -59067,7 +60085,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -59605,8 +60625,8 @@ msgid ""
"Returns the specified property's initial value. Returns [code]null[/code] if "
"the property does not exist."
msgstr ""
-"Retourne la valeur initiale de la propriété spécifiée. Retourne "
-"[code]null[/code] si la propriété n'existe pas."
+"Retourne la valeur initiale de la propriété spécifiée. Retourne [code]null[/"
+"code] si la propriété n'existe pas."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -59731,9 +60751,9 @@ msgid ""
"nearest-neighbor interpolation (recommended for pixel art)."
msgstr ""
"Si [code]true[/code], applique le filtrage linéaire pour l'étirement de "
-"l'image (recommandé pour les images à haute résolution.) Si "
-"[code]false[/code], utilise l'interpolation la plus proche (recommandée pour "
-"le pixel-art)."
+"l'image (recommandé pour les images à haute résolution.) Si [code]false[/"
+"code], utilise l'interpolation la plus proche (recommandée pour le pixel-"
+"art)."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -59748,9 +60768,9 @@ msgid ""
"for this to take effect."
msgstr ""
"Ce dossier utilisateur est utilisé pour stocker des données persistantes (le "
-"système de fichiers [code]user://[/code]). Si laissé vide, "
-"[code]user://[/code] va pointer vers un dossier spécifique au projet suivant "
-"la configuration de Godot (voir [method OS.get_user_data_dir]). Si un nom de "
+"système de fichiers [code]user://[/code]). Si laissé vide, [code]user://[/"
+"code] va pointer vers un dossier spécifique au projet suivant la "
+"configuration de Godot (voir [method OS.get_user_data_dir]). Si un nom de "
"dossier personnalisé est défini, ce nom sera utilisé à la place, puis ajouté "
"au dossier de données utilisateur spécifique au système (le même dossier "
"parent que celui configuration Godot documenté dans [method OS."
@@ -59830,9 +60850,9 @@ msgid ""
"default can impact compatibility with some external tools or plugins which "
"expect the default [code].import[/code] folder."
msgstr ""
-"Si [code]true[/code], le projet utilisera un dossier caché ([code]."
-"import[/code]) pour stocker des données spécifiques au projet (métadonnées, "
-"cache des shaders, etc.)\n"
+"Si [code]true[/code], le projet utilisera un dossier caché ([code].import[/"
+"code]) pour stocker des données spécifiques au projet (métadonnées, cache "
+"des shaders, etc.)\n"
"Si [code]false[/code], un dossier non caché ([code]import[/code]) sera "
"utilisé à la place.\n"
"[b]Note :[/b] Vous devez redémarrer l'application après avoir modifié ce "
@@ -59961,7 +60981,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -61807,9 +62831,9 @@ msgid ""
"Desktop override for [member logging/file_logging/enable_file_logging], as "
"log files are not readily accessible on mobile/Web platforms."
msgstr ""
-"Le surcharge du bureau pour [member logging/file_logging/enable_file_logging]"
-", car les fichiers de journaux ne sont pas facilement accessibles sur les "
-"plateformes mobiles et web."
+"Le surcharge du bureau pour [member logging/file_logging/"
+"enable_file_logging], car les fichiers de journaux ne sont pas facilement "
+"accessibles sur les plateformes mobiles et web."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -61857,42 +62881,57 @@ msgid ""
"map_set_cell_height].\n"
"[b]Note:[/b] Currently not implemented."
msgstr ""
+"La hauteur de la cellule par défaut pour les cartes de navigation 2D. Voir "
+"[method Navigation2DServer.map_set_cell_height]\n"
+"[b]Note :[/b] N'est pas actuellement implémenté."
#: doc/classes/ProjectSettings.xml
msgid ""
"Default cell size for 2D navigation maps. See [method Navigation2DServer."
"map_set_cell_size]."
msgstr ""
+"La taille par défaut pour les cartes de navigation 2D. Voir [method "
+"Navigation2DServer.map_set_cell_size]."
#: doc/classes/ProjectSettings.xml
msgid ""
"Default edge connection margin for 2D navigation maps. See [method "
"Navigation2DServer.map_set_edge_connection_margin]."
msgstr ""
+"La marge par défaut de connexion des bordures pour les cartes de navigation "
+"2D. Voir [method Navigation2DServer.map_set_edge_connection_margin]."
#: doc/classes/ProjectSettings.xml
msgid ""
"Default cell height for 3D navigation maps. See [method NavigationServer."
"map_set_cell_height]."
msgstr ""
+"La hauteur par défaut pour les cartes de navigation 3D. Voir [method "
+"NavigationServer.map_set_cell_height]."
#: doc/classes/ProjectSettings.xml
msgid ""
"Default cell size for 3D navigation maps. See [method NavigationServer."
"map_set_cell_size]."
msgstr ""
+"La taille par défaut pour les cartes de navigation 3D. Voir [method "
+"NavigationServer.map_set_cell_size]."
#: doc/classes/ProjectSettings.xml
msgid ""
"Default edge connection margin for 3D navigation maps. See [method "
"NavigationServer.map_set_edge_connection_margin]."
msgstr ""
+"La marge par défaut de connexion des bodures pour les cartes de navigation "
+"3D. Voir [method NavigationServer.map_set_edge_connection_margin]."
#: doc/classes/ProjectSettings.xml
msgid ""
"Default map up vector for 3D navigation maps. See [method NavigationServer."
"map_set_up]."
msgstr ""
+"La carte par défaut du vecteur vers haut pour cartes de navigation 3D. Voir "
+"[method NavigationServer.map_set_up]."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -61900,6 +62939,9 @@ msgid ""
"Over this value, content is dropped. This helps not to stall the debugger "
"connection."
msgstr ""
+"La quantité maximale de caractères autorisés à envoyer sur la sortie du "
+"débogueur. Une fois cette valeur dépassée, le nouveau contenu est ignoré. "
+"Cela aide à ne pas bloquer la connexion du déboguer."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -61907,6 +62949,9 @@ msgid ""
"Over this value, content is dropped. This helps not to stall the debugger "
"connection."
msgstr ""
+"Le nombre maximum d'erreurs autorisées à être envoyées à la sortie du "
+"débogueur. Une fois cette valeur dépassée, le nouveau contenu est ignoré. "
+"Cela aide à ne pas bloquer la connexion du déboguer."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -61914,6 +62959,9 @@ msgid ""
"this value, content is dropped. This helps not to stall the debugger "
"connection."
msgstr ""
+"La quantité maximale de messages autorisés à être envoyés à la sortie du "
+"débogueur. Une fois cette valeur dépassée, le nouveau contenu est ignoré. "
+"Cela aide à ne pas bloquer la connexion du déboguer."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -61921,6 +62969,9 @@ msgid ""
"Over this value, content is dropped. This helps not to stall the debugger "
"connection."
msgstr ""
+"Le nombre maximal d'avertissements autorisés à être envoyés à la sortie du "
+"débogueur. Une fois cette valeur dépassée, le nouveau contenu est ignoré. "
+"Cela aide à ne pas bloquer la connexion du déboguer."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -61928,6 +62979,10 @@ msgid ""
"specified as a power of two). The default value [code]16[/code] is equal to "
"65,536 bytes. Over this size, data is dropped."
msgstr ""
+"La taille par défaut du flux par paire de paquets pour décoder les données "
+"Godot (en octets, spécifié par une puissance de deux). La valeur par défaut "
+"[code]16[/code] est égale à 65 536 octets. Une fois cette valeur dépassée, "
+"le nouveau contenu est ignoré."
#: doc/classes/ProjectSettings.xml
msgid "Timeout (in seconds) for connection attempts using TCP."
@@ -61937,6 +62992,8 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid "Maximum size (in kiB) for the [WebRTCDataChannel] input buffer."
msgstr ""
+"La taille maximale (en kiB) de la mémoire du tampon d'entrée du "
+"[WebRTCDataChannel]."
#: doc/classes/ProjectSettings.xml
msgid "Maximum size (in kiB) for the [WebSocketClient] input buffer."
@@ -61985,6 +63042,9 @@ msgid ""
"Amount of read ahead used by remote filesystem. Higher values decrease the "
"effects of latency at the cost of higher bandwidth usage."
msgstr ""
+"La quantité de lecture en avance utilisée par le système de fichiers "
+"distants. Des valeurs plus élevées diminuent les effets de latence mais "
+"augmentent la bande passante."
#: doc/classes/ProjectSettings.xml
msgid "Page size used by remote filesystem (in bytes)."
@@ -61999,18 +63059,28 @@ msgid ""
"bundle will be used.\n"
"If in doubt, leave this setting empty."
msgstr ""
+"Le pack de certificats CA à utiliser pour les connexions SSL. Si cela est "
+"défini à une valeur non vide, cela [i]écrasera[/i] les certificats par "
+"défaut de Godot venant du [url=https://github.com/godotengine/godot/blob/"
+"master/third/certs/ca-certificates.crt]Pack de certificats de Mozilla[/ur]. "
+"Si laissé vide, ce paquet de certificat par défaut sera utilisé.\n"
+"En cas de doute, laissez ce réglage vide."
#: doc/classes/ProjectSettings.xml
msgid ""
"When creating node names automatically, set the type of casing in this "
"project. This is mostly an editor setting."
msgstr ""
+"Lorsque vous créez des noms de nœuds automatiquement, définissez le type de "
+"casse dans ce projet. C'est surtout un réglage de l'éditeur."
#: doc/classes/ProjectSettings.xml
msgid ""
"What to use to separate node name from number. This is mostly an editor "
"setting."
msgstr ""
+"Que faire pour séparer le nom de nœud du numéro. C'est surtout un réglage de "
+"l'éditeur."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -62066,6 +63136,14 @@ msgid ""
"Physics2DServer.AREA_PARAM_GRAVITY, 98)\n"
"[/codeblock]"
msgstr ""
+"La force de gravité par défaut en 2D (en pixels par seconde au carré).\n"
+"[b]Note :[/b] Cette propriété est seulement lue au lancement du projet. Pour "
+"modifier la gravité par défaut à l'exécution, utilisez le code suivant :\n"
+"[codeblock]\n"
+"# Réglez la force de gravité par défaut à 98.\n"
+"Physics2DServer.area_set_param(get_viewport().find_world_2d().get_space(), "
+"Physics2DServer.AREA_PARAM_GRAVITY, 98)\n"
+"/[codeblock]"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -62078,6 +63156,14 @@ msgid ""
"Physics2DServer.AREA_PARAM_GRAVITY_VECTOR, Vector2(0, 1))\n"
"[/codeblock]"
msgstr ""
+"La direction de la gravité par défaut en 2D.\n"
+"[b]Note :[/b] Cette propriété est seulement lue au lancement du projet. Pour "
+"modifier la gravité par défaut à l'exécution, utilisez le code suivant :\n"
+"[codeblock]\n"
+"# Définir la direction de gravité par défaut à `Vector2(0, 1)`.\n"
+"Physics2DServer.area_set_param(get_viewport().find_world_2d().get_space(), "
+"Physics2DServer.AREA_PARAM_GRAVITY_VECTOR, Vector2(0, 1))\n"
+"/[codeblock]"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -62139,18 +63225,25 @@ msgid ""
"Time (in seconds) of inactivity before which a 2D physics body will put to "
"sleep. See [constant Physics2DServer.SPACE_PARAM_BODY_TIME_TO_SLEEP]."
msgstr ""
+"Le temps (en secondes) d'inactivité avant lequel un corps de physique 2D "
+"s'endormira. Voir [Constant Physics2DServer.SPACE_PARAM_BODY_TIME_TO_SLEEP]."
#: doc/classes/ProjectSettings.xml
msgid ""
"Enables the use of bounding volume hierarchy instead of hash grid for 2D "
"physics spatial partitioning. This may give better performance."
msgstr ""
+"Permet l'utilisation de la hiérarchie de volume englobant au lieu de la "
+"grille de hachage pour le partitionnement spatial physique 2D. Cela peut "
+"donner des meilleures performances."
#: doc/classes/ProjectSettings.xml
msgid ""
"Sets whether the 3D physics world will be created with support for "
"[SoftBody] physics. Only applies to the Bullet physics engine."
msgstr ""
+"Définit si le monde de physique 3D sera créé avec le support de la physique "
+"[SoftBody]. Seulement s'applique au moteur de physique Bullet."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -62393,6 +63486,8 @@ msgid ""
"When batching is on, this regularly prints a frame diagnosis log. Note that "
"this will degrade performance."
msgstr ""
+"Lors de l'affichage en lots, cela affichera régulièrement un diagnostic des "
+"trames. À noter que cela dégrade les performances."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -62440,10 +63535,12 @@ msgid ""
"Turns 2D batching on and off. Batching increases performance by reducing the "
"amount of graphics API drawcalls."
msgstr ""
+"Active ou désactive l'affichage 2D par lots. son activation augmente la "
+"performance en réduisant la quantité d'appels de dessins sur API."
#: doc/classes/ProjectSettings.xml
msgid "Switches on 2D batching within the editor."
-msgstr ""
+msgstr "Active l'affichage 2D par lots dans l'éditeur."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -62451,6 +63548,10 @@ msgid ""
"batches, but there are diminishing returns for the memory used. This should "
"only have a minor effect on performance."
msgstr ""
+"La taille de la mémoire tampon réservé aux sommets par lots. Une plus grande "
+"taille permet des lots plus importants, mais le rapport avec la mémoire "
+"utilisée est plus faible. Cela ne devrait avoir qu'une petite influence sur "
+"les performances."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -62460,6 +63561,12 @@ msgid ""
"code] above which vertices will be translated to colored format. A value of "
"0 will always use colored vertices, 1 will never use colored vertices."
msgstr ""
+"Inclure la couleur dans le format des sommets a un coût, cependant, ne pas "
+"l'inclure empêche le gestion par lots à travers les changements de couleur. "
+"Ce seuil détermine le rapport de [code]nombre de changements de couleur / "
+"nombre total de sommets[/code] à partir duquel les sommets auront un format "
+"avec la couleur. Une valeur de 0 utilisera toujours des sommets colorés, et "
+"1 n'en utilisera jamais."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -62713,6 +63820,11 @@ msgid ""
"You may want to do that since mobile GPUs generally won't support "
"ubershaders due to their complexity."
msgstr ""
+"Une surcharge pour [member rendering/gles3/shaders/shader_compilation_mode], "
+"de sorte que la compilation asynchrone peut être désactivée sur les plates-"
+"formes mobiles.\n"
+"Vous voudrez peut-être le faire puisque les GPU des mobiles ne supportent en "
+"général pas les ubershaders en raison de leur complexité."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -62721,6 +63833,12 @@ msgid ""
"You may want to do that since certain browsers (especially on mobile "
"platforms) generally won't support ubershaders due to their complexity."
msgstr ""
+"Une surcharge pour [member rendering/gles3/shaders/shader_compilation_mode], "
+"de sorte que la compilation asynchrone peut être désactivée sur les "
+"plateformes web.\n"
+"Vous pouvez vouloir le faire puisque certains navigateurs (surtout sur les "
+"plates-formes mobiles) ne supportent en général pas les ubershaders en "
+"raison de leur complexité."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -62751,8 +63869,8 @@ msgid ""
"Max buffer size for drawing immediate objects (ImmediateGeometry nodes). "
"Nodes using more than this size will not work."
msgstr ""
-"La capacity maximale de la mémoire tampon pour le dessin d'objets immédiats ("
-"les nœuds ImmediateGeometry). Les nœuds utilisant plus que cette taille ne "
+"La capacity maximale de la mémoire tampon pour le dessin d'objets immédiats "
+"(les nœuds ImmediateGeometry). Les nœuds utilisant plus que cette taille ne "
"fonctionneront pas."
#: doc/classes/ProjectSettings.xml
@@ -63009,8 +64127,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -63092,6 +64221,9 @@ msgid ""
"Lower-end override for [member rendering/quality/lightmapping/"
"use_bicubic_sampling] on mobile devices, in order to reduce bandwidth usage."
msgstr ""
+"Une surcharge pour les appareils d'entrée de gamme, comme les appareils "
+"mobiles, pour [member rendering/quality/lightmapping/use_bicubic_sampling], "
+"afin de réduire l'utilisation de bande passante."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -63099,12 +64231,18 @@ msgid ""
"higher visual quality, while a smaller size will be faster and take up less "
"memory."
msgstr ""
+"La taille des atlas utilisés par les sondes de réflexion. Une taille plus "
+"grande peut entraîner une qualité visuelle plus élevée, tandis qu'une taille "
+"plus petite sera plus rapide et prendre moins de mémoire."
#: doc/classes/ProjectSettings.xml
msgid ""
"Number of subdivisions to use for the reflection atlas. A higher number "
"lowers the quality of each atlas, but allows you to use more."
msgstr ""
+"Le nombre de sous-divisions à utiliser pour l'atlas de réflexion. Un nombre "
+"plus élevé réduit la qualité de chaque atlas, mais vous permet d'en utiliser "
+"plus."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -63112,6 +64250,10 @@ msgid ""
"variants of reflection probes and panorama backgrounds (sky). Those blurred "
"variants are used by rough materials."
msgstr ""
+"Si [code]true[/code], utilise une grande quantité d'échantillons pour créer "
+"des variantes floues de sondes de réflexion et d'arrière-plans panoramiques "
+"(les ciels). Ces variantes floues sont utilisées par des matériaux avec "
+"rugosité."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -63119,6 +64261,9 @@ msgid ""
"high_quality_ggx] on mobile devices, due to performance concerns or driver "
"support."
msgstr ""
+"Une surcharge pour les appareils d'entrée de gamme, comme les appareils "
+"mobiles, pour [member rendering/quality/reflections/high_quality_ggx], à "
+"cause des potentiels soucis liés aux performances ou aux pilotes."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -63137,6 +64282,10 @@ msgid ""
"probes and panorama backgrounds (sky). This reduces jitter noise on "
"reflections, but costs more performance and memory."
msgstr ""
+"Si [code]true[/code], utilise des tableaux de texture au lieu de mipmaps "
+"pour les sondes de réflexion et les arrière-plans en panorama (ciel). Cela "
+"réduit les effets de bruit \"jitter\" sur les réflexions, mais à réduit les "
+"performances et augmente la mémoire utilisée."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -63144,12 +64293,18 @@ msgid ""
"texture_array_reflections] on mobile devices, due to performance concerns or "
"driver support."
msgstr ""
+"Une surcharge pour les appareils d'entrée de gamme, comme les appareils "
+"mobiles, pour [member rendering/quality/reflections/"
+"texture_array_reflections], à cause des potentiels soucis liés aux "
+"performances ou aux pilotes."
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses faster but lower-quality Blinn model to generate "
"blurred reflections instead of the GGX model."
msgstr ""
+"Si [code]true[/code], utilise le modèle Blinn plus rapide mais de moins "
+"bonne qualité pour générer des réflexions floues au lieu du modèle GGX."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -63157,12 +64312,17 @@ msgid ""
"force_blinn_over_ggx] on mobile devices, due to performance concerns or "
"driver support."
msgstr ""
+"Une surcharge pour les appareils d'entrée de gamme, comme les appareils "
+"mobiles, pour [member rendering/quality/shading/force_blinn_over_ggx], à "
+"cause des potentiels soucis liés aux performances ou aux pilotes."
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses faster but lower-quality Lambert material "
"lighting model instead of Burley."
msgstr ""
+"Si [code]true[/code], utilise le modèle d'éclairage de matériaux Lambert "
+"plus rapide mais de qualité inférieure au modèle Burley."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -63170,6 +64330,9 @@ msgid ""
"force_lambert_over_burley] on mobile devices, due to performance concerns or "
"driver support."
msgstr ""
+"Une surcharge pour les appareils d'entrée de gamme, comme les appareils "
+"mobiles, pour [member rendering/quality/shading/force_lambert_over_burley], "
+"à cause des potentiels soucis liés aux performances ou aux pilotes."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -63337,6 +64500,11 @@ msgid ""
"Try enabling this option if you see any visual anomalies in 3D (such as "
"incorrect object visibility)."
msgstr ""
+"Si [code]true[/code], une version sûre du BVH (\"Bounding Volume "
+"Hierarchy\") entre fils d'exécution sera utilisée dans le rendu et la "
+"physique de Godot.\n"
+"Essayez d'activer cette option si vous voyez des anomalies visuelles en 3D "
+"(comme un visibilité incorrecte pour un objet)."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -63463,9 +64631,9 @@ msgstr ""
"exemple :\n"
"[codeblock]\n"
"var tween = get_tree().create_tween()\n"
-"tween.tween_property(self, \"position\", Vector2(200, 100), 1).from(Vector2("
-"100, 100) # Ça déplacera le nœud de la position (100, 100) jusqu'à (200, 100)"
-"\n"
+"tween.tween_property(self, \"position\", Vector2(200, 100), 1)."
+"from(Vector2(100, 100) # Ça déplacera le nœud de la position (100, 100) "
+"jusqu'à (200, 100)\n"
"/[codeblock]"
#: doc/classes/PropertyTweener.xml
@@ -63486,10 +64654,10 @@ msgstr ""
"départ. Ceci est pareil que [method from] avec la valeur actuelle. Ces deux "
"appels sont identiques :\n"
"[codeblock]\n"
-"tween.tween_property(self, \"position\", Vector2(200, 100), 1).from(position)"
-"\n"
-"tween.tween_property(self, \"position\", Vector2(200, 100), 1).from_current()"
-"\n"
+"tween.tween_property(self, \"position\", Vector2(200, 100), 1)."
+"from(position)\n"
+"tween.tween_property(self, \"position\", Vector2(200, 100), 1)."
+"from_current()\n"
"/[codeblock]"
#: doc/classes/PropertyTweener.xml
@@ -63621,6 +64789,13 @@ msgid ""
"[b]Note:[/b] This signal is [i]not[/i] emitted by default, as the default "
"[member dispatch_mode] is [constant MODE_PROXY]."
msgstr ""
+"Émis lorsque l'utilisateur appelle la méthode [method broadcast] et a défini "
+"[member dispatch_mode] à [constant MODE_SIGNAL].\n"
+"La méthode donnée et ses paramètres sont transmis aux objets qui sont "
+"connectés au signal de cet objet, ainsi qu'à tout nœud [ProximityGroup] où "
+"ce nœud est groupé avec.\n"
+"[b]Note :[/b] Ce signal n'est [i]pas[/i] émis par défaut, car le [member "
+"dispatch_mode] par défaut est [constant MODE_PROXY]."
#: doc/classes/ProximityGroup.xml
msgid "This [ProximityGroup]'s parent will be target of [method broadcast]."
@@ -63685,6 +64860,10 @@ msgid ""
"angles (in the YXZ convention: when decomposing, first Z, then X, and Y "
"last), given in the vector format as (X angle, Y angle, Z angle)."
msgstr ""
+"Construit un quaternion qui effectuera une rotation spécifiée par les angles "
+"d'Euler (suivant la convention YXZ : lors de la décomposition, d'abord Z, "
+"puis X, et enfin Y), donnée dans le format vectoriel comme (angle X, angle "
+"Y, angle Z)."
#: doc/classes/Quat.xml
msgid ""
@@ -63778,8 +64957,8 @@ msgid ""
"convention: when decomposing, first Z, then X, and Y last), given in the "
"vector format as (X angle, Y angle, Z angle)."
msgstr ""
-"Définit le quaternion avec une rotation spécifiée par les angles d'Euler ("
-"selon la convention YXZ : lors de la décomposition, d'abord Z, puis X, et "
+"Définit le quaternion avec une rotation spécifiée par les angles d'Euler "
+"(selon la convention YXZ : lors de la décomposition, d'abord Z, puis X, et "
"enfin Y), donnée dans le format vectoriel comme (angle X, angle Y, angle Z)."
#: doc/classes/Quat.xml
@@ -63789,8 +64968,8 @@ msgid ""
"[b]Note:[/b] Both quaternions must be normalized."
msgstr ""
"Retourne le résultat de l'interpolation linéaire sphérique entre ce "
-"quaternion et [code]to[/code] par la quantité [code]weight[/code] spécifiée."
-"\n"
+"quaternion et [code]to[/code] par la quantité [code]weight[/code] "
+"spécifiée.\n"
"[b]Note :[/b] Les deux quaternions doivent être normalisés."
#: doc/classes/Quat.xml
@@ -64023,11 +65202,11 @@ msgid ""
"configured [member step] and [member page] size. See e.g. [ScrollBar] and "
"[Slider] for examples of higher level nodes using Range."
msgstr ""
-"Range est une classe de base des nœuds [Control] qui change une "
-"[code]value[/code] flottante entre le [code]minimum[/code] et le "
-"[code]maximum[/code], par étape [code]step[/code] et par [code]page[/code], "
-"par exemple un [ScrollBar]. Voir [ScrollBar] et [Slider] pour des exemples "
-"de nœuds de haut niveau utilisant des Range."
+"Range est une classe de base des nœuds [Control] qui change une [code]value[/"
+"code] flottante entre le [code]minimum[/code] et le [code]maximum[/code], "
+"par étape [code]step[/code] et par [code]page[/code], par exemple un "
+"[ScrollBar]. Voir [ScrollBar] et [Slider] pour des exemples de nœuds de haut "
+"niveau utilisant des Range."
#: doc/classes/Range.xml
msgid ""
@@ -64108,6 +65287,10 @@ msgid ""
"[code]value[/code] will first be rounded to a multiple of [code]step[/code] "
"then rounded to the nearest integer."
msgstr ""
+"Si supérieure à 0, [code]value[/code] sera toujours arrondie à un multiple "
+"de [code]step[/code]. Si [code]rounded[/code] est également [code]true[/"
+"code], [code]value[/code] sera d'abord arrondie à un multiple de [code]step[/"
+"code] puis arrondie à l'entier le plus proche."
#: doc/classes/Range.xml
msgid "Range's current value."
@@ -64131,6 +65314,14 @@ msgid ""
"value_changed] is also emitted when [code]value[/code] is set directly via "
"code."
msgstr ""
+"Émis quand [member value] change. Lorsqu'il est utilisé pour un [Slider], "
+"cela s'appelle en continu lors du glissage (voire à chaque trame). Si vous "
+"effectuez une opération coûteuse dans une fonction connectée à [signal "
+"value_changed], essayez d'utiliser un [Timer] pour appeler la fonction moins "
+"souvent.\n"
+"[b]Note :[/b] Contrairement aux signaux tels que [signal LineEdit."
+"text_changed], [signal value_changed] est également émis lorsque "
+"[code]value[/code] est défini directement par code."
#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml
msgid "Query the closest object intersecting a ray."
@@ -64159,12 +65350,16 @@ msgid ""
"Adds a collision exception so the ray does not report collisions with the "
"specified node."
msgstr ""
+"Ajoute une exception de collision afin que le rayon ne signale pas les "
+"collisions avec le nœud spécifié."
#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml
msgid ""
"Adds a collision exception so the ray does not report collisions with the "
"specified [RID]."
msgstr ""
+"Ajoute une exception de collision de sorte que le rayon ne signale pas les "
+"collisions avec le [RID] spécifié."
#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml
msgid "Removes all collision exceptions for this ray."
@@ -64178,6 +65373,12 @@ msgid ""
"changed state.\n"
"[b]Note:[/b] [code]enabled[/code] is not required for this to work."
msgstr ""
+"Met à jour les informations de collision pour le rayon. Utilisez cette "
+"méthode pour mettre à jour les informations de collision immédiatement au "
+"lieu d'attendre le prochain appel à [code]_physics_process[/code], par "
+"exemple si le rayon ou son parent a changé d'état.\n"
+"[b]Note :[/b] [code]enabled[/code] n'est pas nécessaire pour que cela "
+"fonctionne."
#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml
msgid ""
@@ -64185,6 +65386,9 @@ msgid ""
"object is intersecting the ray (i.e. [method is_colliding] returns "
"[code]false[/code])."
msgstr ""
+"Retourne le premier objet que le rayon intersecte, ou [code]null[/code] si "
+"aucun objet n'intersecte le rayon (c'est-à-dire [method is_colliding] "
+"retourne [code]false[/code])."
#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml
msgid ""
@@ -64214,10 +65418,10 @@ msgid ""
"Returns the collision point at which the ray intersects the closest object.\n"
"[b]Note:[/b] This point is in the [b]global[/b] coordinate system."
msgstr ""
-"Retourne le point de collision où le rayon intersecte l'objet le plus proche."
-"\n"
-"[b]Note :[/b] Ce point se trouve dans le système de coordonnées "
-"[b]global[/b]."
+"Retourne le point de collision où le rayon intersecte l'objet le plus "
+"proche.\n"
+"[b]Note :[/b] Ce point se trouve dans le système de coordonnées [b]global[/"
+"b]."
#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml
msgid ""
@@ -64422,8 +65626,8 @@ msgid ""
"are positive."
msgstr ""
"Retourne un [Rect2] avec la même position et aire, modifié de sorte que le "
-"coin supérieur gauche est l'origine et [code]width[/code] et "
-"[code]height[/code] soient positifs."
+"coin supérieur gauche est l'origine et [code]width[/code] et [code]height[/"
+"code] soient positifs."
#: doc/classes/Rect2.xml
msgid "Returns the intersection of this [Rect2] and b."
@@ -64450,8 +65654,8 @@ msgstr ""
"[codeblock]\n"
"# position (-3, 2), size (1, 1)\n"
"var rect = Rect2(Vector2(-3, 2), Vector2(1, 1))\n"
-"# position (-3, -1), size (3, 4), contient donc à la fois `rect` et Vector2("
-"0, -1)\n"
+"# position (-3, -1), size (3, 4), contient donc à la fois `rect` et "
+"Vector2(0, -1)\n"
"var rect2 = rect.expand(Vector2(0, -1))\n"
"/[codeblock]"
@@ -64498,8 +65702,8 @@ msgid ""
"[b]Note:[/b] If the [Rect2] has a negative size and is not flat or empty, "
"[method has_no_area] will return [code]true[/code]."
msgstr ""
-"Retourne [code]true[/code] si le [Rect2] est plat ou vide, ou "
-"[code]false[/code] sinon. Voir aussi [method get_area].\n"
+"Retourne [code]true[/code] si le [Rect2] est plat ou vide, ou [code]false[/"
+"code] sinon. Voir aussi [method get_area].\n"
"[b]Note :[/b] Si le [Rect2] a une taille négative et n'est pas plat ou vide, "
"[method has_no_area] retournera [code]true[/code]."
@@ -66292,8 +67496,8 @@ msgid ""
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
"details about damping."
msgstr ""
-"Amortit les forces de rotation du corps. Si cette valeur est différente de -"
-"1.0, elle sera ajoutée aux amortissements obtenues du monde et des aires.\n"
+"Amortit les forces de rotation du corps. Si cette valeur est différente de "
+"-1.0, elle sera ajoutée aux amortissements obtenues du monde et des aires.\n"
"Voir [membre ProjectSettings.physics/3d/default_angular_damp] pour plus de "
"détails sur l'amortissement."
@@ -67448,7 +68652,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -67609,18 +68815,20 @@ msgstr "La scène actuelle."
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
-"Si [code]true[/code], les formes des collisions seront visibles lors du "
-"lancement du jeu depuis l'éditeur pour aider au débogage."
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
-"Si [code]true[/code], les polygones de navigation seront visibles lors du "
-"lancement du jeu depuis l'éditeur pour aider au débogage."
#: doc/classes/SceneTree.xml
msgid "The root of the edited scene."
@@ -67912,7 +69120,6 @@ msgid ""
msgstr ""
#: doc/classes/SceneTreeTween.xml
-#, fuzzy
msgid ""
"[SceneTreeTween] is a tween managed by the scene tree. As opposed to "
"[Tween], it does not require the instantiation of a node.\n"
@@ -68425,14 +69632,14 @@ msgstr ""
"tween.tween_property($Sprite, \"position\", Vector2(200, 300), 1)\n"
"[/codeblock]\n"
"déplacera la sprite de sa position actuelle à la position (100, 200) puis "
-"ensuite à (200, 300). Si vous utilisez [method PropertyTweener.from] ou ["
-"method PropertyTweener.from_current], la position de départ sera celle "
+"ensuite à (200, 300). Si vous utilisez [method PropertyTweener.from] ou "
+"[method PropertyTweener.from_current], la position de départ sera celle "
"spécifiée et non l'actuelle. Voir les autres méthodes de [PropertyTweener] "
"pour connaitre les possibilités.\n"
"[b]Note :[/b] Vous pouvez trouver les noms corrects des propriétés en "
"survolant ces propriétés dans l'inspecteur de Godot. Vous pouvez aussi "
-"fournir un seul composant de cette propriété directement en utilisant [code]"
-"\"property:component\"[/code] (ex. [code]position:x[/code]), alors "
+"fournir un seul composant de cette propriété directement en utilisant "
+"[code]\"property:component\"[/code] (ex. [code]position:x[/code]), alors "
"l'interpolation ne se fera que sur cet unique composant.\n"
"Exemple : déplacer un objet deux fois depuis la même position vers "
"différentes positions, avec différents types de transition.\n"
@@ -69036,8 +70243,11 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
-msgstr "Le biais du solveur personnalisé de la forme."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
+msgstr ""
#: doc/classes/ShortCut.xml
msgid "A shortcut for binding input."
@@ -69414,6 +70624,8 @@ msgid ""
"If [code]true[/code], the slider can be interacted with. If [code]false[/"
"code], the value can be changed only by code."
msgstr ""
+"Si [code]true[/code], l'utilisateur peut intéragir avec le curseur. Si "
+"[code]false[/code], la valeur ne peut être modifiée que par code."
#: doc/classes/Slider.xml
msgid "If [code]true[/code], the value can be changed using the mouse wheel."
@@ -69426,12 +70638,16 @@ msgid ""
"Number of ticks displayed on the slider, including border ticks. Ticks are "
"uniformly-distributed value markers."
msgstr ""
+"Le nombre de marqueurs affichées sur le curseur, y compris les marqueurs sur "
+"les bords. Les marqueurs représentent des valeurs distribués uniformément."
#: doc/classes/Slider.xml
msgid ""
"If [code]true[/code], the slider will display ticks for minimum and maximum "
"values."
msgstr ""
+"Si [code]true[/code], le curseur affichera des marqueurs pour les valeurs "
+"minimales et maximales."
#: doc/classes/Slider.xml
msgid ""
@@ -69614,6 +70830,8 @@ msgid ""
"Returns the parent [Spatial], or an empty [Object] if no parent exists or "
"parent is not of type [Spatial]."
msgstr ""
+"Retourne le [Spatial] parent, ou un [Object] vide si aucun parent n'existe "
+"ou si le parent n'est pas de type [Spatial]."
#: doc/classes/Spatial.xml
msgid ""
@@ -69626,6 +70844,9 @@ msgid ""
"Rotates the global (world) transformation around axis, a unit [Vector3], by "
"specified angle in radians. The rotation axis is in global coordinate system."
msgstr ""
+"Pivote la transformation globale autour de l'axe, un [Vector3] unitaire, par "
+"angle spécifié en radians. L'axe de rotation est dans le système de "
+"coordonnées global."
#: doc/classes/Spatial.xml
msgid ""
@@ -69640,6 +70861,8 @@ msgid ""
"Moves the global (world) transformation by [Vector3] offset. The offset is "
"in global coordinate system."
msgstr ""
+"Déplace la transformation globale par le décalage [Vector3 offset]. Le "
+"décalage est dans le système de coordonnées global."
#: doc/classes/Spatial.xml
msgid ""
@@ -69653,12 +70876,16 @@ msgid ""
"Returns whether node notifies about its local transformation changes. "
"[Spatial] will not propagate this by default."
msgstr ""
+"Retourne si le nœud notifie ses changements de transformation locale. "
+"[Spatial] ne le propage pas par défaut."
#: doc/classes/Spatial.xml
msgid ""
"Returns whether this node uses a scale of [code](1, 1, 1)[/code] or its "
"local transformation scale."
msgstr ""
+"Retourne si ce nœud utilise une échelle de [code](1, 1, 1)[/code] ou son "
+"échelle de transformation locale."
#: doc/classes/Spatial.xml
msgid ""
@@ -69671,6 +70898,20 @@ msgid ""
"Returns whether the node notifies about its global and local transformation "
"changes. [Spatial] will not propagate this by default."
msgstr ""
+"Retourne si le nœud notifie ses changements de transformation globale et "
+"locale. [Spatial] ne le propage pas par défaut."
+
+#: doc/classes/Spatial.xml
+msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+"Retourne [code]true[/code] si le nœud est présent dans le [SceneTree], que "
+"sa propriété [member visible] est [code]true[/code] et que tous ses parents "
+"sont également visibles. Si un parent est caché, ce nœud ne sera pas visible "
+"dans l'arborescence de la scène."
#: doc/classes/Spatial.xml
msgid ""
@@ -69693,6 +70934,9 @@ msgid ""
"itself to point toward the [code]target[/code] as per [method look_at]. "
"Operations take place in global space."
msgstr ""
+"Déplace le nœud vers la [code]position[/code] spécifiée, puis pivote vers la "
+"cible [code]target[/code] comme avec [method look_at]. Les opérations se "
+"déroulent dans l'espace global."
#: doc/classes/Spatial.xml
msgid ""
@@ -69706,12 +70950,17 @@ msgid ""
"Rotates the local transformation around axis, a unit [Vector3], by specified "
"angle in radians."
msgstr ""
+"Pivote la transformation locale autour de l'axe, un [Vector3] unitaire, par "
+"angle spécifié en radians."
#: doc/classes/Spatial.xml
msgid ""
"Rotates the local transformation around axis, a unit [Vector3], by specified "
"angle in radians. The rotation axis is in object-local coordinate system."
msgstr ""
+"Pivote la transformation locale autour de l'axe, un [Vector3] unitaire, par "
+"angle spécifié en radians. L'axe de rotation est dans le système de "
+"coordonnées local à l'objet."
#: doc/classes/Spatial.xml
msgid "Rotates the local transformation around the X axis by angle in radians."
@@ -69749,24 +70998,33 @@ msgid ""
"transformation scale. Changes to the local transformation scale are "
"preserved."
msgstr ""
+"Définit si le nœud utilise une échelle de [code](1, 1, 1)[/code] ou son "
+"échelle de transformation locale. Les changements de l'échelle de "
+"transformation locale sont préservés."
#: doc/classes/Spatial.xml
msgid ""
"Reset all transformations for this node (sets its [Transform] to the "
"identity matrix)."
msgstr ""
+"Réinitialise toutes les transformations pour ce nœud (définit sa [Transform] "
+"avec une matrice d'identité)."
#: doc/classes/Spatial.xml
msgid ""
"Sets whether the node ignores notification that its transformation (global "
"or local) changed."
msgstr ""
+"Définit si le nœud ignore la notification que sa transformation (globale ou "
+"locale) a changé."
#: doc/classes/Spatial.xml
msgid ""
"Sets whether the node notifies about its local transformation changes. "
"[Spatial] will not propagate this by default."
msgstr ""
+"Définit si le nœud notifie ses changements de transformation locale. "
+"[Spatial] ne le propage pas par défaut."
#: doc/classes/Spatial.xml
msgid ""
@@ -69774,6 +71032,9 @@ msgid ""
"changes. [Spatial] will not propagate this by default, unless it is in the "
"editor context and it has a valid gizmo."
msgstr ""
+"Définit si le nœud notifie ses changements de transformation globale et "
+"locale. [Spatial] ne le propage pas par défaut, sauf dans le contexte de "
+"l'éditeur et a un manipulateur valide."
#: doc/classes/Spatial.xml
msgid ""
@@ -69844,6 +71105,8 @@ msgid ""
"Global position of this node. This is equivalent to [code]global_transform."
"origin[/code]."
msgstr ""
+"La position globale de ce nœud. Ceci est équivalent à [code]global_transform."
+"origin[/code]."
#: doc/classes/Spatial.xml
msgid ""
@@ -69863,6 +71126,8 @@ 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 ""
+"La partie rotation de la transformation locale, en degrés, spécifiée en "
+"termes d'angles YXZ d'Euler dans le format (angle X, angle Y puis angle Z)."
#: doc/classes/Spatial.xml
msgid ""
@@ -69995,6 +71260,9 @@ msgid ""
"Sets the [Texture] to be used by the specified [enum TextureParam]. This "
"function is called when setting members ending in [code]*_texture[/code]."
msgstr ""
+"Définit la [Texture] à utiliser par le [enum TextureParam] spécifié. Cette "
+"fonction est appelée lorsque les membres se terminent par [code]*_texture[/"
+"code]."
#: doc/classes/SpatialMaterial.xml
msgid "The material's base color."
@@ -70025,7 +71293,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -70048,6 +71318,8 @@ msgid ""
"If [code]true[/code], ambient occlusion is enabled. Ambient occlusion "
"darkens areas based on the [member ao_texture]."
msgstr ""
+"Si [code]true[/code], l'occlusion ambiante est activée. L'occlusion ambiante "
+"assombrit les zones basées sur [member ao_texture]."
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -70167,12 +71439,16 @@ msgstr ""
msgid ""
"Scales the depth offset effect. A higher number will create a larger depth."
msgstr ""
+"Met à l'échelle l'effet de décalage de profondeur. Un nombre plus élevé "
+"créera une profondeur plus grande."
#: doc/classes/SpatialMaterial.xml
msgid ""
"Texture used to determine depth at a given pixel. Depth is always stored in "
"the red channel."
msgstr ""
+"La texture déterminant la profondeur à un pixel donné. La profondeur est "
+"toujours enregistrée dans le canal pour la couleur rouge."
#: doc/classes/SpatialMaterial.xml
msgid "Texture that specifies the color of the detail overlay."
@@ -70183,6 +71459,8 @@ msgid ""
"Specifies how the [member detail_albedo] should blend with the current "
"[code]ALBEDO[/code]. See [enum BlendMode] for options."
msgstr ""
+"Spécifie comment [member detail_albedo] devrait se mélanger avec l'actuel "
+"[code]ALBEDO[/code]. Voir [enum BlendMode] pour les options."
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -70197,6 +71475,8 @@ msgid ""
"Texture used to specify how the detail textures get blended with the base "
"textures."
msgstr ""
+"La texture utilisée pour spécifier comment les textures de détail se "
+"mélangent avec les textures de base."
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -70315,6 +71595,8 @@ msgid ""
"If [code]true[/code], transparency is enabled on the body. See also [member "
"params_blend_mode]."
msgstr ""
+"Si [code]true[/code], la transparence est activée sur le corps. Voir aussi "
+"[member params_blend_mode]."
#: doc/classes/SpatialMaterial.xml
msgid "If [code]true[/code], the object is unaffected by lighting."
@@ -70326,6 +71608,10 @@ msgid ""
"[b]Note:[/b] This is only effective for objects whose geometry is point-"
"based rather than triangle-based. See also [member params_point_size]."
msgstr ""
+"Si [code]true[/code], la taille de rendu des points peut être modifiée.\n"
+"[b]Note :[/b] Ce n'est efficace que pour les objets dont la géométrie est "
+"définie à partir de points plutôt que de triangles. Voir aussi [member "
+"params_point_size]."
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -70400,11 +71686,11 @@ msgstr ""
#: doc/classes/SpatialMaterial.xml
msgid "If [code]true[/code], normal mapping is enabled."
-msgstr ""
+msgstr "Si [code]true[/code], la carte normale est activée."
#: doc/classes/SpatialMaterial.xml
msgid "The strength of the normal map's effect."
-msgstr ""
+msgstr "L'intensité de l'effet de la carte normale."
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -70452,23 +71738,30 @@ msgid ""
"Which side of the object is not drawn when backfaces are rendered. See [enum "
"CullMode]."
msgstr ""
+"Quel côté de l'objet n'est pas dessiné lorsque les faces arrière sont "
+"rendues. Voir [enum CullMode]."
#: doc/classes/SpatialMaterial.xml
msgid ""
"Determines when depth rendering takes place. See [enum DepthDrawMode]. See "
"also [member flags_transparent]."
msgstr ""
+"Détermine quand le rendu de profondeur a lieu. Voir [enum DepthDrawMode]. "
+"Voir aussi [member flags_transparent]."
#: doc/classes/SpatialMaterial.xml
msgid ""
"The algorithm used for diffuse light scattering. See [enum DiffuseMode]."
msgstr ""
+"L'algorithme utilisé pour diffuser la lumière. Voir [enum DiffuseMode]."
#: doc/classes/SpatialMaterial.xml
msgid ""
"If [code]true[/code], enables the vertex grow setting. See [member "
"params_grow_amount]."
msgstr ""
+"Si [code]true[/code], active l'inflation des sommets. Voir [member "
+"params_grow_amount]."
#: doc/classes/SpatialMaterial.xml
msgid "Grows object vertices in the direction of their normals."
@@ -70491,6 +71784,8 @@ msgid ""
"If [code]true[/code], the shader will discard all pixels that have an alpha "
"value less than [member params_alpha_scissor_threshold]."
msgstr ""
+"Si [code]true[/code], le shadow ignorera tous les pixels ayant une valeur "
+"d'opacité inférieure à [member params_alpha_scisor_threshold]."
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -70498,12 +71793,18 @@ msgid ""
"when using [constant BILLBOARD_PARTICLES]. See [member "
"params_billboard_mode]."
msgstr ""
+"Le nombre de trames horizontales dans la feuille de sprite de particules. "
+"Seulement activé avec [constant BILLBOARD_PARTICLES]. Voir [member "
+"params_billboard_mode]."
#: doc/classes/SpatialMaterial.xml
msgid ""
"If [code]true[/code], particle animations are looped. Only enabled when "
"using [constant BILLBOARD_PARTICLES]. See [member params_billboard_mode]."
msgstr ""
+"Si [code]true[/code], les animations de particules sont en boucle. Seulement "
+"activé avec [constant BILLBOARD_PARTICLES]. Voir [member "
+"params_billboard_mode]."
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -70511,12 +71812,17 @@ msgid ""
"when using [constant BILLBOARD_PARTICLES]. See [member "
"params_billboard_mode]."
msgstr ""
+"Le nombre de trames verticales dans la feuille de sprite de particules. "
+"Seulement activé avec [constant BILLBOARD_PARTICLES]. Voir [member "
+"params_billboard_mode]."
#: doc/classes/SpatialMaterial.xml
msgid ""
"Distance over which the fade effect takes place. The larger the distance the "
"longer it takes for an object to fade."
msgstr ""
+"Distance sur laquelle l'effet de disparition se produit. Plus la distance "
+"est grande, plus l'objet disparait progressivement."
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -70537,6 +71843,8 @@ msgid ""
"The strength of the refraction effect. Higher values result in a more "
"distorted appearance for the refraction."
msgstr ""
+"L'intensité de l'effet de réfraction. Des valeurs plus élevées entraînent "
+"une apparence plus déformée pour la réfraction."
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -70586,6 +71894,9 @@ msgid ""
"while a value of [code]1[/code] completely blurs the reflection. See also "
"[member metallic]."
msgstr ""
+"La réflexion de surface. Une valeur de [code]0[/code] représente un miroir "
+"parfait alors qu'une valeur de [code]1[/code] rend le reflet complètement "
+"flou. Voir aussi [member metallic]."
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -70616,6 +71927,8 @@ msgid ""
"The color used by the transmission effect. Represents the light passing "
"through an object."
msgstr ""
+"La couleur utilisée pour l'effet de transmission. Représente la lumière "
+"passant à travers un objet."
#: doc/classes/SpatialMaterial.xml
msgid "If [code]true[/code], the transmission effect is enabled."
@@ -70626,6 +71939,8 @@ msgid ""
"Texture used to control the transmission effect per-pixel. Added to [member "
"transmission]."
msgstr ""
+"La texture utilisée pour contrôler l'effet de transmission par pixel. Ajouté "
+"à [member transmission]."
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -70633,12 +71948,17 @@ msgid ""
"added to [code]UV[/code] in the vertex function. This can be used to offset "
"a texture."
msgstr ""
+"La quantité des coordonnées [code]UV[/code] à décaler. Cette quantité sera "
+"ajoutée à [code]UV[/code] dans la fonction \"vertex\". Cela peut être "
+"utilisé pour décaler une texture."
#: doc/classes/SpatialMaterial.xml
msgid ""
"How much to scale the [code]UV[/code] coordinates. This is multiplied by "
"[code]UV[/code] in the vertex function."
msgstr ""
+"La mise à l'échelle des coordonnées [code]UV[/code]. Ceci est multiplié par "
+"[code]UV[/code] dans la fonction \"vertex\"."
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -70666,12 +71986,17 @@ msgid ""
"added to [code]UV2[/code] in the vertex function. This can be used to offset "
"a texture."
msgstr ""
+"La quantité des coordonnées [code]UV2[/code] à décaler. Cette quantité sera "
+"ajoutée à [code]UV2[/code] dans la fonction \"vertex\". Cela peut être "
+"utilisé pour décaler une texture."
#: doc/classes/SpatialMaterial.xml
msgid ""
"How much to scale the [code]UV2[/code] coordinates. This is multiplied by "
"[code]UV2[/code] in the vertex function."
msgstr ""
+"La mise à l'échelle des coordonnées [code]UV2[/code]. Ceci est multiplié par "
+"[code]UV2[/code] dans la fonction \"vertex\"."
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -70844,6 +72169,8 @@ msgid ""
"Default blend mode. The color of the object is blended over the background "
"based on the object's alpha value."
msgstr ""
+"Le mode de mélange par défaut. La couleur de l'objet est mélangée sur "
+"l'arrière-plan en fonction de l'opacité de l'objet."
#: doc/classes/SpatialMaterial.xml
msgid "The color of the object is added to the background."
@@ -70866,6 +72193,8 @@ msgstr ""
#: doc/classes/SpatialMaterial.xml
msgid "Depth draw is calculated for both opaque and transparent objects."
msgstr ""
+"Le dessin de la profondeur est calculé pour des objets opaques et aussi "
+"transparents."
#: doc/classes/SpatialMaterial.xml
msgid "No depth draw."
@@ -70876,6 +72205,8 @@ msgid ""
"For transparent objects, an opaque pass is made first with the opaque parts, "
"then transparency is drawn."
msgstr ""
+"Pour les objets transparents, une passe opaque est faite d'abord avec les "
+"parties opaques, puis la transparence est dessinée."
#: doc/classes/SpatialMaterial.xml
msgid "Default cull mode. The back of the object is culled when not visible."
@@ -70904,6 +72235,8 @@ msgid ""
"Lighting is calculated per-vertex rather than per-pixel. This can be used to "
"increase the speed of the shader at the cost of quality."
msgstr ""
+"L'éclairage est calculé par sommet plutôt que par pixel. Cela peut être "
+"utilisé pour améliorer la vitesse du shader mais réduit la qualité visuelle."
#: doc/classes/SpatialMaterial.xml
msgid "Set [code]ALBEDO[/code] to the per-vertex color specified in the mesh."
@@ -70916,6 +72249,8 @@ msgid ""
"Vertex color is in sRGB space and needs to be converted to linear. Only "
"applies in the GLES3 renderer."
msgstr ""
+"La couleur des sommets est dans l'espace sRGB et doit être convertie en "
+"linéaire. Seulement ne s'applique qu'au rendu GLES3."
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -70923,11 +72258,16 @@ msgid ""
"albedo texture lookup to use [code]POINT_COORD[/code] instead of [code]UV[/"
"code]."
msgstr ""
+"Utilise la taille d'affichage des points pour modifier pour les primitives "
+"de points. Change également la projection des textures albedo en utilisant "
+"[code]POINT_COORD[/code] au lieu de [code]UV[/code]."
#: doc/classes/SpatialMaterial.xml
msgid ""
"Object is scaled by depth so that it always appears the same size on screen."
msgstr ""
+"L'objet est mise à l'échelle suivant sa profondeur pour qu'il apparaisse "
+"toujours la même taille à l'écran."
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -70935,6 +72275,9 @@ msgid ""
"when billboarding. Only applies when [member params_billboard_mode] is "
"[constant BILLBOARD_ENABLED]."
msgstr ""
+"Le shader gardera l'échelle pour le maillage. Sinon, la mise à l'échelle "
+"sera ignoré lors de l'affichage en mode panneau. Ne s'applique que quand "
+"[member params_billboard_mode] est [constant BILLBOARD_ENABLED]."
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -70978,6 +72321,8 @@ msgid ""
"Use world coordinates in the triplanar texture lookup instead of local "
"coordinates."
msgstr ""
+"Utilise les coordonnées globales pour la projection de la texture "
+"triplanaire au lieu des coordonnées locales."
#: doc/classes/SpatialMaterial.xml
msgid "Forces the shader to convert albedo from sRGB space to linear space."
@@ -71007,17 +72352,18 @@ msgid "Default diffuse scattering algorithm."
msgstr ""
#: doc/classes/SpatialMaterial.xml
-#, fuzzy
msgid "Diffuse scattering ignores roughness."
msgstr "La diffusion diffuse ignore la rugosité."
#: doc/classes/SpatialMaterial.xml
msgid "Extends Lambert to cover more than 90 degrees when roughness increases."
msgstr ""
+"Étend le calcul Lambert pour couvrir plus de 90 degrés quand la rugosité "
+"augmente."
#: doc/classes/SpatialMaterial.xml
msgid "Attempts to use roughness to emulate microsurfacing."
-msgstr ""
+msgstr "Tente d'utiliser la rugosité pour simuler le microsurfaçage."
#: doc/classes/SpatialMaterial.xml
msgid "Uses a hard cut for lighting, with smoothing affected by roughness."
@@ -71042,7 +72388,6 @@ msgid "No specular blob."
msgstr "Pas de blob spéculaire."
#: doc/classes/SpatialMaterial.xml
-#, fuzzy
msgid "Billboard mode is disabled."
msgstr "Le mode d'affichage est désactivé."
@@ -71061,6 +72406,12 @@ msgid ""
"The [member ParticlesMaterial.anim_speed] or [member CPUParticles."
"anim_speed] should also be set to a positive value for the animation to play."
msgstr ""
+"Utilisé pour les systèmes de particules lorsqu'ils sont affectés aux nœuds "
+"[Particles] et [CPUParticles]. Active les propriétés [code]particles_anim_*[/"
+"code].\n"
+"[member ParticlesMaterial.anim_speed] ou [member CPUParticles.anim_speed] "
+"devrait également être défini à une valeur positive pour que l'animation "
+"soit jouée."
#: doc/classes/SpatialMaterial.xml
msgid "Used to read from the red channel of a texture."
@@ -71095,6 +72446,8 @@ msgid ""
"Smoothly fades the object out based on each pixel's distance from the camera "
"using the alpha channel."
msgstr ""
+"Fait disparaitre doucement l'objet en fonction de la distance de chaque "
+"pixel par rapport à la caméra en utilisant l'opacité."
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -71145,6 +72498,10 @@ msgid ""
"[b]Note:[/b] To get a regular hemisphere, the height and radius of the "
"sphere must be equal."
msgstr ""
+"Si [code]true[/code], un hémisphère (une demi-sphère) est créé plutôt qu'une "
+"sphère entière.\n"
+"[b]Note :[/b] Pour obtenir un hémisphère uniforme, la hauteur et le rayon "
+"doivent être identiques."
#: doc/classes/SphereMesh.xml
msgid "Number of radial segments on the sphere."
@@ -71167,6 +72524,9 @@ msgid ""
"Sphere shape for 3D collisions, which can be set into a [PhysicsBody] or "
"[Area]. This shape is useful for modeling sphere-like 3D objects."
msgstr ""
+"Une forme sphérique pour les collisions 3D, qui peut être placée dans un "
+"[PhysicsBody] ou une [Area]. Cette forme est utile pour modéliser des objets "
+"3D sphériques."
#: doc/classes/SphereShape.xml
msgid "The sphere's radius. The shape's diameter is double the radius."
@@ -71279,18 +72639,25 @@ msgid ""
"Container for splitting two [Control]s vertically or horizontally, with a "
"grabber that allows adjusting the split offset or ratio."
msgstr ""
+"Un conteneur pour diviser deux [Control] verticalement ou horizontalement, "
+"avec un séparateur pour régler le décalage ou le rapport entre ces deux "
+"contrôles."
#: doc/classes/SplitContainer.xml
msgid ""
"Clamps the [member split_offset] value to not go outside the currently "
"possible minimal and maximum values."
msgstr ""
+"Limite la valeur [member split_offset] pour rester dans l'intervalle défini "
+"entre les valeurs minimale et maximale actuellement possibles."
#: doc/classes/SplitContainer.xml
msgid ""
"If [code]true[/code], the area of the first [Control] will be collapsed and "
"the dragger will be disabled."
msgstr ""
+"Si [code]true[/code], le premier [Control] sera masqué et le glisseur "
+"désactivé."
#: doc/classes/SplitContainer.xml
msgid ""
@@ -71305,6 +72672,8 @@ msgid ""
"The initial offset of the splitting between the two [Control]s, with "
"[code]0[/code] being at the end of the first [Control]."
msgstr ""
+"Le décalage initial de la séparation entre les deux [Control], avec [code]0[/"
+"code] étant la fin du premier [Control]."
#: doc/classes/SplitContainer.xml
msgid "Emitted when the dragger is dragged by user."
@@ -71315,7 +72684,6 @@ msgid "The split dragger is visible when the cursor hovers it."
msgstr "Le dragueur fractionné est visible quand le curseur le survole."
#: doc/classes/SplitContainer.xml
-#, fuzzy
msgid "The split dragger is never visible."
msgstr "Le dragueur fractionné n’est jamais visible."
@@ -71385,6 +72753,8 @@ msgid ""
"Adds the [PhysicsBody] object with the given [RID] to the list of "
"[PhysicsBody] objects excluded from the collision check."
msgstr ""
+"Ajoute l'objet [PhysicsBody] à la liste des objets [PhysicsBody] ignorés "
+"lors de la vérification des collisions."
#: doc/classes/SpringArm.xml
msgid ""
@@ -71402,6 +72772,8 @@ msgid ""
"Removes the given [RID] from the list of [PhysicsBody] objects excluded from "
"the collision check."
msgstr ""
+"Supprime le [RID] de la liste des objets [PhysicsBody] ignorés de la "
+"vérification des collisions."
#: doc/classes/SpringArm.xml
msgid ""
@@ -71410,6 +72782,10 @@ msgid ""
"and-masks]Collision layers and masks[/url] in the documentation for more "
"information."
msgstr ""
+"Les calques selon lesquels le contrôle des collisions doit être effectué. "
+"Voir [url=$DOCS_URL/tutorials/physics/physics_introduction.html#collision-"
+"layers-and-masks]Calques et masques de collision[/url] dans la documentation "
+"pour plus d'informations."
#: doc/classes/SpringArm.xml
msgid ""
@@ -71429,6 +72805,9 @@ msgid ""
"When the shape is set, the SpringArm will cast the [Shape] on its z axis "
"instead of performing a ray cast."
msgstr ""
+"La [Shape] à utiliser pour le SpringArm.\n"
+"Lorsque la forme est définie, le SpringArm lancera le [Shape] sur son axe Z "
+"au lieu d'exécuter un lancer de rayon."
#: doc/classes/SpringArm.xml
msgid ""
@@ -71438,6 +72817,11 @@ msgid ""
"To know more about how to perform a shape cast or a ray cast, please consult "
"the [PhysicsDirectSpaceState] documentation."
msgstr ""
+"L'étendue maximale du SpringArm. Il s'agit d'une longueur tant pour le rayon "
+"que pour la forme utilisée à l'intérieur pour calculer la position souhaitée "
+"pour les nœuds enfants du SpringArm.\n"
+"Pour en savoir plus sur la façon d'effectuer un lancer de forme ou de rayon, "
+"veuillez consulter la documentation de [PhysicsDirectSpaceState]."
#: doc/classes/Sprite.xml
msgid "General-purpose sprite node."
@@ -71448,6 +72832,9 @@ msgid ""
"A node that displays a 2D texture. The texture displayed can be a region "
"from a larger atlas texture, or a frame from a sprite sheet animation."
msgstr ""
+"Un nœud qui affiche une texture 2D. La texture affichée peut être une région "
+"à partir d'une texture plus grande de l'atlas, ou d'une trame d'une "
+"animation de feuille de sprite."
#: doc/classes/Sprite.xml
msgid ""
@@ -71461,6 +72848,16 @@ msgid ""
" print(\"A click!\")\n"
"[/codeblock]"
msgstr ""
+"Retourne un [Rect2] représentant la taille englobante du Sprite dans les "
+"coordonnées locales. Peut être utilisé pour détecter si le Sprite a été "
+"cliqué. Par exemple :\n"
+"[codeblock]\n"
+"func _input(event):\n"
+" if event is InputEventMouseButton and event.pressed and event."
+"button_index == BUTTON_LEFT:\n"
+" if get_rect().has_point(to_local(event.position)):\n"
+" print(\"Un clic !\")\n"
+"[/codeblock]"
#: doc/classes/Sprite.xml
msgid ""
@@ -71469,6 +72866,10 @@ msgid ""
"[b]Note:[/b] It also returns [code]false[/code], if the sprite's texture is "
"[code]null[/code] or if the given position is invalid."
msgstr ""
+"Retourne [code]true[/code], si le pixel à la position donnée est opaque, ou "
+"[code]false[/code] sinon.\n"
+"[b]Note :[/b] Retourne également [code]false[/code] si la texture du sprite "
+"est [code]null[/code] ou si la position donnée est invalide."
#: doc/classes/Sprite.xml
msgid "If [code]true[/code], texture is centered."
@@ -71479,6 +72880,8 @@ msgid ""
"Current frame to display from sprite sheet. [member hframes] or [member "
"vframes] must be greater than 1."
msgstr ""
+"La trame actuelle à afficher dans la feuille de sprite. [membres hframes] ou "
+"[membres vframes] doivent être supérieurs à 1."
#: doc/classes/Sprite.xml doc/classes/Sprite3D.xml
msgid ""
@@ -71486,6 +72889,9 @@ msgid ""
"for the [member frame] property. [member hframes] or [member vframes] must "
"be greater than 1."
msgstr ""
+"Les coordonnées de la trame à afficher de la feuille de sprite. Il s'agit "
+"d'un raccourci de la propriété [member frame]. [membres hframes] ou [membres "
+"vframes] doivent être supérieurs à 1."
#: doc/classes/Sprite.xml doc/classes/Sprite3D.xml
msgid "The number of columns in the sprite sheet."
@@ -71546,6 +72952,9 @@ msgid ""
"can be a region from a larger atlas texture, or a frame from a sprite sheet "
"animation."
msgstr ""
+"Un nœud qui affiche une texture 2D dans un environnement 3D. La texture "
+"affichée peut être une région à partir d'une texture plus grande de l'atlas, "
+"ou d'une trame d'une animation de feuille de sprite."
#: doc/classes/Sprite3D.xml
msgid ""
@@ -71556,10 +72965,13 @@ msgstr ""
"atlas. Voir [member region_rect]."
#: doc/classes/Sprite3D.xml
+#, fuzzy
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
+"La [Texture] à dessiner. Si [member GeometryInstance.material_override] est "
+"utilisé, cette dernière sera utilisée."
#: doc/classes/SpriteBase3D.xml
msgid "2D sprite node in 3D environment."
@@ -71587,6 +72999,8 @@ msgid ""
"If [code]true[/code], texture can be seen from the back as well, if "
"[code]false[/code], it is invisible when looking at it from behind."
msgstr ""
+"Si [code]true[/code], la texture est aussi affichée de dos, si [code]false[/"
+"code], elle est invisible de dos."
#: doc/classes/SpriteBase3D.xml
msgid ""
@@ -71632,8 +73046,8 @@ msgid ""
msgstr ""
"Définit la priorité de rendu pour le texte. Les objets plus prioritaires "
"seront affichés par-dessus les objets les moins prioritaites.\n"
-"[b]Note :[/b] Cela ne s'applique que si [member alpha_cut] est défini à ["
-"constant ALPHA_CUT_DISABLED] (c'est la valeur par défaut).\n"
+"[b]Note :[/b] Cela ne s'applique que si [member alpha_cut] est défini à "
+"[constant ALPHA_CUT_DISABLED] (c'est la valeur par défaut).\n"
"[b]Note :[/b] Cela ne s'applique qu'au tri des objets transparents. Cela "
"n'affectera pas la façon dont les objets transparents sont triés par rapport "
"aux objets opaques. C'est parce que les objets opaques ne sont pas triés, "
@@ -71645,33 +73059,43 @@ msgid ""
"If [code]true[/code], the [Light] in the [Environment] has effects on the "
"sprite."
msgstr ""
+"Si [code]true[/code], une [Light] dans le [Environment] a des effets sur le "
+"sprite."
#: doc/classes/SpriteBase3D.xml
msgid ""
"If [code]true[/code], the texture's transparency and the opacity are used to "
"make those parts of the sprite invisible."
msgstr ""
+"Si [code]true[/code], la transparence et l'opacité des textures sont "
+"utilisées pour rendre invisibles ces parties du sprite."
#: doc/classes/SpriteBase3D.xml
msgid ""
"If set, the texture's transparency and the opacity are used to make those "
"parts of the sprite invisible."
msgstr ""
+"Si elle est définie, la transparence de la texture et l'opacité sont "
+"utilisées pour rendre invisibles ces parties du sprite."
#: doc/classes/SpriteBase3D.xml
msgid "If set, lights in the environment affect the sprite."
-msgstr ""
+msgstr "Si définies, les lumières dans l'environnement affecte le sprite."
#: doc/classes/SpriteBase3D.xml
msgid ""
"If set, texture can be seen from the back as well, if not, it is invisible "
"when looking at it from behind."
msgstr ""
+"Si défini, la texture est aussi visible de derrière, sinon, elle est "
+"invisible quand on la regarde de derrière."
#: doc/classes/SpriteBase3D.xml
msgid ""
"Sprite is scaled by depth so that it always appears the same size on screen."
msgstr ""
+"Sprite est mise à l'échelle suivant sa profondeur pour qu'elle apparaisse "
+"toujours avec la même taille à l'écran."
#: doc/classes/SpriteFrames.xml
msgid "Sprite frame library for AnimatedSprite and AnimatedSprite3D."
@@ -71708,6 +73132,8 @@ msgid ""
"Returns [code]true[/code] if the given animation is configured to loop when "
"it finishes playing. Otherwise, returns [code]false[/code]."
msgstr ""
+"Retourne [code]true[/code] si l'animation donnée est configurée pour boucler "
+"lorsqu'elle termine de jouer. Sinon, retourne [code]false[/code]."
#: doc/classes/SpriteFrames.xml
msgid ""
@@ -71785,12 +73211,16 @@ msgid ""
"The body's constant angular velocity. This does not rotate the body, but "
"affects other bodies that touch it, as if it was in a state of rotation."
msgstr ""
+"La vitesse angulaire constante du corps. Cela ne tourne pas le corps, mais "
+"affecte les autres corps qui le touchent, comme s'il pivotait."
#: doc/classes/StaticBody.xml
msgid ""
"The body's constant linear velocity. This does not move the body, but "
"affects other bodies that touch it, as if it was in a state of movement."
msgstr ""
+"La vitesse linéaire constante du corps. Cela ne déplace pas le corps, mais "
+"affecte les autres corps qui le touchent, comme s'il se déplaçait."
#: doc/classes/StaticBody.xml
msgid ""
@@ -71827,12 +73257,16 @@ msgid ""
"The body's constant angular velocity. This does not rotate the body, but "
"affects colliding bodies, as if it were rotating."
msgstr ""
+"La vitesse angulaire constante du corps. Cela ne tourne pas le corps, mais "
+"affecte les autres corps qui le touchent, comme s'il pivotait."
#: doc/classes/StaticBody2D.xml
msgid ""
"The body's constant linear velocity. This does not move the body, but "
"affects colliding bodies, as if it were moving."
msgstr ""
+"La vitesse linéaire constante du corps. Cela ne déplace pas le corps, mais "
+"affecte les autres corps qui le touchent, comme s'il se déplaçait."
#: doc/classes/StaticBody2D.xml
msgid ""
@@ -71841,6 +73275,10 @@ msgid ""
"Deprecated, use [member PhysicsMaterial.friction] instead via [member "
"physics_material_override]."
msgstr ""
+"Le frottement du corps. Les valeurs vont de [code]0[/code] (pas de friction) "
+"à [code]1[/code] (friction complète).\n"
+"Obsolète, utilisez plutôt [member PhysicsMaterial.friction] avec [member "
+"physics_material_override]."
#: doc/classes/StreamPeer.xml
msgid "Abstraction and base class for stream-based protocols."
@@ -71852,6 +73290,9 @@ msgid ""
"as TCP). It provides an API for sending and receiving data through streams "
"as raw data or strings."
msgstr ""
+"StreamPeer est une classe abstraite de base pour les protocoles à base de "
+"flux (comme TCP). Elle fournit une API pour l'envoi et la réception de "
+"données par les flux sous forme de données brutes ou textuelles."
#: doc/classes/StreamPeer.xml
msgid "Gets a signed 16-bit value from the stream."
@@ -71881,6 +73322,11 @@ msgid ""
"received. This function returns two values, an [enum @GlobalScope.Error] "
"code and a data array."
msgstr ""
+"Retourne les morceaux de données avec les octets reçus. Le nombre d'octets à "
+"recevoir peut être spécifié dans l'argument [code]bytes[/code]. Si pas assez "
+"d'octets sont disponibles, la fonction bloquera jusqu'à ce que la quantité "
+"demandée soit reçu. Cette fonction retourne deux valeurs : un code [enum "
+"@GlobalScope.Error] et un tableau de données."
#: doc/classes/StreamPeer.xml
msgid "Gets a double-precision float from the stream."
@@ -71898,6 +73344,11 @@ msgid ""
"function returns two values, an [enum @GlobalScope.Error] code, and a data "
"array."
msgstr ""
+"Retourne les morceaux de données avec les octets. Le nombre d'octets à "
+"recevoir peut être spécifié dans l'argument [code]byts[/code]. Si pas assez "
+"d'octets sont disponibles, la fonction retournera combien ont effectivement "
+"été reçus. Cette fonction retourne deux valeurs : un code [enum @GlobalScope."
+"Error] et un tableau de données."
#: doc/classes/StreamPeer.xml
msgid ""
@@ -71905,6 +73356,9 @@ msgid ""
"[code]bytes[/code] is negative (default) the length will be read from the "
"stream using the reverse process of [method put_string]."
msgstr ""
+"Retourne une chaîne ASCII de longeur [code]octets[/code] du flux. Si "
+"[code]bytes[/code] est négatif (par défaut) la longueur sera lue depuis le "
+"flux en utilisant le processus inverse de [method put_string]."
#: doc/classes/StreamPeer.xml
msgid "Gets an unsigned 16-bit value from the stream."
@@ -71929,6 +73383,10 @@ msgid ""
"(default) the length will be read from the stream using the reverse process "
"of [method put_utf8_string]."
msgstr ""
+"Retourne une chaîne UTF-8 de longueur [code]bytes[/code] du flux (ceci "
+"décode la chaîne envoyée en UTF-8). Si [code]bytes[/code] est négatif (par "
+"défaut) la longueur sera lue depuis le flux en utilisant le processus "
+"inverse de [method put_utf8_string]."
#: doc/classes/StreamPeer.xml
msgid ""
@@ -71938,6 +73396,12 @@ msgid ""
"Do not use this option if the serialized object comes from untrusted sources "
"to avoid potential security threats such as remote code execution."
msgstr ""
+"Retourne un Variant du flux. Si [code]allow_objects[/code] est [code]true[/"
+"code], le décodage des objets sera autorisé.\n"
+"[b]Avertissement :[/b] Les objets désérialisés peuvent contenir du code qui "
+"sera exécuté. N'utilisez pas cette option si l'objet sérialisé provient de "
+"sources non sûres pour éviter des risques de sécurité telles que l'exécution "
+"de code à distance."
#: doc/classes/StreamPeer.xml
msgid "Puts a signed 16-bit value into the stream."
@@ -71961,6 +73425,9 @@ msgid ""
"the data is done sending. This function returns an [enum @GlobalScope.Error] "
"code."
msgstr ""
+"Envoie un morceau de données à travers la connexion, en blocant si "
+"nécessaire jusqu'à ce que les données soient envoyées. Cette fonction "
+"retourne un code [enum @GlobalScope.Error]."
#: doc/classes/StreamPeer.xml
msgid "Puts a double-precision float into the stream."
@@ -71977,6 +73444,10 @@ msgid ""
"[enum @GlobalScope.Error] code and an integer, describing how much data was "
"actually sent."
msgstr ""
+"Envoie un morceau de données par la connexion. Si toutes les données ne "
+"peuvent pas être envoyées à la fois, seule une partie de celle-ci le sera. "
+"Cette fonction retourne deux valeurs : un code [enum @GlobalScope.Error], et "
+"un entier décrivant la quantité de données effectivement envoyées."
#: doc/classes/StreamPeer.xml
msgid ""
@@ -71988,6 +73459,13 @@ msgid ""
"put_data(\"Hello world\".to_ascii())\n"
"[/codeblock]"
msgstr ""
+"Ajoute une chaîne ASCII (se terminant par le caractère nul) dans le flux "
+"précédée par un entier de 32 bits représentant sa taille.\n"
+"[b]Note :[/b] Pour mettre une chaîne ASCII sans la faire précéder par sa "
+"taille, vous pouvez utiliser [method put_data] :\n"
+"[codeblock]\n"
+"put_data(\"Salut le monde\".to_ascii())\n"
+"[/codeblock]"
#: doc/classes/StreamPeer.xml
msgid "Puts an unsigned 16-bit value into the stream."
@@ -72015,18 +73493,30 @@ msgid ""
"put_data(\"Hello world\".to_utf8())\n"
"[/codeblock]"
msgstr ""
+"Ajoute une chaîne UTF-8 (se terminant par le caractère nul) dans le flux "
+"précédée par un entier non signé de 32 bits représentant sa taille.\n"
+"[b]Note :[/b] Pour mettre une chaîne UTF-8 sans la faire précéder par sa "
+"taille, vous pouvez utiliser [method put_data] :\n"
+"[codeblock]\n"
+"put_data(\"Salut le monde\".to_utf8())\n"
+"[/codeblock]"
#: doc/classes/StreamPeer.xml
msgid ""
"Puts a Variant into the stream. If [code]full_objects[/code] is [code]true[/"
"code] encoding objects is allowed (and can potentially include code)."
msgstr ""
+"Ajoute un Variant dans le flux. Si [code]full_objects[/code] est [code]true[/"
+"code], le codage des objects est autorisé (ceux-ci peuvent potentiellement "
+"contenir du code)."
#: doc/classes/StreamPeer.xml
msgid ""
"If [code]true[/code], this [StreamPeer] will using big-endian format for "
"encoding and decoding."
msgstr ""
+"Si [code]true[/code], ce [StreamPeer] utilisera le format big-endian pour "
+"l'encodage et le décodage."
#: doc/classes/StreamPeerBuffer.xml
msgid "Data buffer stream peer."
@@ -72050,6 +73540,8 @@ msgstr "Efface le [member data_array] et rétablit le curseur."
msgid ""
"Returns a new [StreamPeerBuffer] with the same [member data_array] content."
msgstr ""
+"Retourne un nouveau [StreamPeerBuffer] avec le même contenu de [member "
+"data_array]."
#: doc/classes/StreamPeerBuffer.xml
msgid "Returns the current cursor position."
@@ -72069,10 +73561,14 @@ msgid ""
"Moves the cursor to the specified position. [code]position[/code] must be a "
"valid index of [member data_array]."
msgstr ""
+"Déplace le curseur vers la position spécifiée. [code]position[/code] doit "
+"être un index valide de [member data_array]."
#: doc/classes/StreamPeerBuffer.xml
msgid "The underlying data buffer. Setting this value resets the cursor."
msgstr ""
+"La mémoire tampon interne. Changer cette valeur réinitialise la position du "
+"curseur."
#: doc/classes/StreamPeerSSL.xml
msgid "SSL stream peer."
@@ -72083,6 +73579,8 @@ msgid ""
"SSL stream peer. This object can be used to connect to an SSL server or "
"accept a single SSL client connection."
msgstr ""
+"Un pair d'un flux SSL. Cet objet peut être utilisé pour se connecter à un "
+"serveur SSL ou accepter une seule connexion avec un client SSL."
#: doc/classes/StreamPeerSSL.xml
msgid ""
@@ -72091,6 +73589,10 @@ msgid ""
"can pass the optional [code]chain[/code] parameter to provide additional CA "
"chain information along with the certificate."
msgstr ""
+"Accepte une connexion par les pairs en tant que serveur en utilisant la "
+"[code]private_key[/code] et en fournissant le [code]certificate[/code] donné "
+"au client. Vous pouvez passer le paramètre optionnel [code]chain[/code] pour "
+"fournir des informations supplémentaires sur la chaîne CA avec le certificat."
#: doc/classes/StreamPeerSSL.xml
msgid ""
@@ -72101,6 +73603,13 @@ msgid ""
"[b]Note:[/b] Specifying a custom [code]valid_certificate[/code] is not "
"supported in HTML5 exports due to browsers restrictions."
msgstr ""
+"Se connecte à un pair en utilisant le [code]stream[/code] interne d'un "
+"[StreamPeer]. Si [code]validate_certs[/code] est [code]true[/code], "
+"[StreamPeerSSL] validera le certificat du pair pour s'assurer qu'il "
+"correspond au [code]for_hostname[/code].\n"
+"[b]Note :[/b] Spécifier un code personnalisé pour [code]valid_certificate[/"
+"code] n'est pas pris en charge dans les exportations HTML5 en raison des "
+"restrictions des navigateurs."
#: doc/classes/StreamPeerSSL.xml doc/classes/StreamPeerTCP.xml
msgid "Disconnects from host."
@@ -72111,6 +73620,9 @@ msgid ""
"Poll the connection to check for incoming bytes. Call this right before "
"[method StreamPeer.get_available_bytes] for it to work properly."
msgstr ""
+"Sonde la connexion pour vérifier les octets entrants. Appelez ceci avant "
+"[method StreamPeer.get_available_bytes] pour que ça puisse fonctionner "
+"correctement."
#: doc/classes/StreamPeerSSL.xml
msgid "A status representing a [StreamPeerSSL] that is disconnected."
@@ -72133,6 +73645,8 @@ msgid ""
"An error status that shows a mismatch in the SSL certificate domain "
"presented by the host and the domain requested for validation."
msgstr ""
+"Un statut d'erreur qui montre une erreur dans le domaine de certificat SSL "
+"présenté par l'hôte et le domaine demandé pour validation."
#: doc/classes/StreamPeerTCP.xml
msgid "TCP stream peer."
@@ -72143,6 +73657,8 @@ msgid ""
"TCP stream peer. This object can be used to connect to TCP servers, or also "
"is returned by a TCP server."
msgstr ""
+"Pair de flux TCP. Cet objet peut être utilisé pour se connecter aux serveurs "
+"TCP, ou est également retourné par un serveur TCP."
#: doc/classes/StreamPeerTCP.xml
msgid ""
@@ -72150,6 +73666,9 @@ msgid ""
"resolved if valid. Returns [constant OK] on success or [constant FAILED] on "
"failure."
msgstr ""
+"Se connecte au pair [code]host:port[/code] spécifié. Un nom d'hôte sera "
+"résolu si valide. Retourne [constant OK] en cas de succès ou [constant "
+"FAILED] en cas l'échec."
#: doc/classes/StreamPeerTCP.xml
msgid "Returns the IP of this peer."
@@ -72229,6 +73748,11 @@ msgid ""
"Strings are reference-counted and use a copy-on-write approach, so passing "
"them around is cheap in resources."
msgstr ""
+"C'est la classe de chaîne intégrée (et celle utilisée par GDScript). Il "
+"prend en charge l'Unicode et fournit tous les moyens nécessaires pour la "
+"manipulation des chaînes. Les chaînes sont comptées par référence et "
+"utilisent une approche de copie à l'écriture, donc les passer en argument ne "
+"demande que très peu de ressources."
#: doc/classes/String.xml
msgid "Constructs a new String from the given [bool]."
@@ -72387,6 +73911,13 @@ msgid ""
"[b]Note:[/b] Unlike the GDScript parser, this method doesn't support the "
"[code]\\uXXXX[/code] escape sequence."
msgstr ""
+"Retourne une copie de la chaîne avec des caractères échappés remplacés par "
+"leurs significations. Les caracètres échappés supportés sont : [code]\\'[/"
+"code], [code]\\\"[/code], [code]\\?[/code], [code]\\\\[/code], [code]\\a[/"
+"code], [code]\\b[/code], [code]\\f[/code], [code]\\n[/code], [code]\\r[/"
+"code], [code]\\t[/code] et [code]\\v[/code].\n"
+"[b]Note :[/b] Contrairement au parseur GDScript, cette méthode ne supporte "
+"pas la séquence d'échappement de caractères Unicode [code]\\uXXXX[/code]."
#: doc/classes/String.xml
msgid ""
@@ -72397,6 +73928,12 @@ msgid ""
"code], it will return [code]Capitalize Camel Case Mixed With Underscores[/"
"code]."
msgstr ""
+"Change la casse de certaines lettres. Remplace les underscores avec des "
+"espaces, ajoute des espaces avant les caractères majuscules en mots, "
+"convertit toutes les lettres en minuscule, puis met en majuscule la première "
+"lettre et chaque lettre suivant un caractère d'espace. Pour [code]unTexte en "
+"majuscule avec_des_underscores[/code], cela retournera [code]Un Texte En "
+"Majuscule Avec des Underscores[/code]."
#: doc/classes/String.xml
msgid ""
@@ -72424,6 +73961,10 @@ msgid ""
"[code]to[/code] equals 0 the whole string will be used. If only [code]to[/"
"code] equals 0 the remained substring will be used."
msgstr ""
+"Retourne le nombre d'occurrences de la sous-chaîne [code]what[/code] entre "
+"les positions [code]from[/code] et [code]to[/code]. Si [code]from[/code] et "
+"[code]to[/code] sont égales à 0, la chaîne entière sera utilisée. Si "
+"seulement [code]to[/code] est à 0, la sous-chaîne restante sera utilisée."
#: doc/classes/String.xml
msgid ""
@@ -72432,6 +73973,11 @@ msgid ""
"[code]from[/code] and [code]to[/code] equals 0 the whole string will be "
"used. If only [code]to[/code] equals 0 the remained substring will be used."
msgstr ""
+"Retourne le nombre d'occurrences de la sous-chaîne [code]what[/code] (en "
+"ignorant la casse) entre les positions [code]from[/code] et [code]to[/code]. "
+"Si [code]from[/code] et [code]to[/code] sont égales à 0, la chaîne entière "
+"sera utilisée. Si seulement [code]to[/code] est à 0, la sous-chaîne restante "
+"sera utilisée."
#: doc/classes/String.xml
msgid ""
@@ -72537,6 +74083,33 @@ msgid ""
"\"Godot\"]]))\n"
"[/codeblock]"
msgstr ""
+"Formate la chaîne en remplaçant toutes les occurrences de [code]placeholder[/"
+"code] par les éléments de [code]values[/code].\n"
+"[code]values[/code] peut être un [Dictionary] ou un [Array]. Toute occurence "
+"de [code]placeholder[/code] sera remplacée par les clés correspondantes à "
+"l'avance. Les éléments Array utilisent leur index comme clés.\n"
+"[codeblock]\n"
+"# Affiche : 'En attendant Godot' est une pièce de Samuel Beckett, et le "
+"moteur Godot est nommé d'après elle.\n"
+"var use_array_values = \"'En attendant {0}' est une pièce de {1}, et le "
+"moteur {0} est nommé d'après elle.\"\n"
+"print(use_array_values.format([\"Godot\", \"Samuel Beckett\"]))\n"
+"\n"
+"# Affiche : L'utilisateur 42 est Godot.\n"
+"print(\"L'utilisateur {id} est {name}.\".format({\"id\": 42, \"name\": "
+"\"Godot\"}))\n"
+"[/codeblock]\n"
+"Une manipulation supplémentaire est effectuée quand [code]values[/code] est "
+"un tableau. Si [code]placeholder[/code] ne contient pas de underscore "
+"(\"_\"), les éléments du tableau seront utilisés pour remplacer "
+"l'occurrence ; Si un élément de tableau est un autre tableau de 2 éléments, "
+"il sera interprété comme une paire de clé et valeur.\n"
+"[codeblock]\n"
+"# Affiche : L'utilisateur 42 est Godot.\n"
+"print(\"L'utilisateur {} est {}.\".format([42, \"Godot\"], \"{}\"))\n"
+"print(\"L'utilisateur {id} est {name}.\".format([[\"id\", 42], [\"name\", "
+"\"Godot\"]]))\n"
+"[/codeblock]"
#: doc/classes/String.xml
msgid "If the string is a valid file path, returns the base directory name."
@@ -72600,6 +74173,15 @@ msgid ""
"print(\"i/am/example/string\".get_slice(\"/\", 2)) # Prints 'example'.\n"
"[/codeblock]"
msgstr ""
+"Divise une chaîne en utilisant un [code]delimiter[/code] et retourne une "
+"sous-chaîne à l'index [code]slice[/code]. Retourne une chaîne vide si "
+"l'index n'existe pas.\n"
+"Il s'agit d'une alternative plus performante à [method split] pour les cas "
+"où vous avez besoin d'un seul élément du tableau à un index fixe.\n"
+"Exemple :\n"
+"[codeblock]\n"
+"print(\"je/suis/un/exemple\".get_slice(\"/\", 3)) # Affiche 'exemple'.\n"
+"[/codeblock]"
#: doc/classes/String.xml
msgid ""
@@ -72609,6 +74191,13 @@ msgid ""
"does [i]not[/i] imply the strings are equal, because different strings can "
"have identical hash values due to hash collisions."
msgstr ""
+"Retourne la valeur de hachage de 32 bits représentant le contenu de la "
+"chaîne.\n"
+"[b]Note :[/b] Les [String] avec un contenu identique produiront toujours des "
+"valeurs de hachage identiques. Cependant, l'inverse n'est pas vrai. Des "
+"valeurs de hachage identiques n'implique [i]pas[/i] que les chaînes le "
+"soient aussi, car différentes chaînes peuvent avoir des valeurs de hachage "
+"identiques en raison de collisions de hachage."
#: doc/classes/String.xml
msgid ""
@@ -72651,6 +74240,12 @@ msgid ""
"http_unescape())\n"
"[/codeblock]"
msgstr ""
+"Échappe (décode) une chaine dans le format encodé pour les URL. Également "
+"dénommé \"URL decode\".\n"
+"[codeblock]\n"
+"print(\"https://example.org/?escaped=\" + \"Godot%20Engine%3A%27docs%27\"."
+"http_unescape())\n"
+"[/codeblock]"
#: doc/classes/String.xml
msgid ""
@@ -72664,6 +74259,16 @@ msgid ""
"print(size) # prints \"127.5 MiB\"\n"
"[/codeblock]"
msgstr ""
+"Convertit [code]size[/code] qui représente un taille en octets dans un "
+"format lisible en utilisant un ensemble internationalisé d'unités de taille "
+"de données, comme : o, Kio, Mio, Gio, Tio, Pio, Eio. Notez que l'unité "
+"proche la plus petite est choisie automatiquement pour s'adapter aux "
+"multiples de 1024.\n"
+"[codeblock]\n"
+"var bytes = 133790307\n"
+"var size = String.humanize_size(bytes)\n"
+"print(size) # Affiche \"127.5 Mio\"\n"
+"[/codeblock]"
#: doc/classes/String.xml
msgid ""
@@ -72674,6 +74279,14 @@ msgid ""
"e.g. [code]\"# \"[/code]. See also [method dedent] to remove indentation.\n"
"[b]Note:[/b] Empty lines are kept empty."
msgstr ""
+"Retourne une copie de la chaîne avec des lignes identées avec [code]prefix[/"
+"code].\n"
+"Par exemple, la chaîne peut être identée avec deux tabulations en utilisant "
+"[code]\"\\t\\t\"[/code], ou quatre espaces en utilisant [code]\" \"[/"
+"code]. Le préfixe peut être n'importe quelle chaîne de sorte qu'il peut "
+"également être utilisé pour commenter les chaînes avec par exemple [code]\"# "
+"\"[/code]. Voir aussi [method dedent] pour supprimer l'indentation.\n"
+"[b]Note :[/b] Les lignes vides sont gardées vides."
#: doc/classes/String.xml
msgid ""
@@ -72688,18 +74301,24 @@ msgid ""
"If the string is a path to a file or directory, returns [code]true[/code] if "
"the path is absolute."
msgstr ""
+"Si la chaîne est un chemin vers un fichier ou un dossier, retourne "
+"[code]true[/code] si le chemin est absolu."
#: doc/classes/String.xml
msgid ""
"If the string is a path to a file or directory, returns [code]true[/code] if "
"the path is relative."
msgstr ""
+"Si la chaîne est un chemin vers un fichier ou un dossier, retourne "
+"[code]true[/code] si le chemin est relatif."
#: doc/classes/String.xml
msgid ""
"Returns [code]true[/code] if this string is a subsequence of the given "
"string."
msgstr ""
+"Retourne [code]true[/code] si cette chaîne est une sous-séquence de la "
+"chaîne donnée."
#: doc/classes/String.xml
msgid ""
@@ -72715,6 +74334,9 @@ msgid ""
"allowed in file names, those being:\n"
"[code]: / \\ ? * \" | % < >[/code]"
msgstr ""
+"Retourne [code]true[/code] si cette chaîne est libre des caractères qui ne "
+"sont pas autorisés dans les noms de fichiers, ceux-ci étant :\n"
+"[code]: / \\ ? * \" | % < >[/code]"
#: doc/classes/String.xml
msgid ""
@@ -72727,6 +74349,14 @@ msgid ""
"print(\"Hello\".is_valid_float()) # Prints \"False\"\n"
"[/codeblock]"
msgstr ""
+"Retourne [code]true[/code] si cette chaîne contient un flottant valide. Ceci "
+"inclut les entiers, et supporte aussi les exposants :\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Affiche \"True\"\n"
+"print(\"24\".is_valid_float()) # Affiche \"True\"\n"
+"print(\"7e3\".is_valid_float()) # Affiche \"True\"\n"
+"print(\"Hello\".is_valid_float()) # Affiche \"False\"\n"
+"[/codeblock]"
#: doc/classes/String.xml
msgid ""
@@ -72735,6 +74365,10 @@ msgid ""
"the hexadecimal number is determined by [code]0x[/code] prefix, for "
"instance: [code]0xDEADC0DE[/code]."
msgstr ""
+"Retourne [code]true[/code] si cette chaîne contient un numéro hexadécimal "
+"valide. Si [code]with_prefix[/code] est [code]true[/code], alors le nombre "
+"hexadécimal doit commencer par [code]0x[/code] pour être valide, comme par "
+"exemple : [code]0xDEADC0DE[/code]."
#: doc/classes/String.xml
msgid ""
@@ -72743,6 +74377,11 @@ msgid ""
"[code]hsl()[/code] colors aren't considered valid by this method and will "
"return [code]false[/code]."
msgstr ""
+"Retourne [code]true[/code] si cette chaîne contient une couleur valide dans "
+"la notation HTML hexadécimale. D'autres notations HTML telles que les "
+"couleurs nommées ou l'utilisation de [code]hsl()[/code] ne sont pas "
+"considérées comme valides par cette méthode et retourneront toujours "
+"[code]false[/code]."
#: doc/classes/String.xml
msgid ""
@@ -72755,6 +74394,15 @@ msgid ""
"print(\"bad_ident_#2\".is_valid_identifier()) # Prints \"False\"\n"
"[/codeblock]"
msgstr ""
+"Retourne [code]true[/code] si cette chaîne est un identifiant valide. Un "
+"identifiant valide ne peut contenir que des lettres, des chiffres et des "
+"underlines ([code]_[/code]) et le premier caractère ne peut pas être un "
+"chiffre. Ça représente un nom valide d'une variable ou d'une méthode.\n"
+"[codeblock]\n"
+"print(\"good_ident_1\".is_valid_identifier()) # Affiche \"True\"\n"
+"print(\"1st_bad_ident\".is_valid_identifier()) # Affiche \"False\"\n"
+"print(\"bad_ident_#2\".is_valid_identifier()) # Affiche \"False\"\n"
+"[/codeblock]"
#: doc/classes/String.xml
msgid ""
@@ -72767,6 +74415,14 @@ msgid ""
"print(\"-12\".is_valid_integer()) # Prints \"True\"\n"
"[/codeblock]"
msgstr ""
+"Retourne [code]true[/code] si cette chaîne contient un entier valide.\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_integer()) # Affiche \"True\"\n"
+"print(\"14.6\".is_valid_integer()) # Affiche \"False\"\n"
+"print(\"L\".is_valid_integer()) # Affiche \"False\"\n"
+"print(\"+3\".is_valid_integer()) # Affiche \"True\"\n"
+"print(\"-12\".is_valid_integer()) # Affiche \"True\"\n"
+"[/codeblock]"
#: doc/classes/String.xml
msgid ""
@@ -72775,6 +74431,10 @@ msgid ""
"Reserved_IP_addresses]reserved IP addresses[/url] such as [code]0.0.0.0[/"
"code] as valid."
msgstr ""
+"Retourne [code]true[/code] si cette chaîne contient seulement une adresse "
+"IPv4 ou IPv6 correctement formée. Cette méthode considère [url=https://en."
+"wikipedia.org/wiki/Reserved_IP_addresses]les adresses IP réservées[/url] "
+"comme [code]0.0.0.0[/code] comme étant valides."
#: doc/classes/String.xml
msgid ""
@@ -72785,6 +74445,14 @@ msgid ""
"print(\", \".join([\"One\", \"Two\", \"Three\", \"Four\"]))\n"
"[/codeblock]"
msgstr ""
+"Retourner une [String] qui est la concaténation des éléments [code]parts[/"
+"code]. Le séparateur entre les éléments est la chaîne qui appelle cette "
+"méthode.\n"
+"Exemple :\n"
+"[codeblock]\n"
+"print(\", \".join([\"Un\", \"deux\", \"trois\", \"quatre.\"])) # Affiche "
+"\"Un, deux, trois, quatre.\"\n"
+"[/codeblock]"
#: doc/classes/String.xml
msgid ""
@@ -72819,6 +74487,11 @@ msgid ""
"single character except a period ([code]\".\"[/code]). An empty string or "
"empty expression always evaluates to [code]false[/code]."
msgstr ""
+"Fait une correspondance simple de l'expression sensible à la casse, où "
+"[code]\"*\"[/code] correspond aucun, un seul ou plusieurs caractères "
+"arbitraires, et [code]\"?\"[/code] correspond à un seule caracètre sauf un "
+"point ([code]\".\"[/code]). Une chaîne ou expression vide est toujours "
+"évaluée [code]false[/code]."
#: doc/classes/String.xml
msgid ""
@@ -72827,10 +74500,15 @@ msgid ""
"single character except a period ([code]\".\"[/code]). An empty string or "
"empty expression always evaluates to [code]false[/code]."
msgstr ""
+"Fait une correspondance simple de l'expression insensible à la casse, où "
+"[code]\"*\"[/code] correspond aucun, un seul ou plusieurs caractères "
+"arbitraires, et [code]\"?\"[/code] correspond à un seule caracètre sauf un "
+"point ([code]\".\"[/code]). Une chaîne ou expression vide est toujours "
+"évaluée [code]false[/code]."
#: doc/classes/String.xml
msgid "Returns the MD5 hash of the string as an array of bytes."
-msgstr ""
+msgstr "Retourne le hachage MD5 de la chaîne dans un tableau d'octets."
#: doc/classes/String.xml
msgid "Returns the MD5 hash of the string as a string."
@@ -72912,6 +74590,9 @@ msgid ""
"Percent-encodes a string. Encodes parameters in a URL when sending a HTTP "
"GET request (and bodies of form-urlencoded POST requests)."
msgstr ""
+"Encode avec des pourcentages une chaîne. Encode les paramètres dans une URL "
+"lors de l'envoi d'une requête HTTP GET (et les corps de requêtes POST sous "
+"forme codée)."
#: doc/classes/String.xml
msgid ""
@@ -72919,6 +74600,9 @@ msgid ""
"the string as a subpath. E.g. [code]\"this/is\".plus_file(\"path\") == "
"\"this/is/path\"[/code]."
msgstr ""
+"Si la chaîne est un chemin, ajoute [code]file[/code] à la fin de la chaîne "
+"comme sous-chemin. Par exemple : [code]\"vers/un\".plus_file(\"fichier\") == "
+"\"vers/un/fichier\"[/code]."
#: doc/classes/String.xml
msgid ""
@@ -72967,11 +74651,15 @@ msgstr ""
"donnée."
#: doc/classes/String.xml
+#, fuzzy
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -73010,6 +74698,12 @@ msgid ""
"trim_suffix] method that will remove a single suffix string rather than a "
"set of characters."
msgstr ""
+"Retourne une copie de la chaîne avec des caractères retirés de la droite. "
+"L'argument [code]chars[/code] est une chaîne spécifiant l'ensemble des "
+"caractères à supprimer.\n"
+"[b]Note :[/b] [code]chars[/code] n'est pas un suffixe. Voir la méthode "
+"[method trim_suffix] qui supprimera une seule chaîne de suffixe plutôt qu'un "
+"ensemble de caractères."
#: doc/classes/String.xml
msgid "Returns the SHA-1 hash of the string as an array of bytes."
@@ -73064,9 +74758,13 @@ msgid "Returns a simplified canonical path."
msgstr ""
#: doc/classes/String.xml
+#, fuzzy
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -73104,12 +74802,20 @@ msgstr ""
"utilisez plutôt la classe [RegEx]."
#: doc/classes/String.xml
+#, fuzzy
msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
+"Divise la chaîne en flottants en utilisant une chaîne comme délimiteur et "
+"retourne un tableau des sous-chaînes.\n"
+"Par exemple, [code]\"12,5,3\"[/code] retournera [code][1, 2.5, 3][/code] si "
+"délimité par [code]\",\"[/code]."
#: doc/classes/String.xml
msgid ""
@@ -73118,6 +74824,10 @@ msgid ""
"end. The optional arguments are used to toggle stripping on the left and "
"right edges respectively."
msgstr ""
+"Retourne une copie de la chaîne avec tous les caractères non imprimable "
+"(soient les tabulations, les espaces et les retours à la ligne) supprimés en "
+"début et en fin de chaîne. Les arguments optionnels permettent d'activer ou "
+"non la suppression des caractères en début ou en fin respectivement."
#: doc/classes/String.xml
msgid ""
@@ -73126,6 +74836,11 @@ msgid ""
"32), such as tabulation ([code]\\t[/code] in C) and newline ([code]\\n[/"
"code] and [code]\\r[/code]) characters, but not spaces."
msgstr ""
+"Retourne une copie de la chaîne avec tous les caractères d'échappement "
+"supprimés. Il s'agit de tous les caractères de commande non-imprimables de "
+"la première page de la table ASCII (< 32), tels que la tabulation "
+"([code]\\t[/code] in C) et le retour à la ligne ([code]\\n[/code] et "
+"[code]\\r[/code]), mais pas les espaces."
#: doc/classes/String.xml
msgid ""
@@ -73133,6 +74848,10 @@ msgid ""
"[code]len[/code]. Argument [code]len[/code] is optional and using [code]-1[/"
"code] will return remaining characters from given position."
msgstr ""
+"Retourne une partie de la chaîne de la position [code]from[/code] avec la "
+"longueur [code]len[/code]. L'argument [code]len[/code] est optionnel et "
+"l'utilisation [code]-1[/code] renvoie les caractères restants à partir de la "
+"position donnée."
#: doc/classes/String.xml
msgid ""
@@ -73158,6 +74877,16 @@ msgid ""
"print(\"1e3\".to_float()) # 1000\n"
"[/codeblock]"
msgstr ""
+"Convertit une chaîne contenant un nombre décimal en [code]float[/code]. La "
+"méthode s'arrêtera sur le premier caractère qui n'est pas un chiffre sauf le "
+"premier [code].[/code] (point décimal), et [code]e[/code] qui est utilisé "
+"pour l'exposant.\n"
+"[codeblock]\n"
+"print(\"12.3\".to_float()) # 12.3\n"
+"print(\"1.2.3\".to_float()) # 1.2\n"
+"print(\"12ab3\".to_float()) # 12\n"
+"print(\"1e3\".to_float()) # 1*10^3 = 1000\n"
+"[/codeblock]"
#: doc/classes/String.xml
msgid ""
@@ -73170,6 +74899,14 @@ msgid ""
"print(\"1.2.3\".to_int()) # 1\n"
"[/codeblock]"
msgstr ""
+"Convertit une chaîne contenant un nombre entier en [code]int[/code]. La "
+"méthode supprimera tout caractère qui n'est pas un chiffre et s'arrêtera si "
+"elle rencontre un [code].[/code].\n"
+"[codeblock]\n"
+"print(\"123\".to_int()) # 123\n"
+"print(\"a1b2c3\".to_int()) # 123\n"
+"print(\"1.2.3\".to_int()) # 1\n"
+"[/codeblock]"
#: doc/classes/String.xml
msgid "Returns the string converted to lowercase."
@@ -73196,6 +74933,8 @@ msgid ""
"Converts the String (which is an array of characters) to [PoolByteArray] "
"(which is an array of bytes)."
msgstr ""
+"Convertit la String (qui est un tableau de caractères) en [PoolByteArray] "
+"(un tableau d'octets)."
#: doc/classes/String.xml
msgid ""
@@ -73219,6 +74958,9 @@ msgid ""
"([code].[/code] [code]:[/code] [code]@[/code] [code]/[/code] [code]\"[/"
"code])."
msgstr ""
+"Supprimer les caractères de la chaîne qui sont interdits dans les noms de "
+"[Node] ([code].[/code] [code]:[/code] [code]@[/code] [code]/[/code] et "
+"[code]\"[/code])."
#: doc/classes/String.xml
msgid ""
@@ -73274,6 +75016,8 @@ msgid ""
"Returns the [CanvasItem] that handles its [constant CanvasItem."
"NOTIFICATION_DRAW] or [method CanvasItem._draw] callback at this moment."
msgstr ""
+"Retourne le [CanvasItem] qui gère sa [constant CanvasItem.NOTIFICATION_DRAW] "
+"ou sa méthode [method CanvasItem._draw] actuellement."
#: doc/classes/StyleBox.xml
msgid "Returns the default value of the specified [enum Margin]."
@@ -73284,6 +75028,9 @@ msgid ""
"Returns the content margin offset for the specified [enum Margin].\n"
"Positive values reduce size inwards, unlike [Control]'s margin values."
msgstr ""
+"Retourne le décalage de la marge de contenu pour la [enum Margin] spécifié.\n"
+"Les valeurs positives réduisent la taille vers l'intérieur, contrairement "
+"aux valeurs des marges de [Control]."
#: doc/classes/StyleBox.xml
msgid "Returns the minimum size that this stylebox can be shrunk to."
@@ -73297,6 +75044,9 @@ msgid ""
"equivalent to [code]Vector2(style.get_margin(MARGIN_LEFT), style."
"get_margin(MARGIN_TOP))[/code]."
msgstr ""
+"Retourne le \"décalage\" d'une boîte de style. Cette fonction d'aide "
+"retourne une valeur équivalente à [code]Vector2(style."
+"get_margin(MARGIN_LEFT), style.get_margin(MARGIN_TOP))[/code]."
#: doc/classes/StyleBox.xml
msgid ""
@@ -73333,6 +75083,9 @@ msgid ""
"reduces the space available to the contents from the left.\n"
"Refer to [member content_margin_bottom] for extra considerations."
msgstr ""
+"La marge gauche pour le contenu de cette boîte de style. L'augmentation de "
+"cette valeur réduit l'espace disponible pour le contenu sur la gauche.\n"
+"Voir [membrer content_margin_bottom] pour des considérations supplémentaires."
#: doc/classes/StyleBox.xml
msgid ""
@@ -73340,6 +75093,9 @@ msgid ""
"reduces the space available to the contents from the right.\n"
"Refer to [member content_margin_bottom] for extra considerations."
msgstr ""
+"La marge droite pour le contenu de cette boîte de style. L'augmentation de "
+"cette valeur réduit l'espace disponible pour le contenu sur la droite.\n"
+"Voir [membrer content_margin_bottom] pour des considérations supplémentaires."
#: doc/classes/StyleBox.xml
msgid ""
@@ -73347,6 +75103,9 @@ msgid ""
"reduces the space available to the contents from the top.\n"
"Refer to [member content_margin_bottom] for extra considerations."
msgstr ""
+"La marge supérieure pour le contenu de cette boîte de style. Augmenter cette "
+"valeur réduit l'espace disponible pour le contenu en haut.\n"
+"Voir [membrer content_margin_bottom] pour des considérations supplémentaires."
#: doc/classes/StyleBoxEmpty.xml
msgid "Empty stylebox (does not display anything)."
@@ -73680,6 +75439,8 @@ msgid ""
"The shadow offset in pixels. Adjusts the position of the shadow relatively "
"to the stylebox."
msgstr ""
+"Le décalage de l'ombre en pixels. Ajuste la position de l'ombre relativement "
+"à la boîte de style."
#: doc/classes/StyleBoxFlat.xml
msgid "The shadow size in pixels."
@@ -73709,6 +75470,8 @@ msgid ""
"[StyleBox] that displays a single line of a given color and thickness. It "
"can be used to draw things like separators."
msgstr ""
+"Une [StyleBox] qui affiche simplement une ligne de couleur et d'épaisseur "
+"données. Ça peut être utilisé pour dessiner des séparateurs par exemple."
#: doc/classes/StyleBoxLine.xml
msgid "The line's color."
@@ -73773,12 +75536,18 @@ msgid ""
"Controls how the stylebox's texture will be stretched or tiled horizontally. "
"See [enum AxisStretchMode] for possible values."
msgstr ""
+"Contrôle la façon dont la texture de la boîte de style sera étirée ou "
+"répétée horizontalement. Voir [enum AxisStretchMode] pour les valeurs "
+"possibles."
#: doc/classes/StyleBoxTexture.xml
msgid ""
"Controls how the stylebox's texture will be stretched or tiled vertically. "
"See [enum AxisStretchMode] for possible values."
msgstr ""
+"Contrôle la façon dont la texture de la boîte de style sera étirée ou "
+"répétée verticalement. Voir [enum AxisStretchMode] pour les valeurs "
+"possibles."
#: doc/classes/StyleBoxTexture.xml
msgid ""
@@ -73790,18 +75559,24 @@ msgid ""
"Expands the bottom margin of this style box when drawing, causing it to be "
"drawn larger than requested."
msgstr ""
+"Augmente la marge du bas de cette boite de style lors de l'affichage, pour "
+"qu'elle soit plus grande que demandé."
#: doc/classes/StyleBoxTexture.xml
msgid ""
"Expands the left margin of this style box when drawing, causing it to be "
"drawn larger than requested."
msgstr ""
+"Augmente la marge gauche de cette boite de style lors de l'affichage, pour "
+"qu'elle soit plus grande que demandé."
#: doc/classes/StyleBoxTexture.xml
msgid ""
"Expands the right margin of this style box when drawing, causing it to be "
"drawn larger than requested."
msgstr ""
+"Augmente la marge droite de cette boite de style lors de l'affichage, pour "
+"qu'elle soit plus grande que demandé."
#: doc/classes/StyleBoxTexture.xml
msgid ""
@@ -73819,6 +75594,12 @@ msgid ""
"This is also the value used as fallback for [member StyleBox."
"content_margin_bottom] if it is negative."
msgstr ""
+"Augmente la marge inférieure de la boîte de texture en 3×3.\n"
+"Une valeur plus élevée signifie qu'une plus grande partie de la texture "
+"source est considérée comme faisant partie de la bordure inférieure de la "
+"boîte en 3×3.\n"
+"C'est aussi la valeur de repli utilisée pour [member StyleBox."
+"content_margin_bottom] si elle est négative."
#: doc/classes/StyleBoxTexture.xml
msgid ""
@@ -73828,6 +75609,12 @@ msgid ""
"This is also the value used as fallback for [member StyleBox."
"content_margin_left] if it is negative."
msgstr ""
+"Augmente la marge gauche de la boîte de texture en 3×3.\n"
+"Une valeur plus élevée signifie qu'une plus grande partie de la texture "
+"source est considérée comme faisant partie de la bordure gauche de la boîte "
+"3×3.\n"
+"C'est aussi la valeur de repli utilisée pour [member StyleBox."
+"content_margin_left] si elle est négative."
#: doc/classes/StyleBoxTexture.xml
msgid ""
@@ -73837,6 +75624,12 @@ msgid ""
"This is also the value used as fallback for [member StyleBox."
"content_margin_right] if it is negative."
msgstr ""
+"Augmente la marge droite de la boîte de texture en 3×3.\n"
+"Une valeur plus élevée signifie qu'une plus grande partie de la texture "
+"source est considérée comme faisant partie de la droite frontière de la "
+"boîte 3×3.\n"
+"C'est aussi la valeur de repli utilisée pour [member StyleBox."
+"content_margin_right] si elle est négative."
#: doc/classes/StyleBoxTexture.xml
msgid ""
@@ -73846,10 +75639,17 @@ msgid ""
"This is also the value used as fallback for [member StyleBox."
"content_margin_top] if it is negative."
msgstr ""
+"Augmente la marge supérieure de la boîte de texture en 3×3.\n"
+"Une valeur plus élevée signifie qu'une plus grande partie de la texture "
+"source est considérée comme faisant partie de la bordure supérieure de la "
+"boîte 3×3.\n"
+"C'est aussi la valeur de repli utilisée pour [member StyleBox."
+"content_margin_top] si elle est négative."
#: doc/classes/StyleBoxTexture.xml
msgid "Modulates the color of the texture when this style box is drawn."
msgstr ""
+"Module la couleur de la texture lorsque cette boîte de style est dessinée."
#: doc/classes/StyleBoxTexture.xml
msgid ""
@@ -73866,6 +75666,9 @@ msgid ""
"This is equivalent to first wrapping the texture in an [AtlasTexture] with "
"the same region."
msgstr ""
+"Spécifié la sous-région de la texture à utiliser.\n"
+"C'est l'équivalent à d'abord mettre la texture dans un [AtlasTexture] avec "
+"la même région."
#: doc/classes/StyleBoxTexture.xml
msgid "The texture to use when drawing this style box."
@@ -73880,6 +75683,9 @@ msgid ""
"Stretch the stylebox's texture. This results in visible distortion unless "
"the texture size matches the stylebox's size perfectly."
msgstr ""
+"Étire la texture de la boîte de style. Cela entraîne une distorsion visible "
+"à moins que la taille de la texture ne corresponde parfaitement à la taille "
+"de la boîte de style."
#: doc/classes/StyleBoxTexture.xml
msgid ""
@@ -74004,6 +75810,10 @@ msgid ""
"current index (if also using index arrays) should use smooth normals for "
"normal calculation."
msgstr ""
+"Spécifie si les sommets actuels (uniquement si seulement des tableaux de "
+"sommets sont utilisés) ou l'index courant (si des tableaux d'index sont "
+"également utilisés) devraient utiliser des normales lisses dans le calcul "
+"des normales."
#: doc/classes/SurfaceTool.xml
msgid ""
@@ -74080,6 +75890,8 @@ msgid ""
"Called before adding any vertices. Takes the primitive type as an argument "
"(e.g. [constant Mesh.PRIMITIVE_TRIANGLES])."
msgstr ""
+"Appelé avant d'ajouter des sommets. Cela prend le type primitif comme "
+"argument (par exemple [constant Mesh. PRIMITIVE_TRIANGES])."
#: doc/classes/SurfaceTool.xml
msgid "Clear all information passed into the surface tool so far."
@@ -74214,6 +76026,9 @@ msgid ""
"Returns [code]-1[/code] if the point is outside the control boundaries or if "
"there's no tab at the queried position."
msgstr ""
+"Retourne l'index de l'onglet aux coordonnées [code]point[/code] locales. "
+"Retourne [code]-1[/code] si le point est en dehors des limites du contrôle "
+"ou s'il n'y a pas d'onglet à la position demandée."
#: doc/classes/TabContainer.xml
msgid ""
@@ -74221,16 +76036,22 @@ msgid ""
"default to the name of the indexed child node, but this can be overridden "
"with [method set_tab_title]."
msgstr ""
+"Retourne le titre de l'onglet à l'index [code]tab_idx[/code]. Le titres des "
+"onglets sont par défaut le nom des nœuds enfants indexés, mais ça peut être "
+"changé avec [method set_tab_title]."
#: doc/classes/TabContainer.xml
msgid "Returns the [TabContainer] rearrange group id."
-msgstr ""
+msgstr "Retourne l'identifiant du groupe de réarrangement du [TabContainer]."
#: doc/classes/TabContainer.xml
msgid ""
"If set on a [Popup] node instance, a popup menu icon appears in the top-"
"right corner of the [TabContainer]. Clicking it will expand the [Popup] node."
msgstr ""
+"Si défini sur une instance de nœud [Popup], une icône de menu apparaît dans "
+"le coin supérieur droit du [TabContainer]. En cliquant dessus, le nœud "
+"[Popup] sera développé."
#: doc/classes/TabContainer.xml doc/classes/Tabs.xml
msgid ""
@@ -74257,6 +76078,8 @@ msgid ""
"Sets a title for the tab at index [code]tab_idx[/code]. Tab titles default "
"to the name of the indexed child node."
msgstr ""
+"Définit un titre pour l'onglet à l'index [code]tab_idx[/code]. Les titres "
+"par défaut des onglets sont le nom des nœud indexés."
#: doc/classes/TabContainer.xml
msgid ""
@@ -74264,12 +76087,18 @@ msgid ""
"enable tab drag between [TabContainer]. Enable drag with [member "
"drag_to_rearrange_enabled]."
msgstr ""
+"Définit l'identifiant de groupe de réarrangement, choisissez pour chaque "
+"[TabContainer] la même valeur pour activer le déposé-glissé entre les "
+"[TabContainer]. Activer le déposé-glissé avec [member "
+"drag_to_rearrange_enabled]."
#: doc/classes/TabContainer.xml
msgid ""
"If [code]true[/code], all tabs are drawn in front of the panel. If "
"[code]false[/code], inactive tabs are drawn behind the panel."
msgstr ""
+"Si [code]true[/code], tous les onglets sont dessinés devant le panneau. Si "
+"[code]false[/code], les onglets inactifs sont dessinés derrière le panneau."
#: doc/classes/TabContainer.xml
msgid ""
@@ -74277,6 +76106,9 @@ msgid ""
"[code]visible[/code] property is set to [code]true[/code] and all others are "
"set to [code]false[/code]."
msgstr ""
+"L'index actuel de l'onglet. Quand définie, cette propriété [code]visible[/"
+"code] du nœud [Control] pour cet index sera mis à [code]true[/code] et "
+"toutes les autres seront à [code]false[/code]."
#: doc/classes/TabContainer.xml doc/classes/Tabs.xml
msgid "If [code]true[/code], tabs can be rearranged with mouse drag."
@@ -74306,6 +76138,9 @@ msgid ""
"minimum size take into account in the total, instead of only the currently "
"visible one."
msgstr ""
+"Si [code]true[/code], les nœuds [Control] enfants qui sont cachés auront "
+"leur taille minimale qui sera prise en compte dans le total, au lieu de "
+"seulement celle actuellement visible."
#: doc/classes/TabContainer.xml
msgid ""
@@ -74365,6 +76200,10 @@ msgid ""
"fit in the container width. When the button is disabled (i.e. the first tab "
"is visible), it appears semi-transparent."
msgstr ""
+"L'icône pour le bouton flèche de gauche qui apparaît quand il y a trop "
+"d'onglets à afficher dans le conteneur. Lorsque le bouton est désactivé "
+"(c'est-à-dire le premier onglet est visible), il apparaît en semi-"
+"transparent."
#: doc/classes/TabContainer.xml doc/classes/Tabs.xml
msgid ""
@@ -74372,6 +76211,9 @@ msgid ""
"fit in the container width. Used when the button is being hovered with the "
"cursor."
msgstr ""
+"L'icône pour le bouton flèche de gauche qui apparaît quand il y a trop "
+"d'onglets à afficher dans le conteneur. Utilisé quand le bouton est survolé "
+"par le curseur."
#: doc/classes/TabContainer.xml doc/classes/Tabs.xml
msgid ""
@@ -74379,6 +76221,10 @@ msgid ""
"fit in the container width. When the button is disabled (i.e. the last tab "
"is visible) it appears semi-transparent."
msgstr ""
+"L'icône pour le bouton flèche de droite qui apparaît quand il y a trop "
+"d'onglets à afficher dans le conteneur. Lorsque le bouton est désactivé "
+"(c'est-à-dire le dernier onglet est visible), il apparaît en semi-"
+"transparent."
#: doc/classes/TabContainer.xml doc/classes/Tabs.xml
msgid ""
@@ -74386,6 +76232,9 @@ msgid ""
"fit in the container width. Used when the button is being hovered with the "
"cursor."
msgstr ""
+"L'icône pour le bouton flèche de droite qui apparaît quand il y a trop "
+"d'onglets à afficher dans le conteneur. Utilisé quand le bouton est survolé "
+"par le curseur."
#: doc/classes/TabContainer.xml
msgid "The icon for the menu button (see [method set_popup])."
@@ -74434,13 +76283,16 @@ msgstr "Ajoute un nouvel onglet."
#: doc/classes/Tabs.xml
msgid "Moves the scroll view to make the tab visible."
-msgstr ""
+msgstr "Déplace la vue de défilement pour rendre l'onglet visible."
#: doc/classes/Tabs.xml
msgid ""
"Returns [code]true[/code] if the offset buttons (the ones that appear when "
"there's not enough space for all tabs) are visible."
msgstr ""
+"Retourne [code]true[/code] si les boutons de décalage (les boutons qui "
+"apparaissent lorsqu'il n'y a pas assez d'espace pour tous les onglets) sont "
+"visibles."
#: doc/classes/Tabs.xml
msgid "Returns [code]true[/code] if select with right mouse button is enabled."
@@ -74448,8 +76300,13 @@ msgstr ""
"Retourne [code]true[/code] si la sélection avec le clic-droit est actif."
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Retourne le titre de l'onglet à la position [code]idx[/code]."
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
-msgstr ""
+msgstr "Retourne le nombre d'onglets cachés décalés vers la gauche."
#: doc/classes/Tabs.xml
msgid "Returns tab [Rect2] with local position and size."
@@ -74461,7 +76318,7 @@ msgstr "Retourne le titre de l'onglet à la position [code]idx[/code]."
#: doc/classes/Tabs.xml
msgid "Returns the [Tabs]' rearrange group ID."
-msgstr ""
+msgstr "Retourne l'identifiant de groupe du [Tab]."
#: doc/classes/Tabs.xml
msgid "Moves a tab from [code]from[/code] to [code]to[/code]."
@@ -74479,6 +76336,11 @@ msgstr ""
"le clic droit."
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Définit une icône pour l'onglet à la position [code]tab_idx[/code]."
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
"Définit une [code]icon[/code] pour l'onglet à la position [code]tab_idx[/"
@@ -74506,6 +76368,8 @@ msgid ""
"if [code]true[/code], the mouse's scroll wheel can be used to navigate the "
"scroll view."
msgstr ""
+"si [code]true[/code], la roue de défilement de la souris permet de naviguer "
+"dans la vue de défilement."
#: doc/classes/Tabs.xml
msgid "The alignment of all tabs. See [enum TabAlign] for details."
@@ -74517,6 +76381,8 @@ msgid ""
"Sets when the close button will appear on the tabs. See [enum "
"CloseButtonDisplayPolicy] for details."
msgstr ""
+"Définit lorsque le bouton de fermeture apparaîtra sur les onglets. Voir "
+"[enum CloseButtonDisplayPolicy] pour plus de détails."
#: doc/classes/Tabs.xml
msgid ""
@@ -74527,8 +76393,12 @@ msgstr ""
"drag_to_rearrange_enabled]."
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
-msgstr "Émis quand un onglet a été cliqué-droit."
+#, fuzzy
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
+msgstr ""
+"Émis lorsqu'un bouton personnalisé est pressé. Voir [method add_button]."
#: doc/classes/Tabs.xml
msgid "Emitted when a tab is clicked, even if it is the current tab."
@@ -74597,6 +76467,8 @@ msgid ""
"A TCP server. Listens to connections on a port and returns a [StreamPeerTCP] "
"when it gets an incoming connection."
msgstr ""
+"Un serveur TCP. Ecoute les connexions sur un port et retourne un "
+"[StreamPeerTCP] quand il obtient une connexion entrante."
#: doc/classes/TCP_Server.xml
msgid "Returns [code]true[/code] if a connection is available for taking."
@@ -74654,6 +76526,7 @@ msgstr ""
#: doc/classes/TextEdit.xml
msgid "Adds color region (given the delimiters) and its colors."
msgstr ""
+"Ajoute une région de couleur (à partir des délimiteurs) et ses couleurs."
#: doc/classes/TextEdit.xml
msgid "Adds a [code]keyword[/code] and its [Color]."
@@ -74664,18 +76537,25 @@ msgid ""
"Returns if the given line is foldable, that is, it has indented lines right "
"below it."
msgstr ""
+"Retourne si la ligne donnée peut être réduite, c'est-à-dire qu'elle indente "
+"les lignes juste en dessous."
#: doc/classes/TextEdit.xml
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 ""
+"Centre le fenêtre d'affichage sur la ligne où est le curseur d'édition. Cela "
+"réinitialise également la valeur [member scroll_horizontal] à [code]0[/code]."
#: doc/classes/TextEdit.xml
msgid ""
"Clears all custom syntax coloring information previously added with [method "
"add_color_region] or [method add_keyword_color]."
msgstr ""
+"Efface toutes les informations de coloration de syntaxe personnalisées "
+"précédemment ajoutées avec [method add_color_region] ou [method "
+"add_keyword_color]."
#: doc/classes/TextEdit.xml
msgid "Clears the undo history."
@@ -74699,6 +76579,9 @@ msgid ""
"If [code]adjust_viewport[/code] is set to [code]true[/code], the viewport "
"will center at the cursor position after the move occurs."
msgstr ""
+"Déplace le curseur à l'index [code]column[/code] spécifié.\n"
+"Si [code]adjust_viewport[/code] est défini à [code]true[/code], le fenêtre "
+"d'affichage se centrera à la position du curseur après le mouvement."
#: doc/classes/TextEdit.xml
msgid ""
@@ -74720,10 +76603,11 @@ msgstr "Désélectionne la sélection actuelle."
#: doc/classes/TextEdit.xml
msgid "Folds all lines that are possible to be folded (see [method can_fold])."
msgstr ""
+"Réduit toutes les lignes qui peuvent être réduites (voir [method can_fold])."
#: doc/classes/TextEdit.xml
msgid "Folds the given line, if possible (see [method can_fold])."
-msgstr ""
+msgstr "Réduit la ligne donnée, si possible (voir [method can_fold])."
#: doc/classes/TextEdit.xml
msgid "Returns an array containing the line number of each breakpoint."
@@ -74742,6 +76626,8 @@ msgid ""
"Returns the line and column at the given position. In the returned vector, "
"[code]x[/code] is the column, [code]y[/code] is the line."
msgstr ""
+"Retourne la ligne et la colonne à la position donnée. Dans le vecteur "
+"retourné, [code]x[/code] est la colonne, [code]y[/code] est la ligne."
#: doc/classes/TextEdit.xml
msgid "Returns the amount of total lines in the text."
@@ -74749,7 +76635,7 @@ msgstr "Retourne le nombre total de lignes dans le texte."
#: doc/classes/TextEdit.xml
msgid "Returns the height of a largest line."
-msgstr ""
+msgstr "Retourne la hauteur de la plus grande ligne."
#: doc/classes/TextEdit.xml
msgid ""
@@ -74815,7 +76701,7 @@ msgstr ""
#: doc/classes/TextEdit.xml
msgid "Returns the total amount of lines that could be drawn."
-msgstr ""
+msgstr "Retourne le nombre total des lignes qui pourraient être affichées."
#: doc/classes/TextEdit.xml
msgid "Returns the number of visible lines, including wrapped text."
@@ -74848,11 +76734,11 @@ msgstr "Insérer le texte spécifié à la position du curseur."
#: doc/classes/TextEdit.xml
msgid "Returns whether the line at the specified index is folded or not."
-msgstr ""
+msgstr "Retourne si la ligne à l'index spécifié est réduite ou non."
#: doc/classes/TextEdit.xml
msgid "Returns whether the line at the specified index is hidden or not."
-msgstr ""
+msgstr "Retourne si la ligne de l'index spécifié est cachée ou non."
#: doc/classes/TextEdit.xml
msgid ""
@@ -74866,12 +76752,16 @@ msgid ""
"Returns [code]true[/code] when the specified [code]line[/code] has a "
"breakpoint."
msgstr ""
+"Retourne [code]true[/code] lorsque la ligne [code]line[/code] spécifié a un "
+"point d'arrêt."
#: doc/classes/TextEdit.xml
msgid ""
"Returns [code]true[/code] when the specified [code]line[/code] is marked as "
"safe."
msgstr ""
+"Retourne [code]true[/code] lorsque la ligne [code]line[/code] spécifié est "
+"marquée comme sûre."
#: doc/classes/TextEdit.xml
msgid "Returns if the given line is wrapped."
@@ -74882,6 +76772,9 @@ msgid ""
"Returns whether the mouse is over selection. If [code]edges[/code] is "
"[code]true[/code], the edges are considered part of the selection."
msgstr ""
+"Retourne si la souris est sur la sélection. Si [code]edges[/code] est "
+"[code]true[/code], les bords sont considérés comme faisant partie de la "
+"sélection."
#: doc/classes/TextEdit.xml
msgid "Returns [code]true[/code] if the selection is active."
@@ -74908,6 +76801,8 @@ msgid ""
"Removes all the breakpoints. This will not fire the [signal "
"breakpoint_toggled] signal."
msgstr ""
+"Retire tous les points d'arrêt. Cela n'émettra pas [signal "
+"breakpoint_toggled]."
#: doc/classes/TextEdit.xml
msgid ""
@@ -74942,6 +76837,9 @@ msgid ""
"Perform selection, from line/column to line/column.\n"
"If [member selecting_enabled] is [code]false[/code], no selection will occur."
msgstr ""
+"Effectue une sélection, de la ligne/colonne à la ligne/colonne.\n"
+"Si [member selection_enabled] est [code]false[/code], aucune sélection ne "
+"sera effectuée."
#: doc/classes/TextEdit.xml
msgid ""
@@ -74962,9 +76860,9 @@ msgid ""
"code]. Deletes the bookmark if [code]bookmark[/code] is [code]false[/code].\n"
"Bookmarks are shown in the [member breakpoint_gutter]."
msgstr ""
-"Ajoute un marque-page pour la ligne [code]line[/code] si "
-"[code]bookmark[/code] est [code]true[/code]. Supprime le marque-page si "
-"[code]bookmark[/code] est [code]false[/code].\n"
+"Ajoute un marque-page pour la ligne [code]line[/code] si [code]bookmark[/"
+"code] est [code]true[/code]. Supprime le marque-page si [code]bookmark[/"
+"code] est [code]false[/code].\n"
"Les marque-pages sont affichés dans [member breakpoint_gutter]."
#: doc/classes/TextEdit.xml
@@ -74972,6 +76870,8 @@ msgid ""
"Adds or removes the breakpoint in [code]line[/code]. Breakpoints are shown "
"in the [member breakpoint_gutter]."
msgstr ""
+"Ajoute ou supprime le point d'arrêt à [code]line[/code]. Les points d'arrêt "
+"sont indiqués dans le [member breakpoint_gutter]."
#: doc/classes/TextEdit.xml
msgid "If [code]true[/code], hides the line of the specified index."
@@ -74983,10 +76883,13 @@ msgid ""
"This will show the line number with the color provided in the "
"[code]safe_line_number_color[/code] theme property."
msgstr ""
+"Si [code]true[/code], marque la [code]line[/code] comme sûre.\n"
+"Cela montrera le numéro de ligne avec la couleur fournie dans la propriété "
+"[code]safe_line_number_color[/code] du thème."
#: doc/classes/TextEdit.xml
msgid "Toggle the folding of the code block at the given line."
-msgstr ""
+msgstr "Réduit le bloc de code à la ligne donnée."
#: doc/classes/TextEdit.xml
msgid "Perform undo operation."
@@ -75001,6 +76904,8 @@ msgid ""
"Unhide all lines that were previously set to hidden by [method "
"set_line_as_hidden]."
msgstr ""
+"Ré-affiche toutes les lignes qui étaient précédemment cachées par [method "
+"set_line_as_hidden]."
#: doc/classes/TextEdit.xml
msgid "If [code]true[/code], the bookmark gutter is visible."
@@ -75024,6 +76929,10 @@ msgid ""
"before displaying the context menu.\n"
"If [code]false[/code], the context menu disregards mouse location."
msgstr ""
+"Si [code]true[/code], un clic droit déplace le curseur à la position de la "
+"souris avant d'afficher le menu contextuel.\n"
+"Si [code]false[/code], la position du menu contextuel ignore l'emplacement "
+"de la souris."
#: doc/classes/TextEdit.xml
msgid "If [code]true[/code], a right-click displays the context menu."
@@ -75031,7 +76940,7 @@ msgstr "Si [code]true[/code], un clic droit affiche le menu contextuel."
#: doc/classes/TextEdit.xml
msgid "If [code]true[/code], allow drag and drop of selected text."
-msgstr ""
+msgstr "Si [code]true[/code], permet le déposé-glissé du texte sélectionné."
#: doc/classes/TextEdit.xml
msgid ""
@@ -75056,6 +76965,8 @@ msgid ""
"If [code]true[/code], all lines that have been set to hidden by [method "
"set_line_as_hidden], will not be visible."
msgstr ""
+"Si [code]true[/code], toutes les lignes qui ont été cachées par [method "
+"set_line_as_hidden] ne seront pas visibles."
#: doc/classes/TextEdit.xml
msgid ""
@@ -75103,12 +77014,17 @@ msgid ""
"If there is a horizontal scrollbar, this determines the current horizontal "
"scroll value in pixels."
msgstr ""
+"S'il y a une barre de défilement horizontale, cela détermine le décalage de "
+"défilement horizontal actuel en pixels."
#: doc/classes/TextEdit.xml
msgid ""
"If there is a vertical scrollbar, this determines the current vertical "
"scroll value in line numbers, starting at 0 for the top line."
msgstr ""
+"S'il y a une barre de défilement verticale, cela détermine le décalage de "
+"défilement vertical actuel en nombres de lignes, en commençant par 0 pour la "
+"ligne du haut."
#: doc/classes/TextEdit.xml
msgid ""
@@ -75116,29 +77032,39 @@ msgid ""
"If [code]false[/code], text can not be selected by the user or by the "
"[method select] or [method select_all] methods."
msgstr ""
+"Si [code]true[/code], le texte peut être sélectionné.\n"
+"Si [code]false[/code], le texte ne peut pas être sélectionné par "
+"l'utilisateur ou par les méthodes [method select] ou [method select_all]."
#: doc/classes/TextEdit.xml
msgid ""
"If [code]true[/code], shortcut keys for context menu items are enabled, even "
"if the context menu is disabled."
msgstr ""
+"Si [code]true[/code], les touches de raccourcies pour les éléments de menu "
+"contextuel sont activées, même si le menu contextuel est désactivé."
#: doc/classes/TextEdit.xml
msgid ""
"If [code]true[/code], line numbers are displayed to the left of the text."
msgstr ""
+"Si [code]true[/code], les numéros de ligne sont affichés à gauche du texte."
#: doc/classes/TextEdit.xml
msgid ""
"If [code]true[/code], sets the [code]step[/code] of the scrollbars to "
"[code]0.25[/code] which results in smoother scrolling."
msgstr ""
+"Si [code]true[/code], définit le [code]step[/code] des barres de défilement "
+"à [code]0.25[/code] qui permet de défiler plus facilement."
#: doc/classes/TextEdit.xml
msgid ""
"If [code]true[/code], any custom color properties that have been set for "
"this [TextEdit] will be visible."
msgstr ""
+"Si [code]true[/code], toutes les propriétés de couleur personnalisées qui "
+"ont été définies pour ce [TextEdit] seront visibles."
#: doc/classes/TextEdit.xml
msgid "String value of the [TextEdit]."
@@ -75153,6 +77079,8 @@ msgid ""
"If [code]true[/code], enables text wrapping when it goes beyond the edge of "
"what is visible."
msgstr ""
+"Si [code]true[/code], permet le retour à la ligne quand le texte dépasse ce "
+"qui est visible."
#: doc/classes/TextEdit.xml
msgid "Emitted when a breakpoint is placed via the breakpoint gutter."
@@ -75228,6 +77156,8 @@ msgid ""
"Sets the [Color] of the breakpoints. [member breakpoint_gutter] has to be "
"enabled."
msgstr ""
+"Définit la [Color] des points d'arrêt. [member breakpoint_gutter] doit être "
+"activé."
#: doc/classes/TextEdit.xml
msgid "Sets the font [Color]."
@@ -75353,18 +77283,28 @@ msgid ""
"canvas_item_add_texture_rect] with a rect at [code]position[/code] and the "
"size of this [Texture]."
msgstr ""
+"Dessine la texture en utilisant un [CanvasItem] avec l'API du [VisualServer] "
+"à la [code]position[/code] spécifiée. Équivalent à [method VisualServer."
+"canvas_item_add_texture_rect] avec un rectangle à [code]position[/code] et "
+"la taille de cette [Texture]."
#: doc/classes/Texture.xml
msgid ""
"Draws the texture using a [CanvasItem] with the [VisualServer] API. "
"Equivalent to [method VisualServer.canvas_item_add_texture_rect]."
msgstr ""
+"Dessine la texture en utilisant un [CanvasItem] avec l'API du "
+"[VisualServer]. Équivalent à [method VisualServer."
+"canvas_item_add_texture_rect]."
#: doc/classes/Texture.xml
msgid ""
"Draws a part of the texture using a [CanvasItem] with the [VisualServer] "
"API. Equivalent to [method VisualServer.canvas_item_add_texture_rect_region]."
msgstr ""
+"Dessine une partie de la texture en utilisant un [CanvasItem] avec l'API du "
+"[VisualServer]. Équivalent à [method VisualServer."
+"canvas_item_add_texture_rect_region]."
#: doc/classes/Texture.xml
msgid ""
@@ -75389,12 +77329,16 @@ msgstr "Renvoie la largeur de texture."
#: doc/classes/Texture.xml
msgid "Returns [code]true[/code] if this [Texture] has an alpha channel."
msgstr ""
+"Retourne [code]true[/code] si cette [Texture] a une transparence (canal "
+"alpha)."
#: doc/classes/Texture.xml
msgid ""
"The texture's [enum Flags]. [enum Flags] are used to set various properties "
"of the [Texture]."
msgstr ""
+"Les [enum Flags] de la texture. [enum Flags] sont utilisés pour définir "
+"différentes propriétés de la [Texture]."
#: doc/classes/Texture.xml
msgid ""
@@ -75418,10 +77362,14 @@ msgid ""
"[b]Note:[/b] Ignored when using an [AtlasTexture] as these don't support "
"repetition."
msgstr ""
+"Répète la texture (au lieu de la limiter aux bords).\n"
+"[b]Note :[/b] Ignoré avec les [AtlasTexture] puisqu'ils ne supportent pas la "
+"répétition."
#: doc/classes/Texture.xml doc/classes/VisualServer.xml
msgid "Uses a magnifying filter, to enable smooth zooming in of the texture."
msgstr ""
+"Utilise un filtre grossissant, pour permettre un zoom lisse sur la texture."
#: doc/classes/Texture.xml doc/classes/TextureLayered.xml
#: doc/classes/VisualServer.xml
@@ -75430,6 +77378,10 @@ msgid ""
"texture with different aspect ratios.\n"
"This results in better-looking textures when viewed from oblique angles."
msgstr ""
+"Utilise le filtrage de mipmap anisotrope. Génère des versions plus petites "
+"de la même texture avec différents ratios d'aspect.\n"
+"Cela donne des textures plus jolies lorsqu'elles sont vues à partir d'angles "
+"obliques."
#: doc/classes/Texture.xml doc/classes/VisualServer.xml
msgid "Converts the texture to the sRGB color space."
@@ -75441,6 +77393,9 @@ msgid ""
"[b]Note:[/b] Ignored when using an [AtlasTexture] as these don't support "
"repetition."
msgstr ""
+"Répète la texture avec en alternant des sections en miroir.\n"
+"[b]Note :[/b] Ignoré avec les [AtlasTexture] puisqu'ils ne supportent pas la "
+"répétition."
#: doc/classes/Texture.xml doc/classes/VisualServer.xml
msgid "Texture is a video surface."
@@ -75448,7 +77403,7 @@ msgstr "La texture est une surface vidéo."
#: doc/classes/Texture3D.xml
msgid "Texture with 3 dimensions."
-msgstr ""
+msgstr "Une texture à 3 dimensions."
#: doc/classes/Texture3D.xml
msgid ""
@@ -75641,6 +77596,8 @@ msgid ""
"Texture to display by default, when the node is [b]not[/b] in the disabled, "
"focused, hover or pressed state."
msgstr ""
+"La texture à afficher par défault, quand le nœud n'est [b]pas[/b] dans "
+"l'état désactivé, avec focus, survolé or pressé."
#: doc/classes/TextureButton.xml
msgid ""
@@ -75648,6 +77605,9 @@ msgid ""
"focus and the player presses the Enter key or if the player presses the "
"[member BaseButton.shortcut] key."
msgstr ""
+"La texture à afficher quand la souris appuie sur le nœud, si quand le nœud a "
+"le focus du clavier et que l'utilisateur appuie sur la touche Entrée, ou "
+"quand l'utilisateur appuie sur la touche [member BaseButton.shortcut]."
#: doc/classes/TextureButton.xml doc/classes/TextureRect.xml
msgid "Scale to fit the node's bounding rectangle."
@@ -76699,7 +78659,6 @@ msgid "If [code]true[/code], this TileMap bakes a navigation region."
msgstr ""
#: doc/classes/TileMap.xml
-#, fuzzy
msgid "If [code]true[/code], the cell's UVs will be clipped."
msgstr "Si [code]true[/code], les UV de la cellule seront limités."
@@ -78183,7 +80142,6 @@ msgid "Control to show a tree of items."
msgstr "Un contrôle pour afficher l'arborescence d'éléments."
#: doc/classes/Tree.xml
-#, fuzzy
msgid ""
"This shows a tree of items that can be selected, expanded and collapsed. The "
"tree can have multiple columns with custom controls like text editing, "
@@ -79099,6 +81057,9 @@ msgid ""
"using [method get_metadata]. This can be used, for example, to store a "
"reference to the original data."
msgstr ""
+"Définit la valeur des métadonnées pour la colonne donnée, qui peut être "
+"récupérée ultérieurement en utilisant [method get_metadata]. Cela peut être "
+"utilisé, par exemple, pour stocker une référence aux données d'origine."
#: doc/classes/TreeItem.xml
msgid "Sets the value of a [constant CELL_MODE_RANGE] column."
@@ -79111,6 +81072,10 @@ msgid ""
"If [code]expr[/code] is [code]true[/code], the edit mode slider will use an "
"exponential scale as with [member Range.exp_edit]."
msgstr ""
+"Définit la gamme de valeurs acceptées pour une colonne. La colonne doit être "
+"dans le mode [constant CELL_MODE_RANGE].\n"
+"Si [code]expr[/code] est [code]true[/code], le glisseur d'édition utilisera "
+"une échelle exponentielle comme avec [member Range.exp_edit]."
#: doc/classes/TreeItem.xml
msgid "If [code]true[/code], the given column is selectable."
@@ -79121,6 +81086,8 @@ msgid ""
"Sets a string to be shown after a column's value (for example, a unit "
"abbreviation)."
msgstr ""
+"Définit un texte à afficher après la valeur d'une colonne (par exemple, une "
+"abréviation d'unité)."
#: doc/classes/TreeItem.xml
msgid "Sets the given column's text value."
@@ -79131,6 +81098,8 @@ msgid ""
"Sets the given column's text alignment. See [enum TextAlign] for possible "
"values."
msgstr ""
+"Définit l'alignement du texte de la colonne donnée. Voir [enum TextAlign] "
+"pour les valeurs possibles."
#: doc/classes/TreeItem.xml
msgid "Sets the given column's tooltip text."
@@ -79240,6 +81209,15 @@ msgid ""
"direction of the interpolation. See the class description for more "
"information."
msgstr ""
+"Suit la méthode [code]method[/code] de [code]object[/code] et applique la "
+"valeur retournée sur la méthode [code]target_method[/code] de [code]target[/"
+"code], en partant de [code]initial_val[/code] pendant [code]duration[/code] "
+"secondes, après [code]delay[/code] secondes. Les méthodes sont appelées avec "
+"des valeurs consécutives.\n"
+"Utilisez [enum TransitionType] pour le paramètres [code]trans_type[/code] et "
+"[enum EaseType] pour [code]ease_type[/code]. Ces valeurs contrôlent le "
+"comportement et la direction de l'interpolation. Voir la description de la "
+"classe pour plus d'informations."
#: doc/classes/Tween.xml
msgid ""
@@ -79252,6 +81230,14 @@ msgid ""
"direction of the interpolation. See the class description for more "
"information."
msgstr ""
+"Suit la propriété [code]property[/code] de [code]object[/code] et applique "
+"la valeur retournée sur la propriété [code]target_property[/code] de "
+"[code]target[/code], en partant de [code]initial_val[/code] pendant "
+"[code]duration[/code] secondes, après [code]delay[/code] secondes.\n"
+"Utilisez [enum TransitionType] pour le paramètres [code]trans_type[/code] et "
+"[enum EaseType] pour [code]ease_type[/code]. Ces valeurs contrôlent le "
+"comportement et la direction de l'interpolation. Voir la description de la "
+"classe pour plus d'informations."
#: doc/classes/Tween.xml
msgid ""
@@ -79259,6 +81245,10 @@ msgid ""
"one lasting 10 seconds and the other 20 seconds, it would return 20 seconds, "
"as by that time all tweens would have finished."
msgstr ""
+"Retourne le temps total nécessaire pour que tous les tweens finissent. Si "
+"vous avez deux tweens, un de 10 secondes et les 20 autres secondes, il sera "
+"retourné 20 secondes, car c'est la durée nécessaire pour que tous les tweens "
+"se terminent."
#: doc/classes/Tween.xml
msgid ""
@@ -79277,6 +81267,10 @@ msgid ""
"[code]arg1[/code]-[code]arg5[/code] are arguments to be passed to the "
"callback."
msgstr ""
+"Appelle la méthode [code]callback[/code] de [code]object[/code] après "
+"[code]duration[/code] sur le fil d'exécution principal (similaire à [method "
+"Object.call_deferred]). [code]arg1[/code]-[code]arg5[/code] sont les "
+"arguments à passer lors de l'appel."
#: doc/classes/Tween.xml
msgid ""
@@ -79289,6 +81283,14 @@ msgid ""
"direction of the interpolation. See the class description for more "
"information."
msgstr ""
+"Anime la méthode [code]method[/code] de [code]object[/code] de "
+"[code]initial_val[/code] jusqu'à [code]final_val[/code] pendant "
+"[code]duration[/code] secondes, après [code]delay[/code] secondes. Les "
+"méthodes sont appelées avec des valeurs consécutives.\n"
+"Utilisez [enum TransitionType] pour le paramètres [code]trans_type[/code] et "
+"[enum EaseType] pour [code]ease_type[/code]. Ces valeurs contrôlent le "
+"comportement et la direction de l'interpolation. Voir la description de la "
+"classe pour plus d'informations."
#: doc/classes/Tween.xml
msgid ""
@@ -79301,12 +81303,23 @@ msgid ""
"direction of the interpolation. See the class description for more "
"information."
msgstr ""
+"Anime la propriété [code]property[/code] de [code]object[/code] de "
+"[code]initial_val[/code] jusqu'à [code]final_val[/code] pendant "
+"[code]duration[/code] secondes, après [code]delay[/code] secondes. Définir "
+"la valeur initiale à [code]null[/code] utilise l'actuelle valeur de la "
+"propriété.\n"
+"Utilisez [enum TransitionType] pour le paramètres [code]trans_type[/code] et "
+"[enum EaseType] pour [code]ease_type[/code]. Ces valeurs contrôlent le "
+"comportement et la direction de l'interpolation. Voir la description de la "
+"classe pour plus d'informations."
#: doc/classes/Tween.xml
msgid ""
"Returns [code]true[/code] if any tweens are currently running.\n"
"[b]Note:[/b] This method doesn't consider tweens that have ended."
msgstr ""
+"Retourne [code]true[/code] si des tweens sont en cours d'exécution.\n"
+"[b]Note :[/b] Cette méthode ne tient pas compte des tweens qui sont terminés."
#: doc/classes/Tween.xml
msgid ""
@@ -79314,6 +81327,9 @@ msgid ""
"pair. By default, all tweens are removed, unless [code]key[/code] is "
"specified."
msgstr ""
+"Arrête l'animation et supprime un tween, compte tenu de son objet et de ses "
+"propriétés/méthodes. Par défaut, tous les tweens sont supprimés, sauf si "
+"[code]key[/code] est spécifié."
#: doc/classes/Tween.xml
msgid "Stops animation and removes all tweens."
@@ -79325,6 +81341,9 @@ msgid ""
"tween), given its object and property/method pair. By default, all tweens "
"are reset, unless [code]key[/code] is specified."
msgstr ""
+"Réinitialise un tween à sa valeur initiale (celle donnée, pas celle avant le "
+"tween), en donnant son objet et ses propriétés/méthodes. Par défaut, tous "
+"les tweens sont réinitialisés, sauf si [code]key[/code] est spécifié."
#: doc/classes/Tween.xml
msgid ""
@@ -79340,6 +81359,9 @@ msgid ""
"pair. By default, all tweens are resumed, unless [code]key[/code] is "
"specified."
msgstr ""
+"Continue d'animer un tween arrêté, à partir de son objet et des propriétés/"
+"méthodes. Par défaut, tous les tweens sont repris, sauf si [code]key[/code] "
+"est spécifié."
#: doc/classes/Tween.xml
msgid "Continues animating all stopped tweens."
@@ -79360,12 +81382,15 @@ msgstr ""
#: doc/classes/Tween.xml
msgid "Starts the tween. You can define animations both before and after this."
msgstr ""
+"Lance le tween. Vous pouvez définir des animations avant et après cela."
#: doc/classes/Tween.xml
msgid ""
"Stops a tween, given its object and property/method pair. By default, all "
"tweens are stopped, unless [code]key[/code] is specified."
msgstr ""
+"Arrête un tween, à partir de son objet et de ses propriétés/méthodes. Par "
+"défaut, tous les tweens sont arrêtés, sauf si [code]key[/code] est spécifié."
#: doc/classes/Tween.xml
msgid "Stops animating all tweens."
@@ -79382,6 +81407,15 @@ msgid ""
"direction of the interpolation. See the class description for more "
"information."
msgstr ""
+"Anime la méthode [code]method[/code] de [code]object[/code] et applique la "
+"valeur retournée sur la méthode [code]initial_method[/code] jusqu'à "
+"[code]final_val[/code] pendant [code]duration[/code] secondes, après "
+"[code]delay[/code] secondes. Les méthodes sont animées en les appelant avec "
+"des valeurs consécutives.\n"
+"Utilisez [enum TransitionType] pour le paramètres [code]trans_type[/code] et "
+"[enum EaseType] pour [code]ease_type[/code]. Ces valeurs contrôlent le "
+"comportement et la direction de l'interpolation. Voir la description de la "
+"classe pour plus d'informations."
#: doc/classes/Tween.xml
msgid ""
@@ -79394,6 +81428,14 @@ msgid ""
"direction of the interpolation. See the class description for more "
"information."
msgstr ""
+"Anime la propriété [code]property[/code] de [code]object[/code] et applique "
+"la valeur retournée par la propriété [code]initial_val[/code] de "
+"[code]initial[/code] jusqu'à [code]final_val[/code] pendant [code]duration[/"
+"code] secondes, après [code]delay[/code] secondes.\n"
+"Utilisez [enum TransitionType] pour le paramètres [code]trans_type[/code] et "
+"[enum EaseType] pour [code]ease_type[/code]. Ces valeurs contrôlent le "
+"comportement et la direction de l'interpolation. Voir la description de la "
+"classe pour plus d'informations."
#: doc/classes/Tween.xml
msgid "Returns the current time of the tween."
@@ -79411,6 +81453,11 @@ msgid ""
"code] for half of the normal speed. A value of [code]0[/code] pauses the "
"animation, but see also [method set_active] or [method stop_all] for this."
msgstr ""
+"Le multiplicateur de la vitesse du tween. Par exemple, [code]1.0[/code] "
+"définit une vitesse normale, [code]2.0[/code] deux fois que la vitesse "
+"normale, et [code]0.5[/code] la moitié de la vitesse normale. Une valeur de "
+"[code]0[/code] met en pause l'animation, mais voir aussi [method set_active] "
+"ou [method stop_all] pour cela."
#: doc/classes/Tween.xml
msgid "If [code]true[/code], the tween loops."
@@ -79527,6 +81574,7 @@ msgstr ""
#: doc/classes/Tweener.xml
msgid "Abstract class for all Tweeners used by [SceneTreeTween]."
msgstr ""
+"Une classe abstraite pour tous les Tweener utilisés par [SceneTreeTween]."
#: doc/classes/Tweener.xml
msgid ""
@@ -79535,6 +81583,10 @@ msgid ""
"can't be created manually, you need to use a dedicated method from "
"[SceneTreeTween]."
msgstr ""
+"Les tweeners sont des objets qui effectuent une tâche d'animation "
+"spécifique, par exemple interpoler une propriété ou appeler une méthode à un "
+"moment donné. Un [Tweener] ne peut pas être créé manuellement, vous devez "
+"utiliser une méthode dédiée de [SceneTreeTween]."
#: doc/classes/Tweener.xml
msgid "Emitted when the [Tweener] has just finished its job."
@@ -79675,6 +81727,10 @@ msgid ""
"can optionally specify a [code]bind_address[/code] to only listen for "
"packets sent to that address. See also [method PacketPeerUDP.listen]."
msgstr ""
+"Démarre le serveur en ouvrant un socket UDP écoutant du port donné. Vous "
+"pouvez en option spécifier une [code]bind_address[/code] pour seulement "
+"écouter les paquets envoyés à cette adresse. Voir aussi [method "
+"PacketPeerUDP.listen]."
#: doc/classes/UDPServer.xml
msgid ""
@@ -79795,6 +81851,7 @@ msgstr ""
#: doc/classes/UndoRedo.xml
msgid "Register a method that will be called when the action is committed."
msgstr ""
+"Enregistre une méthode qui sera appelée lorsque l'action sera exécutée."
#: doc/classes/UndoRedo.xml
msgid "Register a property value change for \"do\"."
@@ -79806,6 +81863,9 @@ msgid ""
"lost. This is useful mostly for new nodes created for the \"do\" call. Do "
"not use for resources."
msgstr ""
+"Enregistre une référence pour \"faire\" qui sera effacée si l'historique de "
+"\"faire\" est perdue. Ceci est utile surtout pour les nouveaux nœuds créés "
+"avec l'appel \"faire\". Ne pas l'utiliser pour les ressources."
#: doc/classes/UndoRedo.xml
msgid "Register a method that will be called when the action is undone."
@@ -79821,6 +81881,9 @@ msgid ""
"history is lost. This is useful mostly for nodes removed with the \"do\" "
"call (not the \"undo\" call!)."
msgstr ""
+"Enregistre une référence pour \"annuler\" qui sera effacée si l'historique "
+"\"annuler\" est perdue. Ceci est utile surtout pour les nœuds retirés avec "
+"l'appel \"faire\" (et non pas l'appel \"annuler\" !)."
#: doc/classes/UndoRedo.xml
msgid ""
@@ -79828,12 +81891,17 @@ msgid ""
"Passing [code]false[/code] to [code]increase_version[/code] will prevent the "
"version number to be increased from this."
msgstr ""
+"Efface l'historique annuler/refaire et les références associées.\n"
+"Passez [code]false[/code] pour [code]increase_version[/code] pour empêcher "
+"le numéro de version d'être augmenté suite à ça."
#: doc/classes/UndoRedo.xml
msgid ""
"Commit the action. All \"do\" methods/properties are called/set when this "
"function is called."
msgstr ""
+"Exécute l'action. Toutes les méthodes et propriétés \"faire\" sont appelées/"
+"définies lorsque cette fonction est appelée."
#: doc/classes/UndoRedo.xml
msgid ""
@@ -79844,6 +81912,12 @@ msgid ""
"The way actions are merged is dictated by the [code]merge_mode[/code] "
"argument. See [enum MergeMode] for details."
msgstr ""
+"Crée une nouvelle action. Une fois appelé, faites tous vos appels avec "
+"[method add_do_method], [method add_undo_method], [method add_do_property], "
+"et [method add_undo_property], puis exécutez l'action avec [method "
+"commit_action].\n"
+"La façon dont les actions sont fusionnées est défini par l'argument "
+"[code]merge_mode[/code]. Voir [enum MergeMode] pour plus de détails."
#: doc/classes/UndoRedo.xml
msgid "Gets the name of the current action."
@@ -79855,6 +81929,10 @@ msgid ""
"version number is increased automatically.\n"
"This is useful mostly to check if something changed from a saved version."
msgstr ""
+"Retourne la version. Chaque fois qu'une nouvelle action est engagée, le "
+"numéro de version du [UndoRedo] est augmenté automatiquement.\n"
+"Ceci est surtout utile pour vérifier si quelque chose a changé par rapport à "
+"une version sauvegardée."
#: doc/classes/UndoRedo.xml
msgid ""
@@ -79862,6 +81940,9 @@ msgid ""
"action, i.e. running its \"do\" method or property change (see [method "
"commit_action])."
msgstr ""
+"Retourne [code]true[/code] si le [UndoRedo] engage actuellement l'action, "
+"c'est-à-dire en exécutant sa méthode « faire » ou son changement de "
+"propriété (voir [method commit_action])."
#: doc/classes/UndoRedo.xml
msgid "Redo the last action."
@@ -79887,27 +81968,34 @@ msgid ""
"and the \"undo\" operation is from the last subsequent action with the same "
"name."
msgstr ""
+"Fait de sorte que l'opération action suivante \"faire\" est de la première "
+"action créée, et que l'opération \"annuler\" est de l'action suivante avec "
+"le même nom."
#: doc/classes/UndoRedo.xml
msgid "Makes subsequent actions with the same name be merged into one."
msgstr "Fusionne les actions suivantes avec le même nom dans une seule."
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
-msgstr "Les fonctions de réseau UPNP."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
+msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -79920,7 +82008,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -79949,62 +82037,40 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
-msgstr ""
-"Fournis un fonctionnalité UPNP pour découvrir des appareils [UPNPDevice] sur "
-"le réseau local et lancer des commandes sur eux, comme la gestion des ports "
-"(port forwarding) et requêter les adresses IP locales et distantes. À noter "
-"que les méthodes de cette classe sont synchrones et bloquent le fil "
-"d'exécution que les appelle.\n"
-"Pour le forward d'un port :\n"
-"[codeblock]\n"
-"const PORT = 7777\n"
-"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
-"[/codeblock]\n"
-"Pour fermer le port spécifié (ex. après avoir fini de l'utiliser) :\n"
-"[codeblock]\n"
-"upnp.delete_port_mapping(port)\n"
"[/codeblock]\n"
-"[b]Note :[/b] la découverte UPnP bloque le fil d'exécution que l'appelle. "
-"Pour ne pas bloquer le fil d'exécution principal, utilisez les [Thread] "
-"comme ceci :\n"
-"[codeblock]\n"
-"# Émis quand la configuration d'un port UPnP est fini (peu importe si c'est "
-"un succès ou un échec).\n"
-"signal upnp_completed(error)\n"
-"\n"
-"# Remplacer ceci avec le port de votre serveur compris entre 1025 et 65535.\n"
-"const SERVER_PORT = 3928\n"
-"var thread = null\n"
-"\n"
-"func _upnp_setup(server_port):\n"
-" # Les requêtes UPNP prennent un peu de temps\n"
-" var upnp = UPNP.new()\n"
-" var err = upnp.discover()\n"
-"\n"
-" if err != OK:\n"
-" push_error(str(err))\n"
-" emit_signal(\"upnp_completed\", err)\n"
-" return\n"
-"\n"
-" if upnp.get_gateway() and upnp.get_gateway().is_valid_gateway():\n"
-" upnp.add_port_mapping(server_port, server_port, ProjectSettings."
-"get_setting(\"application/config/name\"), \"UDP\")\n"
-" upnp.add_port_mapping(server_port, server_port, ProjectSettings."
-"get_setting(\"application/config/name\"), \"TCP\")\n"
-" emit_signal(\"upnp_completed\", OK)\n"
-"\n"
-"func _ready():\n"
-" thread = Thread.new()\n"
-" thread.start(self, \"_upnp_setup\", SERVER_PORT)\n"
-"\n"
-"func _exit_tree():\n"
-" # Attendre ici que le fil d'exécution se termine avant que le jeu ne "
-"quitte.\n"
-" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
+msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid "Adds the given [UPNPDevice] to the list of discovered devices."
@@ -80013,22 +82079,35 @@ msgstr "Ajouter le [UPNPDevice] spécifié à la liste des appareils découverts
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -80041,8 +82120,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -80055,6 +82136,13 @@ msgid ""
"this if you know what you're doing.\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
+"Découvre les [UPNPDevice] locaux. Efface la liste des appareils précédemment "
+"découverts.\n"
+"Filtres pour les appareils de type IGD (InternetGatewayDevice) par défaut, "
+"comme ceux gèrent le suivi de port. [code]timeout[/code] est la durée "
+"d'attente des réponses en millisecondes. [code]ttl[/code] est le temps "
+"laissé à vivre; changez-le seulement si vous savez ce que vous faites.\n"
+"Voir [enum UPNPResult] pour les valeurs retournées possibles."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Returns the [UPNPDevice] at the given [code]index[/code]."
@@ -80070,12 +82158,16 @@ msgid ""
"Returns the default gateway. That is the first discovered [UPNPDevice] that "
"is also a valid IGD (InternetGatewayDevice)."
msgstr ""
+"Retourne la passerelle par défaut. Il s'agit du premier [UPNPDevice] "
+"découvert qui est également un IGD (InternetGatewayDevice) valide."
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Returns the external [IP] address of the default gateway (see [method "
"get_gateway]) as string. Returns an empty string on error."
msgstr ""
+"Retourne l'adresse [IP] externe de la passerelle par défaut (voir [method "
+"get_gateway]) en tant que chaîne. Retourne une chaîne vide en cas d'erreur."
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
@@ -80104,12 +82196,18 @@ msgid ""
"the source port 1900 (same as destination port). Otherwise, the value will "
"be used as the port."
msgstr ""
+"Si [code]0[/code], le port local à utiliser pour la découverte est choisi "
+"automatiquement par le système. Si [code]1[/code], la découverte sera faite "
+"à partir du port source 1900 (même comme port de destination.) Sinon, la "
+"valeur sera utilisée comme port."
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Multicast interface to use for discovery. Uses the default multicast "
"interface if empty."
msgstr ""
+"L'interface multicast à utiliser pour la découverte. Utilise l'interface "
+"multicast par défaut si vide."
#: modules/upnp/doc_classes/UPNP.xml
msgid "UPNP command or discovery was successful."
@@ -80120,12 +82218,16 @@ msgid ""
"Not authorized to use the command on the [UPNPDevice]. May be returned when "
"the user disabled UPNP on their router."
msgstr ""
+"Non autorisé à utiliser la commande sur le [UPNPDevice]. Peut être retourné "
+"lorsque l'utilisateur a désactivé UPNP sur son routeur."
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"No port mapping was found for the given port, protocol combination on the "
"given [UPNPDevice]."
msgstr ""
+"Aucune carte des ports n'a été trouvée pour le port donné, la combinaison de "
+"protocole sur le [UPNPDevice] donné."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Inconsistent parameters."
@@ -80136,6 +82238,8 @@ msgid ""
"No such entry in array. May be returned if a given port, protocol "
"combination is not found on an [UPNPDevice]."
msgstr ""
+"Pas d'entrée dans le tableau. Peut être retourné si pour un port donné, la "
+"combinaison de protocole n'est pas trouvée sur un [UPNPDevice]."
#: modules/upnp/doc_classes/UPNP.xml
msgid "The action failed."
@@ -80145,6 +82249,7 @@ msgstr "L’action a échoué."
msgid ""
"The [UPNPDevice] does not allow wildcard values for the source IP address."
msgstr ""
+"Le [UPNPDevice] ne permet pas les valeurs joker pour l'adresse IP source."
#: modules/upnp/doc_classes/UPNP.xml
msgid "The [UPNPDevice] does not allow wildcard values for the external port."
@@ -80169,6 +82274,8 @@ msgid ""
"No port maps are available. May also be returned if port mapping "
"functionality is not available."
msgstr ""
+"Aucune carte de ports n'est disponible. Peut également être retourné si la "
+"fonctionnalité de carte des ports n'est pas disponible."
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
@@ -80176,10 +82283,13 @@ msgid ""
"UPNP_RESULT_CONFLICT_WITH_OTHER_MAPPING] if a port mapping conflicts with an "
"existing one."
msgstr ""
+"Est en conflit avec un autre mécanisme. Peut être retourné au lieu de "
+"[constant UPNP_RESULT_CONFLICT_WITH_OTHER_MAPPING] si une carte des ports "
+"est en conflit avec une carte existante."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Conflict with an existing port mapping."
-msgstr ""
+msgstr "Est en conflit avec une carte des ports existante."
#: modules/upnp/doc_classes/UPNP.xml
msgid "External and internal port values must be the same."
@@ -80190,6 +82300,8 @@ msgid ""
"Only permanent leases are supported. Do not use the [code]duration[/code] "
"parameter when adding port mappings."
msgstr ""
+"Seuls les baux permanents sont pris en charge. N'utilisez pas le paramètre "
+"[code]duration[/code] lors de l'ajout de carte des ports."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Invalid gateway."
@@ -80236,29 +82348,41 @@ msgid ""
"No gateway available. You may need to call [method discover] first, or "
"discovery didn't detect any valid IGDs (InternetGatewayDevices)."
msgstr ""
+"Aucune passerelle disponible. Vous pouvez avoir besoin d'appeler [method "
+"discover] d'abord, ou la découverte n'a pas détecté de IGD "
+"(InternetGatewayDevices) valide."
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"No devices available. You may need to call [method discover] first, or "
"discovery didn't detect any valid [UPNPDevice]s."
msgstr ""
+"Aucun appareil disponible. Vous pouvez avoir besoin d'appeler [method "
+"discover] d'abord, ou la découverte n'a pas détecté des [UPNPDevice] valides."
#: modules/upnp/doc_classes/UPNP.xml modules/upnp/doc_classes/UPNPDevice.xml
msgid "Unknown error."
msgstr "Erreur inconnue."
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
-msgstr "Périphérique UPNP."
+msgid "Universal Plug and Play (UPnP) device."
+msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
+#, fuzzy
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
+"Un appareil UPNP. Voir [UPNP] pour les fonctions UPNP de découverte et "
+"utilitaires. Fournit un accès de bas niveau aux commandes UPNP. Permet de "
+"gérer les cartes de ports (suivi de port) et de demander des informations "
+"réseau sur l'appareil (comme l'adresse IP locale et externe, et le statut). "
+"Notez que les méthodes de cette classe sont synchrones et bloquent le fil "
+"d'exécution dans lequel ces méthodes sont appelées."
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
@@ -80266,30 +82390,36 @@ msgid ""
"for the given protocol to the local machine. See [method UPNP."
"add_port_mapping]."
msgstr ""
+"Ajoute une carte des ports pour faire passer le port externe donné sur ce "
+"[UPNPDevice] pour le protocole donné à la machine locale. Voir [method UPNP."
+"add_port_mapping]."
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
"Deletes the port mapping identified by the given port and protocol "
"combination on this device. See [method UPNP.delete_port_mapping]."
msgstr ""
+"Supprime la carte des ports identifiée par la combinaison de ports et le "
+"protocole donnée sur cet appareil. Voir [method UPNP.delete_port_mapping]."
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
"Returns [code]true[/code] if this is a valid IGD (InternetGatewayDevice) "
"which potentially supports port forwarding."
msgstr ""
+"Retourne [code]true[/code] si c'est un IGD (InternetGatewayDevice) valide "
+"qui supporte potentiellement le suivi de port."
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
"Returns the external IP address of this [UPNPDevice] or an empty string."
-msgstr ""
+msgstr "Retourne l'adresse IP externe de ce [UPNPDevice], ou une chaîne vide."
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid "URL to the device description."
msgstr "URL de la description de l’appareil."
#: modules/upnp/doc_classes/UPNPDevice.xml
-#, fuzzy
msgid "IDG control URL."
msgstr "URL de contrôle IDG."
@@ -80475,6 +82605,8 @@ msgstr ""
msgid ""
"Returns a new vector with all components in absolute values (i.e. positive)."
msgstr ""
+"Retourne un nouveau vecteur avec tous les composants en valeurs absolues "
+"(c'est-à-dire toujours positif)."
#: doc/classes/Vector2.xml
msgid ""
@@ -80496,6 +82628,9 @@ msgid ""
"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
"vector2_angle_to.png]Illustration of the returned angle.[/url]"
msgstr ""
+"Retourne l'angle au vecteur donné, en radians.\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"vector2_angle_to.png]Illustration de l'angle retourné.[/url]"
#: doc/classes/Vector2.xml
msgid ""
@@ -80504,6 +82639,10 @@ msgid ""
"[url=https://raw.githubusercontent.com/godotengine/godot-docs/stable/img/"
"vector2_angle_to_point.png]Illustration of the returned angle.[/url]"
msgstr ""
+"Retourne l'angle entre la ligne reliant les deux points et l'axe X, en "
+"radians.\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/stable/img/"
+"vector2_angle_to_point.png]Illustration de l'angle retourné.[/url]"
#: doc/classes/Vector2.xml
msgid ""
@@ -80524,6 +82663,7 @@ msgid ""
"Returns a new vector with all components rounded up (towards positive "
"infinity)."
msgstr ""
+"Retourne un nouveau vecteur avec tous les composants arrondis (vers +infini)."
#: doc/classes/Vector2.xml
msgid ""
@@ -80555,12 +82695,18 @@ msgid ""
"result at position [code]weight[/code]. [code]weight[/code] is on the range "
"of 0.0 to 1.0, representing the amount of interpolation."
msgstr ""
+"Fait une interpolation cubique entre ce vecteur et [code]b[/code] en "
+"utilisant [code]pre_a[/code] et [code]post_b[/code] comme poignées, et "
+"retourne le résultat suivant [code]weight[/code]. [code]weight[/code] est "
+"dans l'intervalle de 0,0 à 1,0, représentant la quantité interpolée."
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid ""
"Returns the normalized vector pointing from this vector to [code]b[/code]. "
"This is equivalent to using [code](b - a).normalized()[/code]."
msgstr ""
+"Retourne le vecteur normalisé de ce vecteur en direction de [code]b[/code]. "
+"Ceci est équivalent à l'utilisation [code]b - a).normalized()[/code]."
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid ""
@@ -80568,6 +82714,10 @@ msgid ""
"This method runs faster than [method distance_to], so prefer it if you need "
"to compare vectors or need the squared distance for some formula."
msgstr ""
+"Retourne la distance entre ce vecteur et [code]b[/code].\n"
+"Cette méthode est plus rapide que [method distance_to], alors préfèrez-le si "
+"vous avez besoin de comparer des vecteurs ou besoin de la distance carrée "
+"pour une formule."
#: doc/classes/Vector2.xml
msgid "Returns the distance between this vector and [code]to[/code]."
@@ -80593,6 +82743,8 @@ msgid ""
"Returns a new vector with all components rounded down (towards negative "
"infinity)."
msgstr ""
+"Retourne un nouveau vecteur avec tous les composants arrondis à la valeur "
+"inférieur (vers -infini)."
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid ""
@@ -80622,6 +82774,10 @@ msgid ""
"This method runs faster than [method length], so prefer it if you need to "
"compare vectors or need the squared distance for some formula."
msgstr ""
+"Retourne la longeur (magnitude) au carré de ce vecteur.\n"
+"Cette méthode est plus rapide que [method length] donc préférez-le si vous "
+"devez comparer des vecteurs ou avoir besoin de la distance carrée pour "
+"certaines formules."
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid ""
@@ -80637,6 +82793,9 @@ msgid ""
"[code]to[/code] by amount [code]weight[/code]. [code]weight[/code] is on the "
"range of 0.0 to 1.0, representing the amount of interpolation."
msgstr ""
+"Retourne le résultat de l'interpolation linéaire entre ce vecteur et "
+"[code]to[/code] par la quantité [code]weight[/code]. [code]weight[/code] est "
+"compris entre 0,0 et 1,0, représentant la quantité d'interpolation."
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid ""
@@ -80651,18 +82810,24 @@ msgid ""
"Returns the vector scaled to unit length. Equivalent to [code]v / v.length()"
"[/code]."
msgstr ""
+"Retourne le vecteur de longueur unitaire. Équivalent à [code]v / v.length()[/"
+"code]."
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid ""
"Returns a vector composed of the [method @GDScript.fposmod] of this vector's "
"components and [code]mod[/code]."
msgstr ""
+"Retourne un vecteur composé de [method @GDScript.fposmod] de ces composants "
+"vectoriels et [code]mod[/code]."
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid ""
"Returns a vector composed of the [method @GDScript.fposmod] of this vector's "
"components and [code]modv[/code]'s components."
msgstr ""
+"Retourne un vecteur composé de [method @GDScript.fposmod] de ces composants "
+"vectoriels et [code]modv[/code])."
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid "Returns this vector projected onto the vector [code]b[/code]."
@@ -80673,14 +82838,16 @@ msgid ""
"Returns the vector reflected (i.e. mirrored, or symmetric) over a line "
"defined by the given direction vector [code]n[/code]."
msgstr ""
+"Retourne le vecteur réfléchi (c'est-à-dire en miroir ou symétrique) sur une "
+"ligne définie par le vecteur de direction [code]n[/code] spécifié."
#: doc/classes/Vector2.xml
msgid ""
"Returns the vector rotated by [code]angle[/code] (in radians). See also "
"[method @GDScript.deg2rad]."
msgstr ""
-"Retourne le vecteur pivoté par [code]angle[/code] (en radians). Voir aussi ["
-"method @GDScript.deg2rad]."
+"Retourne le vecteur pivoté par [code]angle[/code] (en radians). Voir aussi "
+"[method @GDScript.deg2rad]."
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid ""
@@ -80696,6 +82863,9 @@ msgid ""
"depending on the signs of the components. If a component is zero, it returns "
"positive one."
msgstr ""
+"Retourne un nouveau vecteur avec chaque composant défini à 1 ou -1, selon "
+"les signes des composants. Si un composant est zéro, la valeur retournée "
+"sera positive."
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid ""
@@ -80704,10 +82874,16 @@ msgid ""
"the range of 0.0 to 1.0, representing the amount of interpolation.\n"
"[b]Note:[/b] Both vectors must be normalized."
msgstr ""
+"Retourne le résultat de l'interpolation linéaire sphérique entre ce vecteur "
+"et [code]to[/code], par la quantité [code]weight[/code]. [code]weight[/code] "
+"est compris entre 0,0 et 1,0, représentant la quantité d'interpolation.\n"
+"[b]Note :[/b] Les deux vecteurs doivent être normalisés."
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid "Returns this vector slid along a plane defined by the given normal."
msgstr ""
+"Retourne ce vecteur ayant glissé le long du plan défini par la normale "
+"donnée."
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid ""
@@ -80715,6 +82891,9 @@ msgid ""
"[code]step[/code]. This can also be used to round to an arbitrary number of "
"decimals."
msgstr ""
+"Retourne ce vecteur avec chaque composant arrondis au multiple le plus "
+"proche de [code]step[/code]. Cela peut également être utilisé pour arrondir "
+"à un nombre arbitraire de décimales."
#: doc/classes/Vector2.xml
msgid ""
@@ -80729,12 +82908,16 @@ msgid ""
"The vector's X component. Also accessible by using the index position [code]"
"[0][/code]."
msgstr ""
+"La composante vectorielle X. Également accessible en utilisant le code de "
+"position index [code][0][/code]."
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid ""
"The vector's Y component. Also accessible by using the index position [code]"
"[1][/code]."
msgstr ""
+"La composante vectorielle X. Également accessible en utilisant le code de "
+"position index [code][1][/code]."
#: doc/classes/Vector2.xml
msgid "Enumerated value for the X axis."
@@ -80747,10 +82930,13 @@ msgstr "Les valeurs énumérées pour l'axe Y."
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid "Zero vector, a vector with all components set to [code]0[/code]."
msgstr ""
+"Le vecteur zéro, un vecteur avec tous ses composants définis [code]0[/code]."
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid "One vector, a vector with all components set to [code]1[/code]."
msgstr ""
+"Le vecteur unitaire, un vecteur avec tous ses composants définis à [code]1[/"
+"code]."
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid ""
@@ -80792,6 +82978,11 @@ msgid ""
"code] if it's equal to [code]Vector3(0, 0, 0)[/code]. Otherwise, a Vector3 "
"will always evaluate to [code]true[/code]."
msgstr ""
+"Une structure de 3 éléments qui peut être utilisée pour représenter des "
+"positions dans l'espace 3D ou tout autre trio de valeurs numériques.\n"
+"[b]Note :[/b] Avec des booléens, un Vector3 sera évalué ) [code]false[/code] "
+"s'il est égal à [code]Vector3(0, 0, 0)[/code]. Sinon, un Vector3 sera "
+"toujours évalué à [code]true[/code]."
#: doc/classes/Vector3.xml
msgid "Returns a Vector3 with the given components."
@@ -80812,6 +83003,10 @@ msgid ""
"result at position [code]weight[/code]. [code]weight[/code] is on the range "
"of 0.0 to 1.0, representing the amount of interpolation."
msgstr ""
+"Exécute une interpolation cubique entre ce vecteur et [code]b[/code] en "
+"utilisant [code]pre_a[/code] et [code]post_b[/code] comme poignées, et "
+"retourne le résultat à la position [code]weight[/code]. [code]weight[/code] "
+"est dans l'intervalle de 0,0 à 1,0, représentant la quantité d'interpolation."
#: doc/classes/Vector3.xml
msgid "Returns the distance between this vector and [code]b[/code]."
@@ -80846,6 +83041,9 @@ msgid ""
"[code]to[/code] by amount [code]t[/code]. [code]weight[/code] is on the "
"range of 0.0 to 1.0, representing the amount of interpolation."
msgstr ""
+"Retourne le résultat de l'interpolation linéaire entre ce vecteur et "
+"[code]to[/code] par la quantité [code]t[/code]. [code]weight[/code] est dans "
+"l'intervalle 0,0 à 1,0, représentant la quantité d'interpolée."
#: doc/classes/Vector3.xml
msgid ""
@@ -80853,6 +83051,9 @@ msgid ""
"constants. If all components are equal, this method returns [constant "
"AXIS_X]."
msgstr ""
+"Retourne l'axe de la valeur la plus importante du vecteur. Voir les "
+"constantes[code]AXIS_*[/code]. Si tous les composants sont égaux, cette "
+"méthode retourne [constant AXIS_X]."
#: doc/classes/Vector3.xml
msgid ""
@@ -80860,6 +83061,9 @@ msgid ""
"constants. If all components are equal, this method returns [constant "
"AXIS_Z]."
msgstr ""
+"Retourne l'axe de la valeur vectorielle la plus petite. Voir les constantes "
+"[code]AXIS_*[/code]. Si tous les composants sont égaux, cette méthode "
+"retourne [constant AXIS_Z]."
#: doc/classes/Vector3.xml
msgid "Returns the outer product with [code]b[/code]."
@@ -80867,7 +83071,7 @@ msgstr ""
#: doc/classes/Vector3.xml
msgid "Returns this vector reflected from a plane defined by the given normal."
-msgstr ""
+msgstr "Retourne ce vecteur réfléchi par un plan défini par la normale donnée."
#: doc/classes/Vector3.xml
msgid ""
@@ -80884,6 +83088,9 @@ msgid ""
"clockwise direction when viewed from the side specified by the [code]axis[/"
"code]."
msgstr ""
+"Retourne l'angle signé du vecteur donné, en radians. Le signe de l'angle est "
+"positif dans une direction horaire inversée et négatif dans l'autre "
+"direction lorsqu'il est vu du côté spécifié par le [code]axis[/code]."
#: doc/classes/Vector3.xml
msgid ""
@@ -80891,12 +83098,17 @@ msgid ""
"This is equivalent to a Basis with no rotation or shearing and this vector's "
"components set as the scale."
msgstr ""
+"Retourne une matrice diagonale avec ce vecteur comme diagonale principale.\n"
+"Il s'agit d'une Basis qui n'a ni rotation ni déformation, et les composants "
+"de ce vecteur représentent l'échelle."
#: doc/classes/Vector3.xml
msgid ""
"The vector's Z component. Also accessible by using the index position [code]"
"[2][/code]."
msgstr ""
+"Le composant vectoriel Z. Également accessible en utilisant l'index [code][2]"
+"[/code]."
#: doc/classes/Vector3.xml
msgid ""
@@ -81097,6 +83309,8 @@ msgid ""
"The steering angle for the wheel. Setting this to a non-zero value will "
"result in the vehicle turning when it's moving."
msgstr ""
+"L'angle de direction du volant pour la roue. Définit de cette valeur à une "
+"valeur non nulle fera tourner le véhicule quand il se déplace."
#: doc/classes/VehicleWheel.xml
msgid ""
@@ -81105,6 +83319,10 @@ msgid ""
"will not carry the weight of the vehicle. Good results are often obtained by "
"a value that is about 3× to 4× this number."
msgstr ""
+"La force maximale que le ressort peut résister. Cette valeur devrait être "
+"supérieure à un quart du [member RigidBody.mass] du [VehicleBody] ou alors "
+"le ressort ne portera pas le poids du véhicule. Les bons résultats sont "
+"souvent obtenus par une valeur d'environ 3× à 4× ce nombre."
#: doc/classes/VehicleWheel.xml
msgid ""
@@ -81112,6 +83330,10 @@ msgid ""
"50 for an off-road car, a value between 50 and 100 for a race car and try "
"something around 200 for something like a Formula 1 car."
msgstr ""
+"Cette valeur définit la rigidité de la suspension. Utilisez une valeur "
+"inférieure à 50 pour une voiture tout terrain, une valeur entre 50 et 100 "
+"pour une voiture de course et essayez quelque chose autour de 200 pour "
+"quelque chose comme une voiture de Formule 1."
#: doc/classes/VehicleWheel.xml
msgid ""
@@ -81119,6 +83341,9 @@ msgid ""
"equivalent to meters, keep this setting relatively low. Try a value between "
"0.1 and 0.3 depending on the type of car."
msgstr ""
+"C'est la distance que la suspension peut parcourir. Comme les unités Godot "
+"sont équivalentes aux mètres, garder ce réglage relativement bas. Essayez "
+"une valeur entre 0,1 et 0,3 selon le type de voiture."
#: doc/classes/VehicleWheel.xml
msgid ""
@@ -81126,6 +83351,9 @@ msgid ""
"value is used in conjunction with [member VehicleBody.steering] and ignored "
"if you are using the per-wheel [member steering] value instead."
msgstr ""
+"Si [code]true[/code], cette roue sera tournée lorsque la voiture tourne. "
+"Cette valeur est utilisée en conjonction avec [member VehicleBody.steering] "
+"et ignorée si vous utilisez plutôt la valeur [member steering] par roue."
#: doc/classes/VehicleWheel.xml
msgid ""
@@ -81134,6 +83362,10 @@ msgid ""
"VehicleBody.engine_force] and ignored if you are using the per-wheel [member "
"engine_force] value instead."
msgstr ""
+"Si [code]true[/code], cette roue transfère la force moteur au sol pour "
+"propulser le véhicule vers l'avant. Cette valeur est utilisée en conjonction "
+"avec [member VehicleBody.engine_force] et ignorée si vous utilisez plutôt la "
+"valeur par roue [member engine_force]."
#: doc/classes/VehicleWheel.xml
msgid ""
@@ -81164,6 +83396,9 @@ msgid ""
"your vehicle will be prone to rolling over, while a value of 0.0 will resist "
"body roll."
msgstr ""
+"Cette valeur affecte le roulade de votre véhicule. Si définit à 1.0 pour "
+"toutes les roues, votre véhicule sera sujet aux roulades, tandis qu'une "
+"valeur de 0.0 résistera au roulade du corps."
#: doc/classes/VFlowContainer.xml
msgid "Vertical flow container."
@@ -81195,6 +83430,8 @@ msgid ""
"Returns the video stream's name, or [code]\"<No Stream>\"[/code] if no video "
"stream is assigned."
msgstr ""
+"Retourne le nom du flux vidéo, ou [code]\"<No Stream>\"[/code] si aucun flux "
+"vidéo n'est assigné."
#: doc/classes/VideoPlayer.xml
msgid "Returns the current frame as a [Texture]."
@@ -81205,12 +83442,17 @@ msgid ""
"Returns [code]true[/code] if the video is playing.\n"
"[b]Note:[/b] The video is still considered playing if paused during playback."
msgstr ""
+"Retourne [code]true[/code] si la vidéo joue.\n"
+"[b]Note :[/b] La vidéo est toujours considérée comme en train de jouer si "
+"elle est mise en pause pendant la lecture."
#: doc/classes/VideoPlayer.xml
msgid ""
"Starts the video playback from the beginning. If the video is paused, this "
"will not unpause the video."
msgstr ""
+"Commence la lecture vidéo dès le début. Si la vidéo est en pause, cela ne la "
+"fera pas reprendre."
#: doc/classes/VideoPlayer.xml
msgid ""
@@ -81218,6 +83460,9 @@ msgid ""
"[b]Note:[/b] Although the stream position will be set to 0, the first frame "
"of the video stream won't become the current frame."
msgstr ""
+"Arrête la lecture vidéo et fixe la position du flux à 0.\n"
+"[b]Note :[/b] Bien que la position du flux soit définie à 0, la première "
+"trame du flux vidéo ne deviendra pas le trame actuel."
#: doc/classes/VideoPlayer.xml
msgid "The embedded audio track to play."
@@ -81242,6 +83487,9 @@ msgid ""
"control minimum size will be automatically adjusted to match the video "
"stream's dimensions."
msgstr ""
+"Si [code]true[/code], la taille des contrôles dépendront de la vidéo. Sinon, "
+"la taille minimale des contrôles sera automatiquement ajustée pour "
+"correspondre aux dimensions du flux vidéo."
#: doc/classes/VideoPlayer.xml
msgid "If [code]true[/code], the video is paused."
@@ -81257,6 +83505,10 @@ msgid ""
"[b]Note:[/b] Changing this value won't have any effect as seeking is not "
"implemented yet, except in video formats implemented by a GDNative add-on."
msgstr ""
+"La position actuelle du flux, en secondes.\n"
+"[b]Note :[/b] La modification de cette valeur n'a pas d'effet puisque le "
+"progression de lecture n'est pas encore implémentée, sauf dans les formats "
+"vidéo implémentés par un greffon GDNative."
#: doc/classes/VideoPlayer.xml
msgid "Audio volume as a linear value."
@@ -81280,6 +83532,9 @@ msgid ""
"[VideoStream] can all be used as resource types to play back videos in "
"[VideoPlayer]."
msgstr ""
+"Le type de ressources de base pour tous les flux vidéos. Les classes qui "
+"dérivent de [VideoStream] peuvent tous être utilisées comme types de "
+"ressources pour lire des vidéos dans [VideoPlayer]."
#: modules/gdnative/doc_classes/VideoStreamGDNative.xml
msgid "[VideoStream] resource for video formats implemented via GDNative."
@@ -81293,6 +83548,10 @@ msgid ""
"videodecoder]godot-videodecoder[/url] which uses the [url=https://ffmpeg."
"org]FFmpeg[/url] library."
msgstr ""
+"La ressource [VideoStream] pour les formats vidéo implémenté avec GDNative.\n"
+"Il peut être utilisé via [url=https://github.com/KidRigger/godot-"
+"videodecoder]godot-videodecoder[/url] utilisé par la bibliothèque "
+"[url=https://ffmpeg.org]FFmpeg[/url]."
#: modules/gdnative/doc_classes/VideoStreamGDNative.xml
msgid "Returns the video file handled by this [VideoStreamGDNative]."
@@ -81305,6 +83564,9 @@ msgid ""
"supported extensions depend on the GDNative plugins used to expose video "
"formats."
msgstr ""
+"Définit le fichier vidéo que cette ressource [VideoStreamGDNative] gère. Les "
+"extensions supportées dépendent des greffons GDNative utilisés pour exposer "
+"les formats vidéo."
#: modules/theora/doc_classes/VideoStreamTheora.xml
msgid "[VideoStream] resource for Ogg Theora videos."
@@ -81363,6 +83625,9 @@ msgid ""
"Sets the WebM video file that this [VideoStreamWebm] resource handles. The "
"[code]file[/code] name should have the [code].webm[/code] extension."
msgstr ""
+"Définit le fichier vidéo WebM que cette ressource [VideoStreamWebm] gère. Le "
+"nom de fichier [code]file[/code] devrait avoir l'extension [code].webm[/"
+"code]."
#: doc/classes/Viewport.xml
msgid "Creates a sub-view into the screen."
@@ -81441,6 +83706,8 @@ msgid ""
"Returns the mouse's position in this [Viewport] using the coordinate system "
"of this [Viewport]."
msgstr ""
+"Retourne la position de la souris dans ce [Viewport] en utilisant le système "
+"de coordonnées de ce [Viewport]."
#: doc/classes/Viewport.xml
msgid "Returns information about the viewport from the rendering pipeline."
@@ -81453,6 +83720,7 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid "Returns the size override set with [method set_size_override]."
msgstr ""
+"Retourne la surcharge de taille définit avec [method set_size_override]."
#: doc/classes/Viewport.xml
msgid ""
@@ -81465,6 +83733,15 @@ msgid ""
"img.flip_y()\n"
"[/codeblock]"
msgstr ""
+"Retourne la texture de la fenêtre d'affichage.\n"
+"[b]Note :[/b] En raison de la façon dont OpenGL fonctionne, la "
+"[ViewportTexture] finale est à l'envers verticalement. Vous pouvez utiliser "
+"[method Image.flip_y] sur l'image de [method Texture.get_data] pour la "
+"retourner, par exemple :\n"
+"[codeblock]\n"
+"var img = get_viewport().get_texture().get_data()\n"
+"img.flip_y()\n"
+"/[codeblock]"
#: doc/classes/Viewport.xml
msgid "Returns the viewport's RID from the [VisualServer]."
@@ -81480,10 +83757,12 @@ msgid ""
"Returns the drag data from the GUI, that was previously returned by [method "
"Control.get_drag_data]."
msgstr ""
+"Retourne les données de déposé-glissé de l'interface graphique, qui a été "
+"précédemment retourné par [method Control.get_drag_data]."
#: doc/classes/Viewport.xml
msgid "Returns [code]true[/code] if there are visible modals on-screen."
-msgstr ""
+msgstr "Retourne [code]true[/code] s'il y a des modales visibles à l'écran."
#: doc/classes/Viewport.xml
msgid "Returns [code]true[/code] if the drag operation is successful."
@@ -81496,6 +83775,11 @@ msgid ""
"Alternative to [constant Node.NOTIFICATION_DRAG_BEGIN] and [constant Node."
"NOTIFICATION_DRAG_END] when you prefer polling the value."
msgstr ""
+"Retourne [code]true[/code] si la fenêtre d'affichage effectue actuellement "
+"une opération de déposé-glissé.\n"
+"C'est une alternative à [constant Node. NOTIFICATION_DRAG_BEGIN] and "
+"[constant Node. NOTIFICATION_DRAG_END] lorsque vous préférez récupérer "
+"directement la valeur."
#: doc/classes/Viewport.xml
msgid ""
@@ -81512,6 +83796,9 @@ msgid ""
"[Viewport] but makes you responsible for updating the position of this "
"[Viewport] manually."
msgstr ""
+"Attaque ce [Viewport] au [Viewport] racine avec le rectangle spécifié. Cela "
+"contourne le besoin d'un autre nœud pour afficher ce [Viewport] mais vous "
+"devez mettre à jour de la position de ce [Viewport] manuellement."
#: doc/classes/Viewport.xml
msgid "Stops the input from propagating further down the [SceneTree]."
@@ -81534,6 +83821,10 @@ msgid ""
"size. If the size parameter is [code](-1, -1)[/code], it won't update the "
"size."
msgstr ""
+"Définit la surcharge de la taille de la fenêtre d'affichage. Si le paramètre "
+"[code]enable[/code] est [code]true[/code], le paramètre de surcharge sera "
+"utilisé, sinon ça utilisera la taille par défaut. Si le paramètre de taille "
+"est [code](-1, -1)[/code], sa taille ne sera pas mise à jour."
#: doc/classes/Viewport.xml
msgid "Forces update of the 2D and 3D worlds."
@@ -81544,10 +83835,14 @@ msgid ""
"Moves the mouse pointer to the specified position in this [Viewport] using "
"the coordinate system of this [Viewport]."
msgstr ""
+"Déplace le pointeur de la souris à la position spécifiée dans ce [Viewport] "
+"en utilisant le système de coordonnées de ce [Viewport]."
#: doc/classes/Viewport.xml
msgid "If [code]true[/code], the viewport will be used in AR/VR process."
msgstr ""
+"Si [code]true[/code], la fenêtre d'affichage sera utilisée dans le processus "
+"AR/VR."
#: doc/classes/Viewport.xml
msgid "If [code]true[/code], the viewport will process 2D audio streams."
@@ -81563,6 +83858,9 @@ msgid ""
"positions of all child [CanvasItem]s. This is relative to the global canvas "
"transform of the viewport."
msgstr ""
+"La transformation du canevas de la fenpetre d'affichage, utile pour changer "
+"les positions à l'écran de tous les [CanvasItem] enfants. C'est relatif à la "
+"transformation globale du canevas de la fenêtre d'affichage."
#: doc/classes/Viewport.xml
msgid ""
@@ -81578,12 +83876,16 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid "The overlay mode for test rendered geometry in debug purposes."
msgstr ""
+"Le mode de surcouche (\"overlay\") pour tester la géométrie rendue lors du "
+"débogage."
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], the viewport will disable 3D rendering. For actual "
"disabling use [code]usage[/code]."
msgstr ""
+"Si [code]true[/code], le viewport désactivera le rendu 3D. Pour le "
+"désactiver réellement, utilisez [code]usage[/code]."
#: doc/classes/Viewport.xml
msgid ""
@@ -81600,6 +83902,8 @@ msgid ""
"The global canvas transform of the viewport. The canvas transform is "
"relative to this."
msgstr ""
+"La transformation globale de la toile de cette fenêtre d'affichage. La "
+"transformation en toile est relative à cela."
#: doc/classes/Viewport.xml
msgid "If [code]true[/code], the viewport will not receive input events."
@@ -81612,6 +83916,8 @@ msgid ""
"If [code]true[/code], the GUI controls on the viewport will lay pixel "
"perfectly."
msgstr ""
+"Si [code]true[/code], les contrôles de l'interface graphique dans la fenêtre "
+"d'affichage s'alignent au pixel près."
#: doc/classes/Viewport.xml
msgid ""
@@ -81658,6 +83964,8 @@ msgid ""
"If [code]true[/code], the objects rendered by viewport become subjects of "
"mouse picking process."
msgstr ""
+"Si [code]true[/code], les objets rendus dans la fenêtre d'affichage peuvent "
+"être sélectionnés par la souris."
#: doc/classes/Viewport.xml
msgid ""
@@ -81673,10 +83981,15 @@ msgid ""
"The clear mode when viewport used as a render target.\n"
"[b]Note:[/b] This property is intended for 2D usage."
msgstr ""
+"Le mode clair quand la fenêtre d'affichage est utilisé comme cible de "
+"rendu.\n"
+"[b]Note :[/b] Cette propriété est destinée à une utilisation 2D."
#: doc/classes/Viewport.xml
msgid "The update mode when viewport used as a render target."
msgstr ""
+"Le mode de mise à jour lorsque la fenêtre d'affichage est utilisé comme "
+"cible de rendu."
#: doc/classes/Viewport.xml
msgid ""
@@ -81692,18 +84005,22 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid "The subdivision amount of the first quadrant on the shadow atlas."
msgstr ""
+"La quantité de sous-division du premier quadrant de l'atlas de l'ombre."
#: doc/classes/Viewport.xml
msgid "The subdivision amount of the second quadrant on the shadow atlas."
msgstr ""
+"La quantité de sous-division du deuxième quadrant de l'atlas de l'ombre."
#: doc/classes/Viewport.xml
msgid "The subdivision amount of the third quadrant on the shadow atlas."
msgstr ""
+"La quantité de sous-division du troisième quadrant de l'atlas de l'ombre."
#: doc/classes/Viewport.xml
msgid "The subdivision amount of the fourth quadrant on the shadow atlas."
msgstr ""
+"La quantité de sous-division du quatrième quadrant de l'atlas de l'ombre."
#: doc/classes/Viewport.xml
msgid ""
@@ -81729,10 +84046,15 @@ msgid ""
"The width and height of viewport. Must be set to a value greater than or "
"equal to 2 pixels on both dimensions. Otherwise, nothing will be displayed."
msgstr ""
+"La largeur et la hauteur de la fenêtre d'affichage. Doit être défini à une "
+"valeur supérieure ou égale à 2 pixels dans les deux dimensions. Sinon, rien "
+"ne sera affiché."
#: doc/classes/Viewport.xml
msgid "If [code]true[/code], the size override affects stretch as well."
msgstr ""
+"Si [code]true[/code], la surcharge de la taille affecte également "
+"l'étirement."
#: doc/classes/Viewport.xml
msgid ""
@@ -81765,6 +84087,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid "The custom [World] which can be used as 3D environment source."
msgstr ""
+"Le [World] personnalisé qui peut être utilisée comme source d'environnement "
+"en 3D."
#: doc/classes/Viewport.xml
msgid "The custom [World2D] which can be used as 2D environment source."
@@ -81781,6 +84105,9 @@ msgid ""
"Emitted when the size of the viewport is changed, whether by [method "
"set_size_override], resize of window, or some other means."
msgstr ""
+"Émis lorsque la taille de la fenpetre d'affichage a changé, que ce soit par "
+"[method set_size_override], en redimensionnant la fenêtre, ou par d'autres "
+"moyens."
#: doc/classes/Viewport.xml
msgid "Do not update the render target."
@@ -81797,6 +84124,8 @@ msgstr ""
msgid ""
"Update the render target only when it is visible. This is the default value."
msgstr ""
+"Met à jour la cible de rendu seulement quand elle est visible. C'est la "
+"valeur par défaut."
#: doc/classes/Viewport.xml
msgid "Always update the render target."
@@ -81804,11 +84133,11 @@ msgstr "Met toujours à jour la cible de rendu."
#: doc/classes/Viewport.xml
msgid "This quadrant will not be used."
-msgstr ""
+msgstr "Ce quadrant ne sera pas utilisé."
#: doc/classes/Viewport.xml
msgid "This quadrant will only be used by one shadow map."
-msgstr ""
+msgstr "Ce quadrant ne sera utilisé que par une seule carte d'ombre."
#: doc/classes/Viewport.xml
msgid "This quadrant will be split in 4 and used by up to 4 shadow maps."
@@ -82283,8 +84612,8 @@ msgid ""
"Returns [code]true[/code] when the specified layer is enabled in [member "
"layers] and [code]false[/code] otherwise."
msgstr ""
-"Retourne [code]true[/code] si le calque spécifié est actif, ou "
-"[code]false[/code] sinon."
+"Retourne [code]true[/code] si le calque spécifié est actif, ou [code]false[/"
+"code] sinon."
#: doc/classes/VisualInstance.xml
msgid ""
@@ -82502,8 +84831,8 @@ msgid ""
"target node can have only one sequence port."
msgstr ""
"Connecte deux ports d'une séquence. L'exécution passera de "
-"[code]from_output[/code] de [code]from_node[/code] vers [code]to_node[/code]."
-"\n"
+"[code]from_output[/code] de [code]from_node[/code] vers [code]to_node[/"
+"code].\n"
"Contrairement à [method data_connect], il n'y a pas ∂e [code]to_port[/code], "
"puisque le nœud cible ne peut avoir qu'un seul port dans la séquence."
@@ -82555,8 +84884,8 @@ msgid ""
"A Visual Script node representing a constant from base types, such as "
"[constant Vector3.AXIS_X]."
msgstr ""
-"Un nœud Visual Script représentant une constante des types de base, comme ["
-"constant Vector3.AXIS_X]."
+"Un nœud Visual Script représentant une constante des types de base, comme "
+"[constant Vector3.AXIS_X]."
#: modules/visual_script/doc_classes/VisualScriptBasicTypeConstant.xml
msgid "The type to get the constant from."
@@ -82739,8 +85068,8 @@ msgid ""
"the third input. Uses the formula [code]a + (a - b) * t[/code]."
msgstr ""
"Retourner un nombre linéairement interpolé entre les deux premières entrées, "
-"basé sur la troisième entrée. Utilise la formule [code]a + (a - b) * "
-"t[/code]."
+"basé sur la troisième entrée. Utilise la formule [code]a + (a - b) * t[/"
+"code]."
#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml
msgid "Moves the number toward a value, based on the third input."
@@ -83365,8 +85694,8 @@ msgid ""
"The mode for RPC calls. See [method Node.rpc] for more details and [enum "
"RPCCallMode] for available options."
msgstr ""
-"Le mode pour les appels RPC. Voir [method Node.rpc] pour plus de détails et ["
-"enum RPCCallMode] pour les options disponibles."
+"Le mode pour les appels RPC. Voir [method Node.rpc] pour plus de détails et "
+"[enum RPCCallMode] pour les options disponibles."
#: modules/visual_script/doc_classes/VisualScriptFunctionCall.xml
msgid ""
@@ -83840,8 +86169,8 @@ msgid ""
"The node path to use when [member set_mode] is set to [constant "
"CALL_MODE_NODE_PATH]."
msgstr ""
-"Le chemin du nœud à utiliser lorsque [member set_mode] est défini à ["
-"constant CALL_MODE_NODE_PATH]."
+"Le chemin du nœud à utiliser lorsque [member set_mode] est défini à "
+"[constant CALL_MODE_NODE_PATH]."
#: modules/visual_script/doc_classes/VisualScriptPropertyGet.xml
msgid ""
@@ -83913,7 +86242,8 @@ msgstr ""
#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml
msgid ""
"The name of the property to set. Changing this will clear [member index]."
-msgstr "Le nom de la propriété à définir. Changer cela effecera [member index]."
+msgstr ""
+"Le nom de la propriété à définir. Changer cela effecera [member index]."
#: modules/visual_script/doc_classes/VisualScriptPropertySet.xml
msgid ""
@@ -84290,7 +86620,8 @@ msgstr "Un signal depuis cet [Object] sera utilisé."
#: modules/visual_script/doc_classes/VisualScriptYieldSignal.xml
msgid "A signal from the given [Node] in the scene tree will be used."
-msgstr "Un signal du [Node] donné dans l'arborescence de la scène sera utilisé."
+msgstr ""
+"Un signal du [Node] donné dans l'arborescence de la scène sera utilisé."
#: modules/visual_script/doc_classes/VisualScriptYieldSignal.xml
msgid "A signal from an instanced node with the given type will be used."
@@ -84340,8 +86671,8 @@ msgid ""
"Sets margin size, where black bars (or images, if [method "
"black_bars_set_images] was used) are rendered."
msgstr ""
-"Définit la taille de la marge, où des barres noires (ou des images, si ["
-"method black_bars_set_images] est utilisé) sont rendues."
+"Définit la taille de la marge, où des barres noires (ou des images, si "
+"[method black_bars_set_images] est utilisé) sont rendues."
#: doc/classes/VisualServer.xml
msgid ""
@@ -84699,7 +87030,7 @@ msgid ""
"texture_scale]."
msgstr ""
"Définit le facteur d'échelle de la texture de lumière. Équivalent à [member "
-"Light2D.texture_scale]"
+"Light2D.texture_scale]."
#: doc/classes/VisualServer.xml
msgid ""
@@ -84925,7 +87256,7 @@ msgid ""
"Environment.background_sky_custom_fov]."
msgstr ""
"Définit un angle de vue personnalisé pour le ciel [Sky] en arrière-plan. "
-"Équivalent à [member Environnement.background_sky_custom_fov]"
+"Équivalent à [member Environnement.background_sky_custom_fov]."
#: doc/classes/VisualServer.xml
msgid ""
@@ -84933,7 +87264,7 @@ msgid ""
"to [member Environment.background_sky_orientation]."
msgstr ""
"Définit la rotation du ciel [Sky] en arrière-plan exprimé avec une [Basis]. "
-"Équivalent à [member Environnement.background_sky_orientation]"
+"Équivalent à [member Environnement.background_sky_orientation]."
#: doc/classes/VisualServer.xml
msgid ""
@@ -85006,8 +87337,8 @@ msgid ""
"[b]Note:[/b] When running a headless or server binary, this function returns "
"an empty string."
msgstr ""
-"Retourne le vendeur de l'adaptateur vidéo (par exemple \"NVIDIA Corporation\""
-").\n"
+"Retourne le vendeur de l'adaptateur vidéo (par exemple \"NVIDIA "
+"Corporation\").\n"
"[b]Note :[/b] Lors de l'exécution d'une version sans graphique ou de "
"serveur, cette fonction retourne une chaîne vide."
@@ -85060,16 +87391,16 @@ msgid ""
"Returns the dynamic range set for this GI probe. Equivalent to [member "
"GIProbe.dynamic_range]."
msgstr ""
-"Retourne la gamme dynamique pour cette sonde GI. Équivalent à [member GIProbe"
-".dynamic_range]"
+"Retourne la gamme dynamique pour cette sonde GI. Équivalent à [member "
+"GIProbe.dynamic_range]."
#: doc/classes/VisualServer.xml
msgid ""
"Returns the energy multiplier for this GI probe. Equivalent to [member "
"GIProbe.energy]."
msgstr ""
-"Retourne le multiplicateur d'énergie pour cette sonde GI. Équivalent à ["
-"member GIProbe.energy]"
+"Retourne le multiplicateur d'énergie pour cette sonde GI. Équivalent à "
+"[member GIProbe.energy]."
#: doc/classes/VisualServer.xml
msgid ""
@@ -85083,7 +87414,7 @@ msgid ""
"GIProbe.propagation]."
msgstr ""
"Retourne la valeur de propagation de cette sonde GI. Équivalent à [member "
-"GIProbe.propagation]"
+"GIProbe.propagation]."
#: doc/classes/VisualServer.xml
msgid "Returns the Transform set by [method gi_probe_set_to_cell_xform]."
@@ -85095,7 +87426,7 @@ msgid ""
"is compressed. Equivalent to [member GIProbe.compress]."
msgstr ""
"Retourne [code]true[/code] si les données de cette sonde GI sont "
-"compressées. Équivalent à [member GIProbe.compress]"
+"compressées. Équivalent à [member GIProbe.compress]."
#: doc/classes/VisualServer.xml
msgid ""
@@ -85741,12 +88072,10 @@ msgstr ""
"utilisant la [method instance_set_base] utilisant le RID retourné."
#: doc/classes/VisualServer.xml
-#, fuzzy
msgid "Returns a mesh's blend shape count."
msgstr "Retourne le nombre de formes de mélange d’un maillage."
#: doc/classes/VisualServer.xml
-#, fuzzy
msgid "Returns a mesh's blend shape mode."
msgstr "Retourne le mode de forme de mélange d’un maillage."
@@ -85763,7 +88092,6 @@ msgid "Removes a mesh's surface."
msgstr "Supprime la surface d'un maillage."
#: doc/classes/VisualServer.xml
-#, fuzzy
msgid "Sets a mesh's blend shape count."
msgstr "Définit le nombre de formes de mélange d’un maillage."
@@ -86907,11 +89235,13 @@ msgstr "Nombre de poids / os par sommet."
#: doc/classes/VisualServer.xml
msgid "The minimum Z-layer for canvas items."
-msgstr "Le niveau minimal du calque de profondeur pour les éléments de canevas."
+msgstr ""
+"Le niveau minimal du calque de profondeur pour les éléments de canevas."
#: doc/classes/VisualServer.xml
msgid "The maximum Z-layer for canvas items."
-msgstr "Le niveau maximal du calque de profondeur pour les éléments de canevas."
+msgstr ""
+"Le niveau maximal du calque de profondeur pour les éléments de canevas."
#: doc/classes/VisualServer.xml
msgid ""
@@ -89273,7 +91603,6 @@ msgstr ""
"ignorant la dernière ligne et colonne de la transformation."
#: doc/classes/VisualShaderNodeUniform.xml
-#, fuzzy
msgid "A base type for the uniforms within the visual shader graph."
msgstr "Le type de base pour les uniformes dans le graphe du Visual Shader."
@@ -89822,10 +92151,13 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+#, fuzzy
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
-"Retourne le [Object] que cette référence faible ([code]weakref[/code]) "
-"contient."
+"Retourne la valeur initiale de la propriété spécifiée. Retourne [code]null[/"
+"code] si la propriété n'existe pas."
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
msgid "Closes this data channel, notifying the other peer."
diff --git a/doc/translations/gl.po b/doc/translations/gl.po
index 207a818761..0f079f0003 100644
--- a/doc/translations/gl.po
+++ b/doc/translations/gl.po
@@ -541,8 +541,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -552,7 +553,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -606,7 +608,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -618,7 +621,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1033,10 +1037,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4847,19 +4856,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4880,21 +4891,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4903,9 +4918,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5557,9 +5573,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5733,8 +5749,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8736,8 +8752,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8788,10 +8805,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9033,12 +9060,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9584,7 +9605,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9745,12 +9771,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9898,6 +9928,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10038,7 +10083,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11716,7 +11764,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11809,7 +11857,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11837,9 +11887,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12336,13 +12386,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12368,8 +12419,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12682,12 +12735,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12732,8 +12785,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12781,8 +12836,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12844,7 +12902,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12969,7 +13027,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -15965,7 +16026,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18690,7 +18753,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18839,16 +18904,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -18993,18 +19059,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -23908,8 +23962,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24529,7 +24587,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26113,10 +26173,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27523,8 +27586,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29824,11 +29887,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30673,7 +30739,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30685,6 +30755,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33042,14 +33122,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33057,21 +33137,21 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34648,9 +34728,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35109,7 +35189,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36221,7 +36303,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37036,13 +37118,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40706,7 +40800,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46070,7 +46166,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46309,7 +46407,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47038,7 +47138,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49719,8 +49823,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53737,7 +53852,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53881,13 +53998,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55077,7 +55200,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55696,6 +55822,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56030,7 +56164,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57463,7 +57599,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58728,6 +58864,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58789,6 +58928,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58811,7 +58953,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -59948,6 +60093,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -59977,6 +60126,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60018,7 +60171,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -64883,21 +65038,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -64910,7 +65069,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -64939,7 +65098,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -64949,22 +65140,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -64977,8 +65181,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65176,16 +65382,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73815,7 +74021,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/hi.po b/doc/translations/hi.po
index 2df4b9bbe4..68273c5a73 100644
--- a/doc/translations/hi.po
+++ b/doc/translations/hi.po
@@ -5,12 +5,13 @@
#
# harvinder rathor <harvinderr09@gmail.com>, 2021.
# Lalita mishra <yashkebacche1234@gmail.com>, 2022.
+# Yan Chen <cyan97087@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-02-03 13:04+0000\n"
-"Last-Translator: Lalita mishra <yashkebacche1234@gmail.com>\n"
+"PO-Revision-Date: 2022-08-21 06:02+0000\n"
+"Last-Translator: Yan Chen <cyan97087@gmail.com>\n"
"Language-Team: Hindi <https://hosted.weblate.org/projects/godot-engine/godot-"
"class-reference/hi/>\n"
"Language: hi\n"
@@ -18,7 +19,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.11-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -61,7 +62,6 @@ msgid "Method Descriptions"
msgstr "Method Descriptions"
#: doc/tools/make_rst.py
-#, fuzzy
msgid "Theme Property Descriptions"
msgstr "थीम विशेषता"
@@ -540,8 +540,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -551,7 +552,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -605,7 +607,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -617,7 +620,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1032,10 +1036,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4846,19 +4855,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4879,21 +4890,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4902,9 +4917,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5556,9 +5572,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5732,8 +5748,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8735,8 +8751,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8787,10 +8804,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9032,12 +9059,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9583,7 +9604,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9744,12 +9770,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9897,6 +9927,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10037,7 +10082,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11715,7 +11763,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11808,7 +11856,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11836,9 +11886,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12335,13 +12385,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12367,8 +12418,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12681,12 +12734,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12731,8 +12784,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12780,8 +12835,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12843,7 +12901,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12968,7 +13026,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -15964,7 +16025,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18689,7 +18752,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18838,16 +18903,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -18992,18 +19058,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -23907,8 +23961,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24528,7 +24586,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26112,10 +26172,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27522,8 +27585,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29823,11 +29886,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30672,7 +30738,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30684,6 +30754,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33041,14 +33121,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33056,21 +33136,21 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34647,9 +34727,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35108,7 +35188,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36220,7 +36302,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37035,13 +37117,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40705,7 +40799,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46069,7 +46165,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46308,7 +46406,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47037,7 +47137,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49718,8 +49822,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53736,7 +53851,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53880,13 +53997,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55076,7 +55199,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55695,6 +55821,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56029,7 +56163,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57462,7 +57598,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58727,6 +58863,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58788,6 +58927,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58810,7 +58952,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -59947,6 +60092,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -59976,6 +60125,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60017,7 +60170,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -64882,21 +65037,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -64909,7 +65068,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -64938,7 +65097,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -64948,22 +65139,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -64976,8 +65180,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65175,16 +65381,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73814,7 +74020,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/hu.po b/doc/translations/hu.po
index 221206451a..feaff9b12c 100644
--- a/doc/translations/hu.po
+++ b/doc/translations/hu.po
@@ -559,8 +559,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -570,7 +571,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -624,7 +626,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -636,7 +639,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1051,10 +1055,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4865,19 +4874,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4898,21 +4909,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4921,9 +4936,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5575,9 +5591,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5751,8 +5767,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8754,8 +8770,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8806,10 +8823,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9051,12 +9078,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9602,7 +9623,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9763,12 +9789,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9916,6 +9946,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10056,7 +10101,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11734,7 +11782,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11827,7 +11875,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11855,9 +11905,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12354,13 +12404,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12386,8 +12437,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12700,12 +12753,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12750,8 +12803,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12799,8 +12854,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12862,7 +12920,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12987,7 +13045,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -15983,7 +16044,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18708,7 +18771,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18857,16 +18922,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19011,18 +19077,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -23926,8 +23980,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24547,7 +24605,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26131,10 +26191,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27541,8 +27604,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29842,11 +29905,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30691,7 +30757,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30703,6 +30773,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33060,14 +33140,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33075,21 +33155,21 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34666,9 +34746,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35127,7 +35207,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36239,7 +36321,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37054,13 +37136,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40724,7 +40818,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46088,7 +46184,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46327,7 +46425,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47056,7 +47156,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49737,8 +49841,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53755,7 +53870,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53899,13 +54016,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55095,7 +55218,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55714,6 +55840,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56048,7 +56182,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57481,7 +57617,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58746,6 +58882,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58807,6 +58946,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58829,7 +58971,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -59966,6 +60111,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -59995,6 +60144,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60036,7 +60189,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -64901,21 +65056,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -64928,7 +65087,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -64957,7 +65116,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -64967,22 +65158,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -64995,8 +65199,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65194,16 +65400,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73833,7 +74039,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/id.po b/doc/translations/id.po
index 39310a6160..7d50703868 100644
--- a/doc/translations/id.po
+++ b/doc/translations/id.po
@@ -16,12 +16,13 @@
# Reza Almanda <rezaalmanda27@gmail.com>, 2022.
# Tsaqib Fadhlurrahman Soka <sokatsaqib@gmail.com>, 2022.
# yusuf afandi <afandi.yusuf.04@gmail.com>, 2022.
+# Yan Chen <cyan97087@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-07-09 21:12+0000\n"
-"Last-Translator: yusuf afandi <afandi.yusuf.04@gmail.com>\n"
+"PO-Revision-Date: 2022-08-14 04:02+0000\n"
+"Last-Translator: Yan Chen <cyan97087@gmail.com>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/id/>\n"
"Language: id\n"
@@ -29,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.13.1-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -134,13 +135,12 @@ msgstr ""
"dipanggil langsung menggunakan nama class."
#: doc/tools/make_rst.py
-#, fuzzy
msgid ""
"This method describes a valid operator to use with this type as left-hand "
"operand."
msgstr ""
-"Metode ini menjelaskan operator yang valid untuk digunakan dengan jenis ini "
-"sebagai nilai pembilang."
+"Metode ini menjelaskan operator yang valid untuk digunakan dengan tipe ini "
+"sebagai operan kiri."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid "Built-in GDScript functions."
@@ -317,7 +317,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns the arc tangent of [code]y/x[/code] in radians. Use to get the angle "
"of tangent [code]y/x[/code]. To compute the value, the method takes into "
@@ -327,13 +326,13 @@ msgid ""
"a = atan2(0, -1) # a is 3.141593\n"
"[/codeblock]"
msgstr ""
-"Mengembalikan tangen busur [code]y/x[/code] dalam radian. Gunakan untuk "
-"mendapatkan sudut tangen [kode]y/x[/kode]. Untuk menghitung nilai, metode "
-"memperhitungkan tanda dari kedua argumen untuk menentukan kuadran.\n"
+"Mengembalikan tangen busur dari [code]y/x[/code] dalam radian. Gunakan untuk "
+"mendapatkan sudut tangen [code]y/x[/code]. Untuk menghitung nilai, metode "
+"ini memperhitungkan tanda kedua argumen untuk menentukan kuadran.\n"
"Catatan penting: Koordinat Y didahulukan, berdasarkan konvensi.\n"
-"[blok kode]\n"
+"[codeblock]\n"
"a = atan2(0, -1) # a adalah 3.141593\n"
-"[/blok kode]"
+"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -789,8 +788,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -800,7 +800,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -880,7 +881,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -892,7 +894,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1434,19 +1437,18 @@ msgid ""
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
-"Memetakan sebuah [code] nilai[/code] dari jangkauan [code][istart, istop][/"
-"code] ke [code][ostart, ostop][/code].\n"
-"[codeblock]\n"
-"range_lerp(75, 0, 100, -1, 1) # Mengembalikan 0.5\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -5263,19 +5265,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5296,21 +5300,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5320,9 +5328,10 @@ msgstr "Mengembalikan nilai hiperbolik tangen dari parameter."
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5974,9 +5983,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -6150,8 +6159,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -9153,8 +9162,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -9205,10 +9215,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9450,12 +9470,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -10001,7 +10015,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10162,12 +10181,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10315,6 +10338,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10455,7 +10493,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -12133,7 +12174,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12226,7 +12267,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12254,9 +12297,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12754,13 +12797,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12786,8 +12830,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13100,12 +13146,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13150,8 +13196,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13199,8 +13247,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13262,7 +13313,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13387,7 +13438,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -16383,7 +16437,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -19108,7 +19164,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -19257,16 +19315,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19411,18 +19470,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -24332,8 +24379,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24954,7 +25005,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26542,10 +26595,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27953,8 +28009,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -30254,11 +30310,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -31103,7 +31162,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -31115,6 +31178,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33472,14 +33545,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33487,22 +33560,26 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr ""
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "Mengembalikan nilai hiperbolik tangen dari parameter."
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr ""
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "Mengembalikan nilai hiperbolik tangen dari parameter."
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
-msgstr ""
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
+msgstr "Mengembalikan nilai hiperbolik tangen dari parameter."
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
-msgstr ""
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
+msgstr "Mengembalikan nilai hiperbolik tangen dari parameter."
#: doc/classes/Line2D.xml
msgid ""
@@ -35078,9 +35155,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35540,7 +35617,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36671,7 +36750,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37489,13 +37568,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -41162,7 +41253,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46543,7 +46636,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "Mengembalikan nilai hiperbolik tangen dari parameter."
#: doc/classes/PopupMenu.xml
@@ -46782,7 +46877,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47511,7 +47608,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -50192,8 +50293,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -54211,7 +54323,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -54355,13 +54469,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55551,7 +55671,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -56170,6 +56293,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56504,7 +56635,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57937,7 +58070,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -59204,6 +59337,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -59265,6 +59401,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -59287,7 +59426,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -60424,6 +60566,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Mengembalikan nilai hiperbolik tangen dari parameter."
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -60453,6 +60600,11 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Mengembalikan nilai hiperbolik tangen dari parameter."
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60494,7 +60646,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -65364,21 +65518,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -65391,7 +65549,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -65420,7 +65578,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65430,22 +65620,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -65458,8 +65661,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65657,16 +65862,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -74302,7 +74507,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/is.po b/doc/translations/is.po
index e3080abf39..2b748209ad 100644
--- a/doc/translations/is.po
+++ b/doc/translations/is.po
@@ -540,8 +540,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -551,7 +552,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -605,7 +607,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -617,7 +620,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1032,10 +1036,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4846,19 +4855,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4879,21 +4890,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4902,9 +4917,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5556,9 +5572,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5732,8 +5748,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8735,8 +8751,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8787,10 +8804,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9032,12 +9059,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9583,7 +9604,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9744,12 +9770,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9897,6 +9927,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10037,7 +10082,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11715,7 +11763,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11808,7 +11856,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11836,9 +11886,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12335,13 +12385,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12367,8 +12418,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12681,12 +12734,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12731,8 +12784,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12780,8 +12835,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12843,7 +12901,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12968,7 +13026,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -15964,7 +16025,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18689,7 +18752,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18838,16 +18903,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -18992,18 +19058,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -23907,8 +23961,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24528,7 +24586,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26112,10 +26172,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27522,8 +27585,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29823,11 +29886,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30672,7 +30738,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30684,6 +30754,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33041,14 +33121,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33056,21 +33136,21 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34647,9 +34727,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35108,7 +35188,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36220,7 +36302,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37035,13 +37117,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40705,7 +40799,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46069,7 +46165,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46308,7 +46406,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47037,7 +47137,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49718,8 +49822,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53736,7 +53851,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53880,13 +53997,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55076,7 +55199,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55695,6 +55821,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56029,7 +56163,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57462,7 +57598,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58727,6 +58863,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58788,6 +58927,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58810,7 +58952,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -59947,6 +60092,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -59976,6 +60125,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60017,7 +60170,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -64882,21 +65037,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -64909,7 +65068,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -64938,7 +65097,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -64948,22 +65139,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -64976,8 +65180,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65175,16 +65381,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73814,7 +74020,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/it.po b/doc/translations/it.po
index e07c906b29..019642cd3a 100644
--- a/doc/translations/it.po
+++ b/doc/translations/it.po
@@ -30,7 +30,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-07-31 16:43+0000\n"
+"PO-Revision-Date: 2022-08-12 17:09+0000\n"
"Last-Translator: Mirko <miknsop@gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/it/>\n"
@@ -62,7 +62,6 @@ msgid "Theme Properties"
msgstr "Proprietà del tema"
#: doc/tools/make_rst.py
-#, fuzzy
msgid "Signals"
msgstr "Segnali"
@@ -848,8 +847,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -859,7 +859,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
"Ritorna un'interpolazione o un fattore estrapolato considerando il raggio "
"specificato nel [code]from[/code] e [code]to[/code], e i valori interpolati "
@@ -951,7 +952,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -963,7 +965,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
"Interpola linearmente tra due valori mediante un valore definito in "
"[code]weight[/code]. Per interpolare, [code]weight[/code] dovrebbe rimanere "
@@ -1644,16 +1647,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
-"Effettua una mappatura di un valore [code]value[/code] da un intervallo "
-"[code][istart, istop][/code] in [code][ostart, ostop][/code].\n"
-"[codeblock]\n"
-"range_lerp(75, 0, 100, -1, 1) # Restituisce 0.5\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -5848,19 +5851,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5881,21 +5886,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5905,9 +5914,10 @@ msgstr "Restituisce la tangente del parametro."
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -6559,9 +6569,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -6735,8 +6745,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -9758,8 +9768,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -9810,10 +9821,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -10059,12 +10080,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -10610,7 +10625,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10771,12 +10791,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10927,6 +10951,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -11067,7 +11106,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -12749,7 +12791,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12842,7 +12884,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12870,9 +12914,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -13377,13 +13421,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -13409,8 +13454,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13723,12 +13770,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13773,8 +13820,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13822,8 +13871,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13885,7 +13937,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -14010,7 +14062,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -17071,7 +17126,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -19826,7 +19883,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -19975,16 +20034,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -20130,18 +20190,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
#, fuzzy
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr "Restituisce l'arco-seno del parametro."
@@ -25065,8 +25113,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -25690,7 +25742,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -27285,10 +27339,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -28711,8 +28768,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -31017,11 +31074,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -31869,7 +31929,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -31881,6 +31945,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -34256,14 +34330,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34271,22 +34345,26 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr ""
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "Restituisce il resto dei due vettori."
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr ""
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "Calcola il prodotto vettoriale di questo vettore e [code]b[/code]."
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
-msgstr ""
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
+msgstr "Calcola il prodotto vettoriale di questo vettore e [code]with[/code]."
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
-msgstr ""
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
+msgstr "Ritorna [code]true[/code] se [code]s[/code] è zero o quasi zero."
#: doc/classes/Line2D.xml
msgid ""
@@ -35867,9 +35945,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -36330,7 +36408,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -37474,7 +37554,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -38308,13 +38388,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -41993,7 +42085,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -47400,7 +47494,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "Calcola il prodotto vettoriale di questo vettore e [code]with[/code]."
#: doc/classes/PopupMenu.xml
@@ -47639,7 +47735,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -48369,7 +48467,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51050,8 +51152,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -55077,7 +55190,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55223,13 +55338,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56419,7 +56540,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -57040,6 +57164,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -57374,7 +57506,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -58812,7 +58946,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -60082,6 +60216,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -60143,6 +60280,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -60165,7 +60305,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -61304,6 +61447,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Calcola il prodotto vettoriale di questo vettore e [code]b[/code]."
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -61334,6 +61482,11 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Calcola il prodotto vettoriale di questo vettore e [code]b[/code]."
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -61375,7 +61528,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -66299,21 +66454,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -66326,7 +66485,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -66355,7 +66514,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -66365,22 +66556,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -66393,8 +66597,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -66601,17 +66807,16 @@ msgid "Unknown error."
msgstr "Errore sconosciuto."
#: modules/upnp/doc_classes/UPNPDevice.xml
-#, fuzzy
-msgid "UPNP device."
-msgstr "Dispositivo UPNP."
+msgid "Universal Plug and Play (UPnP) device."
+msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -75309,7 +75514,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/ja.po b/doc/translations/ja.po
index fe76c741d0..0e49cb321e 100644
--- a/doc/translations/ja.po
+++ b/doc/translations/ja.po
@@ -814,6 +814,7 @@ 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 "
@@ -821,8 +822,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -832,7 +834,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
"[code]from[/code] と [code]to[/code] で指定された範囲と、[code]weight[/code] "
"で指定された補間値を考慮した、補間または外挿の係数を返します。[code]weight[/"
@@ -918,12 +921,14 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
"Linearly interpolates between two values by the factor defined in "
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -935,7 +940,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
"2つの値および正規化された値から線形補間します。これは [method inverse_lerp] "
"の逆です。\n"
@@ -1598,16 +1604,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
-"範囲 [code][istart, istop][/code] の値 [code]value[/code] を、範囲 [code]"
-"[ostart, ostop][/code] へとマップします。\n"
-"[codeblock]\n"
-"range_lerp(75, 0, 100, -1, 1) # 0.5 と返す\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
#, fuzzy
@@ -6218,24 +6224,22 @@ msgstr ""
"合にのみ有用で、そうでなければエディタは追加用ノードを表示しません。"
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
-msgstr "このノードのテキストキャプションを取得します (特定のエディタで使用)。"
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
+msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
-"子ノードをインデックスで取得します ([AnimationRootNode] を継承したエディタで"
-"使用)。"
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
-"すべての子ノードを順番通りに [code]name: node[/code] の辞書として取得します。"
-"[AnimationRootNode] を継承する場合にのみ有用です。"
#: doc/classes/AnimationNode.xml
msgid ""
@@ -6256,16 +6260,21 @@ msgstr ""
"ローカルメモリで、与えられたリソースは複数のツリーで再利用できます。"
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
"特定のパラメータのデフォルト値を取得します。パラメータはノードに使用されるカ"
"スタムのローカルメモリで、与えられたリソースは複数のツリーで再利用できます。"
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
@@ -6274,9 +6283,11 @@ msgstr ""
"す。フォーマットは [method Object.get_property_list] に似ています。"
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
"このノードで編集するフィルターを、ブレンドツリーエディタにて表示させたい場合"
"は [code]true[/code] を返すようにします。"
@@ -6288,10 +6299,12 @@ msgstr ""
"指定したパスがフィルタリングされていれば [code]true[/code] を返します。"
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -7089,9 +7102,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -7314,9 +7327,10 @@ msgstr ""
"[code]animation[/code] の名前を返します。もし無ければ、空の文字列を返します。"
#: doc/classes/AnimationPlayer.xml
+#, fuzzy
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
"キー [code]name[/code] を持つ [Animation] を返すか、見つからない場合は "
"[code]null[/code] を返します。"
@@ -11197,8 +11211,9 @@ msgstr ""
"オーディオバスの基底リソース。リソースが適用されているバスに対し、オーディオ"
"エフェクトを適用します。"
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -11258,10 +11273,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -11560,12 +11585,6 @@ msgstr ""
"「耳ざわり」になります。ゲームにおいては、水没した機器やスピーカーが出すよう"
"な音を非常に効率的にシミュレートすることができます。"
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr "歪みの強さ。値の範囲は0~1です。"
@@ -12252,8 +12271,13 @@ msgstr ""
"フェクトを追加します。"
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
-msgstr "システム上で検出されたすべてのオーディオ入力デバイスの名前を返します。"
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
@@ -12444,12 +12468,16 @@ msgstr "利用可能なオーディオバスの数。"
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -12607,6 +12635,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
#, fuzzy
msgid "MP3 audio stream driver."
@@ -12762,7 +12805,10 @@ msgstr "3D空間で3Dサウンドを再生します。"
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -14686,7 +14732,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -14779,7 +14825,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -14807,9 +14855,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -15319,13 +15367,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -15351,8 +15400,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -15668,12 +15719,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -15718,8 +15769,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -15767,8 +15820,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -15830,7 +15886,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -15967,7 +16023,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -19020,7 +19079,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -21826,7 +21887,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -21975,16 +22038,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -22130,18 +22194,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
#, fuzzy
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr "ブレンド軸上のポイントの数を返します。"
@@ -27092,8 +27144,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -27716,7 +27772,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -29324,10 +29382,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -30766,8 +30827,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -33078,11 +33139,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -33934,7 +33998,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -33946,6 +34014,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -36376,14 +36454,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -36391,22 +36469,29 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr ""
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "アニメーションのトラック数を返します。"
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr ""
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "インデックス [code]point[/code] のポイントの位置を返します。"
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
+"ブレンド空間からインデックス [code]point[/code] のポイントを削除します。"
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
+"インデックス [code]triangle[/code] の三角形内にある、インデックス "
+"[code]point[/code] のポイントの位置を返します。"
#: doc/classes/Line2D.xml
msgid ""
@@ -37986,9 +38071,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -38456,7 +38541,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -39618,7 +39705,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -40460,13 +40547,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -44155,7 +44254,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -49593,7 +49694,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
"与えられた[code]id[/code]を持つ点の位置[code]position[/code]を設定します。"
@@ -49836,7 +49939,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -50572,7 +50677,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53264,8 +53373,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -57329,7 +57449,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -57476,13 +57598,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -58673,7 +58801,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -59302,6 +59433,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -59656,7 +59795,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -61345,7 +61486,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -62635,6 +62776,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -62696,6 +62840,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -62718,7 +62865,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -63868,6 +64018,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "インデックス [code]bus_idx[/code] のバスの音量を dB で返します。"
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -63898,6 +64053,11 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "インデックス [code]bus_idx[/code] のバスの音量を dB で返します。"
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -63940,8 +64100,13 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+#, fuzzy
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
+"カスタムボタンが押されたときに表示されます。[method add_button] を参照してく"
+"ださい。"
#: doc/classes/Tabs.xml
msgid "Emitted when a tab is clicked, even if it is the current tab."
@@ -68905,21 +69070,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -68932,7 +69101,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -68961,7 +69130,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -68971,22 +69172,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -68999,8 +69213,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -69198,16 +69414,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -77981,7 +78197,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/ko.po b/doc/translations/ko.po
index ac9274cee6..05cbf2cdba 100644
--- a/doc/translations/ko.po
+++ b/doc/translations/ko.po
@@ -16,12 +16,13 @@
# 한수현 <shh1473@ajou.ac.kr>, 2022.
# vrSono <global.sonogong@gmail.com>, 2022.
# 김태우 <ogosengi3@gmail.com>, 2022.
+# 이지민 <jiminaleejung@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-06-29 10:30+0000\n"
-"Last-Translator: 김태우 <ogosengi3@gmail.com>\n"
+"PO-Revision-Date: 2022-09-07 02:16+0000\n"
+"Last-Translator: 이지민 <jiminaleejung@gmail.com>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/ko/>\n"
"Language: ko\n"
@@ -29,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.13.1-dev\n"
+"X-Generator: Weblate 4.14.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -520,6 +521,8 @@ msgid ""
"Converts a dictionary (previously created with [method inst2dict]) back to "
"an instance. Useful for deserializing."
msgstr ""
+"([메서드 inst2dict]으로 생성된) 딕셔너리를 인스턴스로 변경합니다. 역직렬화에 "
+"유용하게 사용됩니다."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -690,8 +693,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -701,7 +705,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -725,11 +730,15 @@ msgid ""
"Returns whether [code]instance[/code] is a valid object (e.g. has not been "
"deleted from memory)."
msgstr ""
+"[code]인스턴스[/code]가 유효한 객체인지 여부를 반환합니다 (예시. 메모리에서 "
+"삭제되지 않았는지)."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Returns whether [code]s[/code] is a NaN (\"Not a Number\" or invalid) value."
msgstr ""
+"[code]s[/code]가 NaN (\"Not a Number\" 혹은 유효하지 않은) 값인지 여부를 반환"
+"합니다."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -737,6 +746,9 @@ msgid ""
"This method is faster than using [method is_equal_approx] with one value as "
"zero."
msgstr ""
+"[code]s[/code]가 0이거나 0에 인접한 값이면 [code]true[/code]를 반환합니다. \n"
+"이 메서드는 [메서드 is_equal_approx]에 0을 인자값으로 사용하는 경우보다 빠릅"
+"니다."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -755,7 +767,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -767,7 +780,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1198,10 +1212,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -5019,19 +5038,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5052,21 +5073,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5076,9 +5101,10 @@ msgstr "매개변수의 탄젠트 값을 반환합니다."
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5730,9 +5756,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5906,8 +5932,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8910,8 +8936,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8962,10 +8989,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9208,12 +9245,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9759,7 +9790,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9920,12 +9956,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10073,6 +10113,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10213,7 +10268,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11893,7 +11951,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11986,7 +12044,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12014,9 +12074,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12517,13 +12577,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12548,10 +12609,19 @@ msgid "Custom drawing in 2D"
msgstr ""
#: doc/classes/CanvasItem.xml
+#, fuzzy
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
+"노드가 [SceneTree]에 들어갈 때 호출됩니다 (예를 들어 인스턴싱되거나, 씬이 바"
+"뀌거나 스크립트에서 [method add_child]를 호출한 경우). 노드가 자손을 가지고 "
+"있다면 자신의 [method _enter_tree]가 먼저 불리고 자손이 그 다음에 불릴 것입니"
+"다.\n"
+"[method Object._notification]의 [constant NOTIFICATION_ENTER_TREE] 노티에 대"
+"응합니다."
#: doc/classes/CanvasItem.xml
msgid ""
@@ -12863,12 +12933,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12913,8 +12983,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12962,8 +13034,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13025,7 +13100,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13150,7 +13225,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -16180,7 +16258,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18911,7 +18991,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -19060,16 +19142,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19215,18 +19298,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
#, fuzzy
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr "매개변수의 아크사인 값을 반환합니다."
@@ -24202,8 +24273,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24825,7 +24900,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26413,10 +26490,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27825,8 +27905,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -30134,11 +30214,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30984,7 +31067,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30996,6 +31083,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33357,14 +33454,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33372,22 +33469,26 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr ""
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "매개변수의 사인 값을 반환합니다."
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr ""
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "매개변수의 사인 값을 반환합니다."
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
-msgstr ""
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
+msgstr "매개변수의 사인 값을 반환합니다."
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
-msgstr ""
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
+msgstr "매개변수의 사인 값을 반환합니다."
#: doc/classes/Line2D.xml
msgid ""
@@ -34964,9 +35065,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35427,7 +35528,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36564,7 +36667,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37390,13 +37493,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -41192,7 +41307,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46578,7 +46695,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "매개변수의 사인 값을 반환합니다."
#: doc/classes/PopupMenu.xml
@@ -46817,7 +46936,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47547,7 +47668,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -50228,8 +50353,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -54248,7 +54384,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -54392,13 +54530,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55588,7 +55732,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -56207,6 +56354,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56541,7 +56696,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57974,7 +58131,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -59241,6 +59398,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -59302,6 +59462,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -59324,7 +59487,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -60461,6 +60627,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "매개변수의 사인 값을 반환합니다."
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -60491,6 +60662,11 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "매개변수의 사인 값을 반환합니다."
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60532,7 +60708,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -65413,21 +65591,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -65440,7 +65622,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -65469,7 +65651,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65479,22 +65693,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -65507,8 +65734,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65706,16 +65935,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -74383,7 +74612,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/lt.po b/doc/translations/lt.po
index 79790f5e70..54bc7dd212 100644
--- a/doc/translations/lt.po
+++ b/doc/translations/lt.po
@@ -550,8 +550,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -561,7 +562,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -615,7 +617,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -627,7 +630,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1042,10 +1046,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4856,19 +4865,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4889,21 +4900,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4912,9 +4927,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5566,9 +5582,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5742,8 +5758,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8745,8 +8761,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8797,10 +8814,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9042,12 +9069,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9593,7 +9614,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9754,12 +9780,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9907,6 +9937,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10047,7 +10092,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11725,7 +11773,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11818,7 +11866,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11846,9 +11896,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12345,13 +12395,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12377,8 +12428,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12691,12 +12744,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12741,8 +12794,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12790,8 +12845,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12853,7 +12911,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12978,7 +13036,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -15974,7 +16035,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18699,7 +18762,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18848,16 +18913,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19002,18 +19068,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -23917,8 +23971,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24538,7 +24596,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26122,10 +26182,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27532,8 +27595,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29833,11 +29896,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30682,7 +30748,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30694,6 +30764,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33051,14 +33131,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33066,21 +33146,21 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34657,9 +34737,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35118,7 +35198,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36230,7 +36312,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37045,13 +37127,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40715,7 +40809,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46079,7 +46175,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46318,7 +46416,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47047,7 +47147,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49728,8 +49832,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53746,7 +53861,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53890,13 +54007,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55086,7 +55209,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55705,6 +55831,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56039,7 +56173,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57472,7 +57608,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58737,6 +58873,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58798,6 +58937,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58820,7 +58962,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -59957,6 +60102,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -59986,6 +60135,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60027,7 +60180,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -64892,21 +65047,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -64919,7 +65078,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -64948,7 +65107,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -64958,22 +65149,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -64986,8 +65190,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65185,16 +65391,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73824,7 +74030,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/lv.po b/doc/translations/lv.po
index 1f63bf69bb..36c46e6754 100644
--- a/doc/translations/lv.po
+++ b/doc/translations/lv.po
@@ -555,8 +555,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -566,7 +567,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -620,7 +622,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -632,7 +635,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1047,10 +1051,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4861,19 +4870,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4894,21 +4905,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4917,9 +4932,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5571,9 +5587,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5747,8 +5763,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8750,8 +8766,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8802,10 +8819,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9047,12 +9074,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9598,7 +9619,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9759,12 +9785,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9912,6 +9942,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10052,7 +10097,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11730,7 +11778,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11823,7 +11871,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11851,9 +11901,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12350,13 +12400,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12382,8 +12433,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12696,12 +12749,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12746,8 +12799,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12795,8 +12850,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12858,7 +12916,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12983,7 +13041,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -15979,7 +16040,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18704,7 +18767,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18853,16 +18918,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19007,18 +19073,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -23925,8 +23979,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24546,7 +24604,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26130,10 +26190,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27540,8 +27603,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29841,11 +29904,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30690,7 +30756,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30702,6 +30772,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33059,14 +33139,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33074,21 +33154,21 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34665,9 +34745,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35126,7 +35206,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36238,7 +36320,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37053,13 +37135,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40723,7 +40817,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46087,7 +46183,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46326,7 +46424,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47055,7 +47155,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49736,8 +49840,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53754,7 +53869,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53898,13 +54015,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55094,7 +55217,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55713,6 +55839,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56047,7 +56181,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57480,7 +57616,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58745,6 +58881,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58806,6 +58945,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58828,7 +58970,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -59965,6 +60110,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -59994,6 +60143,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60035,7 +60188,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -64900,21 +65055,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -64927,7 +65086,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -64956,7 +65115,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -64966,22 +65157,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -64994,8 +65198,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65193,16 +65399,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73832,7 +74038,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/mr.po b/doc/translations/mr.po
index 32832a4d8f..de37d7ffe8 100644
--- a/doc/translations/mr.po
+++ b/doc/translations/mr.po
@@ -538,8 +538,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -549,7 +550,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -603,7 +605,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -615,7 +618,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1030,10 +1034,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4844,19 +4853,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4877,21 +4888,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4900,9 +4915,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5554,9 +5570,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5730,8 +5746,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8733,8 +8749,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8785,10 +8802,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9030,12 +9057,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9581,7 +9602,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9742,12 +9768,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9895,6 +9925,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10035,7 +10080,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11713,7 +11761,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11806,7 +11854,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11834,9 +11884,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12333,13 +12383,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12365,8 +12416,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12679,12 +12732,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12729,8 +12782,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12778,8 +12833,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12841,7 +12899,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12966,7 +13024,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -15962,7 +16023,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18687,7 +18750,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18836,16 +18901,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -18990,18 +19056,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -23905,8 +23959,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24526,7 +24584,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26110,10 +26170,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27520,8 +27583,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29821,11 +29884,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30670,7 +30736,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30682,6 +30752,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33039,14 +33119,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33054,21 +33134,21 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34645,9 +34725,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35106,7 +35186,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36218,7 +36300,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37033,13 +37115,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40703,7 +40797,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46067,7 +46163,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46306,7 +46404,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47035,7 +47135,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49716,8 +49820,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53734,7 +53849,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53878,13 +53995,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55074,7 +55197,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55693,6 +55819,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56027,7 +56161,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57460,7 +57596,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58725,6 +58861,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58786,6 +58925,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58808,7 +58950,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -59945,6 +60090,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -59974,6 +60123,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60015,7 +60168,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -64880,21 +65035,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -64907,7 +65066,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -64936,7 +65095,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -64946,22 +65137,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -64974,8 +65178,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65173,16 +65379,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73812,7 +74018,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/nb.po b/doc/translations/nb.po
index 42dca83c45..ffc7df03eb 100644
--- a/doc/translations/nb.po
+++ b/doc/translations/nb.po
@@ -550,8 +550,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -561,7 +562,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -615,7 +617,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -627,7 +630,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1042,10 +1046,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4856,19 +4865,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4889,21 +4900,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4912,9 +4927,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5566,9 +5582,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5742,8 +5758,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8745,8 +8761,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8797,10 +8814,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9042,12 +9069,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9593,7 +9614,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9754,12 +9780,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9907,6 +9937,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10047,7 +10092,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11725,7 +11773,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11818,7 +11866,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11846,9 +11896,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12345,13 +12395,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12377,8 +12428,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12691,12 +12744,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12741,8 +12794,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12790,8 +12845,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12853,7 +12911,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12978,7 +13036,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -15974,7 +16035,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18699,7 +18762,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18848,16 +18913,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19002,18 +19068,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -23917,8 +23971,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24538,7 +24596,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26122,10 +26182,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27532,8 +27595,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29833,11 +29896,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30682,7 +30748,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30694,6 +30764,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33051,14 +33131,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33066,21 +33146,21 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34657,9 +34737,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35118,7 +35198,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36230,7 +36312,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37045,13 +37127,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40715,7 +40809,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46079,7 +46175,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46318,7 +46416,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47047,7 +47147,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49728,8 +49832,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53746,7 +53861,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53890,13 +54007,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55086,7 +55209,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55705,6 +55831,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56039,7 +56173,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57472,7 +57608,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58737,6 +58873,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58798,6 +58937,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58820,7 +58962,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -59957,6 +60102,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -59986,6 +60135,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60027,7 +60180,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -64892,21 +65047,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -64919,7 +65078,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -64948,7 +65107,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -64958,22 +65149,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -64986,8 +65190,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65185,16 +65391,16 @@ msgid "Unknown error."
msgstr "Ukjent feil."
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73824,7 +74030,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/ne.po b/doc/translations/ne.po
index 0ba02ba939..a4a37692f7 100644
--- a/doc/translations/ne.po
+++ b/doc/translations/ne.po
@@ -538,8 +538,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -549,7 +550,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -603,7 +605,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -615,7 +618,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1030,10 +1034,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4844,19 +4853,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4877,21 +4888,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4900,9 +4915,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5554,9 +5570,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5730,8 +5746,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8733,8 +8749,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8785,10 +8802,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9030,12 +9057,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9581,7 +9602,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9742,12 +9768,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9895,6 +9925,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10035,7 +10080,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11713,7 +11761,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11806,7 +11854,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11834,9 +11884,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12333,13 +12383,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12365,8 +12416,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12679,12 +12732,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12729,8 +12782,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12778,8 +12833,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12841,7 +12899,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12966,7 +13024,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -15962,7 +16023,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18687,7 +18750,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18836,16 +18901,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -18990,18 +19056,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -23905,8 +23959,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24526,7 +24584,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26110,10 +26170,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27520,8 +27583,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29821,11 +29884,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30670,7 +30736,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30682,6 +30752,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33039,14 +33119,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33054,21 +33134,21 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34645,9 +34725,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35106,7 +35186,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36218,7 +36300,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37033,13 +37115,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40703,7 +40797,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46067,7 +46163,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46306,7 +46404,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47035,7 +47135,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49716,8 +49820,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53734,7 +53849,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53878,13 +53995,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55074,7 +55197,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55693,6 +55819,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56027,7 +56161,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57460,7 +57596,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58725,6 +58861,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58786,6 +58925,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58808,7 +58950,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -59945,6 +60090,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -59974,6 +60123,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60015,7 +60168,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -64880,21 +65035,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -64907,7 +65066,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -64936,7 +65095,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -64946,22 +65137,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -64974,8 +65178,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65173,16 +65379,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73812,7 +74018,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/nl.po b/doc/translations/nl.po
index 3053cadb2b..fbecc31cd7 100644
--- a/doc/translations/nl.po
+++ b/doc/translations/nl.po
@@ -8,12 +8,13 @@
# Pierre Stempin <pierre.stempin@gmail.com>, 2020.
# Daan van Luijk <daanvl@outlook.be>, 2021.
# voylin <0voylin0@gmail.com>, 2022.
+# Gert-dev <qnyasgjhapqyuhoibr@kiabws.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-03-15 01:57+0000\n"
-"Last-Translator: voylin <0voylin0@gmail.com>\n"
+"PO-Revision-Date: 2022-08-06 05:37+0000\n"
+"Last-Translator: Gert-dev <qnyasgjhapqyuhoibr@kiabws.com>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/godot-engine/godot-"
"class-reference/nl/>\n"
"Language: nl\n"
@@ -21,7 +22,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.12-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -599,8 +600,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -610,7 +612,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -664,7 +667,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -676,7 +680,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1091,10 +1096,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4913,19 +4923,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4946,21 +4958,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4969,9 +4985,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5623,9 +5640,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5799,8 +5816,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8802,8 +8819,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8854,10 +8872,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9099,12 +9127,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9650,7 +9672,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9811,12 +9838,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9964,6 +9995,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10104,7 +10150,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11782,7 +11831,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11875,7 +11924,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11903,9 +11954,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12402,13 +12453,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12434,8 +12486,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12748,12 +12802,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12798,8 +12852,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12847,8 +12903,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12910,7 +12969,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13035,7 +13094,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -16031,7 +16093,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18756,7 +18820,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18905,16 +18971,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19059,18 +19126,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -23977,8 +24032,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24598,7 +24657,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26182,10 +26243,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27592,8 +27656,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29893,11 +29957,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30742,7 +30809,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30754,6 +30825,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33111,14 +33192,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33126,21 +33207,21 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34717,9 +34798,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35178,7 +35259,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36290,7 +36373,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37105,13 +37188,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -37680,7 +37775,7 @@ msgstr ""
#: doc/classes/Node.xml
msgid "Nodes and Scenes"
-msgstr ""
+msgstr "Noden en scènes"
#: doc/classes/Node.xml
msgid "All Demos"
@@ -40775,7 +40870,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46139,7 +46236,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46378,7 +46477,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47107,7 +47208,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49788,8 +49893,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53807,7 +53923,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53951,13 +54069,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55147,7 +55271,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55766,6 +55893,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56100,7 +56235,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57533,7 +57670,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58798,6 +58935,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58859,6 +58999,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58881,7 +59024,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -60018,6 +60164,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -60047,6 +60197,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60088,7 +60242,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -64953,21 +65109,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -64980,7 +65140,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -65009,7 +65169,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65019,22 +65211,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -65047,8 +65252,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65246,16 +65453,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73885,7 +74092,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/pl.po b/doc/translations/pl.po
index 729b6a654c..1286b90c40 100644
--- a/doc/translations/pl.po
+++ b/doc/translations/pl.po
@@ -834,8 +834,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -845,7 +846,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -923,7 +925,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -935,7 +938,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
"Interpoluje liniowo pomiędzy dwoma wartościami poprzez znormalizowaną "
"wartość. Jest to odwrotność [method inverse_lerp].\n"
@@ -1503,10 +1507,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -5349,19 +5358,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5382,21 +5393,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5406,9 +5421,10 @@ msgstr "Zwraca tangens parametru."
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -6060,9 +6076,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -6237,8 +6253,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -9247,8 +9263,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -9299,10 +9316,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9545,12 +9572,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -10096,7 +10117,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10257,12 +10283,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10410,6 +10440,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10550,7 +10595,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -12231,7 +12279,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12324,7 +12372,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12352,9 +12402,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12862,13 +12912,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12894,8 +12945,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13208,12 +13261,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13258,8 +13311,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13307,8 +13362,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13370,7 +13428,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13495,7 +13553,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -16496,7 +16557,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -19227,7 +19290,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -19376,16 +19441,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19531,18 +19597,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
#, fuzzy
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr "Zwraca arcus sinus parametru."
@@ -24467,8 +24521,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -25089,7 +25147,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26680,10 +26740,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -28105,8 +28168,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -30409,11 +30472,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -31259,7 +31325,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -31271,6 +31341,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33652,14 +33732,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33667,22 +33747,26 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr ""
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "Zwraca minimalny kąt w radianach tego wektora."
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr ""
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "Liczy iloczyn wektorowy tego wektora oraz [code]b[/code]."
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
-msgstr ""
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
+msgstr "Liczy iloczyn wektorowy tego wektora oraz [code]with[/code]."
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
-msgstr ""
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
+msgstr "Liczy iloczyn wektorowy tego wektora oraz [code]b[/code]."
#: doc/classes/Line2D.xml
msgid ""
@@ -35264,9 +35348,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35727,7 +35811,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36877,7 +36963,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37708,13 +37794,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -41387,7 +41485,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46792,7 +46892,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "Liczy iloczyn wektorowy tego wektora oraz [code]with[/code]."
#: doc/classes/PopupMenu.xml
@@ -47031,7 +47133,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47761,7 +47865,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -50442,8 +50550,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -54470,7 +54589,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -54617,13 +54738,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55813,7 +55940,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -56433,6 +56563,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56767,7 +56905,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -58203,7 +58343,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -59470,6 +59610,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -59531,6 +59674,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -59553,7 +59699,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -60690,6 +60839,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Liczy iloczyn wektorowy tego wektora oraz [code]b[/code]."
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -60720,6 +60874,11 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Liczy iloczyn wektorowy tego wektora oraz [code]b[/code]."
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60761,7 +60920,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -65657,21 +65818,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -65684,7 +65849,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -65713,7 +65878,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65723,22 +65920,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -65751,8 +65961,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65950,16 +66162,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -74637,7 +74849,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/pt.po b/doc/translations/pt.po
index c99a8e1cd6..3ad0c8660d 100644
--- a/doc/translations/pt.po
+++ b/doc/translations/pt.po
@@ -10,12 +10,16 @@
# Diogo Gomes <dgomes@graphnode.com>, 2022.
# El_ExpertPlayer <xpertnathan37@gmail.com>, 2022.
# Esdras Caleb Oliveira Silva <acheicaleb@gmail.com>, 2022.
+# Rafael Testa <rafael1testa@gmail.com>, 2022.
+# Lucas Campos <lucas@lcmps.dev>, 2022.
+# Nathan Soares <eu@nathan.com.br>, 2022.
+# Baiterson <baiter160@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-06-29 10:31+0000\n"
-"Last-Translator: Esdras Caleb Oliveira Silva <acheicaleb@gmail.com>\n"
+"PO-Revision-Date: 2022-08-25 13:04+0000\n"
+"Last-Translator: Baiterson <baiter160@gmail.com>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/pt/>\n"
"Language: pt\n"
@@ -23,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.13.1-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -513,6 +517,23 @@ 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"
+"- 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"
+"- 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]==[/"
+"code]. Isso implica que [code]==[/code] se faz a recursão em [code]Array[/"
+"code], mas não em [code]Dictionary[/code].\n"
+"Resumindo, sempre que um [code]Dictionary[/code] estiver potencialmente "
+"envolvido, se você quiser uma comparação verdadeira com verificação de "
+"conteúdo, você deve usar [code]deep_equal[/code]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -802,6 +823,7 @@ 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 "
@@ -809,8 +831,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -820,7 +843,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
"Returna um fator de interpolação ou extrapolação considerando o alcance "
"especifico em [code]from[/code] e [code]to[/code], e o valor interpolado "
@@ -908,12 +932,14 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
"Linearly interpolates between two values by the factor defined in "
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -925,7 +951,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
"Interpola linearmente entre dois valores pelo fator definido em "
"[code]weight[/code]. Para realizar a interpolação, [code]weight[/code] deve "
@@ -1340,7 +1367,6 @@ msgstr ""
"rastreamento de pilha quando um erro ou aviso é impresso ."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Like [method print], but includes the current stack frame when running with "
"the debugger turned on.\n"
@@ -1350,11 +1376,12 @@ msgid ""
" At: res://test.gd:15:_process()\n"
"[/codeblock]"
msgstr ""
-"Imprime a pilha de chamadas no local do código, só funciona com o depurador "
-"ativado.\n"
-"Saída no console vai parecer assim:\n"
+"Similar à [method print], mas inclui a pilha de chamadas no local do código "
+"quando o depurador esta ativado.\n"
+"A saída no console será exibida da seguinte maneira:\n"
"[codeblock]\n"
-"Frame 0 - res://test.gd:16 in function '_process'\n"
+"Test print\n"
+" At: res://test.gd:15:_process()\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1607,20 +1634,59 @@ msgid ""
"3\n"
"[/codeblock]"
msgstr ""
+"Retorna um [Array] com o intervalo fornecido. [method range] pode ser "
+"invocado de três maneiras:\n"
+"- [code]range(n: int)[/code]: inicia em 0, incrementa 1 passo até parar "
+"[i]antes[/i] de [code]n[/code]. O argumento [code]n[/code] é [b]exclusivo[/"
+"b].\n"
+"[código]intervalo(b: int, n: int)[/código]: inicia em [código]b[/código], "
+"incrementa 1 passo até parar [i]antes[/i] de [code]n[/code]. Os argumentos "
+"[code]b[/code] e [code]n[/code] são [b]inclusivo[/b] e [b]exclusivo[/b], "
+"respectivamente.\n"
+"- [code]range(b: int, n: int, s: int)[/code]: inicia em [code]b[/code], "
+"aumenta/diminui [code]s[/code] passos até parar [i]antes[/i] de [code]n[/"
+"code]. Os argumentos [code]b[/code] e [code]n[/code] são [b]inclusivo[/b] e "
+"[b]exclusivo[/b], respectivamente. O argumento [code]s[/code] [b]pode[/b] "
+"ser negativo, mas não [code]0[/code]. Se [code]s[/code] for [code]0[/code], "
+"uma mensagem de erro será exibida.\n"
+"- [method range] converte todos os argumentos em [int] antes do "
+"processamento.\n"
+"[b]Observação:[/b] Retorna uma matriz vazia se nenhum valor atender às "
+"restrições do intervalo (por exemplo, [code]range(2, 5, -1)[/code] ou "
+"[code]range(5, 5, 1)[/code]).\n"
+"Exemplos:\n"
+"[codeblock]\n"
+"print(range(4)) # Escreve [0, 1, 2, 3]\n"
+"print(range(2, 5)) # Escreve [2, 3, 4]\n"
+"print(range(0, 6, 2)) # Escreve [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Escreve [4, 3, 2]\n"
+"[/codeblock]\n"
+"Para iterar sobre um [Array] para trás, use:\n"
+"[codeblock]\n"
+"var array = [3, 6, 9]\n"
+"for i in range(array.size(), 0, -1):\n"
+" print(array[i - 1])\n"
+"[/codeblock]\n"
+"Saída:\n"
+"[codeblock]\n"
+"9\n"
+"6\n"
+"3\n"
+"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
-"Mapeia um [code]value[/code] do intervalo [code][istart, istop][/code] para "
-"o intervalo [code][ostart, ostop][/code].\n"
-"[codeblock]\n"
-"range_lerp(75, 0, 100, -1, 1) # Retorna 0.5\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1633,6 +1699,14 @@ msgid ""
"[/codeblock]\n"
"See also [method floor], [method ceil], [method stepify], and [int]."
msgstr ""
+"Arredonda [code]s[/code] para o número inteiro mais próximo, com a metade "
+"arredondada para cima.\n"
+"[codeblock]\n"
+"a = round(2.49) # a is 2.0\n"
+"a = round(2.5) # a is 3.0\n"
+"a = round(2.51) # a is 3.0\n"
+"[/codeblock]\n"
+"Veja também[method floor], [method ceil], [method stepify], e [int]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1717,6 +1791,29 @@ msgid ""
"smoothstep_ease_comparison.png]Comparison between smoothstep() and ease(x, "
"-1.6521) return values[/url]"
msgstr ""
+"Retorna o resultado da interpolação suave do valor de [code]s[/code] entre "
+"[code]0[/code] e [code]1[/code], na qual [code]s[/code] se encontra incluso "
+"no intervalo dos limites [code]from[/code] e [code]to[/code].\n"
+"O valor de retornado é [code]0[/code] se [code]s <= from[/code], e [code]1[/"
+"code] se [code]s >= to[/code]. Se [code]s[/code] estiver entre [code]from[/"
+"code] e [code]to[/code], o valor retornado segue uma curva em forma de S que "
+"mapeia [code]s[/code] entre [ code]0[/code] e [code]1[/code].\n"
+"Esta curva em forma de S é o interpolador cúbico de Hermite, dado por "
+"[code]f(y) = 3*y^2 - 2*y^3[/code] na qual [code]y = (x-from) / (to -from)[/"
+"code].\n"
+"[codeblock]\n"
+"smoothstep(0, 2, -5.0) # Retorna 0.0\n"
+"smoothstep(0, 2, 0.5) # Retorna 0.15625\n"
+"smoothstep(0, 2, 1.0) # Retorna 0.5\n"
+"smoothstep(0, 2, 2.0) # Retorna 1.0\n"
+"[/codeblock]\n"
+"Comparado [method ease] com um valor de curva de [code]-1.6521[/code], "
+"[method smoothstep] retorna a curva mais suave possível sem mudanças "
+"repentinas na derivada. Se você precisar realizar transições mais avançadas, "
+"use [Tween] ou [AnimationPlayer].\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/3.5/img/"
+"smoothstep_ease_comparison.png]Comparação entre os valores retornados por "
+"smoothstep() e ease(x, -1.6521)[/url]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1728,8 +1825,17 @@ msgid ""
"[b]Note:[/b] Negative values of [code]s[/code] return NaN. If you need "
"negative inputs, use [code]System.Numerics.Complex[/code] in C#."
msgstr ""
+"Retorna a raiz quadrada de [code]s[/code], onde [code]s[/code] é um número "
+"não-negativo.\n"
+"[codeblock]\n"
+"sqrt(9) # Retorna 3\n"
+"[/codeblock]\n"
+"[b]Nota:[/b] Valores negativos de [code]s[/code] retornam NaN. Se você "
+"necessita de inputs negativos, use [code]System.Numerics.Complex[/code] em "
+"C#."
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
"Returns the position of the first non-zero digit, after the decimal point. "
"Note that the maximum return value is 10, which is a design decision in the "
@@ -1740,6 +1846,14 @@ msgid ""
"n = step_decimals(0.000000005) # n is 9\n"
"[/codeblock]"
msgstr ""
+"Retorna a posição do primeiro dígito diferente de 0 após o ponto decimal. "
+"Note que o valor máximo retornado é 10, que é uma decisão de design na "
+"implementação.\n"
+"[codeblock]\n"
+"n = step_decimals(5) # n é 0\n"
+"n = step_decimals(1.0005) # n é 4\n"
+"n = step_decimals(0.000000005) # n é 9\n"
+"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1752,6 +1866,14 @@ msgid ""
"[/codeblock]\n"
"See also [method ceil], [method floor], [method round], and [int]."
msgstr ""
+"Fixa valor flutuante [code]s[/code] para um dado [code]step[/code]. Também "
+"pode ser usado para arredondar um número flutuante para um número arbitrário "
+"de decimais.\n"
+"[codeblock]\n"
+"stepify(100, 32) # Retorna 96.0\n"
+"stepify(3.14159, 0.01) # Retorna 3.14\n"
+"[/codeblock]\n"
+"Veja também [method ceil], [method floor], [method round], e [int]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1764,6 +1886,14 @@ msgid ""
"len(b) # Returns 12\n"
"[/codeblock]"
msgstr ""
+"Converte um ou mais argumentos de quaisquer tipos para string na melhor "
+"maneira possível.\n"
+"[codeblock]\n"
+"var a = [10, 20, 30]\n"
+"var b = str(a);\n"
+"len(a) # Retorna 3\n"
+"len(b) # Retorna 12\n"
+"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1803,6 +1933,11 @@ msgid ""
"b = tanh(a) # b is 0.6\n"
"[/codeblock]"
msgstr ""
+"Retorna a tangente hiperbólica de [code]s[/code].\n"
+"[codeblock]\n"
+"a = log(2.0) # a é 0.693147\n"
+"b = tanh(a) # b é 0.6\n"
+"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1845,6 +1980,11 @@ msgid ""
"type_exists(\"Variant\") # Returns false\n"
"[/codeblock]"
msgstr ""
+"Retorna se uma dada classe existe em [ClassDB].\n"
+"[codeblock]\n"
+"type_exists(\"Sprite\") # Retorna true\n"
+"type_exists(\"Variant\") # Retorna false\n"
+"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -2177,16 +2317,22 @@ msgid "Global scope constants and variables."
msgstr "Constantes e variáveis de escopo global."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid ""
"Global scope constants and variables. This is all that resides in the "
"globals, constants regarding error codes, scancodes, property hints, etc.\n"
"Singletons are also documented here, since they can be accessed from "
"anywhere."
msgstr ""
+"Constante e variáveis de escopo global. É tudo aquilo que reside no escopo "
+"global, constantes relacionadas a códigos de erro, scancodes, dicas de "
+"propriedades, etc.\n"
+"Singletons também estão documentados aqui, uma vez que podem ser acessados "
+"de qualquer lugar."
#: doc/classes/@GlobalScope.xml
msgid "The [ARVRServer] singleton."
-msgstr ""
+msgstr "O singleton [ARVRServer]."
#: doc/classes/@GlobalScope.xml
msgid "The [AudioServer] singleton."
@@ -2206,7 +2352,7 @@ msgstr "O singleton [Engine]."
#: doc/classes/@GlobalScope.xml
msgid "The [Geometry] singleton."
-msgstr ""
+msgstr "O singleton [Geometry]."
#: doc/classes/@GlobalScope.xml
msgid "The [IP] singleton."
@@ -2245,19 +2391,16 @@ msgid "The [Marshalls] singleton."
msgstr "O singleton [Marshalls]."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "The [Navigation2DServer] singleton."
-msgstr "O singleton [TranslationServer]."
+msgstr "O singleton [Navigation2DServer]."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "The [NavigationMeshGenerator] singleton."
-msgstr "O singleton [TranslationServer]."
+msgstr "O singleton [NavigationMeshGenerator]."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "The [NavigationServer] singleton."
-msgstr "O singleton [TranslationServer]."
+msgstr "O singleton [NavigationServer]."
#: doc/classes/@GlobalScope.xml
msgid "The [OS] singleton."
@@ -2269,11 +2412,11 @@ msgstr "O singleton [Performance]."
#: doc/classes/@GlobalScope.xml
msgid "The [Physics2DServer] singleton."
-msgstr ""
+msgstr "O singleton [Physics2DServer]."
#: doc/classes/@GlobalScope.xml
msgid "The [PhysicsServer] singleton."
-msgstr ""
+msgstr "O singleton [PhysicsServer]."
#: doc/classes/@GlobalScope.xml
msgid "The [ProjectSettings] singleton."
@@ -2289,7 +2432,7 @@ msgstr "O singleton [ResourceSaver]."
#: doc/classes/@GlobalScope.xml
msgid "The [Time] singleton."
-msgstr ""
+msgstr "O singleton [Time]."
#: doc/classes/@GlobalScope.xml
msgid "The [TranslationServer] singleton."
@@ -2301,7 +2444,7 @@ msgstr "O singleton [VisualScriptEditor]."
#: doc/classes/@GlobalScope.xml
msgid "The [VisualServer] singleton."
-msgstr ""
+msgstr "O singleton [VisualServer]."
#: doc/classes/@GlobalScope.xml
msgid "Left margin, usually used for [Control] or [StyleBox]-derived classes."
@@ -2393,7 +2536,7 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid "Scancodes with this bit applied are non-printable."
-msgstr ""
+msgstr "Scancodes com este bit aplicado não são printáveis."
#: doc/classes/@GlobalScope.xml
msgid "Escape key."
@@ -2405,7 +2548,7 @@ msgstr "Tecla Tab."
#: doc/classes/@GlobalScope.xml
msgid "Shift+Tab key."
-msgstr ""
+msgstr "Tecla Shift+Tab."
#: doc/classes/@GlobalScope.xml
msgid "Backspace key."
@@ -2665,8 +2808,9 @@ msgid ""
msgstr "Tecla Voltar Media. Não confundir com tecla Voltar no device Android."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid "Media forward key."
-msgstr ""
+msgstr "Tecla avançar Mídia."
#: doc/classes/@GlobalScope.xml
msgid "Media stop key."
@@ -2674,7 +2818,7 @@ msgstr "Tecla de parada de mídia."
#: doc/classes/@GlobalScope.xml
msgid "Media refresh key."
-msgstr ""
+msgstr "Tecla repetir Mídia."
#: doc/classes/@GlobalScope.xml
msgid "Volume down key."
@@ -3565,6 +3709,11 @@ msgid ""
"- Linux: Up to 80 buttons.\n"
"- Windows and macOS: Up to 128 buttons."
msgstr ""
+"O número máximo de botões de controle suportados pela engine. O limite poder "
+"ser menor em plataformas específicas:\n"
+"- Android: Até 36 botões.\n"
+"- Linux: Até 80 botões.\n"
+"- Windows e macOS: Até 128 botões."
#: doc/classes/@GlobalScope.xml
msgid "DualShock circle button."
@@ -3584,35 +3733,35 @@ msgstr "Botão triângulo do Dualshock."
#: doc/classes/@GlobalScope.xml
msgid "Xbox controller B button."
-msgstr ""
+msgstr "Botão B do controle de Xbox."
#: doc/classes/@GlobalScope.xml
msgid "Xbox controller A button."
-msgstr ""
+msgstr "Botão A do controle de Xbox."
#: doc/classes/@GlobalScope.xml
msgid "Xbox controller X button."
-msgstr ""
+msgstr "Botão X do controle de Xbox."
#: doc/classes/@GlobalScope.xml
msgid "Xbox controller Y button."
-msgstr ""
+msgstr "Botão Y do controle de Xbox."
#: doc/classes/@GlobalScope.xml
msgid "Nintendo controller A button."
-msgstr ""
+msgstr "Botão A do controle da Nintendo."
#: doc/classes/@GlobalScope.xml
msgid "Nintendo controller B button."
-msgstr ""
+msgstr "Botão B do controle da Nintendo."
#: doc/classes/@GlobalScope.xml
msgid "Nintendo controller X button."
-msgstr ""
+msgstr "Botão X do controle da Nintendo."
#: doc/classes/@GlobalScope.xml
msgid "Nintendo controller Y button."
-msgstr ""
+msgstr "Botão Y do controle da Nintendo."
#: doc/classes/@GlobalScope.xml
msgid "Grip (side) buttons on a VR controller."
@@ -3678,35 +3827,36 @@ msgstr "Botão direito no direcional do controle."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad SDL guide button."
-msgstr ""
+msgstr "Botão guia do controle SDL."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad SDL miscellaneous button."
msgstr "Botão diverso SDL do controle."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid "Gamepad SDL paddle 1 button."
-msgstr ""
+msgstr "Botão paddle 1 do controle SDL."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad SDL paddle 2 button."
-msgstr ""
+msgstr "Botão paddle 2 do controle SDL."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad SDL paddle 3 button."
-msgstr ""
+msgstr "Botão paddle 3 do controle SDL."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad SDL paddle 4 button."
-msgstr ""
+msgstr "Botão paddle 4 do controle SDL."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad SDL touchpad button."
-msgstr ""
+msgstr "Touchpad do controle SDL."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad left Shoulder button."
-msgstr ""
+msgstr "Touchpad botão L1."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad left trigger."
@@ -3718,7 +3868,7 @@ msgstr "Clique na alavanca esquerda do controle."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad right Shoulder button."
-msgstr ""
+msgstr "Touchpad botão L2."
#: doc/classes/@GlobalScope.xml
msgid "Gamepad right trigger."
@@ -3785,8 +3935,9 @@ msgid "VR Controller analog trigger."
msgstr "Gatilho analógico do controle VR."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid "VR Controller analog grip (side buttons)."
-msgstr ""
+msgstr "VR Controle analógico (botões laterais)"
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -3809,30 +3960,38 @@ msgid ""
"MIDI note OFF message. See the documentation of [InputEventMIDI] for "
"information of how to use MIDI inputs."
msgstr ""
+"MIDI nota OFF mensagem. Ver na documentação [InputEventMIDI] como usar."
#: doc/classes/@GlobalScope.xml
msgid ""
"MIDI note ON message. See the documentation of [InputEventMIDI] for "
"information of how to use MIDI inputs."
-msgstr ""
+msgstr "MIDI nota ON mensagem. Ver na documentação [InputEventMIDI] como usar."
#: doc/classes/@GlobalScope.xml
msgid ""
"MIDI aftertouch message. This message is most often sent by pressing down on "
"the key after it \"bottoms out\"."
msgstr ""
+"MIDI aftertouch mensagem. Essa mensagem é mais enviada quando pressionada a "
+"tecla e depois de \"bottons out\"."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid ""
"MIDI control change message. This message is sent when a controller value "
"changes. Controllers include devices such as pedals and levers."
msgstr ""
+"MIDI control change mensagem. Essa mensagem é enviada quando um valor de um "
+"controle muda. Controles do tipo pedais e alavancas."
#: doc/classes/@GlobalScope.xml
msgid ""
"MIDI program change message. This message sent when the program patch number "
"changes."
msgstr ""
+"MIDI program change message. Essa mensagem é enviada quando o número de um "
+"patch de um programa."
#: doc/classes/@GlobalScope.xml
msgid ""
@@ -3925,6 +4084,19 @@ msgid ""
" print(\"Still failing!\")\n"
"[/codeblock]"
msgstr ""
+"Métodos que retornam [enum Error] retornam [constant OK] quando nenhum erro "
+"ocorre. Note que muitas funções não retornam um código de erro, mas "
+"imprimirão mensagens de erro na saída padrão.\n"
+"Uma vez que [constant OK] tem valor 0 e todos os outros códigos de erro são "
+"inteiros positivos, também pode ser usado em uma checagem booleana, ex:\n"
+"[codeblock]\n"
+"var err = method_that_returns_error()\n"
+"if err != OK:\n"
+" print(\"Failure!\")\n"
+"# Ou o equivalente:\n"
+"if err:\n"
+" print(\"Still failing!\")\n"
+"[/codeblock]"
#: doc/classes/@GlobalScope.xml
msgid "Generic error."
@@ -3932,31 +4104,34 @@ msgstr "Erro genérico."
#: doc/classes/@GlobalScope.xml
msgid "Unavailable error."
-msgstr ""
+msgstr "Erro não disponível."
#: doc/classes/@GlobalScope.xml
msgid "Unconfigured error."
-msgstr ""
+msgstr "Erro não configurado."
#: doc/classes/@GlobalScope.xml
msgid "Unauthorized error."
-msgstr ""
+msgstr "Erro não autorizado."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid "Parameter range error."
-msgstr ""
+msgstr "Erro de intervalo de parâmetro."
#: doc/classes/@GlobalScope.xml
msgid "Out of memory (OOM) error."
-msgstr ""
+msgstr "Erro de falta de memória (OOM)."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid "File: Not found error."
-msgstr ""
+msgstr "Arquivo: Erro de arquivo não encontrado."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid "File: Bad drive error."
-msgstr ""
+msgstr "Arquivo: Erro unidade defeituosa."
#: doc/classes/@GlobalScope.xml
msgid "File: Bad path error."
@@ -3971,24 +4146,29 @@ msgid "File: Already in use error."
msgstr "Ficheiro: Erro ficheiro já em uso."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid "File: Can't open error."
-msgstr ""
+msgstr "Arquivo: Erro não foi possível abrir."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid "File: Can't write error."
-msgstr ""
+msgstr "Arquivo: Erro não foi possível escrever."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid "File: Can't read error."
-msgstr ""
+msgstr "Arquivo: Erro não foi possível ler."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid "File: Unrecognized error."
-msgstr ""
+msgstr "Arquivo: Erro não reconhecido."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid "File: Corrupt error."
-msgstr ""
+msgstr "Arquivo: Erro corrompido."
#: doc/classes/@GlobalScope.xml
msgid "File: Missing dependencies error."
@@ -3996,27 +4176,28 @@ msgstr "Ficheiro: Erro faltam dependências."
#: doc/classes/@GlobalScope.xml
msgid "File: End of file (EOF) error."
-msgstr ""
+msgstr "Arquivo: Erro fim do arquivo (EOF)."
#: doc/classes/@GlobalScope.xml
msgid "Can't open error."
-msgstr ""
+msgstr "Erro não foi possível abrir."
#: doc/classes/@GlobalScope.xml
msgid "Can't create error."
-msgstr ""
+msgstr "Erro não foi possível criar."
#: doc/classes/@GlobalScope.xml
msgid "Query failed error."
-msgstr ""
+msgstr "Erro falha na consulta."
#: doc/classes/@GlobalScope.xml
msgid "Already in use error."
-msgstr ""
+msgstr "Erro já está sendo utilizado."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid "Locked error."
-msgstr ""
+msgstr "Erro Bloqueado (Locked error)."
#: doc/classes/@GlobalScope.xml
msgid "Timeout error."
@@ -4024,7 +4205,7 @@ msgstr ""
#: doc/classes/@GlobalScope.xml
msgid "Can't connect error."
-msgstr ""
+msgstr "Erro não foi possível conectar."
#: doc/classes/@GlobalScope.xml
msgid "Can't resolve error."
@@ -4036,15 +4217,15 @@ msgstr "Erro de conexão."
#: doc/classes/@GlobalScope.xml
msgid "Can't acquire resource error."
-msgstr ""
+msgstr "Erro não foi possível adquirir o recurso."
#: doc/classes/@GlobalScope.xml
msgid "Can't fork process error."
-msgstr ""
+msgstr "Erro não foi possível dividir o processo."
#: doc/classes/@GlobalScope.xml
msgid "Invalid data error."
-msgstr ""
+msgstr "Erro dados inválidos."
#: doc/classes/@GlobalScope.xml
msgid "Invalid parameter error."
@@ -4079,8 +4260,9 @@ msgid "Linking failed error."
msgstr ""
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid "Script failed error."
-msgstr ""
+msgstr "Erro falha no script."
#: doc/classes/@GlobalScope.xml
msgid "Cycling link (import cycle) error."
@@ -4095,8 +4277,9 @@ msgid "Duplicate symbol error."
msgstr "Erro de símbolo duplicado."
#: doc/classes/@GlobalScope.xml
+#, fuzzy
msgid "Parse error."
-msgstr ""
+msgstr "Erro de parse."
#: doc/classes/@GlobalScope.xml
msgid "Busy error."
@@ -4112,13 +4295,15 @@ msgstr "Erro de ajuda."
#: doc/classes/@GlobalScope.xml
msgid "Bug error."
-msgstr ""
+msgstr "Erro bug."
#: doc/classes/@GlobalScope.xml
msgid ""
"Printer on fire error. (This is an easter egg, no engine methods return this "
"error code.)"
msgstr ""
+"Erro impressora em chamas. (Isso é um easter egg, nenhum método da engine "
+"retornará esse código de erro.)"
#: doc/classes/@GlobalScope.xml
msgid "No hint for the edited property."
@@ -4165,12 +4350,17 @@ 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 "
"the curve horizontally and/or [code]\"inout\"[/code] to also include in/out "
"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."
#: doc/classes/@GlobalScope.xml
msgid "Deprecated hint, unused."
@@ -5666,19 +5856,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5699,21 +5891,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5723,9 +5919,10 @@ msgstr "Retorna o RID do ecrã usada por essa camada."
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -6384,9 +6581,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -6560,8 +6757,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -9563,8 +9760,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -9615,10 +9813,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9860,12 +10068,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr "Poder de distorção. O valor pode variar de 0 a 1."
@@ -10411,7 +10613,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10572,12 +10779,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10725,6 +10936,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10865,7 +11091,10 @@ msgstr "Reproduz um som posicional em espaço 2D."
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -12548,7 +12777,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12641,7 +12870,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12669,9 +12900,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -13171,13 +13402,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -13203,8 +13435,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13517,12 +13751,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13567,8 +13801,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13616,8 +13852,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13683,7 +13922,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13819,10 +14058,12 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
-"Define que a camada irá seguir a janela para simular um efeito pseudo-3D."
#: doc/classes/CanvasLayer.xml
msgid ""
@@ -16831,7 +17072,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -19568,7 +19811,9 @@ msgstr "Uma curva matemática."
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -19717,16 +19962,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19871,18 +20117,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -24797,8 +25031,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -25420,7 +25658,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -27008,10 +27248,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -28419,8 +28662,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -30720,11 +30963,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -31573,7 +31819,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -31585,6 +31835,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33954,14 +34214,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33969,22 +34229,28 @@ msgid "Removes all points from the line."
msgstr "Remove todos os pontos da linha."
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+#, fuzzy
+msgid "Returns the amount of points in the line."
msgstr "Retorna a quantidade de pontos de uma Line2D."
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr ""
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "Retorna o tipo do nó em at [code]idx[/code]."
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
-msgstr ""
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
+msgstr "Retorna o tipo do nó em at [code]idx[/code]."
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
+"Retorna [code]true[/code] se a guia no índice [code]tab_idx[/code] estiver "
+"oculta."
#: doc/classes/Line2D.xml
msgid ""
@@ -35562,9 +35828,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -36024,7 +36290,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -37160,7 +37428,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37985,13 +38253,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -38559,6 +38839,7 @@ msgid ""
msgstr ""
#: doc/classes/Node.xml
+#, fuzzy
msgid "Nodes and Scenes"
msgstr "Nós e Cenas"
@@ -41657,7 +41938,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -47026,7 +47309,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "Retorna o nome do nó em [code]idx[/code]."
#: doc/classes/PopupMenu.xml
@@ -47266,7 +47551,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47995,7 +48282,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -50739,8 +51030,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -54758,7 +55060,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -54902,13 +55206,19 @@ msgstr "A cena atual."
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56101,7 +56411,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -56721,6 +57034,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -57055,7 +57376,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -58506,7 +58829,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -59773,6 +60096,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -59834,6 +60160,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -59856,7 +60185,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -60995,6 +61327,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Retorna o tipo do nó em at [code]idx[/code]."
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -61024,6 +61361,11 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Retorna o tipo do nó em at [code]idx[/code]."
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -61065,8 +61407,13 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+#, fuzzy
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
+"Emitido quando um botão personalizado é pressionado. Veja [method "
+"add_button]."
#: doc/classes/Tabs.xml
msgid "Emitted when a tab is clicked, even if it is the current tab."
@@ -65948,21 +66295,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -65975,7 +66326,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -66004,7 +66355,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -66014,22 +66397,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -66042,8 +66438,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -66241,16 +66639,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -74893,7 +75291,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/pt_BR.po b/doc/translations/pt_BR.po
index ea624fdf2c..62d868632e 100644
--- a/doc/translations/pt_BR.po
+++ b/doc/translations/pt_BR.po
@@ -19,7 +19,7 @@
# Lucas E. <lukas.ed45@gmail.com>, 2021.
# Júlio César <diolandajr@gmail.com>, 2021, 2022.
# Kett Lovahr <vagnerlunes@gmail.com>, 2021.
-# Jaide Alonso Ambrosio <jaide.sp@gmail.com>, 2021.
+# Jaide Alonso Ambrosio <jaide.sp@gmail.com>, 2021, 2022.
# DeeJayLSP <djlsplays@gmail.com>, 2021.
# Douglas Leão <djlsplays@gmail.com>, 2021.
# Cauê Henrique Sousa Ferrareto <caue313@gmail.com>, 2021.
@@ -42,12 +42,13 @@
# Daniel Abrante <danielabrante@protonmail.com>, 2022.
# lucas rossy brasil coelho <lucasrossy270@gmail.com>, 2022.
# Felipe Kinoshita <kinofhek@gmail.com>, 2022.
+# Mr.Albino <ricmorsoleto@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-08-04 06:40+0000\n"
-"Last-Translator: Felipe Kinoshita <kinofhek@gmail.com>\n"
+"PO-Revision-Date: 2022-08-21 06:02+0000\n"
+"Last-Translator: Jaide Alonso Ambrosio <jaide.sp@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"godot-engine/godot-class-reference/pt_BR/>\n"
"Language: pt_BR\n"
@@ -853,6 +854,7 @@ 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 "
@@ -860,8 +862,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -871,7 +874,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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]"
@@ -945,12 +949,14 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
"Linearly interpolates between two values by the factor defined in "
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -962,7 +968,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
"Interpola linearmente entre dois valores pelo fator definido em "
"[code]weight[/code]. Para realizar a interpolação, [code]weight[/code] deve "
@@ -1642,16 +1649,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
-"Mapeia um [code]value[/code] do intervalo [code][istart, istop][/code] para "
-"o intervalo [code][ostart, ostop][/code].\n"
-"[codeblock]\n"
-"range_lerp(75, 0, 100, -1, 1) # Retorna 0.5\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -5886,19 +5893,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5919,21 +5928,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5943,9 +5956,10 @@ msgstr "Retorna a tangente do parâmetro."
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -6604,9 +6618,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -6781,8 +6795,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -9800,8 +9814,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -9852,10 +9867,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -10099,12 +10124,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr "Poder de distorção. O valor pode variar de 0 a 1."
@@ -10650,7 +10669,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10811,12 +10835,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10964,6 +10992,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -11104,7 +11147,10 @@ msgstr "Reproduz um som posicional em espaço 2D."
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -12789,7 +12835,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12882,7 +12928,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12910,9 +12958,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -13418,13 +13466,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -13450,8 +13499,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13764,12 +13815,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13814,8 +13865,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13863,8 +13916,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13930,7 +13986,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -14067,10 +14123,12 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
-"Define que a camada irá seguir a janela para simular um efeito pseudo-3D."
#: doc/classes/CanvasLayer.xml
msgid ""
@@ -17121,7 +17179,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -19858,7 +19918,9 @@ msgstr "Uma curva matemática."
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -20007,16 +20069,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -20162,18 +20225,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
#, fuzzy
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr "Retorna o arco-seno do parâmetro."
@@ -25100,8 +25151,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -25723,7 +25778,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -27315,10 +27372,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -28748,8 +28808,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -31054,11 +31114,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -31908,7 +31971,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -31920,6 +31987,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -34300,14 +34377,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34315,22 +34392,27 @@ msgid "Removes all points from the line."
msgstr "Remove todos os pontos da linha."
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+#, fuzzy
+msgid "Returns the amount of points in the line."
msgstr "Retorna a quantidade de pontos de uma Line2D."
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr ""
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "Retorna o tipo do nó em at [code]idx[/code]."
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
-msgstr ""
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
+msgstr "Retorna o nome do nó em [code]idx[/code]."
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
+"Retorna a largura em píxeis de [code]wrap_index[/code] em [code]line[/code]."
#: doc/classes/Line2D.xml
msgid ""
@@ -35909,9 +35991,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -36372,7 +36454,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -37520,7 +37604,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -38354,13 +38438,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -42032,7 +42128,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -47441,7 +47539,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "Retorna o nome do nó em [code]idx[/code]."
#: doc/classes/PopupMenu.xml
@@ -47682,7 +47782,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -48412,7 +48514,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51094,8 +51200,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -55122,7 +55239,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55266,13 +55385,19 @@ msgstr "A cena atual."
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56466,7 +56591,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -57088,6 +57216,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -57422,7 +57558,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -58876,7 +59014,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -60143,6 +60281,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -60204,6 +60345,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -60226,7 +60370,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -61365,6 +61512,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Retorna o tipo do nó em at [code]idx[/code]."
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -61395,6 +61547,11 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Retorna o tipo do nó em at [code]idx[/code]."
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -61436,8 +61593,13 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+#, fuzzy
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
+"Emitido quando um botão personalizado é pressionado. Veja [method "
+"add_button]."
#: doc/classes/Tabs.xml
msgid "Emitted when a tab is clicked, even if it is the current tab."
@@ -66347,21 +66509,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -66374,7 +66540,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -66403,7 +66569,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -66413,22 +66611,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -66441,8 +66652,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -66640,16 +66853,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -75332,7 +75545,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
@@ -76712,6 +76927,8 @@ msgid ""
"Skips the current section. If the node contains other elements, they will be "
"ignored and the cursor will go to the closing of the current element."
msgstr ""
+"Pula a seção atual. Se o nó contêm outros elementos, eles serão ignorados e "
+"o cursor irá para o encerramento do elemento atual."
#: doc/classes/XMLParser.xml
msgid "There's no node (no file or buffer opened)."
diff --git a/doc/translations/ro.po b/doc/translations/ro.po
index 332dbd0801..b0a4b2085c 100644
--- a/doc/translations/ro.po
+++ b/doc/translations/ro.po
@@ -566,8 +566,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -577,7 +578,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -631,7 +633,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -643,7 +646,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1058,10 +1062,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4876,19 +4885,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4909,21 +4920,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4932,9 +4947,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5586,9 +5602,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5762,8 +5778,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8765,8 +8781,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8817,10 +8834,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9062,12 +9089,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9613,7 +9634,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9774,12 +9800,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9927,6 +9957,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10067,7 +10112,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11745,7 +11793,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11838,7 +11886,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11866,9 +11916,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12365,13 +12415,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12397,8 +12448,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12711,12 +12764,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12761,8 +12814,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12810,8 +12865,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12873,7 +12931,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12998,7 +13056,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -15994,7 +16055,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18719,7 +18782,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18868,16 +18933,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19022,18 +19088,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -23940,8 +23994,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24561,7 +24619,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26145,10 +26205,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27555,8 +27618,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29856,11 +29919,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30705,7 +30771,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30717,6 +30787,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33074,14 +33154,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33089,21 +33169,21 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34680,9 +34760,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35141,7 +35221,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36253,7 +36335,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37069,13 +37151,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40739,7 +40833,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46103,7 +46199,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46342,7 +46440,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47071,7 +47171,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49752,8 +49856,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53770,7 +53885,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53914,13 +54031,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55110,7 +55233,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55729,6 +55855,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56063,7 +56197,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57496,7 +57632,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58761,6 +58897,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58822,6 +58961,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58844,7 +58986,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -59981,6 +60126,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -60010,6 +60159,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60051,7 +60204,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -64916,21 +65071,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -64943,7 +65102,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -64972,7 +65131,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -64982,22 +65173,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -65010,8 +65214,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65209,16 +65415,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73848,7 +74054,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/ru.po b/doc/translations/ru.po
index b148868ce6..7355406513 100644
--- a/doc/translations/ru.po
+++ b/doc/translations/ru.po
@@ -5,7 +5,7 @@
#
# Alex <Alex.Gorichev@protonmail.com>, 2020.
# Nikita <Kulacnikita@ya.ru>, 2020.
-# Алексей Смирнов <tir74@mail.ru>, 2020, 2021.
+# Алексей Смирнов <tir74@mail.ru>, 2020, 2021, 2022.
# Chaosus89 <chaosus89@gmail.com>, 2020.
# John Smith <19georginos97@gmail.com>, 2020.
# NeoLan Qu <it.bulla@mail.ru>, 2020.
@@ -50,21 +50,23 @@
# МАН69К <weblate@mah69k.net>, 2022.
# Vadim Mitroshkin <Vadim7540@yandex.ru>, 2022.
# SonicStalker Games <dmitriyusolsev1971@gmail.com>, 2022.
+# Kedr <lava20121991@gmail.com>, 2022.
+# Lost Net <pc.mirkn@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-08-04 06:40+0000\n"
-"Last-Translator: SonicStalker Games <dmitriyusolsev1971@gmail.com>\n"
+"PO-Revision-Date: 2022-08-28 00:17+0000\n"
+"Last-Translator: Алексей Смирнов <tir74@mail.ru>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/ru/>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.14-dev\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.14.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -862,6 +864,7 @@ 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 "
@@ -869,8 +872,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -880,7 +884,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
"Возвращает коэффициент интерполяции или экстраполяции с учетом диапазона, "
"указанного в [code]от[/code] и [code]до[/code], и интерполированное "
@@ -972,12 +977,14 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
"Linearly interpolates between two values by the factor defined in "
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -989,7 +996,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
"Линейно интерполирует между двумя значениями с помощью коэффициента, "
"определенного в [code]weight[/code]. Для выполнения интерполяции [code]вес[/"
@@ -1714,16 +1722,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
-"Сопоставляет [code]value[/code] из диапазона [code][istart, istop][/code] в "
-"[code][ostart, ostop][/code].\n"
-"[codeblock]\n"
-"range_lerp(75, 0, 100, -1, 1) # Возвращает 0.5\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1849,13 +1857,13 @@ msgstr ""
"smoothstep(0, 2, 2.0) # Returns 1.0\n"
"[/codeblock]\n"
"\n"
-"Compared to [method ease] with a curve value of [code]-1.6521[/code], ["
-"method smoothstep] returns the smoothest possible curve with no sudden "
+"Compared to [method ease] with a curve value of [code]-1.6521[/code], "
+"[method smoothstep] returns the smoothest possible curve with no sudden "
"changes in the derivative. If you need to perform more advanced transitions, "
"use [Tween] or [AnimationPlayer].\n"
"[url=https://raw.githubusercontent.com/godotengine/godot-docs/3.5/img/"
-"smoothstep_ease_comparison.png]Comparison between smoothstep() and ease(x, -1"
-".6521) return values[/url]"
+"smoothstep_ease_comparison.png]Comparison between smoothstep() and ease(x, "
+"-1.6521) return values[/url]"
#: modules/gdscript/doc_classes/@GDScript.xml
#, fuzzy
@@ -1902,7 +1910,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Snaps float value [code]s[/code] to a given [code]step[/code]. This can also "
"be used to round a floating point number to an arbitrary number of "
@@ -1919,10 +1926,10 @@ msgstr ""
"[codeblock]\n"
"stepify(100, 32) # Возвращает 96\n"
"stepify(3.14159, 0.01) # Возвращает 3.14\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"Смотрите также [method ceil], [method floor], [method round], и [int]."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Converts one or more arguments of any type to string in the best way "
"possible.\n"
@@ -1933,8 +1940,8 @@ msgid ""
"len(b) # Returns 12\n"
"[/codeblock]"
msgstr ""
-"Преобразует один или более аргументов в строку наилучшим возможным "
-"образом. \n"
+"Преобразует один или несколько аргументов любого типа в строку наилучшим из "
+"возможных способов.\n"
"[codeblock]\n"
"var a = [10, 20, 30]\n"
"var b = str(a);\n"
@@ -2373,23 +2380,21 @@ msgid "Global scope constants and variables."
msgstr "Константы и переменные глобальной области видимости."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid ""
"Global scope constants and variables. This is all that resides in the "
"globals, constants regarding error codes, scancodes, property hints, etc.\n"
"Singletons are also documented here, since they can be accessed from "
"anywhere."
msgstr ""
-"Константы и переменные глобальной области видимости. Всё, что находится в "
-"глобальных переменных, константах, касающихся кодов ошибок, кодов клавиш, "
-"подсказок свойств и др.\n"
-"Здесь также задокументированы синглтоны, поскольку доступ к ним можно "
-"получить из любого места."
+"Константы и переменные глобальной области видимости. Это все, что находится "
+"в глобальной области видимости, константы, касающиеся кодов ошибок, "
+"сканкодов, подсказок свойств и т.д.\n"
+"Синглтоны также документируются здесь, поскольку к ним можно получить доступ "
+"из любой точки."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "The [ARVRServer] singleton."
-msgstr "Синглтон [XRServer]."
+msgstr "Синглтон [ARVRServer]."
#: doc/classes/@GlobalScope.xml
msgid "The [AudioServer] singleton."
@@ -2408,9 +2413,8 @@ msgid "The [Engine] singleton."
msgstr "Синглтон [Engine]."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "The [Geometry] singleton."
-msgstr "Синглтон [Geometry2D]."
+msgstr "Синглтон [Geometry]."
#: doc/classes/@GlobalScope.xml
msgid "The [IP] singleton."
@@ -2449,19 +2453,16 @@ msgid "The [Marshalls] singleton."
msgstr "Синглтон [Marshalls]."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "The [Navigation2DServer] singleton."
-msgstr "Синглтон [TranslationServer]."
+msgstr "Синглтон [Navigation2DServer]."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "The [NavigationMeshGenerator] singleton."
msgstr "Синглтон [NavigationMeshGenerator]."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "The [NavigationServer] singleton."
-msgstr "Синглтон [TranslationServer]."
+msgstr "Синглтон [NavigationServer]."
#: doc/classes/@GlobalScope.xml
msgid "The [OS] singleton."
@@ -2472,14 +2473,12 @@ msgid "The [Performance] singleton."
msgstr "Синглтон [Performance]."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "The [Physics2DServer] singleton."
-msgstr "Синглтон [PhysicsServer2D]."
+msgstr "Синглтон [Physics2DServer]."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "The [PhysicsServer] singleton."
-msgstr "Синглтон [PhysicsServer2D]."
+msgstr "Синглтон [PhysicsServer]."
#: doc/classes/@GlobalScope.xml
msgid "The [ProjectSettings] singleton."
@@ -2494,9 +2493,8 @@ msgid "The [ResourceSaver] singleton."
msgstr "Синглтон [ResourceSaver]."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "The [Time] singleton."
-msgstr "Синглтон [Engine]."
+msgstr "Синглтон [Time]."
#: doc/classes/@GlobalScope.xml
msgid "The [TranslationServer] singleton."
@@ -2507,9 +2505,8 @@ msgid "The [VisualScriptEditor] singleton."
msgstr "Синглтон [VisualScriptEditor]."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "The [VisualServer] singleton."
-msgstr "Синглтон [DisplayServer]."
+msgstr "Синглтон [VisualServer]."
#: doc/classes/@GlobalScope.xml
msgid "Left margin, usually used for [Control] or [StyleBox]-derived classes."
@@ -2553,57 +2550,55 @@ msgid "Bottom-left corner."
msgstr "Нижний левый угол."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid ""
"General vertical alignment, usually used for [Separator], [ScrollBar], "
"[Slider], etc."
msgstr ""
-"Общее выравнивание по вертикали, обычно используемое для [Separator], "
+"Общее вертикальное выравнивание, обычно используется для [Separator], "
"[ScrollBar], [Slider] и т.д."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid ""
"General horizontal alignment, usually used for [Separator], [ScrollBar], "
"[Slider], etc."
msgstr ""
-"Общее выравнивание по горизонтали, обычно используемое для [Separator], "
-"[ScrollBar], [Slider] и др."
+"Общее горизонтальное выравнивание, обычно используется для [Separator], "
+"[ScrollBar], [Slider] и т.д."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Horizontal left alignment, usually for text-derived classes."
-msgstr "Выравнивание по горизонтали слева, обычно для текстовых классов."
+msgstr ""
+"Горизонтальное выравнивание по левому краю, обычно для классов, содержащих "
+"текст."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Horizontal center alignment, usually for text-derived classes."
-msgstr "Выравнивание по центру по горизонтали, обычно для текстовых классов."
+msgstr ""
+"Горизонтальное выравнивание по центру, обычно для классов, содержащих текст."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Horizontal right alignment, usually for text-derived classes."
-msgstr "Выравнивание по горизонтали справа, обычно для текстовых классов."
+msgstr ""
+"Горизонтальное выравнивание по правому краю, обычно для классов, содержащих "
+"текст."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Vertical top alignment, usually for text-derived classes."
-msgstr "Выравнивание по вертикали сверху, обычно для текстовых классов."
+msgstr ""
+"Вертикальное выравнивание сверху, обычно для классов, содержащих текст."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Vertical center alignment, usually for text-derived classes."
-msgstr "Выравнивание по центру по вертикали, обычно для текстовых классов."
+msgstr ""
+"Вертикальное выравнивание по центру, обычно для классов, содержащих текст."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Vertical bottom alignment, usually for text-derived classes."
-msgstr "Выравнивание по вертикали внизу, обычно для текстовых классов."
+msgstr "Вертикальное выравнивание снизу, обычно для классов, содержащих текст."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Scancodes with this bit applied are non-printable."
-msgstr "Коды клавиш с этим битом — не печатаемые."
+msgstr "Сканкоды с таким битом непечатаемые."
#: doc/classes/@GlobalScope.xml
msgid "Escape key."
@@ -2614,9 +2609,8 @@ msgid "Tab key."
msgstr "Клавиша Tab."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Shift+Tab key."
-msgstr "Клавиша Shift + Tab."
+msgstr "Клавиша Shift+Tab."
#: doc/classes/@GlobalScope.xml
msgid "Backspace key."
@@ -6330,19 +6324,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -6363,21 +6359,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -6387,9 +6387,10 @@ msgstr "Возвращает [Texture2D] заданного кадра."
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -7041,9 +7042,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -7226,10 +7227,13 @@ msgid ""
msgstr ""
#: doc/classes/AnimationPlayer.xml
+#, fuzzy
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
+"Воспроизводит анимацию с именем [code]anim[/code]. Если [code]anim[/code] не "
+"указан, воспроизводится текущая анимация."
#: doc/classes/AnimationPlayer.xml
msgid "Returns the list of stored animation names."
@@ -10422,8 +10426,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -10474,10 +10479,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -10725,12 +10740,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr "Сила искажения. Значение может варьироваться от 0 до 1."
@@ -11278,7 +11287,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -11439,12 +11453,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -11595,6 +11613,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -11735,7 +11768,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -13428,7 +13464,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -13521,7 +13557,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -13549,9 +13587,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -14058,13 +14096,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -14090,8 +14129,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -14407,12 +14448,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -14457,8 +14498,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -14506,8 +14549,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -14569,7 +14615,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -14700,7 +14746,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -17783,7 +17832,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -19793,7 +19844,7 @@ msgstr ""
#: modules/csg/doc_classes/CSGShape.xml modules/csg/doc_classes/CSGSphere.xml
#: modules/csg/doc_classes/CSGTorus.xml
msgid "Prototyping levels with CSG"
-msgstr ""
+msgstr "Прототипирование уровней с помощью CSG"
#: modules/csg/doc_classes/CSGBox.xml
msgid "Depth of the box measured from the center of the box."
@@ -20542,7 +20593,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -20691,16 +20744,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -20846,18 +20900,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
#, fuzzy
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr "Возвращает арксинус параметра."
@@ -25796,8 +25838,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -26419,7 +26465,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -28012,10 +28060,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -29439,8 +29490,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -31744,11 +31795,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -32597,7 +32651,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -32609,6 +32667,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -35006,14 +35074,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -35021,22 +35089,26 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr ""
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "Возвращает количество дорожек в анимации."
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr ""
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "Возвращает скалярное произведение с вектором [code]b[/code]."
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
-msgstr ""
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
+msgstr "Возвращает скалярное произведение с вектором [code]b[/code]."
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
-msgstr ""
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
+msgstr "Возвращает скалярное произведение с вектором [code]b[/code]."
#: doc/classes/Line2D.xml
msgid ""
@@ -36617,9 +36689,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -37080,7 +37152,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -38230,7 +38304,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -39078,13 +39152,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -42839,7 +42925,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -48273,7 +48361,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "Возвращает скалярное произведение с вектором [code]b[/code]."
#: doc/classes/PopupMenu.xml
@@ -48515,7 +48605,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -49251,7 +49343,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -51939,8 +52035,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -56016,7 +56123,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56161,13 +56270,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -57357,7 +57472,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -57983,6 +58101,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -58317,7 +58443,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -59755,7 +59883,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -61050,6 +61178,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -61111,6 +61242,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -61133,7 +61267,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -62274,6 +62411,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Возвращает скалярное произведение с вектором [code]b[/code]."
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -62304,6 +62446,11 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Возвращает скалярное произведение с вектором [code]b[/code]."
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -62345,8 +62492,12 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+#, fuzzy
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
+"Излучается при нажатии пользовательской кнопки. Смотрите [method add_button]."
#: doc/classes/Tabs.xml
msgid "Emitted when a tab is clicked, even if it is the current tab."
@@ -67285,21 +67436,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -67312,7 +67467,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -67341,7 +67496,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -67351,22 +67538,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -67379,8 +67579,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -67578,16 +67780,16 @@ msgid "Unknown error."
msgstr "Неизвестная ошибка."
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -76410,7 +76612,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
@@ -77856,6 +78060,14 @@ msgid ""
"the same space as the parent YSort, allowing to better organize a scene or "
"divide it in multiple ones, yet keep the unique sorting."
msgstr ""
+"Сортировка всех дочерних узлов на основе их положения по оси Y. Для "
+"сортировки дочерний узел должен наследоваться от [CanvasItem]. Узлы, имеющие "
+"более высокую позицию по Y, будут отрисованы позже, поэтому они появятся "
+"поверх узлов, имеющих более низкую позицию по Y.\n"
+"Вложенность узлов YSort возможна. Дочерние узлы YSort будут отсортированы в "
+"том же пространстве, что и родительский YSort, что позволяет лучше "
+"организовать сцену или разделить ее на несколько, сохраняя при этом "
+"уникальную сортировку."
#: doc/classes/YSort.xml
msgid ""
diff --git a/doc/translations/sk.po b/doc/translations/sk.po
index ddcdeb10f1..35664c2df0 100644
--- a/doc/translations/sk.po
+++ b/doc/translations/sk.po
@@ -541,8 +541,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -552,7 +553,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -606,7 +608,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -618,7 +621,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1033,10 +1037,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4847,19 +4856,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4880,21 +4891,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4903,9 +4918,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5557,9 +5573,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5733,8 +5749,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8736,8 +8752,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8788,10 +8805,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9033,12 +9060,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9584,7 +9605,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9745,12 +9771,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9898,6 +9928,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10038,7 +10083,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11716,7 +11764,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11809,7 +11857,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11837,9 +11887,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12336,13 +12386,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12368,8 +12419,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12682,12 +12735,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12732,8 +12785,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12781,8 +12836,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12844,7 +12902,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12969,7 +13027,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -15965,7 +16026,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18690,7 +18753,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18839,16 +18904,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -18993,18 +19059,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -23911,8 +23965,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24532,7 +24590,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26116,10 +26176,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27526,8 +27589,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29827,11 +29890,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30676,7 +30742,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30688,6 +30758,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33045,14 +33125,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33060,21 +33140,21 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34651,9 +34731,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35112,7 +35192,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36224,7 +36306,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37039,13 +37121,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40709,7 +40803,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46073,7 +46169,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46312,7 +46410,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47041,7 +47141,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49722,8 +49826,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53740,7 +53855,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53884,13 +54001,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55080,7 +55203,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55699,6 +55825,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56033,7 +56167,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57466,7 +57602,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58731,6 +58867,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58792,6 +58931,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58814,7 +58956,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -59951,6 +60096,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -59980,6 +60129,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60021,7 +60174,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -64886,21 +65041,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -64913,7 +65072,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -64942,7 +65101,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -64952,22 +65143,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -64980,8 +65184,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65179,16 +65385,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73818,7 +74024,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/sr_Cyrl.po b/doc/translations/sr_Cyrl.po
index 6a336f195b..7c73175270 100644
--- a/doc/translations/sr_Cyrl.po
+++ b/doc/translations/sr_Cyrl.po
@@ -552,8 +552,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -563,7 +564,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -617,7 +619,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -629,7 +632,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1044,10 +1048,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4858,19 +4867,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4891,21 +4902,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4914,9 +4929,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5568,9 +5584,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5744,8 +5760,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8747,8 +8763,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8799,10 +8816,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9044,12 +9071,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9595,7 +9616,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9756,12 +9782,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9909,6 +9939,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10049,7 +10094,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11727,7 +11775,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11820,7 +11868,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11848,9 +11898,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12347,13 +12397,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12379,8 +12430,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12693,12 +12746,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12743,8 +12796,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12792,8 +12847,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12855,7 +12913,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12980,7 +13038,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -15976,7 +16037,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18701,7 +18764,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18850,16 +18915,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19004,18 +19070,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -23922,8 +23976,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24543,7 +24601,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26127,10 +26187,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27537,8 +27600,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29838,11 +29901,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30687,7 +30753,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30699,6 +30769,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33056,14 +33136,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33071,21 +33151,21 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34662,9 +34742,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35123,7 +35203,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36235,7 +36317,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37050,13 +37132,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40720,7 +40814,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46084,7 +46180,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46323,7 +46421,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47052,7 +47152,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49733,8 +49837,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53751,7 +53866,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53895,13 +54012,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55091,7 +55214,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55710,6 +55836,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56044,7 +56178,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57477,7 +57613,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58742,6 +58878,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58803,6 +58942,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58825,7 +58967,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -59962,6 +60107,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -59991,6 +60140,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60032,7 +60185,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -64897,21 +65052,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -64924,7 +65083,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -64953,7 +65112,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -64963,22 +65154,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -64991,8 +65195,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65190,16 +65396,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73829,7 +74035,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/sv.po b/doc/translations/sv.po
index b582952401..0d3aa2aa94 100644
--- a/doc/translations/sv.po
+++ b/doc/translations/sv.po
@@ -542,8 +542,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -553,7 +554,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -607,7 +609,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -619,7 +622,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1034,10 +1038,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4848,19 +4857,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4881,21 +4892,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4904,9 +4919,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5558,9 +5574,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5734,8 +5750,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8737,8 +8753,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8789,10 +8806,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9034,12 +9061,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9585,7 +9606,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9746,12 +9772,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9899,6 +9929,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10039,7 +10084,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11717,7 +11765,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11810,7 +11858,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11838,9 +11888,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12337,13 +12387,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12369,8 +12420,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12683,12 +12736,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12733,8 +12786,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12782,8 +12837,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12845,7 +12903,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12970,7 +13028,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -15966,7 +16027,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18691,7 +18754,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18840,16 +18905,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -18994,18 +19060,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -23909,8 +23963,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24530,7 +24588,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26114,10 +26174,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27524,8 +27587,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29825,11 +29888,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30674,7 +30740,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30686,6 +30756,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33043,14 +33123,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33058,21 +33138,21 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34649,9 +34729,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35110,7 +35190,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36222,7 +36304,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37037,13 +37119,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40707,7 +40801,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46071,7 +46167,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46310,7 +46408,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47039,7 +47139,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49720,8 +49824,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53738,7 +53853,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53882,13 +53999,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55078,7 +55201,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55697,6 +55823,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56031,7 +56165,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57464,7 +57600,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58729,6 +58865,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58790,6 +58929,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58812,7 +58954,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -59949,6 +60094,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -59978,6 +60127,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60019,7 +60172,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -64884,21 +65039,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -64911,7 +65070,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -64940,7 +65099,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -64950,22 +65141,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -64978,8 +65182,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65177,16 +65383,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73816,7 +74022,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/th.po b/doc/translations/th.po
index 3b8c2afd36..f8e2b189b2 100644
--- a/doc/translations/th.po
+++ b/doc/translations/th.po
@@ -619,8 +619,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -630,7 +631,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -684,7 +686,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -696,7 +699,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1118,10 +1122,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4948,19 +4957,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4981,21 +4992,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5005,9 +5020,10 @@ msgstr "คืนค่าชื่อของอุปกรณ์เสีย
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5660,9 +5676,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5837,8 +5853,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8841,8 +8857,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8893,10 +8910,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9139,12 +9166,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9690,7 +9711,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9851,12 +9877,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10004,6 +10034,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10144,7 +10189,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11822,7 +11870,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11915,7 +11963,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11943,9 +11993,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12444,13 +12494,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12476,8 +12527,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12790,12 +12843,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12840,8 +12893,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12889,8 +12944,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12952,7 +13010,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13077,7 +13135,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -16074,7 +16135,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18799,7 +18862,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18948,16 +19013,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19102,18 +19168,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -24022,8 +24076,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24644,7 +24702,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26231,10 +26291,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27642,8 +27705,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29965,11 +30028,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30834,7 +30900,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30846,6 +30916,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33215,14 +33295,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33230,22 +33310,26 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr ""
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "คืนค่าการกำหนดค่าของลำโพง"
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr ""
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "คืนค่าการกำหนดค่าของลำโพง"
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
-msgstr ""
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
+msgstr "คืนค่าการกำหนดค่าของลำโพง"
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
-msgstr ""
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
+msgstr "คืนค่าการกำหนดค่าของลำโพง"
#: doc/classes/Line2D.xml
msgid ""
@@ -34821,9 +34905,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35283,7 +35367,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36409,7 +36495,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37228,13 +37314,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40951,7 +41049,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46323,7 +46423,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "คืนค่าการกำหนดค่าของลำโพง"
#: doc/classes/PopupMenu.xml
@@ -46562,7 +46664,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47291,7 +47395,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49977,8 +50085,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53998,7 +54117,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -54142,13 +54263,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55338,7 +55465,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55957,6 +56087,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56291,7 +56429,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57725,7 +57865,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58992,6 +59132,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -59053,6 +59196,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -59075,7 +59221,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -60212,6 +60361,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "คืนค่าการกำหนดค่าของลำโพง"
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -60241,6 +60395,11 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "คืนค่าการกำหนดค่าของลำโพง"
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60282,7 +60441,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -65152,21 +65313,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -65179,7 +65344,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -65208,7 +65373,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65218,22 +65415,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -65246,8 +65456,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65445,16 +65657,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -74103,7 +74315,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/tl.po b/doc/translations/tl.po
index 6fe51a2de6..481c9d5527 100644
--- a/doc/translations/tl.po
+++ b/doc/translations/tl.po
@@ -617,8 +617,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -628,7 +629,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -682,7 +684,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -694,7 +697,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1109,10 +1113,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4923,19 +4932,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4956,21 +4967,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4979,9 +4994,10 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5633,9 +5649,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5809,8 +5825,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8812,8 +8828,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8864,10 +8881,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9109,12 +9136,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9664,7 +9685,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9825,12 +9851,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9978,6 +10008,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10118,7 +10163,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11796,7 +11844,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11889,7 +11937,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11917,9 +11967,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12419,13 +12469,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12451,8 +12502,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12765,12 +12818,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12815,8 +12868,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12864,8 +12919,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12927,7 +12985,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13052,7 +13110,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -16048,7 +16109,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18773,7 +18836,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18922,16 +18987,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19076,18 +19142,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr ""
@@ -23997,8 +24051,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24618,7 +24676,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26202,10 +26262,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27612,8 +27675,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29913,11 +29976,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30762,7 +30828,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30774,6 +30844,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33140,14 +33220,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33155,21 +33235,24 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
+msgid "Returns the amount of points in the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
msgstr ""
+"Kung [code]true[/code], ang mga child nodes ay inaayos, kung hindi ang pag-"
+"so-sort ay hindi pinapagana."
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -34749,9 +34832,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35210,7 +35293,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36334,7 +36419,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37149,13 +37234,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40819,7 +40916,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46186,7 +46285,9 @@ msgid ""
msgstr ""
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr ""
#: doc/classes/PopupMenu.xml
@@ -46425,7 +46526,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47154,7 +47257,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49835,8 +49942,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53853,7 +53971,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -53997,13 +54117,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55193,7 +55319,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55812,6 +55941,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56146,7 +56283,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57579,7 +57718,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58844,6 +58983,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -58905,6 +59047,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -58927,7 +59072,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -60064,6 +60212,10 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -60093,6 +60245,10 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr ""
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60134,7 +60290,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -65008,21 +65166,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -65035,7 +65197,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -65064,7 +65226,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65074,22 +65268,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -65102,8 +65309,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65301,16 +65510,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -73943,7 +74152,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/tr.po b/doc/translations/tr.po
index ffa15621df..0c74573082 100644
--- a/doc/translations/tr.po
+++ b/doc/translations/tr.po
@@ -21,12 +21,13 @@
# paledega <paledega@yandex.ru>, 2022.
# Yekez <yasintonge@gmail.com>, 2022.
# Deleted User <noreply+46858@weblate.org>, 2022.
+# Mustafa Said Ağca <m.said.agca@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-07-23 03:56+0000\n"
-"Last-Translator: Deleted User <noreply+46858@weblate.org>\n"
+"PO-Revision-Date: 2022-08-08 15:59+0000\n"
+"Last-Translator: Mustafa Said Ağca <m.said.agca@gmail.com>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/tr/>\n"
"Language: tr\n"
@@ -90,7 +91,7 @@ msgstr "Kalıtılan:"
#: doc/tools/make_rst.py
msgid "(overrides %s)"
-msgstr ""
+msgstr "(%s'yi geçersiz kılar)"
#: doc/tools/make_rst.py
msgid "Default"
@@ -808,8 +809,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -819,7 +821,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -899,7 +902,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -911,7 +915,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
"Doğrusal olarak iki sayı arasında, sınırlandırma öğesine (0 ila 1 arasında) "
"göre ara değer hesaplar (interpolate). [method inverse_lerp] yönteminin "
@@ -1590,18 +1595,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
-"[code]value[/code] değerini [code][istart, istop][/code] aralığından yola "
-"çıkarak [code][ostart, ostop][/code] aralığındaki karşılığına ölçekledirerek "
-"yerleştirir (haritalandırır).\n"
-"[codeblock]\n"
-"range_lerp(75, 0, 100, -1, 1) # 0.5 sonucunu döndürür. value=75, ilk aralık "
-"0 ila100, ikinci aralık -1 ila 1.\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
#, fuzzy
@@ -5636,19 +5639,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5669,21 +5674,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5693,9 +5702,10 @@ msgstr "Verilen değerin tanjantını döndürür."
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -6347,9 +6357,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -6523,8 +6533,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -9526,8 +9536,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -9578,10 +9589,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9824,12 +9845,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -10375,7 +10390,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10536,12 +10556,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10689,6 +10713,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10829,7 +10868,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -12509,7 +12551,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12602,7 +12644,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12630,9 +12674,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -13140,13 +13184,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -13172,8 +13217,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13486,12 +13533,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13536,8 +13583,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13585,8 +13634,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13648,7 +13700,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13773,7 +13825,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -16771,7 +16826,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -19502,7 +19559,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -19651,16 +19710,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19806,18 +19866,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
#, fuzzy
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr "Verilen bir değerin ark-sinüsünü döndürür."
@@ -24736,8 +24784,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -25362,7 +25414,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26952,10 +27006,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -28368,8 +28425,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -30671,11 +30728,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -31521,7 +31581,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -31533,6 +31597,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33901,14 +33975,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33916,22 +33990,26 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr ""
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "Verilen değerin sinüsünü döndürür."
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr ""
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "Verilen değerin sinüsünü döndürür."
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
-msgstr ""
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
+msgstr "Verilen değerin sinüsünü döndürür."
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
-msgstr ""
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
+msgstr "Verilen değerin sinüsünü döndürür."
#: doc/classes/Line2D.xml
msgid ""
@@ -35511,9 +35589,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35974,7 +36052,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -37114,7 +37194,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37944,13 +38024,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -41620,7 +41712,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -47017,7 +47111,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "Verilen değerin sinüsünü döndürür."
#: doc/classes/PopupMenu.xml
@@ -47256,7 +47352,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47986,7 +48084,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -50667,8 +50769,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -54694,7 +54807,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -54838,13 +54953,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -56034,7 +56155,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -56653,6 +56777,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56987,7 +57119,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -58422,7 +58556,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -59689,6 +59823,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -59750,6 +59887,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -59772,7 +59912,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -60909,6 +61052,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Verilen değerin sinüsünü döndürür."
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -60939,6 +61087,11 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Verilen değerin sinüsünü döndürür."
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60980,7 +61133,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -65865,21 +66020,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -65892,7 +66051,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -65921,7 +66080,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65931,22 +66122,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -65959,8 +66163,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -66158,16 +66364,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -74832,7 +75038,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/uk.po b/doc/translations/uk.po
index b1272c6b3e..2ebf849588 100644
--- a/doc/translations/uk.po
+++ b/doc/translations/uk.po
@@ -13,12 +13,14 @@
# Vladyslav Anisimov <uniss@ua.fm>, 2022.
# Мирослав <hlopukmyroslav@gmail.com>, 2022.
# Гліб Соколов <ramithes@i.ua>, 2022.
+# Yan Chen <cyan97087@gmail.com>, 2022.
+# Богдан Матвіїв <bomtvv@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-06-14 15:48+0000\n"
-"Last-Translator: Мирослав <hlopukmyroslav@gmail.com>\n"
+"PO-Revision-Date: 2022-08-23 03:39+0000\n"
+"Last-Translator: Богдан Матвіїв <bomtvv@gmail.com>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/uk/>\n"
"Language: uk\n"
@@ -27,7 +29,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.13-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -70,9 +72,8 @@ msgid "Method Descriptions"
msgstr "Описи методів"
#: doc/tools/make_rst.py
-#, fuzzy
msgid "Theme Property Descriptions"
-msgstr "Описи Властивостей Теми"
+msgstr "Описи тематичної нерухомості"
#: doc/tools/make_rst.py
msgid "Inherits:"
@@ -441,18 +442,15 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns the hyperbolic cosine of [code]s[/code] in radians.\n"
"[codeblock]\n"
"print(cosh(1)) # Prints 1.543081\n"
"[/codeblock]"
msgstr ""
-"Повертає абсолютне значення параметру [code]s[/code] (тобто значення без "
-"знака, працює для цілих чисел і чисел із рухомою крапкою).\n"
+"Повертає гіперболічний косинус [code]s[/code] у радіанах.\n"
"[codeblock]\n"
-"# a дорівнює 1\n"
-"a = abs(-1)\n"
+"print(cosh(1)) # Виведе 1.543081\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -676,8 +674,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -687,7 +686,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -741,7 +741,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -753,7 +754,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -944,7 +946,6 @@ msgid ""
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns the result of [code]base[/code] raised to the power of [code]exp[/"
"code].\n"
@@ -952,12 +953,9 @@ msgid ""
"pow(2, 5) # Returns 32.0\n"
"[/codeblock]"
msgstr ""
-"Повертає арксинус [code]s[/code] у радіанах. Використовується для отримання "
-"кута синуса [code]s[/code].\n"
+"Повертає результат [code]base[/code], піднятий до степеню [code]exp[/code].\n"
"[codeblock]\n"
-"# s дорівнює 0.523599 або 30 градусів, якщо конвертувати за допомогою "
-"rad2deg(s)\n"
-"s = asin(0.5)\n"
+"pow(2, 5) # Повертає 32.0\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1176,10 +1174,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4998,19 +5001,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5031,21 +5036,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5055,9 +5064,10 @@ msgstr "Повертає тангенс параметра."
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5709,9 +5719,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5885,8 +5895,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8894,8 +8904,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8946,12 +8957,22 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
+msgstr "Звукові шини"
+
#: doc/classes/AudioEffectCapture.xml
msgid ""
"Returns [code]true[/code] if at least [code]frames[/code] audio frames are "
@@ -9192,12 +9213,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr "Звукові шини"
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9743,7 +9758,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9904,12 +9924,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10057,6 +10081,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10197,7 +10236,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11878,7 +11920,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11971,7 +12013,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11999,9 +12043,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12503,13 +12547,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12535,8 +12580,10 @@ msgstr "Власне малювання в 2D"
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12849,12 +12896,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12899,8 +12946,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12948,8 +12997,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13011,7 +13063,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13136,7 +13188,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -16133,7 +16188,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18864,7 +18921,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -19013,16 +19072,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19168,18 +19228,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
#, fuzzy
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr "Повертає арксинус параметра."
@@ -24091,8 +24139,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24713,7 +24765,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26301,10 +26355,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27720,8 +27777,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -30023,11 +30080,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30873,7 +30933,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30885,6 +30949,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33246,14 +33320,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33261,22 +33335,26 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr ""
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "Повертає мінімальний кут до заданого вектора у радіанах."
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr ""
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "Обчислює векторний добуток цього вектора і [code]b[/code]."
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
-msgstr ""
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
+msgstr "Обчислює векторний добуток двох векторів та [code]with[/code]."
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
-msgstr ""
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
+msgstr "Обчислює векторний добуток цього вектора і [code]b[/code]."
#: doc/classes/Line2D.xml
msgid ""
@@ -34853,9 +34931,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35316,7 +35394,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36455,7 +36535,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37281,13 +37361,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40957,7 +41049,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -41918,7 +42012,6 @@ msgid ""
msgstr ""
#: doc/classes/PacketPeer.xml
-#, fuzzy
msgid ""
"[i]Deprecated.[/i] Use [code]get_var[/code] and [code]put_var[/code] "
"parameters instead.\n"
@@ -41928,12 +42021,14 @@ msgid ""
"Do not use this option if the serialized object comes from untrusted sources "
"to avoid potential security threats such as remote code execution."
msgstr ""
-"Декодує масив байтів назад у значення. Якщо [code]allow_objects[/code] "
-"дорівнює [code]true[/code], декодування об'єктів дозволено.\n"
-"[b]ПОПЕРЕДЖЕННЯ:[/b] десеріалізований об'єкт може містити виконуваний код. "
-"Не використовуйте цю опцію, якщо серіалізований об'єкт отримано із "
-"неперевірених джерел задля уникнення потенційних порушень безпеки "
-"(віддаленого виконування коду)."
+"[i]Застаріло.[/i] Натомість використовуйте параметри [code]get_var[/code] і "
+"[code]put_var[/code].\n"
+"Якщо [code]true[/code], PacketPeer дозволить кодувати та декодувати об’єкт "
+"за допомогою [method get_var] і [method put_var].\n"
+"[b]Попередження: [/b] Десеріалізовані об’єкти можуть містити код, який "
+"виконується. Не використовуйте цей параметр, якщо серіалізований об’єкт "
+"походить із ненадійних джерел, щоб уникнути потенційних загроз безпеці, "
+"наприклад віддаленого виконання коду."
#: doc/classes/PacketPeer.xml
msgid ""
@@ -46345,7 +46440,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "Обчислює векторний добуток двох векторів та [code]with[/code]."
#: doc/classes/PopupMenu.xml
@@ -46584,7 +46681,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47314,7 +47413,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49995,8 +50098,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -54015,7 +54129,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -54159,13 +54275,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55355,7 +55477,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55975,6 +56100,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56309,7 +56442,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57743,7 +57878,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -59010,6 +59145,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -59071,6 +59209,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -59093,7 +59234,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -60230,6 +60374,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Обчислює векторний добуток цього вектора і [code]b[/code]."
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -60260,6 +60409,11 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Обчислює векторний добуток цього вектора і [code]b[/code]."
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60301,7 +60455,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -65185,21 +65341,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -65212,7 +65372,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -65241,7 +65401,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65251,22 +65443,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -65279,8 +65484,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65478,16 +65685,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -74150,7 +74357,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
diff --git a/doc/translations/vi.po b/doc/translations/vi.po
index 60ab8769ab..bc880f2cf4 100644
--- a/doc/translations/vi.po
+++ b/doc/translations/vi.po
@@ -8,12 +8,13 @@
# Hung <hungthitkhia@gmail.com>, 2021.
# Giacat Buile <hatconan20024@gmail.com>, 2021.
# Quinn Le <quinnsgn@gmail.com>, 2021.
+# TrieuPhong <trieuphong965@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-04-25 15:12+0000\n"
-"Last-Translator: IoeCmcomc <hopdaigia2004@gmail.com>\n"
+"PO-Revision-Date: 2022-09-09 12:42+0000\n"
+"Last-Translator: TrieuPhong <trieuphong965@gmail.com>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/vi/>\n"
"Language: vi\n"
@@ -21,7 +22,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.12.1-dev\n"
+"X-Generator: Weblate 4.14.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -796,8 +797,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -807,7 +809,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -879,7 +882,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -891,7 +895,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1393,10 +1398,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -5298,19 +5308,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5331,21 +5343,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5355,9 +5371,10 @@ msgstr "Trả về [Texture2D] của khung hình được cho."
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -6009,9 +6026,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -6184,10 +6201,13 @@ msgid ""
msgstr ""
#: doc/classes/AnimationPlayer.xml
+#, fuzzy
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
+"Chạy hoạt ảnh tên là [code]anim[/code]. Nếu không cung cấp [code]anim[/code] "
+"nào, thì chạy hoạt ảnh hiện tại."
#: doc/classes/AnimationPlayer.xml
msgid "Returns the list of stored animation names."
@@ -9189,8 +9209,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -9241,10 +9262,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9487,12 +9518,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -10038,7 +10063,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10199,12 +10229,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10352,6 +10386,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10492,7 +10541,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -12173,7 +12225,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12266,7 +12318,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -12294,9 +12348,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12799,13 +12853,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12831,8 +12886,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13145,12 +13202,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13195,8 +13252,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13244,8 +13303,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13307,7 +13369,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13432,7 +13494,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -16431,7 +16496,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -19163,7 +19230,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -19312,16 +19381,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19467,18 +19537,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
#, fuzzy
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr "Trả về sin nghịch đảo của tham số."
@@ -24393,8 +24451,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -25015,7 +25077,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26603,10 +26667,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -28017,8 +28084,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -30321,11 +30388,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -31171,7 +31241,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -31183,6 +31257,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33546,14 +33630,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33561,22 +33645,26 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr ""
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "Trả về sin của tham số."
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr ""
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "Trả về sin của tham số."
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
-msgstr ""
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
+msgstr "Trả về sin của tham số."
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
-msgstr ""
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
+msgstr "Trả về sin của tham số."
#: doc/classes/Line2D.xml
msgid ""
@@ -35154,9 +35242,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35617,7 +35705,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36756,7 +36846,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37585,13 +37675,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -41261,7 +41363,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46657,7 +46761,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "Trả về sin của tham số."
#: doc/classes/PopupMenu.xml
@@ -46897,7 +47003,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47627,7 +47735,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -50311,8 +50423,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -54336,7 +54459,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -54480,13 +54605,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55676,7 +55807,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -56297,6 +56431,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56631,7 +56773,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -58066,7 +58210,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -59333,6 +59477,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -59394,6 +59541,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -59416,7 +59566,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -60553,6 +60706,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Trả về sin của tham số."
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -60583,6 +60741,11 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "Trả về sin của tham số."
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60624,7 +60787,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -65511,21 +65676,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -65538,7 +65707,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -65567,7 +65736,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65577,22 +65778,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -65605,8 +65819,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65804,16 +66020,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -74489,7 +74705,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
@@ -75915,3 +76133,5 @@ msgstr ""
msgid ""
"If [code]true[/code], child nodes are sorted, otherwise sorting is disabled."
msgstr ""
+"Nếu [code] true [/code], các nút con sẽ được sắp xếp, nếu không, tính năng "
+"sắp xếp sẽ bị vô hiệu hóa."
diff --git a/doc/translations/zh_CN.po b/doc/translations/zh_CN.po
index 7647bf0081..a69559f289 100644
--- a/doc/translations/zh_CN.po
+++ b/doc/translations/zh_CN.po
@@ -58,11 +58,12 @@
# 苏轼 <youwanyuyu@gmail.com>, 2021.
# ErrorDreemurr <diandaokui@qq.com>, 2021.
# 烧风 <hk-shao@foxmail.com>, 2022.
+# Yan Chen <cyan97087@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-07-31 16:43+0000\n"
+"PO-Revision-Date: 2022-09-08 07:39+0000\n"
"Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"godot-engine/godot-class-reference/zh_Hans/>\n"
@@ -71,7 +72,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Weblate 4.14-dev\n"
+"X-Generator: Weblate 4.14.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -369,7 +370,7 @@ msgid ""
"not use this option if the serialized object comes from untrusted sources to "
"avoid potential security threats (remote code execution)."
msgstr ""
-"将字节数组解码返回一个值。当 [code]allow_objects[/code] 为 [code]true[/code] "
+"将字节数组解码回一个值。当 [code]allow_objects[/code] 为 [code]true[/code] "
"时,允许解码对象。\n"
"[b]警告:[/b]反序列化得到的对象可能包含可执行的代码。如果序列化的对象的来源不"
"可信,请不要激活此选项,以避免潜在的安全威胁(远程执行代码)。"
@@ -827,6 +828,7 @@ 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 "
@@ -834,8 +836,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -845,7 +848,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
"返回插值或外推的因子。范围用 [code]from[/code] 和 [code]to[/code] 指定,插值"
"后的值用 [code]weight[/code] 指定。如果 [code]weight[/code] 在 [code]from[/"
@@ -922,12 +926,14 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
"Linearly interpolates between two values by the factor defined in "
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -939,7 +945,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr ""
"在两个值之间按照 [code]weight[/code] 定义的因数进行线性插值。进行插值时,"
"[code]weight[/code] 应该在 [code]0.0[/code] 和 [code]1.0[/code] 之间(包"
@@ -1612,16 +1619,16 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
-"将 [code]value[/code] 从范围 [code][istart, istop][/code] 映射到 [code]"
-"[ostart, ostop][/code]。\n"
-"[codeblock]\n"
-"range_lerp(75, 0, 100, -1, 1) # 返回 0.5\n"
-"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -6002,22 +6009,22 @@ msgstr ""
"[AnimationRootNode] 时才有用,否则编辑器将不会显示你的节点进行添加。"
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
-msgstr "获取此节点的文本标题(由某些编辑器使用)。"
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
+msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
-msgstr "按索引获取一个子节点(由继承 [AnimationRootNode] 的编辑器使用)。"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
+msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
-"按照 [code]name: node[/code] 字典的顺序获取所有子节点。仅在继承 "
-"[AnimationRootNode] 时有用。"
#: doc/classes/AnimationNode.xml
msgid ""
@@ -6038,16 +6045,21 @@ msgstr ""
"中重复使用。"
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
"获取一个参数的默认值。参数是用于节点的自定义本地内存,给定资源可以在多个树中"
"重用。"
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
@@ -6055,9 +6067,11 @@ msgstr ""
"树中重复使用。格式类似于[method Object.get_property_list]。"
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr "返回 [code]true[/code],是否希望混合树编辑器在此节点上显示过滤器编辑。"
#: doc/classes/AnimationNode.xml
@@ -6065,10 +6079,12 @@ msgid "Returns whether the given path is filtered."
msgstr "返回是否对给定的路径进行过滤。"
#: doc/classes/AnimationNode.xml
+#, fuzzy
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -6806,23 +6822,24 @@ msgid ""
msgstr "按照最短路径从当前状态过渡到另一个状态。"
#: doc/classes/AnimationNodeStateMachineTransition.xml
+#, fuzzy
msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
"[/codeblock]"
msgstr ""
-"设置此条件,开启自动前进。提供的名称将成为 [AnimationTree] 上的一个布尔参数,"
-"可以通过代码控制,请参阅 [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]。例如,如果 [member AnimationTree."
-"tree_root] 是一个 [AnimationNodeStateMachine],[member advance_condition] 被"
-"设置为 [code]\"idle\"[/code]。\n"
+"这个条件为真时,将开启自动前进。提供的名称将成为 [AnimationTree] 上的布尔参"
+"数,可以通过代码控制,请参阅 [url=$DOCS_URL/tutorials/animation/"
+"animation_tree.html#controlling-from-code][/url]。例如,如果 [member "
+"AnimationTree.tree_root] 是一个 [AnimationNodeStateMachine],[member "
+"advance_condition] 被设置为 [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -7030,9 +7047,10 @@ msgid ""
msgstr "返回 [code]animation[/code] 的名称,如果没有找到,则返回一个空字符串。"
#: doc/classes/AnimationPlayer.xml
+#, fuzzy
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
"返回键为 [code]name[/code] 的 [Animation] 动画,未找到时为 [code]null[/"
"code]。"
@@ -7634,7 +7652,7 @@ msgstr "返回给定其名称的 OneShot 节点的淡出时间。"
#: doc/classes/AnimationTreePlayer.xml
msgid "Returns whether a OneShot node will auto restart given its name."
-msgstr "返回OneShot节点是否会根据其名称自动重新启动。"
+msgstr "返回 OneShot 节点是否会根据其名称自动重新启动。"
#: doc/classes/AnimationTreePlayer.xml
msgid "Returns whether a OneShot node is active given its name."
@@ -7716,8 +7734,9 @@ msgid ""
"If applied after a blend or mix, affects all input animations to that blend "
"or mix."
msgstr ""
-"设置名称为 [code]id[/code] 的TimeScale节点的时间缩放为[code]scale[/code]。\n"
-"时间缩放节点用来加快[Animation]的速度,如果缩放高于1,就会减慢它们。\n"
+"设置名称为 [code]id[/code] 的 TimeScale 节点的时间缩放为 [code]scale[/"
+"code]。\n"
+"时间缩放节点用来加快 [Animation] 的速度,如果缩放高于1,就会减慢它们。\n"
"如果在混合后应用,会影响到该混合的所有输入动画。"
#: doc/classes/AnimationTreePlayer.xml
@@ -7727,9 +7746,9 @@ msgid ""
"This functions as a seek in the [Animation] or the blend or mix of "
"[Animation]s input in it."
msgstr ""
-"设置名称为 [code]id[/code] 的TimeSeek节点的时间查寻值为[code]seconds[/"
+"设置名称为 [code]id[/code] 的 TimeSeek 节点的时间查寻值为 [code]seconds[/"
"code]。\n"
-"这在[Animation]或输入的[Animation]的混合中起到查寻的作用。"
+"这在 [Animation] 或输入的 [Animation] 的混合中起到查寻的作用。"
#: doc/classes/AnimationTreePlayer.xml
msgid ""
@@ -7763,8 +7782,8 @@ msgid ""
"transition node with name [code]id[/code] is set to automatically advance to "
"the next input upon completion."
msgstr ""
-"如果过渡节点上名称为 [code]id[/code] 的[code]input_idx[/code]的输入被设置为在"
-"完成后自动前进到下一个输入,则返回 [code]true[/code]。"
+"如果过渡节点上名称为 [code]id[/code] 的 [code]input_idx[/code] 的输入被设置为"
+"在完成后自动前进到下一个输入,则返回 [code]true[/code]。"
#: doc/classes/AnimationTreePlayer.xml
msgid ""
@@ -7778,8 +7797,8 @@ msgid ""
"The transition node with name [code]id[/code] advances to its next input "
"automatically when the input at [code]input_idx[/code] completes."
msgstr ""
-"当[code]input_idx[/code]处的输入完成后,名称为 [code]id[/code] 的过渡节点自动"
-"进行到下一个输入。"
+"当 [code]input_idx[/code] 处的输入完成后,名称为 [code]id[/code] 的过渡节点自"
+"动进行到下一个输入。"
#: doc/classes/AnimationTreePlayer.xml
msgid ""
@@ -7792,13 +7811,13 @@ msgid ""
"The transition node with name [code]id[/code] sets its cross fade time to "
"[code]time_sec[/code]."
msgstr ""
-"名称为 [code]id[/code] 的过渡节点将其交叉淡化时间设置为[code]time_sec[/"
+"名称为 [code]id[/code] 的过渡节点将其交叉淡化时间设置为 [code]time_sec[/"
"code]。"
#: doc/classes/AnimationTreePlayer.xml
msgid ""
"If [code]true[/code], the [AnimationTreePlayer] is able to play animations."
-msgstr "如果为 [code]true[/code],[AnimationTreePlayer]就能够播放动画。"
+msgstr "如果为 [code]true[/code],[AnimationTreePlayer] 就能够播放动画。"
#: doc/classes/AnimationTreePlayer.xml
msgid ""
@@ -7807,7 +7826,7 @@ msgid ""
"[AnimationPlayer] would point its Root Node at."
msgstr ""
"相对访问其他节点的节点。\n"
-"它访问骨骼,应该指向[AnimationPlayer]将指向其根节点的同一个节点。"
+"它访问骨骼,应该指向 [AnimationPlayer] 将指向其根节点的同一个节点。"
#: doc/classes/AnimationTreePlayer.xml
msgid ""
@@ -7817,7 +7836,7 @@ msgid ""
msgstr ""
"通过 [AnimationPlayer] 的路径,此 [AnimationTreePlayer] 将动画绑定到动画节"
"点。\n"
-"设置后,[Animation]节点可以添加到[AnimationPlayer]。"
+"设置后,[Animation] 节点可以添加到 [AnimationPlayer]。"
#: doc/classes/AnimationTreePlayer.xml
msgid "The thread in which to update animations."
@@ -7946,7 +7965,7 @@ msgid ""
"details about damping."
msgstr ""
"物体在此区域停止旋转的速度。代表每秒损失的角速度.\n"
-"关于阻尼的更多细节,见[member ProjectSettings.physics/3d/"
+"关于阻尼的更多细节,见 [member ProjectSettings.physics/3d/"
"default_angular_damp]。"
#: doc/classes/Area.xml doc/classes/Area2D.xml
@@ -8051,7 +8070,7 @@ msgid ""
"be set to [code]true[/code].\n"
"[code]area[/code] the other Area."
msgstr ""
-"当另一个 Area 进入这个 Area 时触发。需要将监控 [member monitoring] 设置为 "
+"当另一个 Area 进入这个 Area 时触发。需要 [member monitoring] 被设置为 "
"[code]true[/code]。\n"
"[code]area[/code] 参数是另外一个 Area。"
@@ -8061,9 +8080,9 @@ msgid ""
"be set to [code]true[/code].\n"
"[code]area[/code] the other Area."
msgstr ""
-"当另一个区域退出这个区域时发出的。要求监控[member monitoring]被设置为 "
+"当另一个区域退出这个区域时发出的。要求 [member monitoring] 被设置为 "
"[code]true[/code]。\n"
-"[code]area[/code]参数是另外一个Area。"
+"[code]area[/code] 参数是另外一个 Area。"
#: doc/classes/Area.xml
msgid ""
@@ -8079,17 +8098,17 @@ msgid ""
"the [PhysicsServer]. Get the [CollisionShape] node with [code]self."
"shape_owner_get_owner(local_shape_index)[/code]."
msgstr ""
-"当另一个区域的一个[Shape]进入这个区域的一个[Shape]时发出的。要求[member "
+"当另一个区域的一个 [Shape] 进入这个区域的一个 [Shape] 时发出的。要求 [member "
"monitoring] 被设置为 [code]true[/code]。\n"
-"[code]area_rid[/code] [PhysicsServer]使用的其他区域的[CollisionObject]的"
+"[code]area_rid[/code] [PhysicsServer]使用的其他区域的 [CollisionObject] 的 "
"[RID]。\n"
"[code]area[/code] 其他区域。\n"
-"[code]area_shape_index[/code] [PhysicsServer]使用的其他区域的[Shape]的索引。"
-"用[code]area.shape_owner_get_owner(area_shape_index)[/code]获得"
-"[CollisionShape]节点。\n"
-"[code]local_shape_index[/code]是[PhysicsServer]使用的该区域的[Shape]的索引。"
-"用[code]self.shape_owner_get_owner(local_shape_index)[/code]获得"
-"[CollisionShape]节点。"
+"[code]area_shape_index[/code] [PhysicsServer] 使用的其他区域的 [Shape] 的索"
+"引。用 [code]area.shape_owner_get_owner(area_shape_index)[/code] 获得 "
+"[CollisionShape] 节点。\n"
+"[code]local_shape_index[/code] [PhysicsServer] 使用的该区域的 [Shape] 的索"
+"引。用 [code]self.shape_owner_get_owner(local_shape_index)[/code] 获得 "
+"[CollisionShape] 节点。"
#: doc/classes/Area.xml
msgid ""
@@ -8143,7 +8162,7 @@ msgstr ""
"[code]body[/code] [PhysicsBody] 或 [GridMap] 的 [Node],如果它存在于树中的"
"话。\n"
"[code]body_shape_index[/code] [PhysicsServer] 使用的 [PhysicsBody] 或 "
-"[GridMap] 的 [Shape]的索引。用 [code]body."
+"[GridMap] 的 [Shape] 的索引。用 [code]body."
"shape_owner_get_owner(body_shape_index)[/code] 获取 [CollisionShape] 节点。\n"
"[code]local_shape_index[/code] 这个区域的 [Shape] 的索引,由 [PhysicsServer] "
"使用。用 [code]self.shape_owner_get_owner(local_shape_index)[/code] 获得 "
@@ -8465,7 +8484,7 @@ msgstr ""
"点。\n"
"[code]local_shape_index[/code] 这个 Area2D 的 [Shape2D] 的索引,由 "
"[Physics2DServer] 使用。用 [code]self."
-"shape_owner_get_owner(local_shape_index)[/code]获取[CollisionShape2D]节点。"
+"shape_owner_get_owner(local_shape_index)[/code]获取 [CollisionShape2D] 节点。"
#: doc/classes/Array.xml
msgid "A generic array datatype."
@@ -8991,8 +9010,8 @@ msgid ""
"and upper index are inclusive, with the [code]step[/code] describing the "
"change between indices while slicing."
msgstr ""
-"复制函数中描述的子集并以数组形式返回,如果[code]deep[/code]为 [code]true[/"
-"code],则深度复制数组。下索引和上索引是包含的,[code]step[/code]描述了分片时"
+"复制函数中描述的子集并以数组形式返回,如果 [code]deep[/code] 为 [code]true[/"
+"code],则深度复制数组。下索引和上索引是包含的,[code]step[/code] 描述了分片时"
"索引之间的变化。"
#: doc/classes/Array.xml
@@ -9109,9 +9128,8 @@ msgstr ""
"var m = MeshInstance.new()\n"
"m.mesh = arr_mesh\n"
"[/codeblock]\n"
-"这个 [MeshInstance] 已经准备就绪,以添加到要显示的 [SceneTree] 中。\n"
-"程序式几何体生成,请参阅 [ImmediateGeometry]、[MeshDataTool]、"
-"[SurfaceTool]。\n"
+"这个 [MeshInstance] 就可以添加到要显示的 [SceneTree] 中了。\n"
+"程序式几何体生成请参阅 [ImmediateGeometry]、[MeshDataTool]、[SurfaceTool]。\n"
"[b]注意:[/b]Godot 对三角形图元模式的正面使用顺时针[url=https://learnopengl-"
"cn.github.io/04%20Advanced%20OpenGL/04%20Face%20culling/]环绕顺序[/url]。"
@@ -9549,7 +9567,7 @@ msgid ""
"If provided by the [ARVRInterface], this returns a mesh associated with the "
"controller. This can be used to visualize the controller."
msgstr ""
-"如果由 [ARVRInterface]提供,则返回与控制器相关的网格。这可用于可视化控制器。"
+"如果由 [ARVRInterface] 提供,则返回与控制器相关的网格。这可用于可视化控制器。"
#: doc/classes/ARVRController.xml
msgid ""
@@ -9588,8 +9606,8 @@ msgid ""
"This is a useful property to animate if you want the controller to vibrate "
"for a limited duration."
msgstr ""
-"控制器振动的程度。范围从 [code]0.0[/code] 到 [code]1.0[/code]。如果更改,"
-"会相应地更新 [member ARVRPositionalTracker.rumble]。\n"
+"控制器振动的程度。范围从 [code]0.0[/code] 到 [code]1.0[/code]。如果更改,会相"
+"应地更新 [member ARVRPositionalTracker.rumble]。\n"
"如果你想让控制器在限定时间内振动,这是一个有用的属性,可以将其动画化。"
#: doc/classes/ARVRController.xml
@@ -9685,8 +9703,8 @@ msgid ""
msgstr ""
"调用这个来初始化这个接口。第一个被初始化的接口确定为主接口,用于渲染输出。\n"
"在初始化了接口之后,需要启用视窗的 AR/VR 模式,将开始渲染。\n"
-"[b]注意:[/b]对于任何使用Godot主输出的设备,如移动VR,你必须在主视窗上启用 "
-"AR/VR 模式。\n"
+"[b]注意:[/b]对于任何使用 Godot 主输出的设备,如移动 VR,你必须在主视窗上启"
+"用 AR/VR 模式。\n"
"如果你为一个处理自己输出的平台这样做(如 OpenVR),Godot 就会在屏幕上只显示一"
"只眼睛而不失真。另外,你可以在场景中添加一个单独的视窗节点,在该视窗上启用 "
"AR/VR。它将被用来输出到 HMD,让你在主窗口中做你喜欢的事情,比如用一个单独的相"
@@ -10527,7 +10545,7 @@ msgstr ""
"var res = astar.get_id_path(1, 3) # 返回 [1, 2, 3]\n"
"[/codeblock]\n"
"如果你把第 2 点的权重改为 3,那么结果就会变成 [code][1, 4, 3][/code],因为现"
-"在虽然距离长了,但通过第 4 点比通过第 2 点 “容易”。"
+"在虽然距离长了,但通过第 4 点比通过第 2 点“容易”。"
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid ""
@@ -10841,10 +10859,10 @@ msgid ""
"[b]Note:[/b] This method is not thread-safe. If called from a [Thread], it "
"will return an empty [PoolVector2Array] and will print an error message."
msgstr ""
-"返回一个数组,该数组包含了AStar2D在给定点之间找到的路径中的点。该数组从路径的"
-"起点到终点排序。\n"
-"[b]注意:[/b]这个方法不是线程安全的。如果从一个[Thread]线程中调用,它将返回一"
-"个空的[PoolVector2Array],并打印一个错误信息。"
+"返回一个数组,该数组包含了 AStar2D 在给定点之间找到的路径中的点。该数组从路径"
+"的起点到终点排序。\n"
+"[b]注意:[/b]这个方法不是线程安全的。如果从 [Thread] 线程中调用,它将返回一个"
+"空的 [PoolVector2Array],并打印一个错误信息。"
#: doc/classes/AtlasTexture.xml
msgid ""
@@ -10914,7 +10932,7 @@ msgid ""
"the connections between buses. See [AudioServer] for usage."
msgstr ""
"存储位置、静音、独奏、旁通、效果、效果位置、音量以及总线之间的连接。使用方法"
-"参阅 [AudioServer] 。"
+"见 [AudioServer] 。"
#: doc/classes/AudioEffect.xml
msgid "Audio effect for audio."
@@ -10926,8 +10944,9 @@ msgid ""
"resource is applied on."
msgstr "音频总线的基础资源。在该资源所应用的总线上应用音频效果。"
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr "音频麦克风录音演示"
@@ -10981,15 +11000,20 @@ msgid "Captures audio from an audio bus in real-time."
msgstr "从音频总线上实时捕捉音频。"
#: doc/classes/AudioEffectCapture.xml
+#, fuzzy
msgid ""
"AudioEffectCapture is an AudioEffect which copies all audio frames from the "
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
"AudioEffectCapture 是一种 AudioEffect,可将所附音频效果总线的所有音频帧复制到"
"其内部的环形缓冲器中。\n"
@@ -10997,17 +11021,23 @@ msgstr ""
"需要进行处理,例如从麦克风捕获数据、实现应用程序定义的效果或通过网络传输音"
"频。从麦克风捕获音频数据时,样本的格式为立体声 32 位浮点数 PCM。"
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
+msgstr "音频总线"
+
#: doc/classes/AudioEffectCapture.xml
msgid ""
"Returns [code]true[/code] if at least [code]frames[/code] audio frames are "
"available to read in the internal ring buffer."
msgstr ""
-"如果内部环缓冲器中至少有[code]frames[/code]音频帧可供读取,则返回 "
+"如果内部环形缓冲区中至少有 [code]frames[/code] 个音频帧可供读取,则返回 "
"[code]true[/code]。"
#: doc/classes/AudioEffectCapture.xml
msgid "Clears the internal ring buffer."
-msgstr "清除内部环缓冲区。"
+msgstr "清除内部环形缓冲区。"
#: doc/classes/AudioEffectCapture.xml
msgid ""
@@ -11017,13 +11047,13 @@ msgid ""
"samples if available, or an empty [PoolVector2Array] if insufficient data "
"was available."
msgstr ""
-"从内部环缓冲区获取下一个[code]frames[/code]音频样本。\n"
-"如果有的话,返回一个正好包含[code]frames[/code]音频样本的[PoolVector2Array],"
-"如果没有足够的数据,则返回一个空[PoolVector2Array]。"
+"从内部环形缓冲区获取后续 [code]frames[/code] 个音频样本。\n"
+"如果有的话,返回一个正好包含 [code]frames[/code] 个音频样本的 "
+"[PoolVector2Array],如果没有足够的数据,则返回一个空 [PoolVector2Array]。"
#: doc/classes/AudioEffectCapture.xml
msgid "Returns the total size of the internal ring buffer in frames."
-msgstr "返回内部环缓冲区的总大小,以帧为单位。"
+msgstr "返回内部环形缓冲区的总大小,以帧为单位。"
#: doc/classes/AudioEffectCapture.xml
msgid ""
@@ -11045,7 +11075,7 @@ msgid ""
"Length of the internal ring buffer, in seconds. Setting the buffer length "
"will have no effect if already initialized."
msgstr ""
-"内部环缓冲区的长度,单位是秒。如果已经初始化,设置缓冲区长度将没有效果。"
+"内部环形缓冲区的长度,单位为秒。如果已经初始化,设置缓冲区长度将没有效果。"
#: doc/classes/AudioEffectChorus.xml
msgid "Adds a chorus audio effect."
@@ -11270,12 +11300,6 @@ msgstr ""
"通过扭曲波形,频率内容会发生变化,这通常会使声音“清脆”或“粗糙”。对于游戏,它"
"可以非常有效地模拟来自一些饱和设备或扬声器的声音。"
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr "音频总线"
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr "失真度。值的范围可在 0 到 1 之间。"
@@ -11932,8 +11956,13 @@ msgstr ""
"[AudioEffect] 效果。"
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
-msgstr "返回系统上检测到的所有音频输入设备的名称。"
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
#: doc/classes/AudioServer.xml
msgid "Generates an [AudioBusLayout] using the available buses and effects."
@@ -12092,7 +12121,7 @@ msgid ""
"Sets the volume of the bus at index [code]bus_idx[/code] to [code]volume_db[/"
"code]."
msgstr ""
-"将索引 [code]bus_idx[/code] 处的总线容量设置为 [code]volume_db[/code]。"
+"将索引 [code]bus_idx[/code] 处的总线音量设置为 [code]volume_db[/code]。"
#: doc/classes/AudioServer.xml
msgid "Swaps the position of two effects in bus [code]bus_idx[/code]."
@@ -12109,13 +12138,18 @@ msgid "Number of available audio buses."
msgstr "可用音频总线的数量。"
#: doc/classes/AudioServer.xml
-msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+#, fuzzy
+msgid ""
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
"当前音频输出设备的名称(见 [method get_device_list])。在具有多个音频输出的系"
"统中(例如模拟、USB、HDMI 音频),可用于选择音频输出设备。为 "
@@ -12304,6 +12338,21 @@ msgstr ""
"[method push_buffer] 效率低,但在 GDScript 中 [method push_frame] 可能[i]更高"
"效[/i]。"
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr "MP3 音频流驱动程序。"
@@ -12323,7 +12372,7 @@ msgstr "如果为 [code]true[/code],当流到达末尾时将自动循环。"
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
#: modules/stb_vorbis/doc_classes/AudioStreamOGGVorbis.xml
msgid "Time in seconds at which the stream starts after being looped."
-msgstr "循环后流开始的时间(秒)。"
+msgstr "循环时,流开始的时间,单位为秒。"
#: modules/stb_vorbis/doc_classes/AudioStreamOGGVorbis.xml
msgid "OGG Vorbis audio stream driver."
@@ -12455,8 +12504,12 @@ msgid "Plays positional sound in 2D space."
msgstr "在 2D 空间中播放与位置相关的声音。"
#: doc/classes/AudioStreamPlayer2D.xml
+#, fuzzy
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -12464,10 +12517,10 @@ msgid ""
"audible to human hearing)."
msgstr ""
"播放音频,随着与屏幕中心的距离而减弱。\n"
-"参阅 [AudioStreamPlayer] 来播放非位置性的声音。\n"
-"[b]注意:[/b]隐藏一个 [AudioStreamPlayer2D] 节点并不能禁用其音频输出。要暂时"
-"禁用 [AudioStreamPlayer2D] 的音频输出,请将 [member volume_db] 设置为一个非常"
-"低的值,如[code]-100[/code](人的听觉听不到)。"
+"另请参阅 [AudioStreamPlayer] 来播放非位置性的声音。\n"
+"[b]注意:[/b]隐藏 [AudioStreamPlayer2D] 节点并不能禁用其音频输出。要暂时禁用 "
+"[AudioStreamPlayer2D] 的音频输出,请将 [member volume_db] 设置为非常低的值,"
+"如 [code]-100[/code](人的听觉听不到)。"
#: doc/classes/AudioStreamPlayer2D.xml doc/classes/AudioStreamPlayer3D.xml
msgid "Returns the position in the [AudioStream]."
@@ -12530,14 +12583,14 @@ msgid ""
"audible to human hearing)."
msgstr ""
"播放具有定向性的声音效果,如果需要,可随着距离的增加而减弱,产生空间中可听到"
-"的位置效果。为了更逼真,低通滤波器会自动应用于远处的声音。这可以通过设置"
-"[member attenuation_filter_cutoff_hz]为[code]20500[/code]来禁用。\n"
-"默认情况下,音频是从相机的位置听到的,这可以通过在场景中添加一个[Listener]节"
-"点,并通过对其调用[method Listener.make_current]来启用它,以改变。\n"
-"参阅[AudioStreamPlayer]来播放非位置的声音。\n"
-"[b]注意:[/b]隐藏一个[AudioStreamPlayer3D]节点并不能禁用其音频输出。要暂时禁"
-"用[AudioStreamPlayer3D]的音频输出,请将[member unit_db]设置为一个非常低的值,"
-"如[code]-100[/code](人的听觉听不到)。"
+"的位置效果。为了更逼真,低通滤波器会自动应用于远处的声音。这可以通过设置 "
+"[member attenuation_filter_cutoff_hz] 为 [code]20500[/code] 来禁用。\n"
+"默认情况下,音频是从相机的位置听到的,这可以通过在场景中添加一个 [Listener] "
+"节点,并通过对其调用 [method Listener.make_current] 来启用它,以改变。\n"
+"参阅 [AudioStreamPlayer] 来播放非位置的声音。\n"
+"[b]注意:[/b]隐藏一个 [AudioStreamPlayer3D] 节点并不能禁用其音频输出。要暂时"
+"禁用 [AudioStreamPlayer3D] 的音频输出,请将 [member unit_db] 设置为一个非常低"
+"的值,如 [code]-100[/code](人的听觉听不到)。"
#: doc/classes/AudioStreamPlayer3D.xml
msgid ""
@@ -12609,8 +12662,9 @@ msgid ""
"doppler_tracking] property is set to a value other than [constant Camera."
"DOPPLER_TRACKING_DISABLED]."
msgstr ""
-"决定 [url=https://en.wikipedia.org/wiki/Doppler_effect]多普勒效应[/url] 应该"
-"在哪一步计算。\n"
+"决定[url=https://zh.wikipedia.org/wiki/"
+"%E5%A4%9A%E6%99%AE%E5%8B%92%E6%95%88%E5%BA%94]多普勒效应[/url]应该在哪一步计"
+"算。\n"
"[b]注意:[/b]仅当当前 [Camera] 的 [member Camera.doppler_tracking] 属性设置"
"为 [constant Camera.DOPPLER_TRACKING_DISABLED] 以外的值时有效。"
@@ -12640,7 +12694,7 @@ msgstr "设置声级的绝对最大值,以分贝为单位。"
msgid ""
"Sets the distance from which the [member out_of_range_mode] takes effect. "
"Has no effect if set to 0."
-msgstr "设置[member out_of_range_mode]生效的距离。设置为0时没有效果。"
+msgstr "设置 [member out_of_range_mode] 生效的距离。设置为 0 时没有效果。"
#: doc/classes/AudioStreamPlayer3D.xml
msgid ""
@@ -12785,7 +12839,7 @@ msgstr ""
#: doc/classes/AudioStreamSample.xml
msgid "Audio format. See [enum Format] constants for values."
-msgstr "音频格式。参阅 [enum Format] 常量的值。"
+msgstr "音频格式。取值见 [enum Format] 常量。"
#: doc/classes/AudioStreamSample.xml
msgid ""
@@ -13151,7 +13205,7 @@ msgid ""
"When enabled, a lightmap denoiser will be used to reduce the noise inherent "
"to Monte Carlo based global illumination."
msgstr ""
-"启用后,将使用光照贴图降噪器来减少基于Monte Carlo的全局照明固有的噪声。"
+"启用后,将使用光照贴图降噪器来减少基于 Monte Carlo 的全局照明固有的噪声。"
#: doc/classes/BakedLightmap.xml
msgid ""
@@ -13197,12 +13251,12 @@ msgid ""
"Returns if no viable save path is found. This can happen where an [member "
"image_path] is not specified or when the save location is invalid."
msgstr ""
-"如果没有找到合适的保存路径,则返回。这可能发生在没有指定[member image_path]或"
-"者保存位置无效的情况下。"
+"如果没有找到合适的保存路径,则返回。这可能发生在没有指定 [member image_path] "
+"或者保存位置无效的情况下。"
#: doc/classes/BakedLightmap.xml doc/classes/SpatialMaterial.xml
msgid "Currently unused."
-msgstr "当前未使用."
+msgstr "当前未使用。"
#: doc/classes/BakedLightmap.xml
msgid "Returns when the baker cannot save per-mesh textures to file."
@@ -13753,7 +13807,7 @@ msgstr ""
#: doc/classes/BitMap.xml
msgid ""
"Creates a bitmap with the specified size, filled with [code]false[/code]."
-msgstr "创建一个指定尺寸的位图,用[code]false[/code]填充。"
+msgstr "创建一个指定尺寸的位图,用 [code]false[/code] 填充。"
#: doc/classes/BitMap.xml
msgid ""
@@ -13777,7 +13831,7 @@ msgstr "返回位图的尺寸。"
#: doc/classes/BitMap.xml
msgid ""
"Returns the amount of bitmap elements that are set to [code]true[/code]."
-msgstr "返回设置为 [code]true[/code]的位图元素的数量。"
+msgstr "返回设置为 [code]true[/code] 的位图元素的数量。"
#: doc/classes/BitMap.xml
msgid ""
@@ -13811,9 +13865,9 @@ msgid ""
"bmfont/]BMFont[/url] format.\n"
"Handles files with the [code].fnt[/code] extension."
msgstr ""
-"使用[url=https://www.angelcode.com/products/bmfont/]BMFont[/url]格式的字体来"
-"渲染文本。\n"
-"处理扩展名为[code].fnt[/code]的文件。"
+"使用 [url=https://www.angelcode.com/products/bmfont/]BMFont[/url] 格式的字体"
+"来渲染文本。\n"
+"处理扩展名为 [code].fnt[/code] 的文件。"
#: doc/classes/BitmapFont.xml
msgid ""
@@ -14262,7 +14316,7 @@ msgstr "将文本向左对齐。"
#: doc/classes/Button.xml
msgid "Align the text to the center."
-msgstr "将文本居中对齐。。"
+msgstr "将文本居中对齐。"
#: doc/classes/Button.xml
msgid "Align the text to the right."
@@ -14413,7 +14467,7 @@ msgid ""
"[code]enable_next[/code] is [code]true[/code], request to make the next "
"camera current, if any."
msgstr ""
-"如果这是当前相机,则将其从当前相机中移除。如果[code]enable_next[/code]是"
+"如果这是当前相机,则将其从当前相机中移除。如果 [code]enable_next[/code] 为 "
"[code]true[/code],请求使下一个相机成为当前相机(如果有)。"
#: doc/classes/Camera.xml
@@ -14436,8 +14490,8 @@ msgid ""
"Returns [code]true[/code] if the given [code]layer[/code] in the [member "
"cull_mask] is enabled, [code]false[/code] otherwise."
msgstr ""
-"如果[member cull_mask]中给定的[code]layer[/code]被启用,返回 [code]true[/"
-"code],否则返回 [code]false[/code]。"
+"如果 [member cull_mask] 中给定的 [code]layer[/code] 被启用,则返回 "
+"[code]true[/code],否则返回 [code]false[/code]。"
#: doc/classes/Camera.xml
msgid ""
@@ -14507,14 +14561,15 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
"Enables or disables the given [code]layer[/code] in the [member cull_mask]."
-msgstr "启用或禁用[member cull_mask]中给定的[code]layer[/code]。"
+msgstr "启用或禁用 [member cull_mask] 中给定的 [code]layer[/code]。"
#: doc/classes/Camera.xml
+#, fuzzy
msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
"通过指定大小 [code]size[/code] 、偏移量 [code]offset[/code] 以及以世界空间为"
"单位的 [code]z_near[/code] 和 [code]z_far[/code] 裁剪平面,将相机投影设置为视"
@@ -14643,10 +14698,13 @@ msgstr ""
"- 在 21:9 视窗中约117.06 度"
#: doc/classes/Camera.xml
+#, fuzzy
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
"相机的机身偏移。可以更改默认值,以创建 \"倾斜frustum \"效果,如[url=https://"
"zdoom.org/wiki/Y-shearing]Y-shearing[/url]。"
@@ -14680,12 +14738,10 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
-"相机的尺寸,以 1/2 的宽度或高度为单位。仅适用于正交及视锥模式。由于 [member "
-"keep_aspect] 锁定在轴上,因此 [code]size[/code] 设置其他轴的尺寸长度。"
#: doc/classes/Camera.xml
msgid "The vertical (Y) offset of the camera viewport."
@@ -14860,7 +14916,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 ""
@@ -14906,8 +14962,8 @@ msgid ""
"The custom [Viewport] node attached to the [Camera2D]. If [code]null[/code] "
"or not a [Viewport], uses the default viewport instead."
msgstr ""
-"连接到[Camera2D]的自定义[Viewport]节点。如果[code]null[/code]或不是"
-"[Viewport],则使用默认的 Viewpor。"
+"连接到 [Camera2D] 的自定义 [Viewport] 节点。如果为 [code]null[/code] 或者不"
+"是 [Viewport],则使用默认的视区。"
#: doc/classes/Camera2D.xml
msgid ""
@@ -15038,7 +15094,7 @@ msgstr ""
#: doc/classes/Camera2D.xml
msgid "The camera's process callback. See [enum Camera2DProcessMode]."
-msgstr "相机的过程回调。请参阅[enum Camera2DProcessMode]。"
+msgstr "相机的过程回调。见 [enum Camera2DProcessMode]。"
#: doc/classes/Camera2D.xml
msgid "If [code]true[/code], the camera view rotates with the target."
@@ -15264,18 +15320,20 @@ msgid "Base class of anything 2D."
msgstr "任何 2D 对象的基类。"
#: doc/classes/CanvasItem.xml
+#, fuzzy
msgid ""
"Base class of anything 2D. Canvas items are laid out in a tree; children "
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -15317,10 +15375,18 @@ msgid "Custom drawing in 2D"
msgstr "2D 中的自定义绘图"
#: doc/classes/CanvasItem.xml
+#, fuzzy
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
-msgstr "引擎调用的可覆盖函数(如果定义了)来绘制画布项目。"
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
+msgstr ""
+"当节点进入 [SceneTree] 时调用(例如实例化时,场景改变时,或者在脚本中调用 "
+"[method add_child] 后)。如果节点有子节点,则首先调用它的 [method "
+"_enter_tree] 回调函数,然后再调用子节点的回调函数。\n"
+"对应于 [method Object._notification] 中的 [constant NOTIFICATION_ENTER_TREE] "
+"通知。"
#: doc/classes/CanvasItem.xml
msgid ""
@@ -15721,7 +15787,7 @@ msgstr "返回这个项目相对于视区的变换。"
#: doc/classes/CanvasItem.xml
msgid "Returns the [World2D] where this item is in."
-msgstr "返回此物品所在的[World2D]。"
+msgstr "返回此物品所在的 [World2D]。"
#: doc/classes/CanvasItem.xml
msgid ""
@@ -15742,7 +15808,7 @@ msgid ""
"Returns [code]true[/code] if the node is set as top-level. See [method "
"set_as_toplevel]."
msgstr ""
-"如果节点设置为顶层,则返回 [code]true[/code]。参阅 [method set_as_toplevel]。"
+"如果节点设置为顶层,则返回 [code]true[/code]。见 [method set_as_toplevel]。"
#: doc/classes/CanvasItem.xml
msgid ""
@@ -15750,12 +15816,13 @@ msgid ""
"to children."
msgstr "如果将全局变换通知传达给子级,则返回 [code]true[/code]。"
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
+#, fuzzy
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
"如果该节点位于 [SceneTree] 中,并且其 [member visible] 属性为 [code]true[/"
"code],并且其所有上层节点也均可见,则返回 [code]true[/code]。如果任何上层节点"
@@ -15814,11 +15881,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
-"将 [CanvasItem] 排队等待更新。在空闲时间将调用 [constant NOTIFICATION_DRAW] "
-"以请求重绘。"
#: doc/classes/CanvasItem.xml
msgid ""
@@ -15873,10 +15940,12 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
-"当 [CanvasItem] 必须重绘时发出。这只能是实时连接,因为延迟将不允许绘制。"
#: doc/classes/CanvasItem.xml
msgid "Emitted when becoming hidden."
@@ -15945,7 +16014,8 @@ msgstr ""
"set_notify_local_transform] 启用时,才会收到这个通知。"
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+#, fuzzy
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr "要求绘制[CanvasItem]。"
#: doc/classes/CanvasItem.xml
@@ -16097,9 +16167,12 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
-msgstr "将图层设置为跟随视区,以模拟伪 3D 效果。"
+msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
@@ -16642,10 +16715,10 @@ msgid ""
"[b]Note:[/b] In exported release builds the debug info is not available, so "
"the returned dictionaries will contain only method names."
msgstr ""
-"如果[code]no_inheritance[/code]是[code]false[/code],返回一个包含"
-"[code]class[/code]或其父级所有方法的数组。数组的每个元素都是一个"
-"[Dictionary],其键值如:[code]args[/code], [code]default_args[/code], "
-"[code]flags[/code], [code]id[/code], [code]name[/code], [code]return:"
+"如果 [code]no_inheritance[/code] 为 [code]false[/code],返回一个包含 "
+"[code]class[/code] 或其父级所有方法的数组。数组的每个元素都是一个 "
+"[Dictionary],包含的键有:[code]args[/code]、[code]default_args[/code]、"
+"[code]flags[/code]、[code]id[/code]、[code]name[/code]、[code]return:"
"(class_name, hint, hint_string, name, type, usage)[/code]。\n"
"[b]注意:[/b]在导出的发布版本中,调试信息不可用,所以返回的字典将只包含方法名"
"称。"
@@ -16895,8 +16968,8 @@ msgid ""
"Returns an [Array] of [code]owner_id[/code] identifiers. You can use these "
"ids in other methods that take [code]owner_id[/code] as an argument."
msgstr ""
-"返回一个[code]owner_id[/code]标识符的[Array]。你可以在其他使用"
-"[code]owner_id[/code]作为参数的方法中使用这些id。"
+"返回一个 [code]owner_id[/code] 标识符的 [Array]。你可以在其他使用 "
+"[code]owner_id[/code] 作为参数的方法中使用这些id。"
#: doc/classes/CollisionObject.xml doc/classes/CollisionObject2D.xml
msgid "If [code]true[/code], the shape owner and its shapes are disabled."
@@ -17546,10 +17619,10 @@ msgid ""
"var darkgreen = green.darkened(0.2) # 20% darker than regular green\n"
"[/codeblock]"
msgstr ""
-"返回一个新的颜色,这个颜色按指定的百分比(比例从0 到 1)变暗。\n"
+"返回一个新的颜色,这个颜色按指定的百分比(比例从 0 到 1)变暗。\n"
"[codeblock]\n"
"var green = Color(0.0, 1.0, 0.0)\n"
-"var darkgreen = green.darkened(0.2) # 20% darker than regular green\n"
+"var darkgreen = green.darkened(0.2) # 比普通的绿色深 20%\n"
"[/codeblock]"
#: doc/classes/Color.xml
@@ -19799,8 +19872,10 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
-msgstr "从另一个控件中窃取焦点,并成为焦点控件(请参阅[member focus_mode])。"
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
+msgstr ""
#: doc/classes/Control.xml
msgid ""
@@ -19955,9 +20030,9 @@ msgid ""
"changed. Setting [member rect_min_size] directly calls this method "
"automatically."
msgstr ""
-"使此节点和父节点(直至最高级别)中的大小缓存无效。打算在更改返回值时与"
-"[method get_minimum_size]一起使用。设置[member rect_min_size]直接直接自动调用"
-"此方法。"
+"使这个节点及其直至最顶层的各级父节点中的大小缓存失效。应在 [method "
+"get_minimum_size] 的返回值发生变化时配合使用。直接设置 [member "
+"rect_min_size] 会自动调用这个方法。"
#: doc/classes/Control.xml
msgid ""
@@ -20300,10 +20375,10 @@ msgid ""
"must be a [Control]. If this property is not set, Godot will give focus to "
"the closest [Control] to the bottom of this one."
msgstr ""
-"告诉Godot,默认情况下,如果用户按下键盘上的向下箭头或游戏手柄上的向下箭头,则"
-"应将焦点对准哪个节点。您可以通过编辑[code]ui_down[/code]输入操作来更改键。该"
-"节点必须是[Control]。如果未设置此属性,则Godot会将焦点放在该控件底部最接近的"
-"[Control]。"
+"告诉 Godot,默认情况下,如果用户按下键盘上的向下箭头或游戏手柄上的向下箭头,"
+"则应将焦点对准哪个节点。您可以通过编辑 [code]ui_down[/code] 输入操作来更改"
+"键。该节点必须是 [Control]。如果未设置此属性,则 Godot 会将焦点放在该控件底部"
+"最接近的 [Control]。"
#: doc/classes/Control.xml
msgid ""
@@ -20313,10 +20388,10 @@ msgid ""
"must be a [Control]. If this property is not set, Godot will give focus to "
"the closest [Control] to the left of this one."
msgstr ""
-"告诉Godot,默认情况下,如果用户按下键盘上的向左箭头或游戏手柄上的向左键,应该"
-"将焦点对准键盘上的哪个节点。您可以通过编辑[code]ui_left[/code]输入操作来更改"
-"键。该节点必须是[Control]。如果未设置此属性,则Godot会将焦点放在该控件左侧最"
-"接近的[Control]。"
+"告诉 Godot,默认情况下,如果用户按下键盘上的向左箭头或游戏手柄上的向左键,应"
+"该将焦点对准键盘上的哪个节点。您可以通过编辑 [code]ui_left[/code] 输入操作来"
+"更改键。该节点必须是 [Control]。如果未设置此属性,则 Godot 会将焦点放在该控件"
+"左侧最接近的 [Control]。"
#: doc/classes/Control.xml
msgid ""
@@ -20326,10 +20401,10 @@ msgid ""
"must be a [Control]. If this property is not set, Godot will give focus to "
"the closest [Control] to the bottom of this one."
msgstr ""
-"告诉Godot,如果用户按键盘上的右键或默认的游戏手柄上的右键,它应该把键盘焦点给"
-"哪个节点。你可以通过编辑[code]ui_right[/code]输入动作来改变这个键。该节点必须"
-"是一个[Control]。如果没有设置这个属性,Godot将把焦点交给离这个节点底部最近的"
-"[Control]。"
+"告诉 Godot,如果用户按键盘上的右键或默认的游戏手柄上的右键,它应该把键盘焦点"
+"给哪个节点。你可以通过编辑 [code]ui_right[/code] 输入动作来改变这个键。该节点"
+"必须是一个 [Control]。如果没有设置这个属性,Godot 将把焦点交给离这个节点底部"
+"最近的 [Control]。"
#: doc/classes/Control.xml
msgid ""
@@ -20339,10 +20414,10 @@ msgid ""
"[Control]. If this property is not set, Godot will give focus to the closest "
"[Control] to the bottom of this one."
msgstr ""
-"告诉Godot默认情况下,如果用户按下键盘上的顶部箭头或游戏手柄上的顶部,则应该将"
-"焦点对准键盘上的哪个节点。您可以通过编辑[code]ui_top[/code]输入操作来更改键。"
-"该节点必须是[Control]。如果未设置此属性,则Godot会将焦点放在该控件底部最接近"
-"的[Control]。"
+"告诉 Godot 默认情况下,如果用户按下键盘上的顶部箭头或游戏手柄上的顶部,则应该"
+"将焦点对准键盘上的哪个节点。您可以通过编辑 [code]ui_top[/code] 输入操作来更改"
+"键。该节点必须是 [Control]。如果未设置此属性,则 Godot 会将焦点放在该控件底部"
+"最接近的 [Control]。"
#: doc/classes/Control.xml
msgid ""
@@ -20352,9 +20427,9 @@ msgid ""
"If this property is not set, Godot will select a \"best guess\" based on "
"surrounding nodes in the scene tree."
msgstr ""
-"告诉Godot,如果用户默认按键盘上的Tab键,它应该把键盘焦点给哪个节点。你可以通"
-"过编辑[code]ui_focus_next[/code]输入动作来改变这个键。\n"
-"如果这个属性没有设置,Godot会根据场景树中的周围节点选择一个 \"最佳猜测\"。"
+"告诉 Godot,如果用户默认按键盘上的 Tab 键,它应该把键盘焦点给哪个节点。你可以"
+"通过编辑 [code]ui_focus_next[/code] 输入动作来改变这个键。\n"
+"如果这个属性没有设置,Godot 会根据场景树中的周围节点选择一个“最佳猜测”。"
#: doc/classes/Control.xml
msgid ""
@@ -20364,9 +20439,9 @@ msgid ""
"If this property is not set, Godot will select a \"best guess\" based on "
"surrounding nodes in the scene tree."
msgstr ""
-"告诉Godot,如果用户按键盘上的Shift+Tab键,它应该把键盘焦点给哪个节点,这是默"
-"认。你可以通过编辑[code]ui_focus_prev[/code]输入动作来改变这个键。\n"
-"如果没有设置这个属性,Godot会根据场景树中的周围节点选择一个 \"最佳猜测\"。"
+"告诉 Godot,如果用户按键盘上的 Shift+Tab 键,它应该把键盘焦点给哪个节点,这是"
+"默认。你可以通过编辑 [code]ui_focus_prev[/code] 输入动作来改变这个键。\n"
+"如果没有设置这个属性,Godot 会根据场景树中的周围节点选择一个“最佳猜测”。"
#: doc/classes/Control.xml
msgid ""
@@ -20409,18 +20484,19 @@ msgid ""
"[/codeblock]"
msgstr ""
"改变工具提示的文本。当用户的鼠标光标在这个控件上停留片刻,工具提示就会出现,"
-"前提是[member mouse_filter]属性非[constant MOUSE_FILTER_IGNORE]。你可以用项目"
-"设置中的[code]gui/timers/tooltip_delay_sec[/code]选项改变工具提示出现的时"
-"间。\n"
-"工具提示的弹出将使用默认的实现,或者你可以通过覆盖[method "
-"_make_custom_tooltip]提供一个自定义的实现。默认的工具提示包括一个[PopupPanel]"
-"和[Label],其主题属性可以通过[code]\"TooltipPanel\"[/code]和"
-"[code]\"TooltipLabel\"[/code]方法分别进行自定义。如:\n"
+"前提是 [member mouse_filter] 属性非 [constant MOUSE_FILTER_IGNORE]。你可以用"
+"项目设置中的 [code]gui/timers/tooltip_delay_sec[/code] 选项改变工具提示出现的"
+"时间。\n"
+"工具提示的弹出将使用默认的实现,或者你可以通过覆盖 [method "
+"_make_custom_tooltip] 提供一个自定义的实现。默认的工具提示包括一个 "
+"[PopupPanel] 和 [Label],其主题属性可以通过 [Theme] 的方法对 "
+"[code]\"TooltipPanel\"[/code] 和 [code]\"TooltipLabel\"[/code] 分别进行自定"
+"义。如:\n"
"[codeblock]\n"
"var style_box = StyleBoxFlat.new()\n"
"style_box.set_bg_color(Color(1, 1, 0))\n"
"style_box.set_border_width_all(2)\n"
-"# 我们在这里假设`theme`属性已经被事先分配了一个自定义的Theme。\n"
+"# 我们在这里假设`theme`属性已经被事先分配了一个自定义的 Theme。\n"
"theme.set_stylebox(\"panel\", \"TooltipPanel\", style_box)\n"
"theme.set_color(\"font_color\", \"TooltipLabel\", Color(0, 1, 1))\n"
"[/codeblock]"
@@ -20432,9 +20508,9 @@ msgid ""
"handling. The viewport first hides the modal and after marks the input as "
"handled."
msgstr ""
-"启用当你关闭控件模态时,输入是否传播。\n"
-"如果为 [code]false[/code],在视区输入事件处理时将停止事件处理。视区首先隐藏模"
-"态,之后将输入标记为已处理。"
+"关闭模态控件时,输入是否传播。\n"
+"如果为 [code]false[/code],事件处理将停止在视区的输入事件处理。该视区会先将模"
+"态控件隐藏,然后再将输入标记为已处理。"
#: doc/classes/Control.xml
msgid ""
@@ -21324,7 +21400,7 @@ msgstr "返回由 [enum Parameter] 指定的参数的随机性系数。"
#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml
msgid ""
"Returns the enabled state of the given flag (see [enum Flags] for options)."
-msgstr "返回给定标志的启用状态(有关选项,请参阅 [enum Flags])。"
+msgstr "返回给定标志的启用状态(可选项见 [enum Flags])。"
#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml
msgid "Restarts the particle emitter."
@@ -21345,7 +21421,7 @@ msgstr "设置 [enum Parameter] 指定的参数的随机性因子。"
#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml
msgid "Enables or disables the given flag (see [enum Flags] for options)."
-msgstr "启用或禁用给定标志(有关选项,请参阅 [enum Flags])。"
+msgstr "启用或禁用给定标志(可选项见 [enum Flags])。"
#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml
#: doc/classes/Particles.xml doc/classes/Particles2D.xml
@@ -21463,7 +21539,7 @@ msgstr "指定粒子发射方向的单位向量。"
#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml
#: doc/classes/Particles.xml doc/classes/Particles2D.xml
msgid "Particle draw order. Uses [enum DrawOrder] values."
-msgstr "粒子绘制顺序。使用 [enum DrawOrder] 值。"
+msgstr "粒子绘制顺序。使用 [enum DrawOrder] 的值。"
#: doc/classes/CPUParticles.xml
msgid ""
@@ -21611,7 +21687,7 @@ msgstr "色相变化随机率。"
msgid ""
"Initial velocity magnitude for each particle. Direction comes from [member "
"spread] and the node's orientation."
-msgstr "每个粒子的初始速度大小。方向来自[member spread]和节点的方向。"
+msgstr "每个粒子的初始速度大小。方向取决于 [member spread] 和该节点的朝向。"
#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml
#: doc/classes/ParticlesMaterial.xml
@@ -21621,7 +21697,7 @@ msgstr "初始速度随机率。"
#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml
#: doc/classes/Particles.xml doc/classes/Particles2D.xml
msgid "The amount of time each particle will exist (in seconds)."
-msgstr "每个粒子存在的时间,以秒为单位。"
+msgstr "每个粒子存在的时间(以秒为单位)。"
#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml
#: doc/classes/ParticlesMaterial.xml
@@ -21677,7 +21753,7 @@ msgid ""
msgstr ""
"应用于每个粒子的轨道速度。使粒子在局部XY平面上绕原点旋转。用每秒绕原点旋转的"
"次数来表示。\n"
-"只有当[member flag_disable_z]为 [code]true[/code] 时,此属性才可用。"
+"只有当 [member flag_disable_z] 为 [code]true[/code] 时,此属性才可用。"
#: doc/classes/CPUParticles.xml doc/classes/CPUParticles2D.xml
msgid "Each particle's orbital velocity will vary along this [Curve]."
@@ -21998,8 +22074,8 @@ msgid ""
"the value to 2 will make the particles render at 2 frames per second. Note "
"this does not slow down the simulation of the particle system itself."
msgstr ""
-"粒子系统的帧速率固定为一个值。例如,将值更改为2将使粒子以每秒2帧的速度渲染。"
-"注意,这不会减慢粒子系统本身的仿真速度。"
+"粒子系统的帧速率固定为一个值。例如,将值更改为 2 将使粒子以每秒 2 帧的速度渲"
+"染。注意,这不会减慢粒子系统本身的仿真速度。"
#: doc/classes/CPUParticles2D.xml doc/classes/Particles2D.xml
msgid ""
@@ -22146,8 +22222,8 @@ msgid ""
"[b]Note:[/b] The maximum size of accepted ciphertext is limited by the key "
"size."
msgstr ""
-"用提供的私人[code]key[/code]解密给定的[code]ciphertext[/code]。\n"
-"[b]注意:[/b]所接受的密码文本的最大尺寸受到密钥大小限制。"
+"用提供的私钥 [code]key[/code] 解密给定的密文 [code]ciphertext[/code]。\n"
+"[b]注意:[/b]所接受的密文的最大尺寸受到密钥大小的限制。"
#: doc/classes/Crypto.xml
msgid ""
@@ -22156,8 +22232,8 @@ msgid ""
"[b]Note:[/b] The maximum size of accepted plaintext is limited by the key "
"size."
msgstr ""
-"用提供的公钥 [code]key[/code] 加密给定的[code]plaintext[/code]。\n"
-"[b]注意:[/b]接受的明文的最大尺寸受到密钥大小的限制。"
+"用提供的公钥 [code]key[/code] 加密给定的明文 [code]plaintext[/code]。\n"
+"[b]注意:[/b]所接受的明文的最大尺寸受到密钥大小的限制。"
#: doc/classes/Crypto.xml
msgid ""
@@ -22217,9 +22293,9 @@ msgid ""
"Currently, only [constant HashingContext.HASH_SHA256] and [constant "
"HashingContext.HASH_SHA1] are supported."
msgstr ""
-"使用 [code]key[/code] 生成 [code]msg[/code] 的 [url=https://en.wikipedia.org/"
-"wiki/HMAC]HMAC[/url] 摘要。[code]hash_type[/code] 参数是用于内部和外部哈希的"
-"哈希算法。\n"
+"使用密钥 [code]key[/code] 生成 [code]msg[/code] 的 [url=https://en.wikipedia."
+"org/wiki/HMAC]HMAC[/url] 摘要。[code]hash_type[/code] 参数是用于内部和外部哈"
+"希的哈希算法。\n"
"目前仅支持 [constant HashingContext.HASH_SHA256] 和 [constant HashingContext."
"HASH_SHA1]。"
@@ -22591,7 +22667,7 @@ msgid ""
"coordinates will match geometry exactly with no tiling."
msgstr ""
"当 [member mode] 为 [constant MODE_PATH] 时,这是纹理坐标沿着路径的距离,以米"
-"为单位,将进行平铺。当设置为0时,纹理坐标将与几何图形完全匹配,没有平铺。"
+"为单位,将进行平铺。当设置为 0 时,纹理坐标将与几何图形完全匹配,没有平铺。"
#: modules/csg/doc_classes/CSGPolygon.xml
msgid ""
@@ -22671,16 +22747,16 @@ msgid ""
"will determine the distance, in meters, each interval of the path will "
"extrude."
msgstr ""
-"当 [member mode] 被设置为路径[constant MODE_PATH] 时,[member path_interval] "
-"将决定路径的每个间隔将被挤出的距离,单位为米。"
+"当 [member mode] 被设置为 [constant MODE_PATH] 时,[member path_interval] 将"
+"决定路径的每个间隔将被挤出的距离,单位为米。"
#: modules/csg/doc_classes/CSGPolygon.xml
msgid ""
"When [member mode] is set to [constant MODE_PATH], [member path_interval] "
"will subdivide the polygons along the path."
msgstr ""
-"当 [member mode] 被设置为路径 [constant MODE_PATH]时,[member path_interval] "
-"将沿着路径细分多边形。"
+"当 [member mode] 被设置为 [constant MODE_PATH]时,[member path_interval] 将沿"
+"着路径细分多边形。"
#: modules/csg/doc_classes/CSGPrimitive.xml
msgid "Base class for CSG primitives."
@@ -22806,8 +22882,8 @@ msgid ""
"CSG child node as the operation is between this node and the previous child "
"of this nodes parent."
msgstr ""
-"在此形状上执行的操作。对于第一个CSG子节点,将忽略此操作,因为操作是在此节点与"
-"该节点父级的上一个子级之间进行的。"
+"在此形状上执行的操作。对于第一个 CSG 子节点,将忽略此操作,因为操作是在此节点"
+"与该节点父级的上一个子级之间进行的。"
#: modules/csg/doc_classes/CSGShape.xml
msgid ""
@@ -22824,8 +22900,8 @@ msgid ""
"always act like a static body. Note that the collision shape is still active "
"even if the CSG shape itself is hidden."
msgstr ""
-"为我们的 CSG 形状向物理引擎添加碰撞形状。这将始终像一个静态物体。请注意,即使"
-"CSG形状本身被隐藏,碰撞形状仍处于活动状态。"
+"为我们的 CSG 形状向物理引擎添加碰撞形状。这将始终像一个静态物体。请注意,即"
+"使 CSG 形状本身被隐藏,碰撞形状仍处于活动状态。"
#: modules/csg/doc_classes/CSGShape.xml
msgid ""
@@ -22930,8 +23006,8 @@ msgid ""
"effect making the torus seem rounded. If [code]false[/code] the torus will "
"have a flat shaded look."
msgstr ""
-"如果[code]true[/code]设置圆环的法线以提供平滑效果,则使圆环看起来是圆形的。如"
-"果为 [code]false[/code],则圆环将具有平坦的阴影表现。"
+"如果 [code]true[/code] 设置圆环的法线以提供平滑效果,则使圆环看起来是圆形的。"
+"如果为 [code]false[/code],则圆环将具有平坦的阴影表现。"
#: modules/mono/doc_classes/CSharpScript.xml
msgid ""
@@ -23240,10 +23316,13 @@ msgid "A mathematic curve."
msgstr "数学曲线。"
#: doc/classes/Curve.xml
+#, fuzzy
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
"可以保存并重新用于其他对象的曲线。默认情况下,它在 Y 轴上的范围在 [code]0[/"
"code] 到 [code]1[/code] 之间,并且位置点相对于 [code]0.5[/code] Y 位置。"
@@ -23407,16 +23486,18 @@ msgstr ""
"动采样用于其他目的。\n"
"它保留了沿曲线的预计算点的缓存,以加快进一步的计算。"
-#: doc/classes/Curve2D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
+#, fuzzy
+msgid ""
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
"在曲线的 [code]position[/code] 上添加一个点,相对于该 [Curve2D] 的位置,以及"
"控制点 [code]in[/code] 和 [code]out[/code]。\n"
@@ -23476,8 +23557,8 @@ msgid ""
"console, and returns [code](0, 0)[/code]."
msgstr ""
"返回从顶点 [code]idx[/code] 引出的控制点位置。返回的位置是相对于顶点 "
-"[code]idx[/code]。如果索引越界,函数会向控制台发送错误,并返回 [code](0, "
-"0)[/code]。"
+"[code]idx[/code]。如果索引越界,函数会向控制台发送错误,并返回 [code](0, 0)[/"
+"code]。"
#: doc/classes/Curve2D.xml
msgid ""
@@ -23621,25 +23702,6 @@ msgstr ""
"它沿曲线保留了一个预先计算好的点缓存,以加快进一步的计算。"
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-"在曲线的 [code]position[/code] 上添加一个点,相对于该 [Curve2D] 的位置,以及"
-"控制点 [code]in[/code] 和 [code]out[/code]。\n"
-"如果给定了 [code]at_position[/code],这个点会被插入到点号 [code]at_position[/"
-"code] 之前,并将这个点(以及之后的每一个点)移到被插入点之后。如果 "
-"[code]at_position[/code] 没有给定,或者是非法值([code]at_position <0[/code] "
-"或 [code]at_position >= [method get_point_count][/code]),该点将被追加在点列"
-"表的最后。"
-
-#: doc/classes/Curve3D.xml
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr "以 [PoolVector3Array] 的形式返回缓存的点。"
@@ -24599,7 +24661,7 @@ msgid ""
"Returns one of the [enum Error] code constants ([code]OK[/code] on success)."
msgstr ""
"创建一个目录。参数可以是当前目录的相对路径,也可以是绝对路径。目标目录应该放"
-"置在一个已经存在的目录中(如果要递归创建完整的路径,请参阅[method "
+"置在一个已经存在的目录中(如果要递归创建完整的路径,请参阅 [method "
"make_dir_recursive])。\n"
"返回 [enum Error] 代码常量之一(成功时返回 [code]OK[/code])。"
@@ -24886,11 +24948,11 @@ msgstr "返回给定 [code]type[/code] 的间距(见 [enum SpacingType])。"
#: doc/classes/DynamicFont.xml
msgid "Removes the fallback font at index [code]idx[/code]."
-msgstr "移除位于索引[code]idx[/code]处的后备字体。"
+msgstr "移除位于索引 [code]idx[/code] 处的后备字体。"
#: doc/classes/DynamicFont.xml
msgid "Sets the fallback font at index [code]idx[/code]."
-msgstr "设置索引[code]idx[/code]处的后备字体。"
+msgstr "设置索引 [code]idx[/code] 处的后备字体。"
#: doc/classes/DynamicFont.xml
msgid ""
@@ -25013,7 +25075,7 @@ msgstr "矢量字体文件的路径。"
#: doc/classes/DynamicFontData.xml
msgid "The font hinting mode used by FreeType. See [enum Hinting] for options."
-msgstr "FreeType 使用的字体提示模式。参阅 [enum Hinting] 选项。"
+msgstr "FreeType 使用的字体提示模式。可选项见 [enum Hinting]。"
#: doc/classes/DynamicFontData.xml
msgid ""
@@ -25237,8 +25299,8 @@ msgid ""
"specified by [code]class_name[/code]."
msgstr ""
"如果 [code]class_name[/code] 指定的类中的 [code]property[/code] 属性被禁用,"
-"则返回 [code]true[/code]。禁用某一属性后,当选中继承自 "
-"[code]class_name[/code] 类的节点时,该属性将不会出现在检查器中。"
+"则返回 [code]true[/code]。禁用某一属性后,当选中继承自 [code]class_name[/"
+"code] 类的节点时,该属性将不会出现在检查器中。"
#: doc/classes/EditorFeatureProfile.xml
msgid ""
@@ -25254,9 +25316,8 @@ msgid ""
"format obtained by using the feature profile manager's [b]Export[/b] button "
"or the [method save_to_file] method."
msgstr ""
-"从文件中加载一个编辑器功能配置文件。该文件必须遵循 JSON "
-"格式,通过使用功能配置文件管理器的[b]导出[/b]按钮或 [method save_to_file] "
-"方法获得。"
+"从文件中加载一个编辑器功能配置文件。该文件必须遵循 JSON 格式,通过使用功能配"
+"置文件管理器的[b]导出[/b]按钮或 [method save_to_file] 方法获得。"
#: doc/classes/EditorFeatureProfile.xml
msgid ""
@@ -25264,9 +25325,8 @@ msgid ""
"imported using the feature profile manager's [b]Import[/b] button or the "
"[method load_from_file] method."
msgstr ""
-"将编辑器的功能配置保存到 JSON "
-"格式的文件中。然后可以使用功能配置文件管理器的[b]导入[/b]按钮或 [method "
-"load_from_file] 方法导入它。"
+"将编辑器的功能配置保存到 JSON 格式的文件中。然后可以使用功能配置文件管理器的"
+"[b]导入[/b]按钮或 [method load_from_file] 方法导入它。"
#: doc/classes/EditorFeatureProfile.xml
msgid ""
@@ -25274,9 +25334,8 @@ msgid ""
"by [code]class_name[/code]. When disabled, the class won't appear in the "
"Create New Node dialog."
msgstr ""
-"如果 [code]disable[/code] 为 [code]true[/code],则禁用 "
-"[code]class_name[/code] 指定的类。禁用后,该类不会出现在“创建新 "
-"Node”对话框中。"
+"如果 [code]disable[/code] 为 [code]true[/code],则禁用 [code]class_name[/"
+"code] 指定的类。禁用后,该类不会出现在“创建新 Node”对话框中。"
#: doc/classes/EditorFeatureProfile.xml
msgid ""
@@ -25285,9 +25344,9 @@ msgid ""
"appear in the Create New Node dialog but the inspector will be read-only "
"when selecting a node that extends the class."
msgstr ""
-"如果 [code]disable[/code] 为 [code]true[/code],则禁用 "
-"[code]class_name[/code] 指定的类的编辑。禁用后,该类仍然会出现在“创建新 "
-"Node”对话框中,但在选中继承的节点时,检查器将只读。"
+"如果 [code]disable[/code] 为 [code]true[/code],则禁用 [code]class_name[/"
+"code] 指定的类的编辑。禁用后,该类仍然会出现在“创建新 Node”对话框中,但在选中"
+"继承的节点时,检查器将只读。"
#: doc/classes/EditorFeatureProfile.xml
msgid ""
@@ -25296,10 +25355,9 @@ msgid ""
"When a property is disabled, it won't appear in the inspector when selecting "
"a node that extends the class specified by [code]class_name[/code]."
msgstr ""
-"如果 [code]disable[/code] 为 [code]true[/code],则禁用 "
-"[code]class_name[/code] 指定的类中的 [code]property[/code] "
-"属性的编辑。禁用某一属性后,选中继承自 [code]class_name[/code] "
-"指定的类的节点时,这个属性将不会出现在检查器中。"
+"如果 [code]disable[/code] 为 [code]true[/code],则禁用 [code]class_name[/"
+"code] 指定的类中的 [code]property[/code] 属性的编辑。禁用某一属性后,选中继承"
+"自 [code]class_name[/code] 指定的类的节点时,这个属性将不会出现在检查器中。"
#: doc/classes/EditorFeatureProfile.xml
msgid ""
@@ -29688,8 +29746,8 @@ msgid ""
"HDR values to be suitable for rendering on a SDR display. (Godot doesn't "
"support rendering on HDR displays yet.)"
msgstr ""
-"要使用的色调映射模式。色调映射是将 HDR 值“转换”为适合在 SDR "
-"显示器上呈现的值过程。(Godot 尚不支持在 HDR 显示器上进行渲染。)"
+"要使用的色调映射模式。色调映射是将 HDR 值“转换”为适合在 SDR 显示器上呈现的值"
+"过程。(Godot 尚不支持在 HDR 显示器上进行渲染。)"
#: doc/classes/Environment.xml
msgid ""
@@ -30146,11 +30204,13 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
-"将整个文件作为 [String] 字符串返回。\n"
-"将按照 UTF-8 编码解析文本。"
#: doc/classes/File.xml
msgid "Returns next [code]len[/code] bytes of the file as a [PoolByteArray]."
@@ -30932,13 +30992,16 @@ msgstr ""
"另请参阅 [method CanvasItem.draw_string]。"
#: doc/classes/Font.xml
+#, fuzzy
msgid ""
"Draw character [code]char[/code] into a canvas item using the font at a "
"given position, with [code]modulate[/code] color, and optionally kerning if "
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
"使用字体在画布项目的指定位置绘制字符 [code]char[/code],使用的颜色是 "
"[code]modulate[/code],并且会根据宽度做裁剪,如果传入了 [code]next[/code] 还"
@@ -31905,11 +31968,11 @@ msgid ""
"(hole) produced which could be distinguished by calling [method "
"is_polygon_clockwise]."
msgstr ""
-"将[code]polygon_a[/code]与[code]polygon_b[/code]相交并返回相交的多边形数组。"
-"这在多边形之间执行[constant OPERATION_INTERSECTION]。换句话说,返回多边形共享"
-"的公共区域。如果没有发生相交,则返回一个空数组。\n"
-"该操作可能导致产生外部多边形(边界)和内部多边形(孔),可以通过调用[method "
-"is_polygon_clockwise]来区分。"
+"将 [code]polygon_a[/code] 与 [code]polygon_b[/code] 相交并返回相交的多边形数"
+"组。这在多边形之间执行 [constant OPERATION_INTERSECTION]。换句话说,返回多边"
+"形共享的公共区域。如果没有发生相交,则返回一个空数组。\n"
+"该操作可能导致产生外部多边形(边界)和内部多边形(孔),可以通过调用 [method "
+"is_polygon_clockwise] 来区分。"
#: doc/classes/Geometry.xml
msgid ""
@@ -31968,10 +32031,9 @@ msgid ""
"[Vector2] that specifies the positions of each tile, [code]size[/code] "
"contains the overall size of the whole atlas as [Vector2]."
msgstr ""
-"给定表示图块的 [Vector2] "
-"数组,构建一个地图集。返回的字典有两个键:[code]points[/code] 是 [Vector2] "
-"的数组,用于指定每个图块的位置,[code]size[/code] 包含整个图集的整体大小,"
-"是一个 [Vector2]。"
+"给定表示图块的 [Vector2] 数组,构建一个地图集。返回的字典有两个键:"
+"[code]points[/code] 是 [Vector2] 的数组,用于指定每个图块的位置,[code]size[/"
+"code] 包含整个图集的整体大小,是一个 [Vector2]。"
#: doc/classes/Geometry.xml
msgid ""
@@ -32047,14 +32109,14 @@ msgid ""
"(hole) produced which could be distinguished by calling [method "
"is_polygon_clockwise]."
msgstr ""
-"通过[code]delta[/code]单位(像素)对[code]多边形线polyline[/code]进行充气或放"
-"气,产生多边形。如果[code]delta[/code]为正数,则使多段线向外增长。返回一个多"
-"边形数组,因为充气/放气可能导致多个离散的多边形。如果[code]delta[/code]为负"
-"数,返回一个空数组。\n"
-"每个多边形的顶点将由[code]join_type[/code]决定,见[enum PolyJoinType]。\n"
-"每个多边形的端点将由[code]end_type[/code]决定,见[enum PolyEndType]。\n"
-"该操作可能会产生一个外部多边形(边界)和内部多边形(孔),可以通过调用"
-"[method is_polygon_clockwise]来区分。"
+"对多段线 [code]polyline[/code]进行 [code]delta[/code] 个单位(像素)的充气或"
+"放气,产生多边形。如果 [code]delta[/code] 为正数,则使多段线向外增长。返回一"
+"个多边形数组,因为充气/放气可能导致多个离散的多边形。如果 [code]delta[/code] "
+"为负数,返回一个空数组。\n"
+"每个多边形的顶点将由 [code]join_type[/code] 决定,见 [enum PolyJoinType]。\n"
+"每个多边形的端点将由 [code]end_type[/code] 决定,见 [enum PolyEndType]。\n"
+"该操作可能会产生一个外部多边形(边界)和内部多边形(孔),可以通过调用 "
+"[method is_polygon_clockwise] 来区分。"
#: doc/classes/Geometry.xml
msgid ""
@@ -32071,9 +32133,9 @@ msgid ""
"[code]b[/code] and [code]c[/code]. If yes, returns the point of intersection "
"as [Vector3]. If no intersection takes place, an empty [Variant] is returned."
msgstr ""
-"测试从[code]from[/code]开始,方向为[code]dir[/code]的3D射线是否与[code]a[/"
-"code]、[code]b[/code]和[code]c[/code]指定的三角形相交。如果是,返回相交点为"
-"[Vector3]。如果没有发生相交,将返回一个空的[Variant]。"
+"测试从 [code]from[/code] 开始,方向为 [code]dir[/code] 的 3D 射线是否与 "
+"[code]a[/code]、[code]b[/code] 和 [code]c[/code] 指定的三角形相交。如果是,返"
+"回相交点为 [Vector3]。如果没有发生相交,将返回一个空的 [Variant]。"
#: doc/classes/Geometry.xml
msgid ""
@@ -32893,12 +32955,16 @@ msgid ""
msgstr "颜色插值器资源,可用于在用户定义的颜色点之间生成颜色。"
#: doc/classes/Gradient.xml
+#, fuzzy
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
"给定一组颜色,这个资源将依次两两插值。这意味着,如果你有颜色 1、颜色 2和颜色 "
"3,渐变将从颜色 1 插值到颜色2、从颜色 2 插值到颜色 3。渐变最初有两种颜色(黑"
@@ -33204,8 +33270,8 @@ msgid ""
"Makes it not possible to connect between two different slot types. The type "
"is defined with the [method GraphNode.set_slot] method."
msgstr ""
-"使得两个不同槽型之间的连接成为不可能。该类型是通过[method GraphNode.set_slot]"
-"方法定义的。"
+"使得两个不同槽型之间的连接成为不可能。该类型是通过 [method GraphNode."
+"set_slot] 方法定义的。"
#: doc/classes/GraphEdit.xml
msgid ""
@@ -33231,7 +33297,7 @@ msgstr ""
#: doc/classes/GraphEdit.xml
msgid "Sets the specified [code]node[/code] as the one selected."
-msgstr "选中一个特定的节点 [code]node[/code]."
+msgstr "将指定的 [code]node[/code] 节点设置为选中的节点。"
#: doc/classes/GraphEdit.xml
msgid "If [code]true[/code], the minimap is visible."
@@ -33251,7 +33317,8 @@ msgstr "小图矩形的大小。地图自身基于网格区域的大小,并被
msgid ""
"If [code]true[/code], enables disconnection of existing connections in the "
"GraphEdit by dragging the right end."
-msgstr "如果为 [code]true[/code],通过拖动右端,可以断开 GraphEdit 中现有的连接。"
+msgstr ""
+"如果为 [code]true[/code],通过拖动右端,可以断开 GraphEdit 中现有的连接。"
#: doc/classes/GraphEdit.xml
msgid "The scroll offset."
@@ -33501,7 +33568,7 @@ msgstr "返回槽[code]idx[/code]的左边(输入)颜色[Color]。"
#: doc/classes/GraphNode.xml
msgid "Returns the right (output) [Color] of the slot [code]idx[/code]."
-msgstr "返回槽[code]idx[/code]的右边(输出)颜色[Color]。"
+msgstr "返回槽[code]idx[/code]的右边(输出)颜色 [Color]。"
#: doc/classes/GraphNode.xml
msgid "Returns the left (input) type of the slot [code]idx[/code]."
@@ -33539,17 +33606,17 @@ msgid ""
"Individual properties can be set using one of the [code]set_slot_*[/code] "
"methods. You must enable at least one side of the slot to do so."
msgstr ""
-"设置ID为[code]idx[/code]的插槽的属性。\n"
-"如果[code]enable_left[/code]/[code]right[/code],就会出现一个端口,该插槽就可"
-"以从这一侧连接。\n"
-"[code]type_left[/code]/[code]right[/code]是端口的一个任意类型。只有具有相同类"
-"型值的端口才能被连接。\n"
-"[code]color_left[/code]/[code]right[/code]是端口在这一侧的图标的色调。\n"
-"[code]custom_left[/code]/[code]right[/code]是这一侧的端口的自定义纹理。\n"
-"[b]注意:[/b]这个方法只设置槽的属性。要创建槽,需要在GraphNode中添加一个"
-"[Control]的派生类。\n"
-"可以使用[code]set_slot_*[/code]方法之一来设置单个属性。你必须至少启用插槽的一"
-"边才能这样做。"
+"设置 ID 为 [code]idx[/code] 的插槽的属性。\n"
+"如果 [code]enable_left[/code]/[code]right[/code],就会出现一个端口,该插槽就"
+"可以从这一侧连接。\n"
+"[code]type_left[/code]/[code]right[/code] 是端口的一个任意类型。只有具有相同"
+"类型值的端口才能被连接。\n"
+"[code]color_left[/code]/[code]right[/code] 是端口在这一侧的图标的色调。\n"
+"[code]custom_left[/code]/[code]right[/code] 是这一侧的端口的自定义纹理。\n"
+"[b]注意:[/b]这个方法只设置槽的属性。要创建槽,需要在 GraphNode 中添加一个 "
+"[Control] 的派生类。\n"
+"可以使用 [code]set_slot_*[/code] 方法之一来设置单个属性。你必须至少启用插槽的"
+"一边才能这样做。"
#: doc/classes/GraphNode.xml
msgid ""
@@ -33563,7 +33630,8 @@ msgstr ""
msgid ""
"Sets the [Color] of the right (output) side of the slot [code]idx[/code] to "
"[code]color_right[/code]."
-msgstr "将插槽 [code]idx[/code] 的右侧(输出)的颜色 [Color] 设置为 "
+msgstr ""
+"将插槽 [code]idx[/code] 的右侧(输出)的颜色 [Color] 设置为 "
"[code]color_right[/code]。"
#: doc/classes/GraphNode.xml
@@ -33622,9 +33690,9 @@ msgid ""
"[b]Note:[/b] Dragging the handle will only emit the [signal resize_request] "
"signal, the GraphNode needs to be resized manually."
msgstr ""
-"如果为 [code]true[/code],用户可以调整图形节点GraphNode的大小。\n"
-"[b]注意:[/b]拖动手柄只会发出 [signal resize_request] 信号,图形节点GraphNode"
-"需要手动调整大小。"
+"如果为 [code]true[/code],用户可以调整 GraphNode 的大小。\n"
+"[b]注意:[/b]拖动手柄只会发出 [signal resize_request] 信号,GraphNode 需要手"
+"动调整大小。"
#: doc/classes/GraphNode.xml
msgid "If [code]true[/code], the GraphNode is selected."
@@ -33637,7 +33705,7 @@ msgid ""
"the GraphNode needs to be removed manually."
msgstr ""
"如果为 [code]true[/code],则关闭按钮将可见。\n"
-"[b]注意:[/b]按下它只会发出[signal close_request]信号,需要手动删除图形节点"
+"[b]注意:[/b]按下它只会发出 [signal close_request] 信号,需要手动删除 "
"GraphNode。"
#: doc/classes/GraphNode.xml
@@ -34561,11 +34629,12 @@ msgid "Low-level hyper-text transfer protocol client."
msgstr "低级别的超文本传输协议客户端。"
#: doc/classes/HTTPClient.xml
+#, fuzzy
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -37088,7 +37157,7 @@ msgstr "下一个顶点的 UV。"
#: doc/classes/ImmediateGeometry.xml
msgid "The next vertex's second layer UV."
-msgstr "下一个顶点的第二层UV。"
+msgstr "下一个顶点的第二层 UV。"
#: doc/classes/Input.xml
msgid "A singleton that deals with inputs."
@@ -37163,13 +37232,13 @@ msgid ""
"measurement for each axis is m/s² while on iOS and UWP it's a multiple of "
"the Earth's gravitational acceleration [code]g[/code] (~9.81 m/s²)."
msgstr ""
-"如果设备有加速度传感器,则返回设备的加速度。否则,该方法返回[constant "
+"如果设备有加速度传感器,则返回设备的加速度。否则,该方法返回 [constant "
"Vector3.ZERO]。\n"
-"请注意,即使你的设备有一个加速度计,当从编辑器运行时,该方法也会返回一个空的"
-"[Vector3]。你必须将项目导出到一个支持的设备上,以便从加速度计上读取数值。\n"
-"[b]注意:[/b]这个方法只在iOS、Android和UWP上工作。在其他平台上,它总是返回"
-"[constant Vector3.ZERO]。在Android上,每个轴的测量单位是m/s²,而在iOS和UWP"
-"上,它是地球重力加速度的倍数[code]g[/code](~9.81 m/s²)。"
+"请注意,即使你的设备有加速度计,当从编辑器运行时,该方法也会返回空的 "
+"[Vector3]。你必须将项目导出到支持的设备上,才能从加速度计上读到数值。\n"
+"[b]注意:[/b]这个方法只在 iOS、Android 和 UWP 上有效。在其他平台上,它总是返"
+"回 [constant Vector3.ZERO]。在 Android 上,每个轴的测量单位是 m/s²,而在 iOS "
+"和 UWP 上,它是地球重力加速度的倍数 [code]g[/code](~9.81 m/s²)。"
#: doc/classes/Input.xml
msgid ""
@@ -37321,9 +37390,9 @@ msgid ""
"[b]Note:[/b] This method only works on Android, iOS and UWP. On other "
"platforms, it always returns [constant Vector3.ZERO]."
msgstr ""
-"如果设备有磁力传感器,则返回设备所有轴的磁场强度,微特斯拉。否则,该方法返回"
-"[constant Vector3.ZERO]。\n"
-"[b]注意:[/b]这个方法只在Android、iOS和UWP上有效。在其他平台上,总是返回"
+"如果设备有磁力传感器,则返回设备所有轴的磁场强度,单位为微特斯拉。否则,该方"
+"法返回 [constant Vector3.ZERO]。\n"
+"[b]注意:[/b]这个方法只在 Android、iOS 和 UWP 上有效。在其他平台上,总是返回 "
"[constant Vector3.ZERO]。"
#: doc/classes/Input.xml
@@ -37422,7 +37491,7 @@ msgid ""
"Returns [code]true[/code] if you are pressing the joypad button (see [enum "
"JoystickList])."
msgstr ""
-"如果你正在按下手柄按钮,则返回 [code]true[/code],参阅[enum JoystickList]。"
+"如果你正在按下手柄按钮,则返回 [code]true[/code](见 [enum JoystickList])。"
#: doc/classes/Input.xml
msgid ""
@@ -37641,12 +37710,16 @@ msgid "Stops the vibration of the joypad."
msgstr "停止游戏手柄的振动。"
#: doc/classes/Input.xml
+#, fuzzy
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
"振动 Android 和 iOS 设备。\n"
"[b]注意:[/b]Android 需要导出设置中的 [code]VIBRATE[/code] 权限。iOS 不支持持"
@@ -37824,13 +37897,13 @@ msgstr "移动光标。表示那些东西可以移动。"
msgid ""
"Vertical split mouse cursor. On Windows, it's the same as [constant "
"CURSOR_VSIZE]."
-msgstr "垂直拆分鼠标光标。在 Windows 上,它与 [constant CURSOR_VSIZE] 相同。"
+msgstr "垂直拆分鼠标光标。在 Windows 上与 [constant CURSOR_VSIZE] 相同。"
#: doc/classes/Input.xml
msgid ""
"Horizontal split mouse cursor. On Windows, it's the same as [constant "
"CURSOR_HSIZE]."
-msgstr "水平分割的鼠标光标。在 Windows 上,它与 [constant CURSOR_HSIZE] 相同。"
+msgstr "水平分割的鼠标光标。在 Windows 上与 [constant CURSOR_HSIZE] 相同。"
#: doc/classes/Input.xml
msgid "Help cursor. Usually a question mark."
@@ -38712,8 +38785,12 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
-msgstr "不是线程安全的。如果从线程调用,请使用 [method Object.call_deferred]。"
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
+msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
@@ -38726,6 +38803,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -38892,8 +38979,8 @@ msgid ""
"Removes all of a [code]hostname[/code]'s cached references. If no "
"[code]hostname[/code] is given, all cached IP addresses are removed."
msgstr ""
-"移除所有[code]hostname[/code]主机名的缓存引用。如果没有给出[code]hostname[/"
-"code],所有缓存的IP地址将被删除。"
+"移除所有 [code]hostname[/code] 主机名的缓存引用。如果没有给出 "
+"[code]hostname[/code],所有缓存的 IP 地址将被删除。"
#: doc/classes/IP.xml
msgid ""
@@ -38939,7 +39026,7 @@ msgid ""
"[method get_resolve_item_status])."
msgstr ""
"给定队列 [code]id[/code],返回排队主机名的 IP 地址。出现错误或解析尚未发生时"
-"返回一个空字符串(参阅 [method get_resolve_item_status])。"
+"返回一个空字符串(见 [method get_resolve_item_status])。"
#: doc/classes/IP.xml
msgid ""
@@ -39460,11 +39547,11 @@ msgstr "指导线的颜色[Color]。指导线是在每行项目之间画的一
#: doc/classes/ItemList.xml
msgid "The horizontal spacing between items."
-msgstr "项目菜单之间的水平间距。"
+msgstr "项目之间的水平间距。"
#: doc/classes/ItemList.xml
msgid "The spacing between item's icon and text."
-msgstr "项目菜单的图标和文本之间的间距。"
+msgstr "项目的图标和文本之间的间距。"
#: doc/classes/ItemList.xml
msgid "The vertical spacing between each line of text."
@@ -39482,31 +39569,31 @@ msgstr "项目文本的字体 [Font] 。"
msgid ""
"Default [StyleBox] for the [ItemList], i.e. used when the control is not "
"being focused."
-msgstr "[ItemList] 的默认样式盒 [StyleBox],即在控件未获得焦点时使用。"
+msgstr "该 [ItemList] 的默认样式盒 [StyleBox],即会在该控件未获得焦点时使用。"
#: doc/classes/ItemList.xml
msgid "[StyleBox] used when the [ItemList] is being focused."
-msgstr "当 [ItemList] 被聚焦时使用的样式盒 [StyleBox]。"
+msgstr "当该 [ItemList] 获得焦点时所使用的样式盒 [StyleBox]。"
#: doc/classes/ItemList.xml
msgid "[StyleBox] used for the cursor, when the [ItemList] is being focused."
-msgstr "当 [ItemList] 被聚焦时,用于光标的样式盒 [StyleBox]。"
+msgstr "当该 [ItemList] 获得焦点时,用作光标的样式盒 [StyleBox]。"
#: doc/classes/ItemList.xml
msgid ""
"[StyleBox] used for the cursor, when the [ItemList] is not being focused."
-msgstr "当 [ItemList] 没有被聚焦时,用于光标的样式盒 [StyleBox]。"
+msgstr "当该 [ItemList] 未获得焦点时,用作光标的样式盒 [StyleBox]。"
#: doc/classes/ItemList.xml
msgid ""
"[StyleBox] for the selected items, used when the [ItemList] is not being "
"focused."
-msgstr "所选项的样式盒 [StyleBox],当 [ItemList] 没有获得焦点时使用。"
+msgstr "所选项的样式盒 [StyleBox],当该 [ItemList] 未获得焦点时使用。"
#: doc/classes/ItemList.xml
msgid ""
"[StyleBox] for the selected items, used when the [ItemList] is being focused."
-msgstr "所选项的样式盒 [StyleBox],当 [ItemList] 没有获得焦点时使用。"
+msgstr "所选项的样式盒 [StyleBox],当该 [ItemList] 获得焦点时使用。"
#: doc/classes/JavaScript.xml
msgid ""
@@ -39538,8 +39625,8 @@ msgid ""
"JavaScript. The reference must be kept until the callback happens, or it "
"won't be called at all. See [JavaScriptObject] for usage."
msgstr ""
-"创建脚本函数的引用,可以被JavaScript用作回调。这个引用必须保持到回调发生为"
-"止,否则它就不会被调用。使用方法参阅[JavaScriptObject]。"
+"创建脚本函数的引用,可以被 JavaScript 用作回调。这个引用必须保持到回调发生为"
+"止,否则它就不会被调用。使用方法见 [JavaScriptObject]。"
#: doc/classes/JavaScript.xml
msgid ""
@@ -39547,8 +39634,9 @@ msgid ""
"[code]object[/code] must a valid property of the JavaScript [code]window[/"
"code]. See [JavaScriptObject] for usage."
msgstr ""
-"使用[code]new[/code]构造函数创建新的JavaScript对象。[code]object[/code]必须是"
-"JavaScript[code]window[/code]的有效属性。使用方法参阅[JavaScriptObject]。"
+"使用 [code]new[/code] 构造函数创建新的 JavaScript 对象。[code]object[/code] "
+"必须是 JavaScript [code]window[/code] 的有效属性。使用方法见 "
+"[JavaScriptObject]。"
#: doc/classes/JavaScript.xml
msgid ""
@@ -39563,12 +39651,12 @@ msgid ""
"[b]Note:[/b] Browsers might ask the user for permission or block the "
"download if multiple download requests are made in a quick succession."
msgstr ""
-"提示用户下载一个包含指定[code]buffer[/code]缓冲区的文件。该文件将具有给定的"
-"[code]name[/code]和[code]mime[/code]类型。\n"
-"[b]注意:[/b]浏览器可能会根据文件[code]name[/code]的扩展名,覆盖所提供的"
-"[url=https://en.wikipedia.org/wiki/Media_type]MIME类型[/url]。\n"
-"[b]注意:[/b]如果[method download_buffer]不是由用户交互调用,如点击按钮,浏览"
-"器可能会阻止下载。\n"
+"提示用户下载一个包含指定 [code]buffer[/code] 缓冲区的文件。该文件将具有给定"
+"的 [code]name[/code] 和 [code]mime[/code] 类型。\n"
+"[b]注意:[/b]浏览器可能会根据文件 [code]name[/code] 的扩展名,覆盖所提供的 "
+"[url=https://en.wikipedia.org/wiki/Media_type]MIME 类型[/url]。\n"
+"[b]注意:[/b]如果 [method download_buffer] 不是由用户交互调用,如点击按钮,浏"
+"览器可能会阻止下载。\n"
"[b]注意:[/b]如果快速连续提出多个下载请求,浏览器可能会要求用户同意或阻止下"
"载。"
@@ -39582,10 +39670,11 @@ msgid ""
"evaluated in the execution context of a function within the engine's runtime "
"environment."
msgstr ""
-"在浏览器窗口中执行字符串[code]code[/code]作为JavaScript代码。这是对实际的全局"
-"JavaScript函数[code]eval()[/code]的调用。\n"
-"如果[code]use_global_execution_context[/code]是[code]true[/code],代码将在全"
-"局执行环境中被求值。否则,它将在引擎运行时环境中函数的执行上下文中进行求值。"
+"在浏览器窗口中将 [code]code[/code] 字符串作为 JavaScript 代码执行。这是对实际"
+"的全局 JavaScript 函数 [code]eval()[/code] 的调用。\n"
+"如果 [code]use_global_execution_context[/code] 为 [code]true[/code],代码将在"
+"全局执行环境中被求值。否则,它将在引擎运行时环境中函数的执行上下文中进行求"
+"值。"
#: doc/classes/JavaScript.xml
msgid ""
@@ -39595,9 +39684,9 @@ msgid ""
"which will contain the JavaScript [code]arguments[/code]. See "
"[JavaScriptObject] for usage."
msgstr ""
-"返回可以被脚本使用的JavaScript对象的接口。这个[code]interface[/code]必须是"
-"JavaScript[code]window[/code]的一个有效属性。回调必须接受一个[Array]参数,它"
-"将包含JavaScript [code]arguments[/code]。参阅[JavaScriptObject]的用法。"
+"返回可以被脚本使用的 JavaScript 对象的接口。这个 [code]interface[/code] 必须"
+"是 JavaScript [code]window[/code] 的一个有效属性。回调必须接受一个 [Array] 参"
+"数,它将包含JavaScript [code]arguments[/code]。用法见 [JavaScriptObject]。"
#: doc/classes/JavaScript.xml
msgid ""
@@ -39796,7 +39885,8 @@ msgstr ""
#: doc/classes/Joint2D.xml
msgid ""
"If [code]true[/code], [member node_a] and [member node_b] can not collide."
-msgstr "如果为 [code]true[/code],[member node_a]和[member node_b]不能碰撞。"
+msgstr ""
+"如果为 [code]true[/code],则 [member node_a] 和 [member node_b] 无法碰撞。"
#: doc/classes/Joint2D.xml
msgid "The first body attached to the joint. Must derive from [PhysicsBody2D]."
@@ -39805,7 +39895,7 @@ msgstr "连接到关节的第一个实体。必须继承自 [PhysicsBody2D] 。"
#: doc/classes/Joint2D.xml
msgid ""
"The second body attached to the joint. Must derive from [PhysicsBody2D]."
-msgstr "连接到关节的第二实体。必须继承自 [PhysicsBody2D]。"
+msgstr "连接到关节的第二个实体。必须继承自 [PhysicsBody2D]。"
#: doc/classes/JSON.xml
msgid "Helper class for parsing JSON data."
@@ -40009,10 +40099,10 @@ msgid ""
"standard on top of [Dictionary]; you will have to convert between a "
"[Dictionary] and [JSON] with other functions."
msgstr ""
-"[url=https://www.jsonrpc.org/]JSON-RPC[/url]是一个标准,它将一个方法调用包装"
-"在一个[JSON]对象中。该对象有一个特定的结构,并标识出哪个方法被调用,该函数的"
-"参数,并携带一个ID来跟踪响应。这个类在[Dictionary]之上实现了该标准;你必须用"
-"其他函数在[Dictionary]和[JSON]之间进行转换。"
+"[url=https://www.jsonrpc.org/]JSON-RPC[/url] 是一项标准,它将方法调用包装在一"
+"个 [JSON] 对象中。该对象有一个特定的结构,并标识出哪个方法被调用,该函数的参"
+"数,并携带一个 ID 来跟踪响应。这个类在 [Dictionary] 之上实现了该标准;你必须"
+"用其他函数在 [Dictionary] 和 [JSON] 之间进行转换。"
#: doc/classes/JSONRPC.xml
msgid ""
@@ -40154,8 +40244,8 @@ msgid ""
"move_and_slide_with_snap] and when [method is_on_floor] returns [code]true[/"
"code]."
msgstr ""
-"返回最后一个碰撞点的地板的表面法线。只有在调用[method move_and_slide]或"
-"[method move_and_slide_with_snap]后,以及[method is_on_floor]返回 "
+"返回最后一个碰撞点的地板的表面法线。只有在调用 [method move_and_slide] 或 "
+"[method move_and_slide_with_snap] 后,以及 [method is_on_floor] 返回 "
"[code]true[/code] 时才有效。"
#: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml
@@ -40326,8 +40416,8 @@ msgid ""
"[code]lock[/code]. See also [member move_lock_x], [member move_lock_y] and "
"[member move_lock_z]."
msgstr ""
-"根据[code]lock[/code]的值,锁定或解锁指定的[code]axis[/code]。参阅[member "
-"move_lock_x]、[member move_lock_y]和[member move_lock_z]。"
+"根据 [code]lock[/code] 的值,锁定或解锁指定的 [code]axis[/code]。另请参阅 "
+"[member move_lock_x]、[member move_lock_y] 和 [member move_lock_z]。"
#: doc/classes/KinematicBody.xml
msgid ""
@@ -40369,8 +40459,8 @@ msgid ""
"scale to avoid visible jittering, or for stability with a stack of kinematic "
"bodies."
msgstr ""
-"在运动函数中用于碰撞恢复的额外边距,参阅 [method move_and_collide]、[method "
-"move_and_slide]、[method move_and_slide_with_snap]。\n"
+"在运动函数中用于碰撞恢复的额外边距(见 [method move_and_collide]、[method "
+"move_and_slide]、[method move_and_slide_with_snap])。\n"
"如果物体离另一个物体至少这么近,它就会认为它们正在发生碰撞,并在执行实际运动"
"之前被推开。\n"
"一个较高的值意味着它在检测碰撞时更加灵活,这有助于持续检测墙壁和地板。\n"
@@ -40384,9 +40474,9 @@ msgid ""
"for example on moving platforms. Do [b]not[/b] use together with [method "
"move_and_slide] or [method move_and_collide] functions."
msgstr ""
-"如果为 [code]true[/code],则物体的运动将与物理帧同步。当通过[AnimationPlayer]"
-"为运动设置动画时,例如在移动平台上,这个功能很有用。请[b]不要[/b]与 [method "
-"move_and_slide] 或 [method move_and_collide] 函数一起使用。"
+"如果为 [code]true[/code],则物体的运动将与物理帧同步。当通过 "
+"[AnimationPlayer] 为运动设置动画时,例如在移动平台上,这个功能很有用。请[b]不"
+"要[/b]与 [method move_and_slide] 或 [method move_and_collide] 函数一起使用。"
#: doc/classes/KinematicBody.xml
msgid ""
@@ -40455,14 +40545,14 @@ msgid ""
"characters that collide against a world, but don't require advanced physics."
msgstr ""
"运动体是特殊类型的物体,旨在让用户控制。它们完全不受物理影响;对于其他类型的"
-"物体,如角色或刚体,它们与静态体一样。然而,它们有两个主要用途:\n"
-"[b]模拟运动:[/b]当这些物体被手动移动时,无论是从代码还是从"
-"[AnimationPlayer],将[member AnimationPlayer.playback_process_mode]设置为 "
-"\"physics\",物理将自动计算其线性和角速度的估值。这使得它们对于移动平台或其他"
-"AnimationPlayer控制的物体非常有用,比如一扇门、一座能打开的桥等。\n"
-"[b]运动型角色:[/b] KinematicBody2D也有一个API用于移动物体([method "
-"move_and_collide]和[method move_and_slide]方法),同时进行碰撞测试。这使得它"
-"们在实现对世界进行碰撞,但不需要高级物理的角色时非常有用。"
+"物体,如角色或刚体,它们与静态体一样。然而,它们有两个主要用途:\n"
+"[b]模拟运动:[/b]当这些物体被手动移动时,无论是从代码还是从 "
+"[AnimationPlayer],将 [member AnimationPlayer.playback_process_mode] 设置"
+"为“physics”,物理将自动计算其线性和角速度的估值。这使得它们对于移动平台或其"
+"他 AnimationPlayer 控制的物体非常有用,比如门、吊桥等。\n"
+"[b]运动学角色:[/b]KinematicBody2D 也有一个 API 用于移动物体([method "
+"move_and_collide] 和 [method move_and_slide] 方法),同时进行碰撞测试。这使得"
+"它们在实现对世界进行碰撞,但不需要高级物理的角色时非常有用。"
#: doc/classes/KinematicBody2D.xml
msgid "Using KinematicBody2D"
@@ -41028,8 +41118,8 @@ msgid ""
"sorted from back to front (subject to priority)."
msgstr ""
"设置文本轮廓的渲染优先级。优先级高的物体将被排序在优先级低的物体前面。\n"
-"[b]注意:[/b]仅在 [member alpha_cut] 为 [constant "
-"ALPHA_CUT_DISABLED](默认值)时适用。\n"
+"[b]注意:[/b]仅在 [member alpha_cut] 为 [constant ALPHA_CUT_DISABLED](默认"
+"值)时适用。\n"
"[b]注意:[/b]仅适用于透明物体的排序。这不会影响透明物体相对于不透明物体的排序"
"方式。这是因为不透明对象不被排序,而透明对象则从后往前排序(取决于优先级)。"
@@ -41049,8 +41139,8 @@ msgid ""
"sorted from back to front (subject to priority)."
msgstr ""
"设置文本的渲染优先级。优先级高的物体将被排序在优先级低的物体前面。\n"
-"[b]注意:[/b]仅在 [member alpha_cut] 为 [constant "
-"ALPHA_CUT_DISABLED](默认值)时适用。\n"
+"[b]注意:[/b]仅在 [member alpha_cut] 为 [constant ALPHA_CUT_DISABLED](默认"
+"值)时适用。\n"
"[b]注意:[/b]仅适用于透明物体的排序。这不会影响透明物体相对于不透明物体的排序"
"方式。这是因为不透明对象不被排序,而透明对象则从后往前排序(取决于优先级)。"
@@ -41657,42 +41747,40 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-"在 [code]position[/code] 添加点。将点追加到直线的末尾。\n"
-"如果给定了位置 [code]at_position[/code],则在位置 [code]at_position[/code] 之"
-"前插入该点,并将该点(以及之后的每个点)移动到插入点之后。如果未给出位置处的 "
-"[code]at_position[/code],或者是非法值([code]at_position < 0[/code] 或 "
-"[code]at_position >= [method get_point_count][/code]),则该点将追加到点列表"
-"的末尾。"
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
+msgstr ""
#: doc/classes/Line2D.xml
msgid "Removes all points from the line."
msgstr "移除直线上的所有点。"
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr "返回该 Line2D 上点的数量。"
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "返回骨架中的骨骼数量。"
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr "返回点 [code]i[/code] 的位置。"
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "返回索引 [code]point[/code] 处的点的位置。"
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
msgstr "将索引 [code]i[/code] 处的点从直线中移除。"
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
msgstr ""
"用提供的 [code]position[/code] 位置覆盖索引 [code]i[/code] 处点的位置。"
@@ -42323,7 +42411,7 @@ msgstr ""
#: doc/classes/LinkButton.xml
msgid ""
"Determines when to show the underline. See [enum UnderlineMode] for options."
-msgstr "决定何时显示下划线。参阅 [enum UnderlineMode] 的选项。"
+msgstr "决定何时显示下划线。可选项见 [enum UnderlineMode]。"
#: doc/classes/LinkButton.xml
msgid "The LinkButton will always show an underline at the bottom of its text."
@@ -42992,7 +43080,7 @@ msgstr ""
#: doc/classes/MenuButton.xml
msgid "Emitted when [PopupMenu] of this MenuButton is about to show."
-msgstr "当此 MenuButton 的 [PopupMenu] 即将显示时触发。"
+msgstr "当这个 MenuButton 的 [PopupMenu] 即将显示时触发。"
#: doc/classes/MenuButton.xml
msgid "Default text [Color] of the [MenuButton]."
@@ -43590,13 +43678,14 @@ msgid "Node that instances meshes into a scenario."
msgstr "网格实例与场景相结合的节点。"
#: doc/classes/MeshInstance.xml
+#, fuzzy
msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
"MeshInstance 是一个节点,它获取 [Mesh] 资源并创建一个实例,将其添加到当前场景"
"中。这是最常被用来渲染 3D 几何体的类,这可以在很多地方使用 [Mesh] 实例,它允"
@@ -43798,8 +43887,8 @@ msgid ""
"The [Texture] that will be used if using the default [CanvasItemMaterial]. "
"Can be accessed as [code]TEXTURE[/code] in CanvasItem shader."
msgstr ""
-"如果使用默认的[CanvasItemMaterial],就会使用[Texture]。可以在CanvasItem着色器"
-"中作为[code]TEXTURE[/code]访问。"
+"如果使用默认的 [CanvasItemMaterial],就会使用 [Texture]。可以在 CanvasItem 着"
+"色器中作为 [code]TEXTURE[/code] 访问。"
#: doc/classes/MeshInstance2D.xml doc/classes/MultiMeshInstance2D.xml
msgid "Emitted when the [member texture] is changed."
@@ -44169,12 +44258,15 @@ msgstr ""
"set_as_bulk_array] 也可以进行插值。"
#: doc/classes/MultiMesh.xml
+#, fuzzy
msgid ""
"Sets the color of a specific instance by [i]multiplying[/i] the mesh's "
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
"通过[i]乘以[/i]网格的现有顶点颜色来设置特定实例的颜色。\n"
"为了使颜色生效,请确保[MultiMesh]上的[member color_format]不是[code]null[/"
@@ -44435,7 +44527,7 @@ msgid ""
"[code]id[/code] (see [method NetworkedMultiplayerPeer.set_target_peer]). "
"Default ID is [code]0[/code], i.e. broadcast to all peers."
msgstr ""
-"将给定的原始字节 [code]bytes[/code]发送到由 [code]id[/code] 确定的特定对等体"
+"将给定的原始字节 [code]bytes[/code] 发送到由 [code]id[/code] 确定的特定对等体"
"(见 [method NetworkedMultiplayerPeer.set_target_peer])。默认 ID 是 "
"[code]0[/code],即向所有对等体广播。"
@@ -44621,7 +44713,7 @@ msgid ""
"Behave like [constant RPC_MODE_MASTER] but also make the call or property "
"change locally. Analogous to the [code]mastersync[/code] keyword."
msgstr ""
-"类似于 [constant RPC_MODE_MASTER],但也使方法调用或属性改变本地。类似于 "
+"行为类似于 [constant RPC_MODE_MASTER],但也使方法调用或属性改变本地。类似于 "
"[code]mastersync[/code] 关键字。"
#: doc/classes/MultiplayerAPI.xml
@@ -44663,9 +44755,9 @@ msgid ""
"[b]Note:[/b] This function returns [constant OK] if the thread already has "
"ownership of the mutex."
msgstr ""
-"试图锁定此[Mutex],但并不阻塞。成功时返回[constant OK],否则返回[constant "
+"试图锁定此 [Mutex],但并不阻塞。成功时返回 [constant OK],否则返回 [constant "
"ERR_BUSY]。\n"
-"[b]注意:[/b]如果线程已经拥有了该Mutex的所有权,该函数返回[constant OK]。"
+"[b]注意:[/b]如果线程已经拥有了该 Mutex 的所有权,该函数返回 [constant OK]。"
#: doc/classes/Mutex.xml
msgid ""
@@ -44720,7 +44812,7 @@ msgid ""
msgstr ""
"构建基础类型的新对象,并附加此类型的脚本。\n"
"[b]注意:[/b]传递给这个函数的任何参数将被忽略,不会传递给局部构造函数。这将在"
-"未来的API扩展中改变。"
+"未来的 API 扩展中改变。"
#: doc/classes/Navigation.xml
msgid "Mesh-based navigation and pathfinding node."
@@ -45475,7 +45567,7 @@ msgstr "忽略 Y 轴上的碰撞。在水平面上移动时必须为 [code]true[
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid "The maximum number of neighbors for the agent to consider."
-msgstr "代理所需考虑的最大邻居数。"
+msgstr "该代理所需考虑的最大邻居数。"
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid "The maximum speed that an agent can move."
@@ -45576,9 +45668,10 @@ msgid ""
msgstr "抵达由 [method set_target_location] 设置的玩家定义目标时发出通知。"
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
+#, fuzzy
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr "调用 [method set_velocity] 后,计算出防撞速度时发出通知。"
#: doc/classes/NavigationAgent2D.xml
@@ -45680,14 +45773,14 @@ msgid ""
"environment are traversable to aid agents in pathfinding through complicated "
"spaces."
msgstr ""
-"导航网格是多边形的集合,用于定义环境中的哪些区域是可遍历的,以帮助代理在复杂"
+"导航网格是多边形的集合,用于定义环境中的哪些区域是可以穿越的,帮助代理在复杂"
"的空间中寻路。"
#: doc/classes/NavigationMesh.xml doc/classes/NavigationPolygon.xml
msgid ""
"Adds a polygon using the indices of the vertices you get when calling "
"[method get_vertices]."
-msgstr "使用调用[method get_vertices]得到的顶点的索引添加一个多边形。"
+msgstr "使用调用 [method get_vertices] 得到的顶点的索引添加一个多边形。"
#: doc/classes/NavigationMesh.xml
msgid ""
@@ -45711,7 +45804,7 @@ msgstr ""
msgid ""
"Returns a [PoolIntArray] containing the indices of the vertices of a created "
"polygon."
-msgstr "返回包含创建的多边形顶点索引的[PoolIntArray]。"
+msgstr "返回包含创建的多边形顶点索引的 [PoolIntArray]。"
#: doc/classes/NavigationMesh.xml
msgid "Returns the number of polygons in the navigation mesh."
@@ -45721,7 +45814,7 @@ msgstr "返回导航网格中的多边形数量。"
msgid ""
"Returns a [PoolVector3Array] containing all the vertices being used to "
"create the polygons."
-msgstr "返回包含用于创建多边形的所有顶点的[PoolVector3Array]。"
+msgstr "返回包含用于创建多边形的所有顶点的 [PoolVector3Array]。"
#: doc/classes/NavigationMesh.xml
msgid ""
@@ -45739,7 +45832,7 @@ msgstr ""
msgid ""
"Sets the vertices that can be then indexed to create polygons with the "
"[method add_polygon] method."
-msgstr "设置顶点,然后使用 [method add_polygon] 方法创建多边形。"
+msgstr "设置顶点,可以使用 [method add_polygon] 方法对其进行索引,创建多边形。"
#: doc/classes/NavigationMesh.xml
msgid ""
@@ -45781,7 +45874,7 @@ msgstr "用于字段 Y 轴单元的尺寸。"
#: doc/classes/NavigationMesh.xml
msgid ""
"The sampling distance to use when generating the detail mesh, in cell unit."
-msgstr "生成细分网格时使用的采样距离,以单元为单位。"
+msgstr "生成细分网格时使用的采样距离,以单元格为单位。"
#: doc/classes/NavigationMesh.xml
msgid ""
@@ -45802,7 +45895,7 @@ msgid ""
"multiple of [member cell_size]."
msgstr ""
"沿网格边界的轮廓的最大允许长度。\n"
-"[b]注意:[/b]烘焙时,这个值会向上取整到最接近的[member cell_size]的倍数。"
+"[b]注意:[/b]烘焙时,这个值会向上取整到最接近的 [member cell_size] 的倍数。"
#: doc/classes/NavigationMesh.xml
msgid ""
@@ -45856,7 +45949,7 @@ msgstr ""
msgid ""
"The source of the geometry used when baking. See [enum SourceGeometryMode] "
"for possible values."
-msgstr "烘焙时使用的几何体的源。可能的取值见 [enum SourceGeometryMode]。"
+msgstr "烘焙时使用的几何体的来源。可能的取值见 [enum SourceGeometryMode]。"
#: doc/classes/NavigationMesh.xml
msgid ""
@@ -45865,7 +45958,7 @@ msgid ""
"SOURCE_GEOMETRY_GROUPS_WITH_CHILDREN] or [constant "
"SOURCE_GEOMETRY_GROUPS_EXPLICIT]."
msgstr ""
-"要扫描的几何体组的名称。\n"
+"分组的名称,会在该分组中扫描几何体。\n"
"只有当 [member geometry_source_geometry_mode] 是 [constant "
"SOURCE_GEOMETRY_GROUPS_WITH_CHILDREN] 或 [constant "
"SOURCE_GEOMETRY_GROUPS_EXPLICIT] 时才使用。"
@@ -45884,8 +45977,8 @@ msgid ""
"For example, a value of 20 will set the number of cells to 400."
msgstr ""
"如果可能的话,任何小于这个尺寸的区域将与较大的区域合并。\n"
-"[b]注意:[/b]这个值将被平方来计算单元格的数量。例如,一个20的值将把单元格的数"
-"量设为400。"
+"[b]注意:[/b]这个值将被平方来计算单元格的数量。例如,值为 20 时将把单元格的数"
+"量设为 400。"
#: doc/classes/NavigationMesh.xml
msgid ""
@@ -46093,13 +46186,13 @@ msgid ""
"The cost of traveling distances inside this region can be controlled with "
"the [member travel_cost] multiplier."
msgstr ""
-"[NavigationMesh] 的实例。[Navigation] 节点根据它的 [NavigationMesh] "
-"资源来确定哪些可以进行导航、哪些不能。\n"
+"[NavigationMesh] 的实例。[Navigation] 节点根据它的 [NavigationMesh] 资源来确"
+"定哪些可以进行导航、哪些不能。\n"
"默认情况下,这个节点会在默认的 [World] 导航地图中进行注册。如果这个节点是 "
"[Navigation] 节点的子项,就会在该导航节点的导航地图中进行注册。\n"
"如果两个地图共享类似的边界,就可以相互连接。你可以通过 [method "
-"NavigationServer.map_set_edge_connection_margin] "
-"设置两个顶点连接两条边界所需的最小距离。\n"
+"NavigationServer.map_set_edge_connection_margin] 设置两个顶点连接两条边界所需"
+"的最小距离。\n"
"[b]注意:[/b]将两个地区的导航网格相互重叠并不足以将其相连。它们必须共享类似的"
"边界。\n"
"从另一个地区进入这个地图的消耗可以通过 [member enter_cost] 进行控制。\n"
@@ -46430,13 +46523,13 @@ msgid ""
"The pathfinding cost of traveling distances inside this region can be "
"controlled with the [member travel_cost] multiplier."
msgstr ""
-"导航地图上的地区。[Navigation2DServer] 根据它的 [NavigationPolygon] "
-"资源来确定哪些可以进行导航、哪些不能。\n"
+"导航地图上的地区。[Navigation2DServer] 根据它的 [NavigationPolygon] 资源来确"
+"定哪些可以进行导航、哪些不能。\n"
"默认情况下,这个节点会在默认的 [World2D] 导航地图中进行注册。如果这个节点是 "
"[Navigation2D] 节点的子项,就会在该导航节点的导航地图中进行注册。\n"
"如果两个地图共享类似的边界,就可以相互连接。你可以通过 [method "
-"Navigation2DServer.map_set_edge_connection_margin] "
-"设置两个顶点连接两条边界所需的最小距离。\n"
+"Navigation2DServer.map_set_edge_connection_margin] 设置两个顶点连接两条边界所"
+"需的最小距离。\n"
"[b]注意:[/b]将两个地区的导航网格相互重叠并不足以将其相连。它们必须共享类似的"
"边界。\n"
"从另一个地区进入这个地图的寻路消耗可以通过 [member enter_cost] 进行控制。\n"
@@ -46610,15 +46703,26 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
-msgstr "使用给定的 [code]peer_id[/code] 初始化该对等体(必须在 1 和 2147483647 "
-"之间)。"
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
+msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
-msgstr "设置连接的状态。见 [enum NetworkedMultiplayerPeer.ConnectionStatus]。"
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
+msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid "Set the max packet size that this peer can handle."
@@ -46632,15 +46736,15 @@ msgid ""
"it's received)."
msgstr ""
"当本地 [MultiplayerAPI] 生成数据包时触发。\n"
-"你的脚本应当获取这个数据包并将其通过网络发送给请求的对等体("
-"对方收到该数据时应当调用 [method deliver_packet])。"
+"你的脚本应当获取这个数据包并将其通过网络发送给请求的对等体(对方收到该数据时"
+"应当调用 [method deliver_packet])。"
#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml
msgid ""
"PacketPeer implementation using the [url=http://enet.bespin.org/index."
"html]ENet[/url] library."
msgstr ""
-"使用[url=http://enet.bespin.org/index.html]ENet[/url]库实现PacketPeer。"
+"使用 [url=http://enet.bespin.org/index.html]ENet[/url] 库实现 PacketPeer。"
#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml
msgid ""
@@ -46772,8 +46876,9 @@ msgid ""
"needs to be in IPv4 or IPv6 address format, for example: "
"[code]\"192.168.1.1\"[/code]."
msgstr ""
-"创建服务器时使用的IP。默认情况下,这被设置为通配符[code]\"*\"[/code],它绑定"
-"到所有可用的接口。IP地址格式为IPv4或IPv6,例如:[code]\"192.168.1.1\"[/code]。"
+"创建服务器时使用的 IP。默认情况下,这被设置为通配符 [code]\"*\"[/code],它绑"
+"定到所有可用的接口。给定的 IP 地址格式需要是 IPv4 或 IPv6,例如:"
+"[code]\"192.168.1.1\"[/code]。"
#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml
msgid ""
@@ -46932,8 +47037,8 @@ msgid ""
"requiring the fewest CPU resources. This option may also be used to make "
"network debugging using tools like Wireshark easier."
msgstr ""
-"无压缩。这使用最多的带宽,但具有占用最少 CPU 资源的好处。这个选项可以用于"
-"Wireshark等工具使用,更容易进行网络调试。"
+"无压缩。这使用最多的带宽,但具有占用最少 CPU 资源的好处。这个选项可以用于 "
+"Wireshark 等工具使用,更容易进行网络调试。"
#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml
msgid ""
@@ -46960,13 +47065,13 @@ msgid ""
"packets smaller than 4 KB. Therefore, it's recommended to use other "
"compression algorithms in most cases."
msgstr ""
-"[url=https://www.zlib.net/]Zlib[/url]压缩。与 [constant COMPRESS_FASTLZ] 相"
+"[url=https://www.zlib.net/]Zlib[/url] 压缩。与 [constant COMPRESS_FASTLZ] 相"
"比,这个选项使用较少的带宽,但代价是使用更多的 CPU 资源。请注意,这种算法对小"
"于4KB的数据包不是很有效。因此,建议在大多数情况下使用其他压缩算法。"
#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml
msgid "[url=https://facebook.github.io/zstd/]Zstandard[/url] compression."
-msgstr "[url=https://facebook.github.io/zstd/]Zstandard[/url]压缩。"
+msgstr "[url=https://facebook.github.io/zstd/]Zstandard[/url] 压缩。"
#: doc/classes/NetworkedMultiplayerPeer.xml
msgid "A high-level network interface to simplify multiplayer interactions."
@@ -47068,8 +47173,8 @@ msgid ""
"consider whether the order matters."
msgstr ""
"数据包不被确认,对丢失的数据包不进行重发尝试。数据包可以以任何顺序到达。可能"
-"比[constant TRANSFER_MODE_UNRELIABLE_ORDERED]快。用于非关键数据,并注意考虑顺"
-"序是否重要。"
+"比 [constant TRANSFER_MODE_UNRELIABLE_ORDERED] 快。用于非关键数据,并注意考虑"
+"顺序是否重要。"
#: doc/classes/NetworkedMultiplayerPeer.xml
msgid ""
@@ -47080,8 +47185,8 @@ msgid ""
"example movement and positional data."
msgstr ""
"数据包不被确认,对丢失的数据包不进行重发尝试。数据包按其发送顺序接收。有可能"
-"比[constant TRANSFER_MODE_RELIABLE]快。用于非关键数据或由于重发尝试而迟迟不能"
-"收到的数据,例如运动和位置数据。"
+"比 [constant TRANSFER_MODE_RELIABLE] 快。用于非关键数据或由于重发尝试而迟迟不"
+"能收到的数据,例如运动和位置数据。"
#: doc/classes/NetworkedMultiplayerPeer.xml
msgid ""
@@ -47094,8 +47199,8 @@ msgid ""
msgstr ""
"数据包必须被接收,并应进行重发尝试,直到数据包被确认。数据包必须按照其发送的"
"顺序接收。最可靠的传输模式,但由于开销很大,可能是最慢的。用于必须按顺序传输"
-"和到达的关键数据,例如,正在触发的能力或聊天信息。仔细考虑信息是否真的是关键"
-"的,并尽量少用。"
+"和到达的关键数据,例如触发的能力或聊天信息。仔细考虑信息是否真的是关键的,并"
+"尽量少用。"
#: doc/classes/NetworkedMultiplayerPeer.xml
msgid "The ongoing connection disconnected."
@@ -47444,8 +47549,8 @@ msgstr ""
"set_input_as_handled]。\n"
"对于游戏输入,[method _unhandled_input] 和 [method _unhandled_key_input] 通常"
"更适合,因为它们允许 GUI 首先拦截事件。\n"
-"[b]注意:[/b]这个方法只有在节点存在于场景树中时才会被调用(也就是说,如果它"
-"非“孤儿”)。"
+"[b]注意:[/b]这个方法只有在节点存在于场景树中时才会被调用(也就是说,如果它不"
+"是“孤儿”)。"
#: doc/classes/Node.xml
msgid ""
@@ -47508,8 +47613,8 @@ msgid ""
"call with [method request_ready], which may be called anywhere before adding "
"the node again."
msgstr ""
-"当节点“就绪”时被调用。子节点的 [method _ready] 回调会首先被触发,而父节点会在"
-"之后收到就绪通知。\n"
+"当该节点“就绪”时被调用。子节点的 [method _ready] 回调会首先被触发,而父节点会"
+"在之后收到就绪通知。\n"
"对应于 [method Object._notification] 中的 [constant NOTIFICATION_READY] 通"
"知。也请参阅变量的 [code]onready[/code] 关键字。\n"
"通常用于初始化。对于更早的初始化,可以使用 [method Object._init]。也请参阅 "
@@ -47625,10 +47730,10 @@ msgid ""
"will have a human-readable name based on the name of the node being "
"instanced instead of its type."
msgstr ""
-"添加[code]child_node[/code]作为子节点。该子节点在子节点列表中被置于给定的"
-"[code]node[/code]之下。\n"
-"如果[code]legible_unique_name[/code]是[code]true[/code],子节点将有一个基于被"
-"实例化的节点名称,而不是其类型可读的名称。"
+"将 [code]child_node[/code] 添加为子节点。该子节点在子节点列表中被置于给定的 "
+"[code]node[/code] 之下。\n"
+"如果 [code]legible_unique_name[/code] 为 [code]true[/code],子节点将有一个基"
+"于被实例化的节点名称,而不是其类型可读的名称。"
#: doc/classes/Node.xml
msgid ""
@@ -47685,10 +47790,10 @@ msgid ""
"constructor arguments (i.e. needs to supply arguments to [method Object."
"_init] method). In that case, the node will be duplicated without a script."
msgstr ""
-"复制节点,返回一个新的节点。\n"
-"你可以使用[code]flags[/code]来微调这个行为(见[enum DuplicateFlags])。\n"
-"[b]注意:[/b]如果节点包含一个带有构造参数的脚本(即需要向[method Object."
-"_init]方法提供参数),它将不能正常工作。在这种情况下,节点将被复制而没有脚"
+"复制该节点,返回一个新的节点。\n"
+"你可以使用 [code]flags[/code] 来微调这个行为(见 [enum DuplicateFlags])。\n"
+"[b]注意:[/b]如果节点包含一个带有构造参数的脚本(即需要向 [method Object."
+"_init] 方法提供参数),它将不能正常工作。在这种情况下,节点将被复制而没有脚"
"本。"
#: doc/classes/Node.xml
@@ -47746,9 +47851,9 @@ msgid ""
"method is often used for iterating all children of a node.\n"
"To access a child node via its name, use [method get_node]."
msgstr ""
-"按索引返回一个子节点(见[method get_child_count])。这个方法经常被用于遍历一"
+"按索引返回一个子节点(见 [method get_child_count])。这个方法经常被用于遍历一"
"个节点的所有子节点。\n"
-"要通过一个子节点的名字访问它,请使用[method get_node]。"
+"要通过一个子节点的名字访问它,请使用 [method get_node]。"
#: doc/classes/Node.xml
msgid "Returns the number of child nodes."
@@ -47793,13 +47898,13 @@ msgstr ""
#: doc/classes/Node.xml
msgid ""
"Returns the node's index, i.e. its position among the siblings of its parent."
-msgstr "返回节点的索引,即它在其父节点的兄弟节点中的位置。"
+msgstr "返回该节点的索引,即它在其父节点的兄弟节点中的位置。"
#: doc/classes/Node.xml
msgid ""
"Returns the peer ID of the network master for this node. See [method "
"set_network_master]."
-msgstr "返回此节点的网络主节点的对等 ID。见 [method set_network_master]。"
+msgstr "返回这个节点的网络主节点的对等 ID。见 [method set_network_master]。"
#: doc/classes/Node.xml
msgid ""
@@ -47990,7 +48095,7 @@ msgstr "如果给定节点是当前节点的直接或间接子节点,则返回
msgid ""
"Returns [code]true[/code] if the node is folded (collapsed) in the Scene "
"dock."
-msgstr "如果节点在场景dock中折叠(collapsed),则返回 [code]true[/code]。"
+msgstr "如果该节点在场景面板中折叠,则返回 [code]true[/code]。"
#: doc/classes/Node.xml
msgid ""
@@ -48225,10 +48330,10 @@ msgid ""
"of it. After using [code]raise[/code], a Control will be drawn on top of its "
"siblings."
msgstr ""
-"将此节点移到父节点的子节点层次的底部。这在GUI([Control]节点)中通常很有用,"
-"因为它们的绘制顺序取决于它们在树中的顺序。最上面的节点首先被绘制出来,然后在"
-"层次结构中最上面的节点下面的所有同级被依次绘制在它的上面。使用[code]raise[/"
-"code]后,一个控件将被绘制在其同级的上面。"
+"将这个节点移到父节点的子节点层次的底部。这在 GUI([Control]节点)中通常很有"
+"用,因为它们的绘制顺序取决于它们在树中的顺序。最上面的节点首先被绘制出来,然"
+"后在层次结构中最上面的节点下面的所有同级被依次绘制在它的上面。使用 "
+"[code]raise[/code] 后,控件将被绘制在其同级之上。"
#: doc/classes/Node.xml
msgid ""
@@ -48595,8 +48700,8 @@ msgid ""
"character, which is reserved for unique names when using [method add_child]. "
"When setting the name manually, any [code]@[/code] will be removed."
msgstr ""
-"节点的名称。此名称在兄弟节点(来自同一父节点的其他子节点)中是唯一的。当设置"
-"为现有名称时,节点将自动重命名。\n"
+"该节点的名称。这个名称在兄弟节点(来自同一父节点的其他子节点)中是唯一的。当"
+"设置为现有名称时,节点将自动重命名。\n"
"[b]注意:[/b]自动生成的名称可能包含 [code]@[/code] 字符,在使用 [method "
"add_child] 时保留该字符用于唯一名称。手动设置名称时,将删除任何 [code]@[/"
"code]。"
@@ -48617,9 +48722,10 @@ msgid ""
"will not be visible in the scene tree, though it will be visible in the "
"2D/3D view."
msgstr ""
-"节点的所有者。节点的所有者可以是任何其他节点(需要是父节点或祖父节点等,即场"
-"景树上的祖先)。(通过 [PackedScene])保存一个节点时,它拥有的所有节点也会随"
-"之保存。这样就可以创建复杂的 [SceneTree],能够进行实例化与次实例化。\n"
+"该节点的所有者。节点的所有者可以是任何其他节点(需要是沿场景树向上的有效节"
+"点,如父节点、祖父节点等)。(通过 [PackedScene])保存节点时,它拥有的所有节"
+"点也会随之保存。这样就可以创建复杂的 [SceneTree],能够进行实例化与次实例"
+"化。\n"
"[b]注意:[/b]如果想要将子节点持久化进 [PackedScene],除了调用 [method "
"add_child] 之外你还必须设置 [member owner]。通常在[url=$DOCS_URL/tutorials/"
"plugins/running_code_in_the_editor.html]工具脚本[/url]和[url=$DOCS_URL/"
@@ -48650,7 +48756,7 @@ msgid ""
"process priority value is [i]lower[/i] will have their processing callbacks "
"executed first."
msgstr ""
-"节点在已启用的处理回调(即 [constant NOTIFICATION_PROCESS]、[constant "
+"该节点在已启用的处理回调(即 [constant NOTIFICATION_PROCESS]、[constant "
"NOTIFICATION_PHYSICS_PROCESS] 及其内部对应物)的执行顺序中的优先级。进程优先"
"级值[i]较低[/i]的节点将首先执行其处理回调。"
@@ -50342,8 +50448,8 @@ msgid ""
msgstr ""
"为这个 [OmniLight] 使用的阴影渲染模式。见 [enum ShadowMode]。\n"
"[b]注意:[/b]在 GLES2 中,只有支持深度立方体贴图功能的 GPU 才支持 [constant "
-"SHADOW_CUBE]。Radeon HD 4000 系列等较老的 GPU "
-"不支持立方体贴图阴影,因此会回退到使用双抛物面阴影。"
+"SHADOW_CUBE]。Radeon HD 4000 系列等较老的 GPU 不支持立方体贴图阴影,因此会回"
+"退到使用双抛物面阴影。"
#: doc/classes/OmniLight.xml
msgid ""
@@ -50358,8 +50464,8 @@ msgid ""
"SHADOW_DUAL_PARABOLOID], but higher-quality. Only supported on GPUs that "
"feature support for depth cubemaps."
msgstr ""
-"阴影被渲染至一个立方体贴图。比 [constant SHADOW_DUAL_PARABOLOID] "
-"慢,但质量更高。仅在支持深度立方体贴图功能的 GPU 上支持。"
+"阴影被渲染至一个立方体贴图。比 [constant SHADOW_DUAL_PARABOLOID] 慢,但质量更"
+"高。仅在支持深度立方体贴图功能的 GPU 上支持。"
#: doc/classes/OmniLight.xml
msgid "Use more detail vertically when computing the shadow."
@@ -50488,8 +50594,8 @@ msgid ""
"value of 1 means all the octaves have the same contribution, a value of 0.5 "
"means each octave contributes half as much as the previous one."
msgstr ""
-"不同八度音阶的贡献因子。[code]persistence[/code]值为1表示所有的八度有相同的贡"
-"献,值为0.5表示每个八度的贡献是前一个的一半。"
+"不同八度的贡献因子。[code]persistence[/code] 值为 1 表示所有的八度有相同的贡"
+"献,值为 0.5 表示每个八度的贡献是前一个的一半。"
#: modules/opensimplex/doc_classes/OpenSimplexNoise.xml
msgid ""
@@ -51607,6 +51713,7 @@ msgstr ""
"[b]注意:[/b]返回 HTML5 和 UWP 上的空字符串,因为此方法尚未在这些平台上实施。"
#: doc/classes/OS.xml
+#, fuzzy
msgid ""
"Returns the current UNIX epoch timestamp in seconds.\n"
"[b]Important:[/b] This is the system clock that the user can manually set. "
@@ -51614,7 +51721,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
"以秒为单位返回当前的 UNIX 纪元时间戳。\n"
"[b]重要:[/b]这是用户可以手动设置的系统时钟。[b]永远不要使用[/b]这种方法进行"
@@ -51798,12 +51907,12 @@ msgid ""
"template (debug or release), use [code]OS.has_feature(\"standalone\")[/code] "
"instead."
msgstr ""
-"如果用于运行项目的Godot二进制文件是[i]debug[/i]导出,或在编辑器中运行时,返"
-"回 [code]true[/code]。\n"
-"如果用于运行项目的Godot二进制文件是[i]release[/i]导出,则返回 [code]false[/"
-"code]。\n"
-"要检查用于运行项目的Godot二进制文件是否是被导出版本(调试或发布),请使用"
-"[code]OS.has_feature(\"standalone\")[/code]代替。"
+"如果用于运行项目的 Godot 二进制文件是[i]调试[/i]导出模板,或是在编辑器中运行"
+"时,则返回 [code]true[/code]。\n"
+"如果用于运行项目的 Godot 二进制文件是[i]发布[/i]导出模板,则返回 "
+"[code]false[/code]。\n"
+"要检查用于运行项目的 Godot 二进制文件是否为导出模板(调试或发布),请使用 "
+"[code]OS.has_feature(\"standalone\")[/code] 代替。"
#: doc/classes/OS.xml
msgid ""
@@ -52904,10 +53013,9 @@ msgid ""
"[constant ERR_OUT_OF_MEMORY]."
msgstr ""
"编码 [Variant] 时允许的最大缓冲区大小。提高此值以支持更大的内存分配。\n"
-"[method put_var] 方法在堆栈上分配内存,使用的缓冲区将自动增长到最接近的二次"
-"方,以匹配 [Variant] 的大小。如果 [Variant] 大于 "
-"[code]encode_buffer_max_size[/code],则该方法将以 [constant "
-"ERR_OUT_OF_MEMORY] 出错。"
+"[method put_var] 方法在栈上分配内存,使用的缓冲区将自动增长到最接近的二次方,"
+"以匹配 [Variant] 的大小。如果 [Variant] 大于 [code]encode_buffer_max_size[/"
+"code],则该方法将以 [constant ERR_OUT_OF_MEMORY] 出错。"
#: doc/classes/PacketPeerDTLS.xml
msgid "DTLS packet peer."
@@ -54632,7 +54740,7 @@ msgstr ""
"返回一个包含运动的安全和不安全比例(0 到 1 之间)的数组。安全比例是在没有碰撞"
"的情况下可以进行的运动的最大比例。不安全比例是碰撞必须移动的距离的最小部分。"
"如果没有检测到碰撞,将返回 [code][1.0, 1.0][/code] 的结果。\n"
-"[b]注意:[/b]任何已经碰撞的[Shape2D](比如内部的)会被忽略。使用 [method "
+"[b]注意:[/b]任何已经碰撞的 [Shape2D](比如内部的)会被忽略。使用 [method "
"collide_shape] 确定形状已经碰撞的 [Shape2D]。"
#: doc/classes/Physics2DDirectSpaceState.xml
@@ -54667,20 +54775,20 @@ msgid ""
"[code]rid[/code]: The intersecting object's [RID].\n"
"[code]shape[/code]: The shape index of the colliding shape."
msgstr ""
-"通过[Physics2DShapeQueryParameters]对象给出的形状与空间的检查交点。如果它与一"
-"个以上的形状发生碰撞,则选择最近的一个。如果该形状没有与任何对象相交,那么将"
-"返回一个空字典。\n"
-"[b]注意:[/b]这个方法不考虑对象的[code]motion[/code]属性。返回的对象是包含以"
-"下字段的字典。\n"
-"[code]collider_id[/code]:碰撞对象的ID。\n"
-"[code]linear_velocity[/code]:碰撞物体的速度[Vector2]。如果对象是一个"
-"[Area2D],结果是[code](0, 0)[/code]。\n"
-"[code]metadata[/code]:相交形状的元数据。这个元数据与[method Object.get_meta]"
-"不同,它是用[method Physics2DServer.shape_set_data]设置的。\n"
-"[code]normal[/code]:物体在交点处的表面法线。\n"
-"[code]point[/code]:相交点。\n"
-"[code]rid[/code]:相交物体的[RID]。\n"
-"[code]shape[/code]:碰撞形状的形状索引。"
+"通过 [Physics2DShapeQueryParameters] 对象给出的形状与空间的检查交点。如果它与"
+"一个以上的形状发生碰撞,则选择最近的一个。如果该形状没有与任何对象相交,那么"
+"将返回一个空字典。\n"
+"[b]注意:[/b]这个方法不考虑对象的 [code]motion[/code] 属性。返回的对象是包含"
+"以下字段的字典。\n"
+"[code]collider_id[/code]:碰撞对象的 ID。\n"
+"[code]linear_velocity[/code]:碰撞物体的速度 [Vector2]。如果对象是一个 "
+"[Area2D],结果是 [code](0, 0)[/code]。\n"
+"[code]metadata[/code]:相交形状的元数据。这个元数据与 [method Object."
+"get_meta] 不同,它是用 [method Physics2DServer.shape_set_data] 设置的。\n"
+"[code]normal[/code]:物体在交点处的表面法线。\n"
+"[code]point[/code]:相交点。\n"
+"[code]rid[/code]:相交物体的 [RID]。\n"
+"[code]shape[/code]:碰撞形状的形状索引。"
#: doc/classes/Physics2DDirectSpaceState.xml
msgid ""
@@ -55912,7 +56020,7 @@ msgstr ""
"返回一个包含运动的安全和不安全比例(0 到 1 之间)的数组。安全比例是在没有碰撞"
"的情况下可以进行的运动的最大比例。不安全比例是碰撞必须移动的距离的最小部分。"
"如果未检测到碰撞,将返回 [code][1.0, 1.0][/code] 的结果。\n"
-"[b]注意:[/b]任何已经碰撞的[Shape2D](比如内部的)会被忽略。使用 [method "
+"[b]注意:[/b]任何已经碰撞的 [Shape2D](比如内部的)会被忽略。使用 [method "
"collide_shape] 确定形状已经碰撞的 [Shape]。"
#: doc/classes/PhysicsDirectSpaceState.xml
@@ -57622,7 +57730,8 @@ msgid ""
"Returns a [String] with each element of the array joined with the given "
"[code]delimiter[/code]."
msgstr ""
-"返回一个[String],数组的每个元素都用给定的[code]delimiter[/code]分隔符连接。"
+"返回一个 [String],数组的每个元素都用给定的 [code]delimiter[/code] 分隔符连"
+"接。"
#: doc/classes/PoolStringArray.xml
msgid "Appends a string element at end of the array."
@@ -58270,7 +58379,10 @@ msgstr ""
"[b]注意:[/b]被移除项后的项的索引将被移位 1。"
#: doc/classes/PopupMenu.xml
-msgid "Sets the currently focused item as the given [code]index[/code]."
+#, fuzzy
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "将当前聚焦项目设置为给定的索引 [code]index[/code]。"
#: doc/classes/PopupMenu.xml
@@ -58529,10 +58641,13 @@ msgid "Class for displaying popups with a panel background."
msgstr "用于显示带有面板背景的弹出窗口的类。"
#: doc/classes/PopupPanel.xml
+#, fuzzy
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
"用于显示具有面板背景的弹出窗口的类。在某些情况下,它可能比 [Popup] 更容易使"
"用,因为它提供了一个可配置的背景。如果你正在制作窗口,最好是查看 "
@@ -59490,10 +59605,12 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
-"如果为 [code]true[/code],将允许麦克风输入。导出到 Android 或 iOS 时须设置适"
-"当的权限。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -59878,7 +59995,7 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid "Maximum call stack allowed for debugging GDScript."
-msgstr "调试GDScript时允许的最大调用堆栈。"
+msgstr "调试 GDScript 时允许的最大调用堆栈。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -62805,11 +62922,20 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
-"用于启用各向异性的纹理的最大各向异性过滤器级别。从倾斜角度查看时,较高的值将"
-"导致更清晰的纹理,但会牺牲性能。只有二的指数倍的值是有效(如 2、4、8、16)。"
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -63863,7 +63989,7 @@ msgstr ""
"pcg-random.org/]PCG32[/url]。\n"
"[b]注意:[/b]底层算法是实现细节。因此,跨 Godot 版本的可重复随机流不应该依赖"
"于此。\n"
-"要根据时间相关种子生成随机浮点数,在给定范围内:\n"
+"要根据时间相关种子生成(给定范围内的)随机浮点数:\n"
"[codeblock]\n"
"var rng = RandomNumberGenerator.new()\n"
"func _ready():\n"
@@ -63883,14 +64009,14 @@ msgid ""
"Generates a pseudo-random float between [code]0.0[/code] and [code]1.0[/"
"code] (inclusive)."
msgstr ""
-"生成一个[code]0.0[/code]和[code]1.0[/code](包括端点)之间的伪随机浮点数。"
+"生成一个 [code]0.0[/code] 和 [code]1.0[/code](包括端点)之间的伪随机浮点数。"
#: doc/classes/RandomNumberGenerator.xml
msgid ""
"Generates a pseudo-random float between [code]from[/code] and [code]to[/"
"code] (inclusive)."
msgstr ""
-"生成一个[code]from[/code]和[code]to[/code](包括端点)之间的伪随机浮点数。"
+"生成一个 [code]from[/code] 和 [code]to[/code](包括端点)之间的伪随机浮点数。"
#: doc/classes/RandomNumberGenerator.xml
msgid ""
@@ -64040,14 +64166,14 @@ msgid ""
"Maximum value. Range is clamped if [code]value[/code] is greater than "
"[code]max_value[/code]."
msgstr ""
-"最大值。如果[code]value[/code]大于[code]max_value[/code],则会被范围限制。"
+"最大值。如果 [code]value[/code] 大于 [code]max_value[/code],则会被范围限制。"
#: doc/classes/Range.xml
msgid ""
"Minimum value. Range is clamped if [code]value[/code] is less than "
"[code]min_value[/code]."
msgstr ""
-"最小值。如果[code]value[/code]小于[code]min_value[/code],则会被范围限制。"
+"最小值。如果 [code]value[/code] 小于 [code]min_value[/code],则会被范围限制。"
#: doc/classes/Range.xml
msgid ""
@@ -64593,7 +64719,7 @@ msgstr ""
#: doc/classes/ReferenceRect.xml
msgid "Reference frame for GUI."
-msgstr "GUI的引用框架。"
+msgstr "GUI 的参考框。"
#: doc/classes/ReferenceRect.xml
msgid ""
@@ -64607,21 +64733,21 @@ msgstr ""
#: doc/classes/ReferenceRect.xml
msgid "Sets the border [Color] of the [ReferenceRect]."
-msgstr "设置 [ReferenceRect] 的边框 [Color]。"
+msgstr "设置该 [ReferenceRect] 的边框 [Color]。"
#: doc/classes/ReferenceRect.xml
msgid ""
"Sets the border width of the [ReferenceRect]. The border grows both inwards "
"and outwards with respect to the rectangle box."
-msgstr "设置 [ReferenceRect] 的边框宽度。边界相对于矩形框向内和向外生长。"
+msgstr "设置该 [ReferenceRect] 的边框宽度。边界相对于矩形框同时向内向外伸长。"
#: doc/classes/ReferenceRect.xml
msgid ""
"If set to [code]true[/code], the [ReferenceRect] will only be visible while "
"in editor. Otherwise, [ReferenceRect] will be visible in game."
msgstr ""
-"如果设置为 [code]true[/code],[ReferenceRect]将只在编辑器中可见。否则,"
-"[ReferenceRect]将在游戏中可见。"
+"如果设置为 [code]true[/code],该 [ReferenceRect] 将只在编辑器中可见。否则,"
+"[ReferenceRect] 将在游戏中可见。"
#: doc/classes/ReflectionProbe.xml
msgid ""
@@ -64729,7 +64855,7 @@ msgstr "定义反射强度。"
msgid ""
"Sets the ambient light color to be used when this probe is set to [member "
"interior_enable]."
-msgstr "设置环境光的颜色,当此探针被设置为[member interior_enable]时使用。"
+msgstr "设置环境光的颜色,当此探针被设置为 [member interior_enable] 时使用。"
#: doc/classes/ReflectionProbe.xml
msgid ""
@@ -64745,7 +64871,7 @@ msgid ""
"Sets the energy multiplier for this reflection probe's ambient light "
"contribution when set to [member interior_enable]."
msgstr ""
-"当设置为[member interior_enable]时,为该反射探针的环境光贡献设置能量乘数。"
+"当设置为 [member interior_enable] 时,为该反射探针的环境光贡献设置能量乘数。"
#: doc/classes/ReflectionProbe.xml
msgid ""
@@ -64753,8 +64879,8 @@ msgid ""
"lighting is then controlled by the [code]interior_ambient_*[/code] "
"properties."
msgstr ""
-"如果为 [code]true[/code],反射将忽略天空的贡献。然后环境照明由"
-"[code]internal_ambient_*[/code]属性控制。"
+"如果为 [code]true[/code],反射将忽略天空的贡献。然后环境照明由 "
+"[code]internal_ambient_*[/code] 属性控制。"
#: doc/classes/ReflectionProbe.xml
msgid ""
@@ -64787,7 +64913,7 @@ msgid ""
"Sets how frequently the [ReflectionProbe] is updated. Can be [constant "
"UPDATE_ONCE] or [constant UPDATE_ALWAYS]."
msgstr ""
-"设置 [ReflectionProbe] 的更新频率。可以是 [constant UPDATE_ONCE] 或 "
+"设置该 [ReflectionProbe] 的更新频率。可以是 [constant UPDATE_ONCE] 或 "
"[constant UPDATE_ALWAYS]。"
#: doc/classes/ReflectionProbe.xml
@@ -65059,9 +65185,9 @@ msgid ""
"Returns -1 if the group did not match or doesn't exist."
msgstr ""
"返回源字符串中匹配的起始位置。捕获组的起始位置可以通过提供它的组号作为一个整"
-"数或它的字符串名称(如果它是一个命名组)来检索。默认值为0,指的是整个表达"
+"数或它的字符串名称(如果它是一个命名组)来检索。默认值为 0,指的是整个表达"
"式。\n"
-"如果组没有匹配或不存在,返回-1。"
+"如果组没有匹配或不存在,返回 -1。"
#: modules/regex/doc_classes/RegExMatch.xml
msgid ""
@@ -65072,7 +65198,7 @@ msgid ""
"Returns an empty string if the group did not match or doesn't exist."
msgstr ""
"返回源字符串中匹配的子串。捕获组可以通过提供它的组号作为整数或它的字符串名称"
-"(如果它是一个命名组)来检索。默认值为0,指的是整个表达式。\n"
+"(如果它是一个命名组)来检索。默认值为 0,指的是整个表达式。\n"
"如果组没有匹配或不存在,则返回一个空字符串。"
#: modules/regex/doc_classes/RegExMatch.xml
@@ -65164,7 +65290,7 @@ msgid ""
msgstr ""
"RemoteTransform2D 将自己的 [Transform2D] 推送到场景中另一个 [CanvasItem] 派生"
"的节点(称为远程节点)。\n"
-"它可以被设置为更新另一个Node的位置、旋转或比例。它可以使用全局坐标或局部坐"
+"它可以被设置为更新另一个 Node 的位置、旋转或比例。它可以使用全局坐标或局部坐"
"标。"
#: doc/classes/RemoteTransform2D.xml
@@ -65237,12 +65363,13 @@ msgid ""
msgstr ""
"复制资源,返回一个复制了导出成员属性的新资源。[b]注意:[/b]为了复制资源,构造"
"函数被调用,没有参数。当构造函数没有默认值时,这个方法会出错。\n"
-"默认情况下,为了提高效率,子资源在资源副本之间被共享。这可以通过向"
-"[code]subresources[/code]参数传递[code]true[/code]来改变,它将复制子资源。\n"
-"[b]注意:[/b]如果[code]subresources[/code]是[code]true[/code],这个方法将只执"
-"行一个浅层拷贝。子资源中的嵌套资源不会被复制,仍然会被共享。\n"
-"[b]注意:[/b]当复制一个资源时,只有导出[code]export[/code]的属性被复制。其他"
-"属性将被设置为新资源中的默认值。"
+"默认情况下,为了提高效率,子资源在资源副本之间被共享。这可以通过向 "
+"[code]subresources[/code] 参数传递 [code]true[/code] 来改变,它将复制子资"
+"源。\n"
+"[b]注意:[/b]如果 [code]subresources[/code] 为 [code]true[/code],这个方法将"
+"只执行一个浅层拷贝。子资源中的嵌套资源不会被复制,仍然会被共享。\n"
+"[b]注意:[/b]当复制一个资源时,只有导出 [code]export[/code] 的属性被复制。其"
+"他属性将被设置为新资源中的默认值。"
#: doc/classes/Resource.xml
msgid ""
@@ -65480,7 +65607,7 @@ msgid ""
"Returns the list of extensions available for saving the resource object, "
"provided it is recognized (see [method recognize])."
msgstr ""
-"返回可用于保存资源对象的扩展列表,前提是它被识别(见[method recognize])。"
+"返回可用于保存资源对象的扩展列表,前提是它被识别(见 [method recognize])。"
#: doc/classes/ResourceFormatSaver.xml
msgid "Returns whether the given resource object can be saved by this saver."
@@ -65509,7 +65636,7 @@ msgid ""
"[EditorImportPlugin]."
msgstr ""
"这是在核心部分实现的资源导入器的基类。要使用编辑器插件实现你自己的资源导入"
-"器,请参阅[EditorImportPlugin]。"
+"器,见 [EditorImportPlugin]。"
#: doc/classes/ResourceImporter.xml
msgid "Import plugins"
@@ -65574,11 +65701,11 @@ msgid ""
"Returns another [enum Error] code if the poll has failed."
msgstr ""
"对加载操作进行轮询,即加载一个数据块到下一个阶段。\n"
-"如果轮询成功,但加载操作还没有完成(中间阶段),则返回[constant OK]。这意味着"
-"[method poll]将不得不再次被调用,直到最后阶段完成。\n"
-"如果加载操作已经成功完成,返回[constant ERR_FILE_EOF]。可以通过调用[method "
-"get_resource]获得加载的资源。\n"
-"如果轮询失败,返回另一个[enum Error]错误代码。"
+"如果轮询成功,但加载操作还没有完成(中间阶段),则返回 [constant OK]。这意味"
+"着 [method poll] 将不得不再次被调用,直到最后阶段完成。\n"
+"如果加载操作已经成功完成,返回 [constant ERR_FILE_EOF]。可以通过调用 [method "
+"get_resource] 获得加载的资源。\n"
+"如果轮询失败,返回另一个 [enum Error] 错误代码。"
#: doc/classes/ResourceInteractiveLoader.xml
msgid ""
@@ -65590,10 +65717,10 @@ msgid ""
"Returns another [enum Error] code if a poll has failed, aborting the "
"operation."
msgstr ""
-"连续地对加载操作进行轮询,直到资源被完全加载或方法[method poll]轮询失败。\n"
-"如果加载操作成功完成,返回[constant ERR_FILE_EOF]。可以通过调用[method "
-"get_resource]获得加载的资源。\n"
-"如果轮询失败,返回另一个[enum Error]错误代码,中止操作。"
+"连续地对加载操作进行轮询,直到资源被完全加载或方法 [method poll] 轮询失败。\n"
+"如果加载操作成功完成,返回 [constant ERR_FILE_EOF]。可以通过调用 [method "
+"get_resource] 获得加载的资源。\n"
+"如果轮询失败,返回另一个 [enum Error] 错误代码,中止操作。"
#: doc/classes/ResourceLoader.xml
msgid "Singleton used to load resource files."
@@ -65607,7 +65734,7 @@ msgid ""
"them to a format that can be used by the engine."
msgstr ""
"用于从文件系统加载资源文件的单例。\n"
-"它使用在引擎中注册的许多[ResourceFormatLoader]类(无论是内置的还是来自插件"
+"它使用在引擎中注册的许多 [ResourceFormatLoader] 类(无论是内置的还是来自插件"
"的)来将文件加载到内存中,并将它们转换为引擎可以使用的格式。"
#: doc/classes/ResourceLoader.xml
@@ -65646,10 +65773,10 @@ msgid ""
"can be overridden by using [method Resource.take_over_path] on a new "
"resource for that same path."
msgstr ""
-"返回给定路径[code]path[/code]的缓存资源是否可用。\n"
-"一旦资源被引擎加载,它就会被缓存在内存中,以便更快地访问,未来对[method load]"
-"或[method load_interactive]方法的调用将使用缓存的版本。缓存的资源可以通过对同"
-"一路径的新资源使用[method Resource.take_over_path]来覆盖。"
+"返回给定路径 [code]path[/code] 的缓存资源是否可用。\n"
+"一旦资源被引擎加载,它就会被缓存在内存中,以便更快地访问,未来对 [method "
+"load] 或 [method load_interactive] 方法的调用将使用缓存的版本。缓存的资源可以"
+"通过对同一路径的新资源使用 [method Resource.take_over_path] 来覆盖。"
#: doc/classes/ResourceLoader.xml
msgid ""
@@ -65671,17 +65798,17 @@ msgid ""
"be used in most situations, leaving the use of [ResourceLoader] for more "
"advanced scenarios."
msgstr ""
-"在给定的路径[code]path[/code]上加载一个资源,缓存结果以便进一步访问。\n"
-"依次查询注册的[ResourceFormatLoader],找到第一个可以处理该文件扩展名的加载"
-"器,然后尝试加载。如果加载失败,其余的ResourceFormatLoaders也会被尝试。\n"
-"一个可选的[code]type_hint[/code]类型提示可以用来进一步指定"
-"[ResourceFormatLoader]应处理的[Resource]资源类型。任何继承自[Resource]的东西"
-"都可以被用作类型提示,例如图像[Image]。\n"
-"如果[code]no_cache[/code]是[code]true[/code],资源缓存将被绕过,资源将被重新"
-"加载。否则,如果缓存的资源存在,将被返回。\n"
-"如果没有[ResourceFormatLoader]可以处理该文件,则返回一个空资源。\n"
-"GDScript有一个简化的[method @GDScript.load]内置方法,可以在大多数情况下使用,"
-"把[ResourceLoader]的使用留给更高级的场景。"
+"在给定的路径 [code]path[/code] 上加载一个资源,缓存结果以便进一步访问。\n"
+"依次查询注册的 [ResourceFormatLoader],找到第一个可以处理该文件扩展名的加载"
+"器,然后尝试加载。如果加载失败,其余的 ResourceFormatLoader 也会被尝试。\n"
+"一个可选的 [code]type_hint[/code] 类型提示可以用来进一步指定 "
+"[ResourceFormatLoader] 应处理的 [Resource] 资源类型。任何继承自 [Resource] 的"
+"东西都可以被用作类型提示,例如 [Image]。\n"
+"如果 [code]no_cache[/code] 是 [code]true[/code],资源缓存将被绕过,资源将被重"
+"新加载。否则,如果缓存的资源存在,将被返回。\n"
+"如果没有 [ResourceFormatLoader] 可以处理该文件,则返回一个空资源。\n"
+"GDScript 有一个简化的 [method @GDScript.load] 内置方法,可以在大多数情况下使"
+"用,把 [ResourceLoader] 的使用留给更高级的场景。"
#: doc/classes/ResourceLoader.xml
msgid ""
@@ -65694,11 +65821,11 @@ msgid ""
"Anything that inherits from [Resource] can be used as a type hint, for "
"example [Image]."
msgstr ""
-"开始交互式加载一个资源。返回的[ResourceInteractiveLoader]对象允许以高粒度加"
-"载,连续调用其[method ResourceInteractiveLoader.poll]轮询方法来加载分块。\n"
-"一个可选的[code]type_hint[/code]类型提示可以用来进一步指定应该由"
-"[ResourceFormatLoader]处理的资源[Resource]类型。任何继承自[Resource]的东西都"
-"可以被用作类型提示,例如[Image]。"
+"开始交互式加载一个资源。返回的 [ResourceInteractiveLoader] 对象允许以高粒度加"
+"载,连续调用其 [method ResourceInteractiveLoader.poll] 轮询方法来加载分块。\n"
+"一个可选的 [code]type_hint[/code] 类型提示可以用来进一步指定应该由 "
+"[ResourceFormatLoader] 处理的资源 [Resource] 类型。任何继承自 [Resource] 的东"
+"西都可以被用作类型提示,例如 [Image]。"
#: doc/classes/ResourceLoader.xml
msgid ""
@@ -65731,9 +65858,9 @@ msgid ""
"will be renamed to \"[code]name[/code] N\" where N is an incrementing number "
"starting from 2."
msgstr ""
-"将一个资源添加到预加载器中,并给出[code]name[/code]。如果给定的[code]name[/"
-"code]的资源已经存在,新的资源将被重命名为\"[code]name[/code] N\",其中N是一个"
-"从2开始的递增数字。"
+"将一个资源添加到预加载器中,并给出 [code]name[/code]。如果给定的 [code]name[/"
+"code] 的资源已经存在,新的资源将被重命名为 \"[code]name[/code] N\",其中 N 是"
+"一个从 2 开始的递增数字。"
#: doc/classes/ResourcePreloader.xml
msgid "Returns the resource associated to [code]name[/code]."
@@ -65748,22 +65875,23 @@ msgid ""
"Returns [code]true[/code] if the preloader contains a resource associated to "
"[code]name[/code]."
msgstr ""
-"如果预加载器包含一个与[code]name[/code]相关的资源,则返回 [code]true[/code]。"
+"如果预加载器包含一个与 [code]name[/code] 相关的资源,则返回 [code]true[/"
+"code]。"
#: doc/classes/ResourcePreloader.xml
msgid ""
"Removes the resource associated to [code]name[/code] from the preloader."
-msgstr "从预加载器中删除与[code]name[/code]有关的资源。"
+msgstr "从预加载器中删除与 [code]name[/code] 有关的资源。"
#: doc/classes/ResourcePreloader.xml
msgid ""
"Renames a resource inside the preloader from [code]name[/code] to "
"[code]newname[/code]."
-msgstr "将预加载器中的资源从[code]name[/code]重命名为[code]newname[/code]。"
+msgstr "将预加载器中的资源从 [code]name[/code] 重命名为 [code]newname[/code]。"
#: doc/classes/ResourceSaver.xml
msgid "Singleton for saving Godot-specific resource types."
-msgstr "用于保存Godot特定资源类型的单例。"
+msgstr "用于保存 Godot 特定资源类型的单例。"
#: doc/classes/ResourceSaver.xml
msgid ""
@@ -65773,10 +65901,10 @@ msgid ""
"text-based (e.g. [code].tres[/code] or [code].tscn[/code]) or binary files "
"(e.g. [code].res[/code] or [code].scn[/code])."
msgstr ""
-"用于将Godot特定的资源类型保存到文件系统的单例。\n"
-"它使用在引擎中注册的许多[ResourceFormatSaver]类(无论是内置的还是来自插件"
-"的),将引擎特定的资源数据保存到基于文本(如[code].res[/code]或[code].tscn[/"
-"code])或二进制文件(如[code].res[/code]或[code].scn[/code])。"
+"用于将 Godot 特定的资源类型保存到文件系统的单例。\n"
+"它使用在引擎中注册的许多 [ResourceFormatSaver] 类(无论是内置的还是来自插件"
+"的),将引擎特定的资源数据保存到基于文本(如 [code].res[/code] 或 [code]."
+"tscn[/code])或二进制文件(如 [code].res[/code] 或 [code].scn[/code])。"
#: doc/classes/ResourceSaver.xml
msgid ""
@@ -65792,9 +65920,9 @@ msgid ""
"behavior.\n"
"Returns [constant OK] on success."
msgstr ""
-"使用识别资源对象的[ResourceFormatSaver]将资源保存到给定路径的磁盘。\n"
+"使用识别资源对象的 [ResourceFormatSaver] 将资源保存到给定路径的磁盘。\n"
"可以指定 [code]flags[/code] 位掩码来自定义保存行为。\n"
-"成功后返回[constant OK]。"
+"成功后返回 [constant OK]。"
#: doc/classes/ResourceSaver.xml
msgid "Save the resource with a path relative to the scene which uses it."
@@ -65869,8 +65997,8 @@ msgid ""
"successfully. If the method returns [code]false[/code], it will skip "
"transformation to avoid displaying broken text."
msgstr ""
-"覆盖这个方法来修改[code]char_fx[/code]中的属性。如果字符可以被成功转换,该方"
-"法必须返回 [code]true[/code]。如果该方法返回 [code]false[/code],它将跳过转"
+"覆盖这个方法来修改 [code]char_fx[/code] 中的属性。如果字符可以被成功转换,该"
+"方法必须返回 [code]true[/code]。如果该方法返回 [code]false[/code],它将跳过转"
"换,以避免显示破碎的文本。"
#: doc/classes/RichTextLabel.xml
@@ -65902,9 +66030,9 @@ msgid ""
"characters instead. This will be resolved in Godot 4.0."
msgstr ""
"富文本可以包含自定义文本、字体、图像和一些基本格式。该标签会将这些以内部标签"
-"堆栈的形式进行管理。它还可以适应给定的宽度/高度。\n"
-"[b]注意:[/b]为 [member bbcode_text] 设置内容会清除标签堆栈并根据该属性的内容"
-"重建。对 [member bbcode_text] 所做的任何编辑都将删除先前从其他手动来源(例如 "
+"栈的形式进行管理。它还可以适应给定的宽度/高度。\n"
+"[b]注意:[/b]为 [member bbcode_text] 设置内容会清除标签栈并根据该属性的内容重"
+"建。对 [member bbcode_text] 所做的任何编辑都将删除先前从其他手动来源(例如 "
"[method append_bbcode] 和 [code]push_*[/code] / [method pop] 方法)所做的编"
"辑。\n"
"[b]注意:[/b]RichTextLabel 不支持纠缠的 BBCode 标签。例如,不要使用 [code]"
@@ -65934,7 +66062,7 @@ msgid ""
"If [code]width[/code] or [code]height[/code] is set to 0, the image size "
"will be adjusted in order to keep the original aspect ratio."
msgstr ""
-"将图像的开头和结尾标签添加到标签堆中,可以选择提供 [code]width[/code] 和 "
+"将图像的开头和结尾标签添加到标签栈中,可以选择提供 [code]width[/code] 和 "
"[code]height[/code] 来调整图像的大小。\n"
"如果 [code]width[/code] 或 [code]height[/code] 被设置为 0,图像的大小被调整为"
"保持原始长宽比。"
@@ -65955,7 +66083,7 @@ msgid ""
"[b]Note:[/b] This method internals' can't possibly fail, but an error code "
"is returned for backwards compatibility, which will always be [constant OK]."
msgstr ""
-"解析 [code]bbcode[/code] 并根据需要将标签添加到标签堆栈中。\n"
+"解析 [code]bbcode[/code] 并根据需要将标签添加到标签栈中。\n"
"[b]注意:[/b]使用此方法,您无法关闭在之前的 [method append_bbcode] 调用中打开"
"的标签。这样做是为了提高性能,特别是在更新大型 RichTextLabel 时,因为每次重建"
"整个 BBCode 会更慢。如果您绝对需要在将来的方法调用中关闭标签,请附加 [member "
@@ -65965,7 +66093,7 @@ msgstr ""
#: doc/classes/RichTextLabel.xml
msgid "Clears the tag stack and sets [member bbcode_text] to an empty string."
-msgstr "清除标记堆栈并将 [member bbcode_text] 设置为空字符串。"
+msgstr "清除标签栈并将 [member bbcode_text] 设置为空字符串。"
#: doc/classes/RichTextLabel.xml
msgid "Returns the height of the content."
@@ -66000,7 +66128,7 @@ msgstr ""
#: doc/classes/RichTextLabel.xml
msgid "Adds a newline tag to the tag stack."
-msgstr "在标签堆中添加一个换行标签。"
+msgstr "在标签栈中添加一个换行标签。"
#: doc/classes/RichTextLabel.xml
msgid ""
@@ -66039,40 +66167,40 @@ msgid ""
"the same as adding a [code][b][/code] tag if not currently in a [code][i][/"
"code] tag."
msgstr ""
-"在标签堆中添加一个[code][font][/code]标签,字体为黑体。如果当前没有[code][i]"
-"[/code]标签,这与添加一个[code][b][/code]标签相同。"
+"在标签栈中添加一个 [code][font][/code] 标签,字体为黑体。如果当前没有 [code]"
+"[i][/code] 标签,这与添加一个 [code][b][/code] 标签相同。"
#: doc/classes/RichTextLabel.xml
msgid ""
"Adds a [code][font][/code] tag with a bold italics font to the tag stack."
-msgstr "在标签堆中添加一个[code][font][/code]标签,字体为粗斜体。"
+msgstr "在标签栈中添加一个 [code][font][/code] 标签,字体为粗斜体。"
#: doc/classes/RichTextLabel.xml
msgid ""
"Adds a [code][cell][/code] tag to the tag stack. Must be inside a [code]"
"[table][/code] tag. See [method push_table] for details."
msgstr ""
-"将一个[code][cell][/code]标签添加到标签堆中。必须在一个[code][table][/code]标"
-"签内。详情见[method push_table]。"
+"在标签栈中添加一个 [code][cell][/code] 标签。必须位于 [code][table][/code] 标"
+"签内。详见 [method push_table]。"
#: doc/classes/RichTextLabel.xml
msgid "Adds a [code][color][/code] tag to the tag stack."
-msgstr "将一个[code][color][/code]标签添加到标签堆。"
+msgstr "在标签栈中添加一个 [code][color][/code] 标签。"
#: doc/classes/RichTextLabel.xml
msgid ""
"Adds a [code][font][/code] tag to the tag stack. Overrides default fonts for "
"its duration."
msgstr ""
-"将一个[code][font][/code]标签添加到标签堆中。在其有效期内覆盖默认字体。"
+"在标签栈中添加一个 [code][font][/code] 标签。在其有效期内覆盖默认字体。"
#: doc/classes/RichTextLabel.xml
msgid ""
"Adds an [code][indent][/code] tag to the tag stack. Multiplies [code]level[/"
"code] by current [member tab_size] to determine new margin length."
msgstr ""
-"将 [code][indent][/code] 标签添加到标签堆栈。将 [code]level[/code] 乘以当前 "
-"[member tab_size] 以确定新的边距长度。"
+"在标签栈中添加一个 [code][indent][/code] 标签。将 [code]level[/code] 乘以当"
+"前 [member tab_size] 以确定新的边距长度。"
#: doc/classes/RichTextLabel.xml
msgid ""
@@ -66080,8 +66208,8 @@ msgid ""
"the same as adding a [code][i][/code] tag if not currently in a [code][b][/"
"code] tag."
msgstr ""
-"在标签堆中添加一个[code][font][/code]标签,字体为斜体。如果当前没有[code][b]"
-"[/code]标签,这与添加[code][i][/code]标签相同。"
+"在标签栈中添加一个 [code][font][/code] 标签,字体为斜体。如果当前没有 [code]"
+"[b][/code] 标签,这与添加 [code][i][/code] 标签相同。"
#: doc/classes/RichTextLabel.xml
msgid ""
@@ -66089,36 +66217,36 @@ msgid ""
"[code][ol][/code] or [code][ul][/code], but supports more list types. Not "
"fully implemented!"
msgstr ""
-"在标签栈中添加一个[code][list][/code]标签。类似于BBCodes [code][ol][/code] "
-"或 [code][ul][/code] ,但支持更多的列表类型。未完全实现!"
+"在标签栈中添加一个 [code][list][/code] 标签。类似于 BBCode 的 [code][ol][/"
+"code] 或 [code][ul][/code] ,但支持更多的列表类型。未完全实现!"
#: doc/classes/RichTextLabel.xml
msgid ""
"Adds a [code][meta][/code] tag to the tag stack. Similar to the BBCode [code]"
"[url=something]{text}[/url][/code], but supports non-[String] metadata types."
msgstr ""
-"添加一个[code][meta][/code]标签到标签堆中。类似于BBCode [code][url=something]"
-"{text}[/url][/code],但支持非[String]元数据类型。"
+"在标签栈中添加一个 [code][meta][/code] 标签。类似于BBCode 的 [code]"
+"[url=something]{text}[/url][/code],但支持非 [String] 元数据类型。"
#: doc/classes/RichTextLabel.xml
msgid "Adds a [code][font][/code] tag with a monospace font to the tag stack."
-msgstr "在标签堆中添加一个[code][font][/code]标签,该标签为等宽字体。"
+msgstr "在标签栈中添加一个 [code][font][/code] 标签,该标签为等宽字体。"
#: doc/classes/RichTextLabel.xml
msgid "Adds a [code][font][/code] tag with a normal font to the tag stack."
-msgstr "在标签堆中添加一个具有正常字体的[code][font][/code]标签。"
+msgstr "在标签栈中添加一个具有正常字体的 [code][font][/code] 标签。"
#: doc/classes/RichTextLabel.xml
msgid "Adds a [code][s][/code] tag to the tag stack."
-msgstr "将一个[code][s][/code]标签添加到标签堆中。"
+msgstr "在标签栈中添加一个 [code][s][/code] 标签。"
#: doc/classes/RichTextLabel.xml
msgid "Adds a [code][table=columns][/code] tag to the tag stack."
-msgstr "将一个[code][table=columns][/code]标签添加到标签栈。"
+msgstr "在标签栈中添加一个 [code][table=columns][/code] 标签。"
#: doc/classes/RichTextLabel.xml
msgid "Adds a [code][u][/code] tag to the tag stack."
-msgstr "将一个[code][u][/code]标签添加到标签堆中。"
+msgstr "在标签栈中添加一个 [code][u][/code] 标签。"
#: doc/classes/RichTextLabel.xml
msgid ""
@@ -66259,7 +66387,7 @@ msgid ""
"Does not parse BBCodes. Does not modify [member bbcode_text]."
msgstr ""
"标签的原始文本。\n"
-"设置后,清除标签堆栈并在其顶部添加一个原始文本标签。不解析 BBCode。不修改 "
+"设置后,清除标签栈并在其顶部添加一个原始文本标签。不解析 BBCode。不修改 "
"[member bbcode_text]。"
#: doc/classes/RichTextLabel.xml
@@ -66283,7 +66411,7 @@ msgid ""
msgstr ""
"当用户点击元标记之间的内容时触发。如果元是在文本中定义的,例如[code]"
"[url={\"data\"=\"hi\"}]hi[/url][/code],则该信号的参数为[String]类型。如果需"
-"要特定类型或对象,则必须使用 [method push_meta] 方法将数据手动插入标签堆栈。"
+"要特定类型或对象,则必须使用 [method push_meta] 方法将数据手动插入标签栈。"
#: doc/classes/RichTextLabel.xml
msgid "Triggers when the mouse exits a meta tag."
@@ -66892,8 +67020,8 @@ msgid ""
"Rigid body mode. This is the \"natural\" state of a rigid body. It is "
"affected by forces, and can move, rotate, and be affected by user code."
msgstr ""
-"刚体模式。这是一个刚体的“自然”状态。它受到力的影响,可以移动、旋转,并受到用"
-"户代码的影响。"
+"刚体模式。这是刚体的“自然”状态。它受到力的影响,可以移动、旋转,并受到用户代"
+"码的影响。"
#: doc/classes/RigidBody.xml
msgid ""
@@ -67003,7 +67131,7 @@ msgid ""
"collision (should there be one)."
msgstr ""
"如果在给定的向量中移动会导致碰撞,则返回 [code]true[/code]。[code]margin[/"
-"code]增加参与碰撞检测的形状的大小,[code]result[/code] 是一个 "
+"code] 增加参与碰撞检测的形状的大小,[code]result[/code] 是一个 "
"[Physics2DTestMotionResult] 类型的对象,它包含关于碰撞的额外信息(如果有的"
"话)。"
@@ -67725,8 +67853,8 @@ msgid ""
msgstr ""
"在转换过程中,[Room] 内对象的几何形状,或自定义指定的手动绑定,用于生成 [b]凸"
"多边形绑定[/b]。\n"
-"这个凸多边形在可见性系统中是 [b]必需的[/b],并且用于许多目的。最重要的是,它"
-"用于决定[Camera](或物体)是否在[Room]内。凸多边形生成算法很好,但有时它会创"
+"这个凸多边形在可见性系统中是[b]必需的[/b],并且用于许多目的。最重要的是,它用"
+"于决定 [Camera](或物体)是否在 [Room] 内。凸多边形生成算法很好,但有时它会创"
"建太多(或太少)的平面,无法很好地表示空间体积。\n"
"[code]room_simplify[/code] 值可用于对该过程进行精细控制。它决定了如何相似平面"
"才能将它们视为相同(并删除重复项)。该值可以设置在 0(无简化)和 1(最大简"
@@ -68138,13 +68266,16 @@ msgstr ""
"[method change_scene] 调用之后,你无法立即访问到它。"
#: doc/classes/SceneTree.xml
+#, fuzzy
msgid ""
"Changes the running scene to a new instance of the given [PackedScene].\n"
"Returns [constant OK] on success or [constant ERR_CANT_CREATE] if the scene "
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
"将正在运行的场景改变为给定的 [PackedScene] 的新实例。\n"
"成功时返回 [constant OK],如果场景不能被实例化,则返回 [constant "
@@ -68331,18 +68462,20 @@ msgstr "当前场景。"
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
-"如果为 [code]true[/code],以调试为目的从编辑器运行游戏时,碰撞形状将是可见"
-"的。"
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
-"如果为 [code]true[/code],以调试为目的从编辑器运行游戏时,导航多边形将是可见"
-"的。"
#: doc/classes/SceneTree.xml
msgid "The root of the edited scene."
@@ -69930,8 +70063,11 @@ msgstr ""
"[code]color[/code]。确切的绘制方法是每个形状特有的,无法配置。"
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
-msgstr "形状的自定义求解器偏置。"
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
+msgstr ""
#: doc/classes/ShortCut.xml
msgid "A shortcut for binding input."
@@ -70688,24 +70824,35 @@ msgstr ""
msgid ""
"Returns whether this node uses a scale of [code](1, 1, 1)[/code] or its "
"local transformation scale."
-msgstr "返回该节点是否使用[code](1, 1, 1)[/code]的比例或其本地转换比例。"
+msgstr "返回该节点是否使用 [code](1, 1, 1)[/code] 的比例或其本地变换比例。"
#: doc/classes/Spatial.xml
msgid ""
"Returns whether this node is set as Toplevel, that is whether it ignores its "
"parent nodes transformations."
-msgstr "返回该节点是否被设置为Toplevel,也就是是否忽略其父节点的变换。"
+msgstr "返回该节点是否被设置为顶层(Toplevel),即是否忽略其父节点的变换。"
#: doc/classes/Spatial.xml
msgid ""
"Returns whether the node notifies about its global and local transformation "
"changes. [Spatial] will not propagate this by default."
msgstr ""
-"返回节点是否通知其全局和局部的变换变化。默认情况下,[Spatial]不会对此进行传"
+"返回节点是否通知其全局和局部的变换变化。默认情况下 [Spatial] 不会对此进行传"
"播。"
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+"如果该节点位于 [SceneTree] 中,并且其 [member visible] 属性为 [code]true[/"
+"code],并且其所有上层节点也均可见,则返回 [code]true[/code]。如果任何上层节点"
+"被隐藏,则该节点在场景树中将不可见。"
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -70733,8 +70880,8 @@ msgid ""
"itself to point toward the [code]target[/code] as per [method look_at]. "
"Operations take place in global space."
msgstr ""
-"将节点移动到指定的[code]position[/code],然后按照[method look_at]的要求旋转自"
-"己以指向[code]target[/code]。操作是在全局空间进行的。"
+"将节点移动到指定的 [code]position[/code],然后按照 [method look_at] 的要求旋"
+"转自己以指向 [code]target[/code]。操作是在全局空间进行的。"
#: doc/classes/Spatial.xml
msgid ""
@@ -70756,7 +70903,7 @@ msgid ""
"Rotates the local transformation around axis, a unit [Vector3], by specified "
"angle in radians. The rotation axis is in object-local coordinate system."
msgstr ""
-"围绕轴(单位 [Vector3])旋转本地变换,指定角度(弧度)。旋转轴是在物体的本地"
+"围绕轴(单位 [Vector3])旋转局部变换,指定角度(弧度)。旋转轴是在物体的本地"
"坐标系中。"
#: doc/classes/Spatial.xml
@@ -70979,9 +71126,9 @@ msgid ""
msgstr ""
"当空间节点的全局变换发生变化时,空间节点会收到这个通知。这意味着当前节点或父"
"节点改变了它的变换。\n"
-"为了使[constant NOTIFICATION_TRANSFORM_CHANGED]生效,用户首先需要用[method "
-"set_notify_transform]发送请求。如果节点是在编辑器的上下文中,并且它有一个有效"
-"的gizmo,那么该通知也会被发送。"
+"为了使 [constant NOTIFICATION_TRANSFORM_CHANGED] 生效,用户首先需要用 "
+"[method set_notify_transform] 发送请求。如果节点是在编辑器的上下文中,并且它"
+"有一个有效的控制器(Gizmo),那么该通知也会被发送。"
#: doc/classes/Spatial.xml
msgid ""
@@ -71033,8 +71180,7 @@ msgid ""
"Returns [code]true[/code], if the specified flag is enabled. See [enum "
"Flags] enumerator for options."
msgstr ""
-"如果指定的标志被启用,返回 [code]true[/code]。参阅 [enum Flags] 枚举器的选"
-"项。"
+"如果指定的标志被启用,返回 [code]true[/code]。选项见 [enum Flags] 枚举值。"
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -71063,8 +71209,8 @@ msgid ""
msgstr ""
"如果为 [code]true[/code],则启用指定的标志。标志是可以打开和关闭的可选行为。"
"使用该函数一次只能启用一个标志,不能将标志枚举值像位掩码一样进行合并,一次启"
-"用或禁用多个标志。也可以通过将相应成员设置为 [code]true[/code] 来启用标志。有"
-"关选项,请参阅 [enum Flags] 枚举器。"
+"用或禁用多个标志。也可以通过将相应成员设置为 [code]true[/code] 来启用标志。选"
+"项见 [enum Flags] 枚举值。"
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -71094,6 +71240,7 @@ msgstr ""
"纹理,那么这个值会与其 Alpha 通道相乘。"
#: doc/classes/SpatialMaterial.xml
+#, fuzzy
msgid ""
"If [code]true[/code], anisotropy is enabled. Anisotropy changes the shape of "
"the specular blob and aligns it to tangent space. This is useful for brushed "
@@ -71103,7 +71250,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
"如果为 [code]true[/code],则启用各向异性。各向异性会改变镜面反射斑点的形状并"
"将其与切线空间对其。可用于拉丝铝材和毛发反射。\n"
@@ -71391,7 +71540,7 @@ msgstr "指定要使用的淡入淡出类型。可以是任何一个 [enum Dista
#: doc/classes/SpatialMaterial.xml
msgid "The emitted light's color. See [member emission_enabled]."
-msgstr "发出的光的颜色。参阅 [member emission_enabled]。"
+msgstr "发出的光的颜色。见 [member emission_enabled]。"
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -71428,7 +71577,7 @@ msgstr "纹理,指定某点的表面发光的程度。"
msgid ""
"Forces a conversion of the [member albedo_texture] from sRGB space to linear "
"space."
-msgstr "强制将 [member albedo_texture] 从sRGB空间转换为线性空间。"
+msgstr "强制将 [member albedo_texture] 从 sRGB 空间转换为线性空间。"
#: doc/classes/SpatialMaterial.xml
msgid "Enables signed distance field rendering shader."
@@ -71464,7 +71613,7 @@ msgid ""
"If [code]true[/code], transparency is enabled on the body. See also [member "
"params_blend_mode]."
msgstr ""
-"如果为 [code]true[/code],则启用物体的透明度。参阅 [member "
+"如果为 [code]true[/code],则启用物体的透明度。另请参阅 [member "
"params_blend_mode]。"
#: doc/classes/SpatialMaterial.xml
@@ -71565,7 +71714,7 @@ msgstr ""
msgid ""
"Texture used to specify metallic for an object. This is multiplied by "
"[member metallic]."
-msgstr "用于指定对象的金属质感。此值乘 [member metallic]。"
+msgstr "用于指定对象的金属质感。这个值会与 [member metallic] 相乘。"
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -71634,9 +71783,9 @@ msgid ""
"head instead of on the table. See [url=https://github.com/godotengine/godot/"
"issues/41567]GitHub issue #41567[/url] for details."
msgstr ""
-"控制对象如何面向摄像机。参阅[enum BillboardMode]。\n"
-"[b]注意:[/b]广告牌模式不适合VR,因为当屏幕贴在你的头部而不是在桌子上时,摄像"
-"机的左右向量不是水平的。参阅[url=https://github.com/godotengine/godot/"
+"控制对象如何面向摄像机。见 [enum BillboardMode]。\n"
+"[b]注意:[/b]广告牌模式不适合 VR,因为当屏幕贴在你的头部而不是在桌子上时,摄"
+"像机的左右向量不是水平的。详见 [url=https://github.com/godotengine/godot/"
"issues/41567]GitHub issue #41567[/url]。"
#: doc/classes/SpatialMaterial.xml
@@ -71646,7 +71795,7 @@ msgid ""
"transparent pipeline. See [enum BlendMode]."
msgstr ""
"材质的混合模式。\n"
-"[b]注意:[/b]除 [code]Mix[/code] 以外的值会强制对象进入透明管道。参阅 [enum "
+"[b]注意:[/b]除 [code]Mix[/code] 以外的值会强制对象进入透明管道。见 [enum "
"BlendMode]。"
#: doc/classes/SpatialMaterial.xml
@@ -71673,7 +71822,7 @@ msgid ""
"If [code]true[/code], enables the vertex grow setting. See [member "
"params_grow_amount]."
msgstr ""
-"如果为 [code]true[/code],启用顶点生长设置。参见[member params_grow_amount]。"
+"如果为 [code]true[/code],启用顶点生长设置。见 [member params_grow_amount]。"
#: doc/classes/SpatialMaterial.xml
msgid "Grows object vertices in the direction of their normals."
@@ -71685,19 +71834,19 @@ msgstr "目前在 Godot 中未实现。"
#: doc/classes/SpatialMaterial.xml
msgid "The point size in pixels. See [member flags_use_point_size]."
-msgstr "点的大小,以像素为单位。参见[member flags_use_point_size]。"
+msgstr "点的大小,以像素为单位。见 [member flags_use_point_size]。"
#: doc/classes/SpatialMaterial.xml
msgid "The method for rendering the specular blob. See [enum SpecularMode]."
-msgstr "镜面反射斑点的渲染方法。请参阅 [enum SpecularMode]。"
+msgstr "镜面反射斑点的渲染方法。见 [enum SpecularMode]。"
#: doc/classes/SpatialMaterial.xml
msgid ""
"If [code]true[/code], the shader will discard all pixels that have an alpha "
"value less than [member params_alpha_scissor_threshold]."
msgstr ""
-"如果为 [code]true[/code],着色器将丢弃所有alpha值小于[member "
-"params_alpha_scissor_threshold]的像素。"
+"如果为 [code]true[/code],着色器将丢弃所有 Alpha 值小于 [member "
+"params_alpha_scissor_threshold] 的像素。"
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -71705,7 +71854,7 @@ msgid ""
"when using [constant BILLBOARD_PARTICLES]. See [member "
"params_billboard_mode]."
msgstr ""
-"粒子精灵表中的水平帧数。仅在使用 [constant BILLBOARD_PARTICLES] 时启用。参阅"
+"粒子精灵表中的水平帧数。仅在使用 [constant BILLBOARD_PARTICLES] 时启用。见 "
"[member params_billboard_mode]。"
#: doc/classes/SpatialMaterial.xml
@@ -71714,7 +71863,7 @@ msgid ""
"using [constant BILLBOARD_PARTICLES]. See [member params_billboard_mode]."
msgstr ""
"如果为 [code]true[/code],循环粒子动画。仅在使用 [constant "
-"BILLBOARD_PARTICLES] 时启用。参阅[member params_billboard_mode]。"
+"BILLBOARD_PARTICLES] 时启用。见 [member params_billboard_mode]。"
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -71722,7 +71871,7 @@ msgid ""
"when using [constant BILLBOARD_PARTICLES]. See [member "
"params_billboard_mode]."
msgstr ""
-"粒子精灵表中的垂直帧数。仅在使用 [constant BILLBOARD_PARTICLES] 时启用。参阅"
+"粒子精灵表中的垂直帧数。仅在使用 [constant BILLBOARD_PARTICLES] 时启用。见 "
"[member params_billboard_mode]。"
#: doc/classes/SpatialMaterial.xml
@@ -71760,7 +71909,7 @@ msgstr "折射效果的强度。较高的值会使折射的表现更加扭曲。
msgid ""
"Texture that controls the strength of the refraction per-pixel. Multiplied "
"by [member refraction_scale]."
-msgstr "控制每个像素折射强度的纹理。乘以[member refraction_scale]。"
+msgstr "控制每个像素折射强度的纹理。会与 [member refraction_scale] 相乘。"
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -71770,9 +71919,9 @@ msgid ""
"stored metallic in the red channel, roughness in the blue, and ambient "
"occlusion in the green you could reduce the number of textures you use."
msgstr ""
-"指定存储折射信息的[member refraction_texture]的通道。当你在纹理中存储多种效果"
-"的信息时,这很有用。例如,如果你在红色通道中存储金属效果,在蓝色通道中存储粗"
-"糙度,在绿色通道中存储环境遮挡,就可以减少使用纹理的数量。"
+"指定存储折射信息的 [member refraction_texture] 的通道。当你在纹理中存储多种效"
+"果的信息时,这很有用。例如,如果你在红色通道中存储金属效果,在蓝色通道中存储"
+"粗糙度,在绿色通道中存储环境遮挡,就可以减少使用纹理的数量。"
#: doc/classes/SpatialMaterial.xml
msgid "Sets the strength of the rim lighting effect."
@@ -71794,7 +71943,7 @@ msgstr ""
msgid ""
"Texture used to set the strength of the rim lighting effect per-pixel. "
"Multiplied by [member rim]."
-msgstr "纹理用于设置每个像素的边缘光照效果的强度。乘以 [member rim]。"
+msgstr "纹理用于设置每个像素的边缘光照效果的强度。会与 [member rim] 相乘。"
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -71818,7 +71967,7 @@ msgstr ""
msgid ""
"Texture used to control the roughness per-pixel. Multiplied by [member "
"roughness]."
-msgstr "用于控制每个像素粗糙度的纹理。乘以 [member roughness]。"
+msgstr "用于控制每个像素粗糙度的纹理。会与 [member roughness] 相乘。"
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -71837,8 +71986,8 @@ msgid ""
"Texture used to control the subsurface scattering strength. Stored in the "
"red texture channel. Multiplied by [member subsurf_scatter_strength]."
msgstr ""
-"用于控制次表面散射强度的纹理。存储在红色纹理通道中。乘以 [member "
-"subsurf_scatter_strength]。"
+"用于控制次表面散射强度的纹理。存储在红色纹理通道中。会与 [member "
+"subsurf_scatter_strength] 相乘。"
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -71854,7 +72003,7 @@ msgstr "如果为 [code]true[/code],则启用传输效果。"
msgid ""
"Texture used to control the transmission effect per-pixel. Added to [member "
"transmission]."
-msgstr "纹理用于控制每个像素的传输效果。添加到 [member transmission]。"
+msgstr "纹理用于控制每个像素的传输效果。会与 [member transmission] 相加。"
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -71862,7 +72011,7 @@ msgid ""
"added to [code]UV[/code] in the vertex function. This can be used to offset "
"a texture."
msgstr ""
-"[code]UV[/code]坐标的偏移量。这个量将被添加到顶点函数中的 [code]UV[/code] "
+"[code]UV[/code] 坐标的偏移量。这个量将被添加到顶点函数中的 [code]UV[/code] "
"中。这可以用来偏移纹理。"
#: doc/classes/SpatialMaterial.xml
@@ -71870,7 +72019,7 @@ msgid ""
"How much to scale the [code]UV[/code] coordinates. This is multiplied by "
"[code]UV[/code] in the vertex function."
msgstr ""
-"缩放 [code]UV[/code] 坐标的多少。这个值乘以顶点函数中的 [code]UV[/code]。"
+"[code]UV[/code] 坐标的缩放量。这个值会与顶点函数中的 [code]UV[/code] 相乘。"
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -71912,7 +72061,7 @@ msgid ""
"How much to scale the [code]UV2[/code] coordinates. This is multiplied by "
"[code]UV2[/code] in the vertex function."
msgstr ""
-"缩放 [code]UV[/code] 坐标的多少。这个值乘以顶点函数中的 [code]UV[/code]。"
+"[code]UV2[/code] 坐标的缩放量。这个值会与顶点函数中的 [code]UV2[/code] 相乘。"
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -71979,7 +72128,7 @@ msgstr "指定每个像素流图方向的纹理,用于 [member anisotropy]。"
#: doc/classes/SpatialMaterial.xml
msgid "Texture specifying per-pixel ambient occlusion value."
-msgstr "指定每个像素环境遮挡值的纹理。"
+msgstr "指定每个像素环境光遮蔽的纹理。"
#: doc/classes/SpatialMaterial.xml
msgid "Texture specifying per-pixel depth."
@@ -71987,7 +72136,7 @@ msgstr "指定每个像素深度的纹理。"
#: doc/classes/SpatialMaterial.xml
msgid "Texture specifying per-pixel subsurface scattering."
-msgstr "指定每个像素的亚表面散射的纹理。"
+msgstr "指定每个像素的次表面散射的纹理。"
#: doc/classes/SpatialMaterial.xml
msgid "Texture specifying per-pixel transmission color."
@@ -72097,7 +72246,7 @@ msgstr "不透明和透明的对象都要计算深度绘制。"
#: doc/classes/SpatialMaterial.xml
msgid "No depth draw."
-msgstr "没有深度的绘制。"
+msgstr "不进行深度绘制。"
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -72107,7 +72256,7 @@ msgstr "对于透明对象,首先对不透明部分进行不透明传递,然
#: doc/classes/SpatialMaterial.xml
msgid "Default cull mode. The back of the object is culled when not visible."
-msgstr "默认的裁剪模式。当不可见时,对象的背面会被剔除。"
+msgstr "默认的剔除模式。对象的背面会在不可见时被剔除。"
#: doc/classes/SpatialMaterial.xml
msgid "The front of the object is culled when not visible."
@@ -72259,11 +72408,11 @@ msgstr "广告牌模式被禁用。"
#: doc/classes/SpatialMaterial.xml
msgid "The object's Z axis will always face the camera."
-msgstr "对象的Z轴将始终面向相机。"
+msgstr "对象的 Z 轴将始终面向相机。"
#: doc/classes/SpatialMaterial.xml
msgid "The object's X axis will always face the camera."
-msgstr "对象的X轴将始终面向相机。"
+msgstr "对象的 X 轴将始终面向相机。"
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -72319,7 +72468,7 @@ msgid ""
"faster than [constant DISTANCE_FADE_PIXEL_ALPHA]."
msgstr ""
"根据每个像素与相机的距离,使用抖动方法平滑地淡化对象。抖动会根据设定的模式丢"
-"弃像素,在不启用透明的情况下平滑淡化。在某些硬件上,这比 [constant "
+"弃像素,在不启用透明的情况下平滑淡化。在某些硬件上比 [constant "
"DISTANCE_FADE_PIXEL_ALPHA] 更快。"
#: doc/classes/SpatialMaterial.xml
@@ -72330,8 +72479,8 @@ msgid ""
"faster than [constant DISTANCE_FADE_PIXEL_ALPHA]."
msgstr ""
"根据对象与相机的距离,使用抖动的方法平滑地淡化对象。抖动根据设定的模式丢弃像"
-"素,在不启用透明度的情况下平滑淡化。在某些硬件上,这可能比[constant "
-"DISTANCE_FADE_PIXEL_ALPHA]更快。"
+"素,在不启用透明度的情况下平滑淡化。在某些硬件上可能比 [constant "
+"DISTANCE_FADE_PIXEL_ALPHA] 更快。"
#: doc/classes/SpatialMaterial.xml
msgid ""
@@ -72826,9 +72975,10 @@ msgstr ""
"region_rect]。"
#: doc/classes/Sprite3D.xml
+#, fuzzy
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
"要绘制的 [Texture] 对象。如果 [member GeometryInstance.material_override] 被"
"使用,这将被覆盖。"
@@ -72919,8 +73069,8 @@ msgid ""
"sorted from back to front (subject to priority)."
msgstr ""
"设置该精灵的渲染优先级。优先级高的物体将被排序在优先级低的物体前面。\n"
-"[b]注意:[/b]仅在 [member alpha_cut] 为 [constant "
-"ALPHA_CUT_DISABLED](默认值)时适用。\n"
+"[b]注意:[/b]仅在 [member alpha_cut] 为 [constant ALPHA_CUT_DISABLED](默认"
+"值)时适用。\n"
"[b]注意:[/b]仅适用于透明物体的排序。这不会影响透明物体相对于不透明物体的排序"
"方式。这是因为不透明对象不被排序,而透明对象则从后往前排序(取决于优先级)。"
@@ -73703,7 +73853,7 @@ msgstr ""
msgid ""
"Returns a copy of the string with special characters escaped using the C "
"language standard."
-msgstr "返回一个使用C语言标准转义的特殊字符的字符串的副本。"
+msgstr "返回一个使用 C 语言标准转义的特殊字符的字符串的副本。"
#: doc/classes/String.xml
msgid ""
@@ -74421,11 +74571,15 @@ msgid "Returns the right side of the string from a given position."
msgstr "返回该字符串指定位置右侧的内容。"
#: doc/classes/String.xml
+#, fuzzy
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -74510,9 +74664,13 @@ msgid "Returns a simplified canonical path."
msgstr "返回简化的规范路径。"
#: doc/classes/String.xml
+#, fuzzy
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -74545,11 +74703,15 @@ msgstr ""
"如果您需要使用更复杂的规则拆分字符串,请改用 [RegEx] 类。"
#: doc/classes/String.xml
+#, fuzzy
msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
"使用分隔符字符串将字符串拆分为浮点数,并返回子字符串数组。\n"
"例如,如果被 [code]\",\"[/code] 分割,[code]\"1,2.5,3\"[/code] 将返回 [code]"
@@ -75970,6 +76132,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr "如果启用鼠标右键选择,则返回 [code]true[/code]。"
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "返回索引 [code]tab_idx[/code] 处的选项卡的标题。"
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr "返回向左偏移的隐藏选项卡的数量。"
@@ -75999,6 +76166,11 @@ msgid ""
msgstr "如果为 [code]true[/code],启用鼠标右键选择选项卡。"
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "为索引 [code]tab_idx[/code] 处的选项卡设置图标。"
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr "为索引 [code]tab_idx[/code] 处的选项卡设置 [code]icon[/code]。"
@@ -76012,8 +76184,8 @@ msgid ""
"dragging tabs between [Tabs]. Enable drag with [member "
"drag_to_rearrange_enabled]."
msgstr ""
-"定义重新排列组的ID。为每个[Tabs]选择相同的值,以便在[Tabs]之间拖动标签。用"
-"[member drag_to_rearrange_enabled]启用拖动。"
+"定义重新排列组的 ID。为每个 [Tabs] 选择相同的值,以便在 [Tabs] 之间拖动标签。"
+"用 [member drag_to_rearrange_enabled] 启用拖动。"
#: doc/classes/Tabs.xml
msgid "Select tab at index [code]tab_idx[/code]."
@@ -76042,12 +76214,14 @@ msgid ""
"Emitted when the active tab is rearranged via mouse drag. See [member "
"drag_to_rearrange_enabled]."
msgstr ""
-"通过鼠标拖动重新排列活动选项卡时发出。参阅 [member "
-"drag_to_rearrange_enabled]。"
+"通过鼠标拖动重新排列活动选项卡时发出。见 [member drag_to_rearrange_enabled]。"
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
-msgstr "当选项卡被右键单击时发出。"
+#, fuzzy
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
+msgstr "按下自定义按钮时发出。见 [method add_button]。"
#: doc/classes/Tabs.xml
msgid "Emitted when a tab is clicked, even if it is the current tab."
@@ -76473,13 +76647,13 @@ msgid ""
" var res_column = result[TextEdit.SEARCH_RESULT_COLUMN]\n"
"[/codeblock]"
msgstr ""
-"在文本内部进行搜索。搜索标志可以在[enum SearchFlags]枚举中指定。\n"
-"如果没有找到结果,返回一个空的[code]PoolIntArray[/code]。否则,可以通过[enum "
-"SearchResult]枚举中指定的索引访问结果行和列,例如。\n"
+"在文本内部进行搜索。搜索标志可以用 [enum SearchFlags] 枚举指定。\n"
+"如果没有找到结果,返回一个空的 [code]PoolIntArray[/code]。否则,可以通过 "
+"[enum SearchResult] 枚举中指定的索引访问结果行和列,例如:\n"
"[codeblock]\n"
"var result = search(key, flags, line, column)\n"
"if result.size() > 0:\n"
-" # 找到的结果。\n"
+" # 找到结果。\n"
" var res_line = result[TextEdit.SEARCH_RESULT_LINE)\n"
" var res_column = result[TextEdit.SEARCH_RESULT_COLUMN]\n"
"[/codeblock]"
@@ -76510,8 +76684,8 @@ msgid ""
"code]. Deletes the bookmark if [code]bookmark[/code] is [code]false[/code].\n"
"Bookmarks are shown in the [member breakpoint_gutter]."
msgstr ""
-"如果 [code]bookmark[/code] 为 [code]true[/code],则为行 [code]line[/code] "
-"设置书签。如果 [code]bookmark[/code] 为 [code]false[/code],则删除该书签。\n"
+"如果 [code]bookmark[/code] 为 [code]true[/code],则为行 [code]line[/code] 设"
+"置书签。如果 [code]bookmark[/code] 为 [code]false[/code],则删除该书签。\n"
"书签显示在 [member breakpoint_gutter] 中。"
#: doc/classes/TextEdit.xml
@@ -76944,7 +77118,7 @@ msgid ""
"Returns an [Image] that is a copy of data from this [Texture]. [Image]s can "
"be accessed and manipulated directly."
msgstr ""
-"返回一个 [Image],它是此 [Texture] 中数据的副本。[Image] 图像可以直接访问和操"
+"返回一个 [Image],它是这个 [Texture] 中数据的副本。[Image] 可以直接访问和操"
"作。"
#: doc/classes/Texture.xml
@@ -77290,7 +77464,7 @@ msgstr "返回纹理的高度。高度通常由Y轴表示。"
#: doc/classes/TextureLayered.xml
msgid ""
"Returns an [Image] resource with the data from specified [code]layer[/code]."
-msgstr "返回一个带有指定[code]layer[/code]层数据的[Image]图像资源。"
+msgstr "返回一个带有指定 [code]layer[/code] 层数据的 [Image] 图像资源。"
#: doc/classes/TextureLayered.xml
msgid ""
@@ -78335,14 +78509,14 @@ msgid ""
"Returns a [Vector2] array with the positions of all cells containing a tile "
"from the tileset (i.e. a tile index different from [code]-1[/code])."
msgstr ""
-"返回一个[Vector2]数组,其中包含图块集中所有单元格的位置(图块索引非[code]-1[/"
-"code])。"
+"返回一个 [Vector2] 数组,其中包含图块集中所有单元格的位置(图块索引非 "
+"[code]-1[/code])。"
#: doc/classes/TileMap.xml
msgid ""
"Returns an array of all cells with the given tile index specified in "
"[code]id[/code]."
-msgstr "返回所有具有[code]id[/code]中指定的图块索引的单元格的数组。"
+msgstr "返回所有具有 [code]id[/code] 中指定的图块索引的单元格的数组。"
#: doc/classes/TileMap.xml
msgid "Returns a rectangle enclosing the used (non-empty) tiles of the map."
@@ -79678,7 +79852,7 @@ msgid ""
"[b]Note:[/b] This is a \"pass-by\" (not \"bypass\") press mode."
msgstr ""
"如果为 [code]true[/code],只要按下的手指进出按钮,就会发出 [signal pressed] "
-"和[signal released] ]信号,即使压力开始于按钮的有效区域之外。\n"
+"和 [signal released] 信号,即使压力开始于按钮的有效区域之外。\n"
"[b]注意:[/b]这是一种“pass-by”的按压模式 ,而不是“bypass”。"
#: doc/classes/TouchScreenButton.xml
@@ -81989,21 +82163,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr "使具有相同名称的后续动作合并为一个。"
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
-msgstr "UPNP 网络功能。"
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
+msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -82016,7 +82194,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -82045,81 +82223,78 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
-msgstr ""
-"提供 UPNP 功能来发现本地网络上的 [UPNPDevice],并对它们执行指令,如管理端口映"
-"射(端口转发)和查询本地和远程网络 IP 地址。注意,这个类的方法是同步的,会阻"
-"塞调用线程。\n"
-"要转发一个特定的端口:\n"
-"[codeblock]\n"
-"const PORT = 7777\n"
-"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
"[/codeblock]\n"
-"要关闭一个特定的端口(例如,在你使用完它之后):\n"
-"[codeblock]\n"
-"upnp.delete_port_mapping(port)\n"
-"[/codeblock]\n"
-"[b]注意:[/b]UPnP 发现会阻塞当前线程。要在不阻塞主线程的情况下执行发现,可以"
-"像这样使用 [Thread]:\n"
-"[codeblock]\n"
-"# 当完成 UPnP 端口映射设置时发出(无论成功或失败)。\n"
-"signal upnp_completed(error)\n"
-"\n"
-"# 将其替换为您自己的服务器端口号(介于 1025 和 65535之间)。\n"
-"const SERVER_PORT = 3928\n"
-"var thread = null\n"
-"\n"
-"func _upnp_setup(server_port):\n"
-" # UPNP 查询需要一些时间。\n"
-" var upnp = UPNP.new()\n"
-" var err = upnp.discover()\n"
-"\n"
-" if err != OK:\n"
-" push_error(str(err))\n"
-" emit_signal(\"upnp_completed\", err)\n"
-" return\n"
-"\n"
-" if upnp.get_gateway() and upnp.get_gateway().is_valid_gateway():\n"
-" upnp.add_port_mapping(server_port, server_port, ProjectSettings."
-"get_setting(\"application/config/name\"), \"UDP\")\n"
-" upnp.add_port_mapping(server_port, server_port, ProjectSettings."
-"get_setting(\"application/config/name\"), \"TCP\")\n"
-" emit_signal(\"upnp_completed\", OK)\n"
-"\n"
-"func _ready():\n"
-" thread = Thread.new()\n"
-" thread.start(self, \"_upnp_setup\", SERVER_PORT)\n"
-"\n"
-"func _exit_tree():\n"
-" # 当线程正在运行时,在这里等待线程结束来处理游戏退出。\n"
-" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
+msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid "Adds the given [UPNPDevice] to the list of discovered devices."
msgstr "将给定的 [UPNPDevice] 添加到已发现设备的列表中。"
#: modules/upnp/doc_classes/UPNP.xml
+#, fuzzy
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
"添加一个映射,将默认网关上的外部[code]port[/code],介于1和65535之间,转发到本"
@@ -82140,12 +82315,15 @@ msgid "Clears the list of discovered devices."
msgstr "清除已发现设备的列表。"
#: modules/upnp/doc_classes/UPNP.xml
+#, fuzzy
msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
"如果默认网关上存在给定的端口和协议组合的端口映射(见 [method get_gateway]),"
"则将其删除。[code]port[/code] 必须是 1 到 65535 之间的有效端口,[code]proto[/"
@@ -82371,16 +82549,17 @@ msgid "Unknown error."
msgstr "未知错误。"
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
-msgstr "UPNP 设备。"
+msgid "Universal Plug and Play (UPnP) device."
+msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
+#, fuzzy
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
"UPNP 设备。参阅 [UPNP] 了解 UPNP 发现和实用功能。提供对 UPNP 控制命令的低层访"
"问。允许管理端口映射(端口转发)和查询设备的网络信息,如本地和外部IP地址和状"
@@ -82468,7 +82647,7 @@ msgstr "未知设备。"
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid "Invalid control."
-msgstr "无效控件。"
+msgstr "无效控制。"
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid "Memory allocation error."
@@ -82891,8 +83070,8 @@ msgid ""
"Returns a vector composed of the [method @GDScript.fposmod] of this vector's "
"components and [code]modv[/code]'s components."
msgstr ""
-"返回一个由这个向量的[code]modv[/code]分量和[method @GDScript.fposmod]分量组成"
-"的向量。"
+"返回一个由这个向量的 [code]modv[/code] 分量和 [method @GDScript.fposmod] 分量"
+"组成的向量。"
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid "Returns this vector projected onto the vector [code]b[/code]."
@@ -82958,7 +83137,7 @@ msgstr ""
msgid ""
"Returns a perpendicular vector rotated 90 degrees counter-clockwise compared "
"to the original, with the same length."
-msgstr "返回一个与原来相比逆时针旋转90度的垂直向量,长度不变。"
+msgstr "返回一个与原来相比逆时针旋转 90 度的垂直向量,长度不变。"
#: doc/classes/Vector2.xml doc/classes/Vector3.xml
msgid ""
@@ -83320,8 +83499,9 @@ msgid ""
"skidding. 0.0 is skidding (the wheel has lost grip, e.g. icy terrain), 1.0 "
"means not skidding (the wheel has full grip, e.g. dry asphalt road)."
msgstr ""
-"返回一个介于0.0和1.0之间的值,表示这个轮子是否打滑。0.0表示打滑,即车轮失去了"
-"抓地力,例如冰雪地形,1.0表示不打滑,即车轮有充分的抓地力,例如干燥的沥青路。"
+"返回一个介于 0.0 和 1.0 之间的值,表示这个轮子是否打滑。0.0 表示打滑(车轮失"
+"去了抓地力,例如冰雪地形),1.0 表示不打滑(车轮有充分的抓地力,例如干燥的沥"
+"青路)。"
#: doc/classes/VehicleWheel.xml
msgid "Returns [code]true[/code] if this wheel is in contact with a surface."
@@ -84069,10 +84249,10 @@ msgid ""
"Viewport or from [code]SCREEN_TEXTURE[/code] becomes unavailable. For more "
"information see [method VisualServer.viewport_set_render_direct_to_screen]."
msgstr ""
-"如果为 [code]true[/code],会直接将 Viewport 渲染到屏幕上,而不是渲染到根视窗"
-"上。只在 GLES2 中可用。这是一个低级别的优化,在大多数情况下不应该使用。如果使"
-"用,从 Viewport 或从 [code]SCREEN_TEXTURE[/code] 读取将变得不可用。更多信息参"
-"阅 [method VisualServer.viewport_set_render_direct_to_screen]。"
+"如果为 [code]true[/code],会直接将该 Viewport 渲染到屏幕上,而不是渲染到根视"
+"窗上。只在 GLES2 中可用。这是一个低级别的优化,在大多数情况下不应该使用。如果"
+"使用,从该 Viewport 或从 [code]SCREEN_TEXTURE[/code] 读取将变得不可用。更多信"
+"息参阅 [method VisualServer.viewport_set_render_direct_to_screen]。"
#: doc/classes/Viewport.xml
msgid ""
@@ -84133,17 +84313,17 @@ msgid ""
"Values around [code]0.5[/code] generally give the best results. See also "
"[member fxaa]."
msgstr ""
-"如果设置为大于[code]0.0[/code]的值,对比度适应性锐化将被应用到3D视窗中。这具"
-"有较低的性能成本,可以用来恢复使用FXAA所损失的一些锐度。一般来说,[code]0.5[/"
-"code]左右的数值可以得到最好的效果。参阅[member fxaa]。"
+"如果设置为大于 [code]0.0[/code] 的值,对比度适应性锐化将被应用到3D视窗中。这"
+"具有较低的性能成本,可以用来恢复使用 FXAA 所损失的一些锐度。一般来说,"
+"[code]0.5[/code] 左右的数值可以得到最好的效果。另请参阅 [member fxaa]。"
#: doc/classes/Viewport.xml
msgid ""
"The width and height of viewport. Must be set to a value greater than or "
"equal to 2 pixels on both dimensions. Otherwise, nothing will be displayed."
msgstr ""
-"视窗的宽度和高度。必须在两个维度上设置为大于或等于2像素的值。否则,将不会显示"
-"任何东西。"
+"视窗的宽度和高度。必须在两个维度上设置为大于或等于 2 像素的值。否则,将不会显"
+"示任何东西。"
#: doc/classes/Viewport.xml
msgid "If [code]true[/code], the size override affects stretch as well."
@@ -84201,7 +84381,7 @@ msgid ""
"Emitted when the size of the viewport is changed, whether by [method "
"set_size_override], resize of window, or some other means."
msgstr ""
-"当视窗的大小被改变时,无论是通过[method set_size_override],调整窗口的大小,"
+"当视窗的大小被改变时,无论是通过 [method set_size_override]、调整窗口的大小,"
"还是其他方式,都会触发。"
#: doc/classes/Viewport.xml
@@ -84236,11 +84416,11 @@ msgstr "此象限将分为 4 个,最多使用 4 个阴影贴图。"
#: doc/classes/Viewport.xml
msgid "This quadrant will be split 16 ways and used by up to 16 shadow maps."
-msgstr "此象限将被分成16个方向,并被最多16张阴影贴图使用。"
+msgstr "此象限将被分成 16 个方向,并被最多 16 张阴影贴图使用。"
#: doc/classes/Viewport.xml
msgid "This quadrant will be split 64 ways and used by up to 64 shadow maps."
-msgstr "这个象限将被分成64个方向,并被最多64张阴影贴图使用。"
+msgstr "这个象限将被分成 64 个方向,并被最多 64 张阴影贴图使用。"
#: doc/classes/Viewport.xml
msgid ""
@@ -84248,7 +84428,7 @@ msgid ""
"Unless the [member shadow_atlas_size] is very high, the shadows in this "
"quadrant will be very low resolution."
msgstr ""
-"这个象限将被分成256个方向,并被最多256个阴影贴图使用。除非 [member "
+"这个象限将被分成 256 个方向,并被最多 256 个阴影贴图使用。除非 [member "
"shadow_atlas_size] 非常高,否则这个象限内的阴影分辨率会非常低。"
#: doc/classes/Viewport.xml
@@ -84257,12 +84437,12 @@ msgid ""
"Unless the [member shadow_atlas_size] is very high, the shadows in this "
"quadrant will be very low resolution."
msgstr ""
-"这个象限将被分成1024个方向,并被最多1024个阴影贴图使用。除非 [member "
+"这个象限将被分成 1024 个方向,并被最多 1024 个阴影贴图使用。除非 [member "
"shadow_atlas_size] 非常高,否则这个象限内的阴影分辨率会非常低。"
#: doc/classes/Viewport.xml
msgid "Represents the size of the [enum ShadowAtlasQuadrantSubdiv] enum."
-msgstr "代表[enum ShadowAtlasQuadrantSubdiv]枚举的大小。"
+msgstr "代表 [enum ShadowAtlasQuadrantSubdiv] 枚举的大小。"
#: doc/classes/Viewport.xml
msgid "Amount of objects in frame."
@@ -84882,7 +85062,7 @@ msgstr "返回给定函数的屏幕中心的位置。"
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "Returns a node given its id and its function."
-msgstr "返回一个节点,指定它的id和它的函数。"
+msgstr "返回一个节点,指定它的 id 和它的函数。"
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "Returns a node's position in pixels."
@@ -85175,7 +85355,7 @@ msgid ""
"Return a number linearly interpolated between the first two inputs, based on "
"the third input. Uses the formula [code]a + (a - b) * t[/code]."
msgstr ""
-"返回一个在前两个输入之间线性插值的数字,以第三个输入为基础。使用公式[code]a "
+"返回一个在前两个输入之间线性插值的数字,以第三个输入为基础。使用公式 [code]a "
"+ (a - b) * t[/code]。"
#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml
@@ -85203,16 +85383,16 @@ msgid ""
"N (where N is smaller than 2^32 - 1), you can use it with the remainder "
"function."
msgstr ""
-"返回一个随机的32位整数值。为了获得0到N之间的随机值(其中N小于2^32 - 1),你可"
-"以将其与余数函数一起使用。"
+"返回一个随机的 32 位整数值。为了获得 0 到 N 之间的随机值(其中 N 小于 2^32 - "
+"1),你可以将其与余数函数一起使用。"
#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml
msgid ""
"Return a random floating-point value between 0 and 1. To obtain a random "
"value between 0 to N, you can use it with multiplication."
msgstr ""
-"返回一个介于0 到 1之间的随机浮点值。要获得一个介于0到N之间的随机值,可以将其"
-"与乘法结合使用。"
+"返回一个介于 0 到 1 之间的随机浮点值。要获得一个介于 0 到 N 之间的随机值,可"
+"以将其与乘法结合使用。"
#: modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml
msgid "Return a random floating-point value between the two inputs."
@@ -85347,7 +85527,7 @@ msgid ""
"[/codeblock]"
msgstr ""
"返回一个在前两个输入之间平滑内插的数字,基于第三个输入。类似于 [constant "
-"MATH_LERP],但在开始时插值较快,结束时插值较慢。使用Hermite插值公式。\n"
+"MATH_LERP],但在开始时插值较快,结束时插值较慢。使用 Hermite 插值公式。\n"
"[codeblock]\n"
"var t = clamp((weight - from) / (to - from), 0.0, 1.0)\n"
"return t * t * (3.0 - 2.0 * t)\n"
@@ -85592,15 +85772,15 @@ msgid ""
"When returning, you can mask the returned value with one of the "
"[code]STEP_*[/code] constants."
msgstr ""
-"执行自定义节点的逻辑,返回要使用的输出序列端口的索引,或者在有错误时返回一个"
+"执行自定义节点的逻辑,返回要使用的输出序列端口的索引,或者在有错误时返回一个 "
"[String]。\n"
-"[code]inputs[/code]数组包含输入端口的值。\n"
-"[code]output[/code]是一个数组,其索引应被设置为相应的输出。\n"
-"[code]start_mode[/code]通常是[constant START_MODE_BEGIN_SEQUENCE],除非你使用"
-"了[code]STEP_*[/code]常量。\n"
-"[code]working_mem[/code]是一个数组,可以用来在自定义节点的运行之间持续保存信"
-"息。其大小需要用[method _get_working_memory_size]来预定义。\n"
-"当返回时,你可以用[code]STEP_*[/code]中的一个常量来屏蔽返回值。"
+"[code]inputs[/code] 数组包含输入端口的值。\n"
+"[code]output[/code] 是一个数组,其索引应被设置为相应的输出。\n"
+"[code]start_mode[/code] 通常是[constant START_MODE_BEGIN_SEQUENCE],除非你使"
+"用了 [code]STEP_*[/code] 常量。\n"
+"[code]working_mem[/code] 是一个数组,可以用来在自定义节点的运行之间持续保存信"
+"息。其大小需要用 [method _get_working_memory_size] 来预定义。\n"
+"当返回时,你可以用 [code]STEP_*[/code] 中的一个常量来屏蔽返回值。"
#: modules/visual_script/doc_classes/VisualScriptCustomNode.xml
msgid "The start mode used the first time when [method _step] is called."
@@ -86103,7 +86283,7 @@ msgstr "数学常量。"
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid "Unity: [code]1[/code]."
-msgstr "Unity:[code]1[/code]。"
+msgstr "单位一:[code]1[/code]。"
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid "Pi: [code]3.141593[/code]."
@@ -86438,7 +86618,7 @@ msgid ""
"[b]Output Ports:[/b]\n"
"none"
msgstr ""
-"结束一个函数的执行并将控制权返回给调用函数。可选,它可以返回一个[Variant]"
+"结束一个函数的执行并将控制权返回给调用函数。可选,它可以返回一个 [Variant] "
"值。\n"
"[b]输入端口:[/b]\n"
"- 序列\n"
@@ -89274,9 +89454,8 @@ msgid ""
"viewport_set_use_32_bpc_depth].\n"
"[b]Note:[/b] Only available on the GLES3 backend."
msgstr ""
-"如果为 "
-"[code]true[/code],该视区会渲染至高动态范围(HDR)而不是标准动态范围(SDR)。"
-"另请参阅 [method viewport_set_use_32_bpc_depth]。\n"
+"如果为 [code]true[/code],该视区会渲染至高动态范围(HDR)而不是标准动态范围"
+"(SDR)。另请参阅 [method viewport_set_use_32_bpc_depth]。\n"
"[b]注意:[/b]仅在 GLES3 后端可用。"
#: doc/classes/VisualServer.xml
@@ -89382,8 +89561,8 @@ 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 "
-"位)而不是半浮点数精度(16 位)。只有在同一个 [Viewport] 上通过 [method "
+"如果为 [code]true[/code],分配该视区的帧缓冲时将使用完整浮点数精度(32 位)而"
+"不是半浮点数精度(16 位)。只有在同一个 [Viewport] 上通过 [method "
"viewport_set_use_32_bpc_depth] 将 HDR 设为 [code]true[/code] 时有效。\n"
"[b]注意:[/b]仅在 GLES3 后端中可用。"
@@ -90873,8 +91052,8 @@ msgid ""
"function]. Returns a boolean scalar. Translates to [code]if[/code] "
"instruction in shader code."
msgstr ""
-"通过 [member function] 比较[code]a[/code]和[code]b[/code]的 [member type]。返"
-"回一个布尔标量。在着色器代码中转换成[code]if[/code]指令。"
+"通过 [member function] 比较 [code]a[/code] 和 [code]b[/code] 的 [member "
+"type]。返回一个布尔标量。在着色器代码中转换成 [code]if[/code] 指令。"
#: doc/classes/VisualShaderNodeCompare.xml
msgid ""
@@ -91397,12 +91576,12 @@ msgstr "移除所有先前指定的输出端口。"
#: doc/classes/VisualShaderNodeGroupBase.xml
msgid ""
"Returns a free input port ID which can be used in [method add_input_port]."
-msgstr "返回一个空闲的输入端口ID,可以在[method add_input_port]中使用。"
+msgstr "返回一个空闲的输入端口 ID,可以在 [method add_input_port] 中使用。"
#: doc/classes/VisualShaderNodeGroupBase.xml
msgid ""
"Returns a free output port ID which can be used in [method add_output_port]."
-msgstr "返回一个空闲的输出端口ID,可以在[method add_output_port]中使用。"
+msgstr "返回一个空闲的输出端口 ID,可以在 [method add_output_port] 中使用。"
#: doc/classes/VisualShaderNodeGroupBase.xml
msgid ""
@@ -92509,8 +92688,11 @@ msgstr ""
"依赖,并允许引用被释放。"
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
-msgstr "返回此弱引用所指的 [Object]。"
+#, fuzzy
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
+msgstr "返回指定属性的初始值。如果属性不存在,则返回 [code]null[/code]。"
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml
msgid "Closes this data channel, notifying the other peer."
@@ -93353,7 +93535,7 @@ msgstr ""
#: modules/websocket/doc_classes/WebSocketServer.xml
msgid "Returns [code]true[/code] if a peer with the given ID is connected."
-msgstr "如果一个具有给定ID的对等体被连接,则返回 [code]true[/code]。"
+msgstr "如果一个具有给定 ID 的对等体被连接,则返回 [code]true[/code]。"
#: modules/websocket/doc_classes/WebSocketServer.xml
msgid ""
@@ -93473,8 +93655,8 @@ msgid ""
"[b]Note:[/b] This signal is [i]not[/i] emitted when used as high-level "
"multiplayer peer."
msgstr ""
-"当收到一个新消息时触发。\n"
-"[b]注意:[/b]这个信号在用作高级多人对等的时候,[i]不会[/i]触发。"
+"当收到新消息时触发。\n"
+"[b]注意:[/b]这个信号[i]不会[/i]在用作高级多人对等体时触发。"
#: modules/webxr/doc_classes/WebXRInterface.xml
msgid "AR/VR interface using WebXR."
@@ -93936,10 +94118,10 @@ msgid ""
msgstr ""
"发出该消息以表明引用空间已被重置或重新配置。\n"
"何时或是否发出取决于用户的浏览器或设备,但可能包括当用户改变了他们的游戏空间"
-"的尺寸,你可以通过[member bounds_geometry]访问,或按下/按住一个按钮来重新定位"
-"他们的位置。\n"
-"参阅[url=https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpace/"
-"reset_event]WebXR的XRReferenceSpace重置事件[/url]。"
+"的尺寸,你可以通过 [member bounds_geometry] 访问,或按下/按住一个按钮来重新定"
+"位他们的位置。\n"
+"详情见 [url=https://developer.mozilla.org/en-US/docs/Web/API/"
+"XRReferenceSpace/reset_event]WebXR 的 XRReferenceSpace 重置事件[/url]。"
#: modules/webxr/doc_classes/WebXRInterface.xml
msgid ""
@@ -94275,7 +94457,7 @@ msgstr "从 [code]path[/code] 路径加载证书(“*.crt”文件)。"
msgid ""
"Saves a certificate to the given [code]path[/code] (should be a \"*.crt\" "
"file)."
-msgstr "将一个证书保存到给定的 [code]path[/code],应是一个“*.crt”文件。"
+msgstr "将证书保存到给定的 [code]path[/code](应是“*.crt”文件)。"
#: doc/classes/XMLParser.xml
msgid ""
@@ -94291,8 +94473,8 @@ msgid ""
"flexible standard, this interface is low-level so it can be applied to any "
"possible schema."
msgstr ""
-"这个类可以作为制作自定义 XML 解析器的基础。由于 XML 是一个非常灵活的标准,这"
-"个接口也是底层的,可被应用于任何可能的模式。"
+"这个类可以作为制作自定义 XML 解析器的基础。由于 XML 是非常灵活的标准,这个接"
+"口也是底层的,可被应用于任何可能的模式。"
#: doc/classes/XMLParser.xml
msgid "Gets the amount of attributes in the current element."
@@ -94398,7 +94580,7 @@ msgstr "没有节点,未打开文件或缓冲区。"
#: doc/classes/XMLParser.xml
msgid "Element (tag)."
-msgstr "元素,即标签。"
+msgstr "元素(标签)。"
#: doc/classes/XMLParser.xml
msgid "End of element."
@@ -94437,7 +94619,7 @@ msgstr ""
"根据子节点的 Y 坐标对所有子节点进行排序。子节点必须继承自 [CanvasItem],才能"
"进行排序。Y 坐标较高的节点将后绘制,因此它们将出现在 Y 坐标较低的节点之上。\n"
"YSort 节点可以嵌套。子节点将与父节点在相同的空间内进行排序,这样可以更好地组"
-"织一个场景或将其分为多个场景,但又能保持唯一的排序。"
+"织场景或将其分为多个场景,但又能保持唯一的排序。"
#: doc/classes/YSort.xml
msgid ""
diff --git a/doc/translations/zh_TW.po b/doc/translations/zh_TW.po
index 59cd8b199b..fd6f0ff27c 100644
--- a/doc/translations/zh_TW.po
+++ b/doc/translations/zh_TW.po
@@ -14,12 +14,13 @@
# 曹恩逢 <nelson22768384@gmail.com>, 2022.
# Otis Kao <momoslim@gmail.com>, 2022.
# YuChiang Chang <chiang.c.tw@gmail.com>, 2022.
+# Hugel <qihu@nfschina.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-05-31 22:35+0000\n"
-"Last-Translator: YuChiang Chang <chiang.c.tw@gmail.com>\n"
+"PO-Revision-Date: 2022-08-25 13:04+0000\n"
+"Last-Translator: Hugel <qihu@nfschina.com>\n"
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
"godot-engine/godot-class-reference/zh_Hant/>\n"
"Language: zh_TW\n"
@@ -27,7 +28,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.13-dev\n"
+"X-Generator: Weblate 4.14-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -87,7 +88,7 @@ msgstr ""
#: doc/tools/make_rst.py
msgid "Default"
-msgstr ""
+msgstr "默認"
#: doc/tools/make_rst.py
msgid "Setter"
@@ -119,7 +120,7 @@ msgstr ""
#: doc/tools/make_rst.py
msgid "This method is used to construct a type."
-msgstr ""
+msgstr "此方法用於構造類型。"
#: doc/tools/make_rst.py
msgid ""
@@ -634,8 +635,9 @@ msgid ""
"[code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between "
"[code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is "
"located outside this range, then an extrapolation factor will be returned "
-"(return value lower than [code]0.0[/code] or greater than [code]1.0[/"
-"code]).\n"
+"(return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). "
+"Use [method clamp] on the result of [method inverse_lerp] if this is not "
+"desired.\n"
"[codeblock]\n"
"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
"var middle = lerp(20, 30, 0.75)\n"
@@ -645,7 +647,8 @@ msgid ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` is now 0.75.\n"
"[/codeblock]\n"
-"See also [method lerp] which performs the reverse of this operation."
+"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 ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -700,7 +703,8 @@ msgid ""
"[code]weight[/code]. To perform interpolation, [code]weight[/code] should be "
"between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values "
"outside this range are allowed and can be used to perform [i]extrapolation[/"
-"i].\n"
+"i]. Use [method clamp] on the result of [method lerp] if this is not "
+"desired.\n"
"If the [code]from[/code] and [code]to[/code] arguments are of type [int] or "
"[float], the return value is a [float].\n"
"If both are of the same vector type ([Vector2], [Vector3] or [Color]), the "
@@ -712,7 +716,8 @@ msgid ""
"[/codeblock]\n"
"See also [method inverse_lerp] which performs the reverse of this operation. "
"To perform eased interpolation with [method lerp], combine it with [method "
-"ease] or [method smoothstep]."
+"ease] or [method smoothstep]. See also [method range_lerp] to map a "
+"continuous series of values to another."
msgstr "**fdffffffffffffffwsfsdfsdfsfdsdf**"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1134,10 +1139,15 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
"Maps a [code]value[/code] from range [code][istart, istop][/code] to [code]"
-"[ostart, ostop][/code].\n"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[code]value[/code] is outside [code][istart, istop][/code], then the "
+"resulting value will also be outside [code][ostart, ostop][/code]. Use "
+"[method clamp] on the result of [method range_lerp] if this is not desired.\n"
"[codeblock]\n"
"range_lerp(75, 0, 100, -1, 1) # Returns 0.5\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"For complex use cases where you need multiple ranges, consider using [Curve] "
+"or [Gradient] instead."
msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -4956,19 +4966,21 @@ msgid ""
msgstr ""
#: doc/classes/AnimationNode.xml
-msgid "Gets the text caption for this node (used by some editors)."
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"override the text caption for this node."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets a child node by index (used by editors inheriting from "
-"[AnimationRootNode])."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [code]name[/code]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets all children nodes in order as a [code]name: node[/code] dictionary. "
-"Only useful when inheriting [AnimationRootNode]."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -4989,21 +5001,25 @@ msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the default value of a parameter. Parameters are custom local memory "
-"used for your nodes, given a resource can be reused in multiple trees."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of parameter \"[code]name[/code]\". Parameters are "
+"custom local memory used for your nodes, given a resource can be reused in "
+"multiple trees."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Gets the property information for parameter. Parameters are custom local "
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
msgstr ""
#: doc/classes/AnimationNode.xml
msgid ""
-"Returns [code]true[/code] whether you want the blend tree editor to display "
-"filter editing on this node."
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the blend tree editor should display filter editing on this "
+"node."
msgstr ""
#: doc/classes/AnimationNode.xml
@@ -5013,9 +5029,10 @@ msgstr "回傳參數的正切值。"
#: doc/classes/AnimationNode.xml
msgid ""
-"User-defined callback called when a custom node is processed. The "
-"[code]time[/code] parameter is a relative delta, unless [code]seek[/code] is "
-"[code]true[/code], in which case it is absolute.\n"
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [code]time[/code] parameter "
+"is a relative delta, unless [code]seek[/code] is [code]true[/code], in which "
+"case it is absolute.\n"
"Here, call the [method blend_input], [method blend_node] or [method "
"blend_animation] functions. You can also use [method get_parameter] and "
"[method set_parameter] to modify local memory.\n"
@@ -5667,9 +5684,9 @@ msgid ""
"Turn on auto advance when this condition is set. The provided name will "
"become a boolean parameter on the [AnimationTree] that can be controlled "
"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
-"html#controlling-from-code][/url]). For example, if [member AnimationTree."
-"tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] "
-"is set to [code]\"idle\"[/code]:\n"
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
"[codeblock]\n"
"$animation_tree[\"parameters/conditions/idle\"] = is_on_floor and "
"(linear_velocity.x == 0)\n"
@@ -5843,8 +5860,8 @@ msgstr ""
#: doc/classes/AnimationPlayer.xml
msgid ""
-"Returns the [Animation] with key [code]name[/code] or [code]null[/code] if "
-"not found."
+"Returns the [Animation] with the key [code]name[/code]. If the animation "
+"does not exist, [code]null[/code] is returned and an error is logged."
msgstr ""
#: doc/classes/AnimationPlayer.xml
@@ -8849,8 +8866,9 @@ msgid ""
"resource is applied on."
msgstr ""
-#: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml
-#: doc/classes/AudioServer.xml doc/classes/AudioStream.xml
+#: doc/classes/AudioEffect.xml doc/classes/AudioEffectCapture.xml
+#: doc/classes/AudioEffectRecord.xml doc/classes/AudioServer.xml
+#: doc/classes/AudioStream.xml doc/classes/AudioStreamMicrophone.xml
#: doc/classes/AudioStreamPlayer.xml
msgid "Audio Mic Record Demo"
msgstr ""
@@ -8901,10 +8919,20 @@ msgid ""
"attached audio effect bus into its internal ring buffer.\n"
"Application code should consume these audio frames from this ring buffer "
"using [method get_buffer] and process it as needed, for example to capture "
-"data from a microphone, implement application defined effects, or to "
-"transmit audio over the network. When capturing audio data from a "
+"data from an [AudioStreamMicrophone], implement application-defined effects, "
+"or to transmit audio over the network. When capturing audio data from a "
"microphone, the format of the samples will be stereo 32-bit floating point "
-"PCM."
+"PCM.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
+#: doc/classes/AudioEffectCapture.xml doc/classes/AudioEffectDistortion.xml
+#: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHighShelfFilter.xml
+#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
+msgid "Audio buses"
msgstr ""
#: doc/classes/AudioEffectCapture.xml
@@ -9147,12 +9175,6 @@ msgid ""
"coming from some saturated device or speaker very efficiently."
msgstr ""
-#: doc/classes/AudioEffectDistortion.xml doc/classes/AudioEffectFilter.xml
-#: doc/classes/AudioEffectHighShelfFilter.xml
-#: doc/classes/AudioEffectLowShelfFilter.xml doc/classes/AudioServer.xml
-msgid "Audio buses"
-msgstr ""
-
#: doc/classes/AudioEffectDistortion.xml
msgid "Distortion power. Value can range from 0 to 1."
msgstr ""
@@ -9698,7 +9720,12 @@ msgid ""
msgstr ""
#: doc/classes/AudioServer.xml
-msgid "Returns the names of all audio input devices detected on the system."
+msgid ""
+"Returns the names of all audio input devices detected on the system.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -9859,12 +9886,16 @@ msgstr ""
#: doc/classes/AudioServer.xml
msgid ""
-"Name of the current device for audio input (see [method get_device_list]). "
-"On systems with multiple audio inputs (such as analog, USB and HDMI audio), "
-"this can be used to select the audio input device. The value "
-"[code]\"Default\"[/code] will record audio on the system-wide default audio "
-"input. If an invalid device name is set, the value will be reverted back to "
-"[code]\"Default\"[/code]."
+"Name of the current device for audio input (see [method "
+"capture_get_device_list]). On systems with multiple audio inputs (such as "
+"analog, USB and HDMI audio), this can be used to select the audio input "
+"device. The value [code]\"Default\"[/code] will record audio on the system-"
+"wide default audio input. If an invalid device name is set, the value will "
+"be reverted back to [code]\"Default\"[/code].\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
msgstr ""
#: doc/classes/AudioServer.xml
@@ -10012,6 +10043,21 @@ msgid ""
"GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript."
msgstr ""
+#: doc/classes/AudioStreamMicrophone.xml
+msgid "Plays real-time audio input data."
+msgstr ""
+
+#: doc/classes/AudioStreamMicrophone.xml
+msgid ""
+"When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] "
+"plays back microphone input in real-time. This can be used in conjunction "
+"with [AudioEffectCapture] to process the data or save it.\n"
+"[b]Note:[/b] [member ProjectSettings.audio/enable_audio_input] must be "
+"[code]true[/code] for audio input to work. See also that setting's "
+"description for caveats related to permissions and operating system privacy "
+"settings."
+msgstr ""
+
#: modules/minimp3/doc_classes/AudioStreamMP3.xml
msgid "MP3 audio stream driver."
msgstr ""
@@ -10152,7 +10198,10 @@ msgstr ""
#: doc/classes/AudioStreamPlayer2D.xml
msgid ""
-"Plays audio that dampens with distance from screen center.\n"
+"Plays audio that dampens with distance from a given position.\n"
+"By default, audio is heard from the screen center. This can be changed by "
+"adding a [Listener2D] node to the scene and enabling it by calling [method "
+"Listener2D.make_current] on it.\n"
"See also [AudioStreamPlayer] to play a sound non-positionally.\n"
"[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio "
"output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set "
@@ -11833,7 +11882,7 @@ msgid ""
"Sets the camera projection to frustum mode (see [constant "
"PROJECTION_FRUSTUM]), by specifying a [code]size[/code], an [code]offset[/"
"code], and the [code]z_near[/code] and [code]z_far[/code] clip planes in "
-"world space units."
+"world space units. See also [member frustum_offset]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11926,7 +11975,9 @@ msgstr ""
msgid ""
"The camera's frustum offset. This can be changed from the default to create "
"\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-"
-"shearing[/url]."
+"shearing[/url].\n"
+"[b]Note:[/b] Only effective if [member projection] is [constant "
+"PROJECTION_FRUSTUM]."
msgstr ""
#: doc/classes/Camera.xml
@@ -11954,9 +12005,9 @@ msgstr ""
#: doc/classes/Camera.xml
msgid ""
-"The camera's size measured as 1/2 the width or height. Only applicable in "
-"orthogonal and frustum modes. Since [member keep_aspect] locks on axis, "
-"[code]size[/code] sets the other axis' size length."
+"The camera's size in meters measured as the diameter of the width or height, "
+"depending on [member keep_aspect]. Only applicable in orthogonal and frustum "
+"modes."
msgstr ""
#: doc/classes/Camera.xml
@@ -12458,13 +12509,14 @@ msgid ""
"inherit and extend their parent's transform. [CanvasItem] is extended by "
"[Control] for anything GUI-related, and by [Node2D] for anything related to "
"the 2D engine.\n"
-"Any [CanvasItem] can draw. For this, [method update] must be called, then "
-"[constant NOTIFICATION_DRAW] will be received on idle time to request "
-"redraw. Because of this, canvas items don't need to be redrawn on every "
-"frame, improving the performance significantly. Several functions for "
+"Any [CanvasItem] can draw. For this, [method update] is called by the "
+"engine, then [constant NOTIFICATION_DRAW] will be received on idle time to "
+"request redraw. Because of this, canvas items don't need to be redrawn on "
+"every frame, improving the performance significantly. Several functions for "
"drawing on the [CanvasItem] are provided (see [code]draw_*[/code] "
-"functions). However, they can only be used inside the [method Object."
-"_notification], signal or [method _draw] virtual functions.\n"
+"functions). However, they can only be used inside [method _draw], its "
+"corresponding [method Object._notification] or methods connected to the "
+"[signal draw] signal.\n"
"Canvas items are drawn in tree order. By default, children are on top of "
"their parents so a root [CanvasItem] will be drawn behind everything. This "
"behavior can be changed on a per-item basis.\n"
@@ -12490,8 +12542,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Overridable function called by the engine (if defined) to draw the canvas "
-"item."
+"Called when [CanvasItem] has been requested to redraw (when [method update] "
+"is called, either manually or by the engine).\n"
+"Corresponds to the [constant NOTIFICATION_DRAW] notification in [method "
+"Object._notification]."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12804,12 +12858,12 @@ msgid ""
"to children."
msgstr ""
-#: doc/classes/CanvasItem.xml doc/classes/Spatial.xml
+#: doc/classes/CanvasItem.xml
msgid ""
"Returns [code]true[/code] if the node is present in the [SceneTree], its "
"[member visible] property is [code]true[/code] and all its antecedents are "
"also visible. If any antecedent is hidden, this node will not be visible in "
-"the scene tree."
+"the scene tree, and is consequently not drawn (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12854,8 +12908,10 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Queue the [CanvasItem] for update. [constant NOTIFICATION_DRAW] will be "
-"called on idle time to request redraw."
+"Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is "
+"visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. "
+"This only occurs [b]once[/b] per frame, even if this method has been called "
+"multiple times."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12903,8 +12959,11 @@ msgstr ""
#: doc/classes/CanvasItem.xml
msgid ""
-"Emitted when the [CanvasItem] must redraw. This can only be connected "
-"realtime, as deferred will not allow drawing."
+"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
+"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
+"is called.\n"
+"[b]Note:[/b] Deferred connections do not allow drawing through the "
+"[code]draw_*[/code] methods."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -12966,7 +13025,7 @@ msgid ""
msgstr ""
#: doc/classes/CanvasItem.xml
-msgid "The [CanvasItem] is requested to draw."
+msgid "The [CanvasItem] is requested to draw (see [method _draw])."
msgstr ""
#: doc/classes/CanvasItem.xml
@@ -13091,7 +13150,10 @@ msgstr ""
#: doc/classes/CanvasLayer.xml
msgid ""
-"Sets the layer to follow the viewport in order to simulate a pseudo 3D "
+"If enabled, the [CanvasLayer] will use the viewport's transform, so it will "
+"move when camera moves instead of being anchored in a fixed position on the "
+"screen.\n"
+"Together with [member follow_viewport_scale] it can be used for a pseudo 3D "
"effect."
msgstr ""
@@ -16088,7 +16150,9 @@ msgstr ""
#: doc/classes/Control.xml
msgid ""
"Steal the focus from another control and become the focused control (see "
-"[member focus_mode])."
+"[member focus_mode]).\n"
+"[b]Note[/b]: Using this method together with [method Object.call_deferred] "
+"makes it more reliable, especially when called inside [method Node._ready]."
msgstr ""
#: doc/classes/Control.xml
@@ -18819,7 +18883,9 @@ msgstr ""
msgid ""
"A curve that can be saved and re-used for other objects. By default, it "
"ranges between [code]0[/code] and [code]1[/code] on the Y axis and positions "
-"points relative to the [code]0.5[/code] Y position."
+"points relative to the [code]0.5[/code] Y position.\n"
+"See also [Gradient] which is designed for color interpolation. See also "
+"[Curve2D] and [Curve3D]."
msgstr ""
#: doc/classes/Curve.xml
@@ -18968,16 +19034,17 @@ msgid ""
"further calculations."
msgstr ""
-#: doc/classes/Curve2D.xml
+#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the "
+"curve's own position, with control points [code]in[/code] and [code]out[/"
+"code]. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Curve2D.xml doc/classes/Curve3D.xml
@@ -19123,18 +19190,6 @@ msgid ""
msgstr ""
#: doc/classes/Curve3D.xml
-msgid ""
-"Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s "
-"position, with control points [code]in[/code] and [code]out[/code].\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position <0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
-msgstr ""
-
-#: doc/classes/Curve3D.xml
#, fuzzy
msgid "Returns the cache of points as a [PoolVector3Array]."
msgstr "回傳參數的反正弦值。"
@@ -24049,8 +24104,12 @@ msgstr ""
#: doc/classes/File.xml
msgid ""
-"Returns the whole file as a [String].\n"
-"Text is interpreted as being UTF-8 encoded."
+"Returns the whole file as a [String]. Text is interpreted as being UTF-8 "
+"encoded.\n"
+"If [code]skip_cr[/code] is [code]true[/code], carriage return characters "
+"([code]\\r[/code], CR) will be ignored when parsing the UTF-8, so that only "
+"line feed characters ([code]\\n[/code], LF) represent a new line (Unix "
+"convention)."
msgstr ""
#: doc/classes/File.xml
@@ -24671,7 +24730,9 @@ msgid ""
"[code]next[/code] is passed. clipping the width. [code]position[/code] "
"specifies the baseline, not the top. To draw from the top, [i]ascent[/i] "
"must be added to the Y axis. The width used by the character is returned, "
-"making this function useful for drawing strings character by character."
+"making this function useful for drawing strings character by character.\n"
+"If [code]outline[/code] is [code]true[/code], the outline of the character "
+"is drawn instead of the character itself."
msgstr ""
#: doc/classes/Font.xml
@@ -26259,10 +26320,13 @@ msgstr ""
#: doc/classes/Gradient.xml
msgid ""
"Given a set of colors, this resource will interpolate them in order. This "
-"means that if you have color 1, color 2 and color 3, the ramp will "
-"interpolate from color 1 to color 2 and from color 2 to color 3. The ramp "
-"will initially have 2 colors (black and white), one (black) at ramp lower "
-"offset 0 and the other (white) at the ramp higher offset 1."
+"means that if you have color 1, color 2 and color 3, the gradient will "
+"interpolate from color 1 to color 2 and from color 2 to color 3. The "
+"gradient will initially have 2 colors (black and white), one (black) at "
+"gradient lower offset 0 and the other (white) at the gradient higher offset "
+"1.\n"
+"See also [Curve] which supports more complex easing methods, but does not "
+"support colors."
msgstr ""
#: doc/classes/Gradient.xml
@@ -27678,8 +27742,8 @@ msgstr ""
msgid ""
"Hyper-text transfer protocol client (sometimes called \"User Agent\"). Used "
"to make HTTP requests to download web content, upload files and other data "
-"or to communicate with various services, among other use cases. [b]See the "
-"[HTTPRequest] node for a higher-level alternative.[/b]\n"
+"or to communicate with various services, among other use cases.\n"
+"See the [HTTPRequest] node for a higher-level alternative.\n"
"[b]Note:[/b] This client only needs to connect to a host once (see [method "
"connect_to_host]) to send multiple requests. Because of this, methods that "
"take URLs usually take just the part after the host instead of the full URL, "
@@ -29981,11 +30045,14 @@ msgstr ""
#: doc/classes/Input.xml
msgid ""
-"Vibrate Android and iOS devices.\n"
+"Vibrate handheld devices.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS, and HTML5.\n"
"[b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] "
"permission in the export preset.\n"
"[b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and "
-"later."
+"later.\n"
+"[b]Note:[/b] Some web browsers such as Safari and Firefox for Android do not "
+"support this method."
msgstr ""
#: doc/classes/Input.xml
@@ -30831,7 +30898,11 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
-"Not thread-safe. Use [method Object.call_deferred] if calling from a thread."
+"Call this method to actually load in the node. The created node will be "
+"placed as a sibling [i]above[/i] the [InstancePlaceholder] in the scene "
+"tree. The [Node]'s reference is also returned for convenience.\n"
+"[b]Note:[/b] [method create_instance] is not thread-safe. Use [method Object."
+"call_deferred] if calling from a thread."
msgstr ""
#: doc/classes/InstancePlaceholder.xml
@@ -30843,6 +30914,16 @@ msgstr ""
#: doc/classes/InstancePlaceholder.xml
msgid ""
+"Returns the list of properties that will be applied to the node when [method "
+"create_instance] is called.\n"
+"If [code]with_order[/code] is [code]true[/code], a key named [code].order[/"
+"code] (note the leading period) is added to the dictionary. This [code]."
+"order[/code] key is an [Array] of [String] property names specifying the "
+"order in which properties will be applied (with index 0 being the first)."
+msgstr ""
+
+#: doc/classes/InstancePlaceholder.xml
+msgid ""
"Replaces this placeholder by the scene handed as an argument, or the "
"original scene if no argument is given. As for all resources, the scene is "
"loaded only if it's not loaded already. By manually loading the scene "
@@ -33204,14 +33285,14 @@ msgstr ""
#: doc/classes/Line2D.xml
msgid ""
-"Adds a point at the [code]position[/code]. Appends the point at the end of "
-"the line.\n"
-"If [code]at_position[/code] is given, the point is inserted before the point "
-"number [code]at_position[/code], moving that point (and every point after) "
-"after the inserted point. If [code]at_position[/code] is not given, or is an "
-"illegal value ([code]at_position < 0[/code] or [code]at_position >= [method "
-"get_point_count][/code]), the point will be appended at the end of the point "
-"list."
+"Adds a point with the specified [code]position[/code] relative to the line's "
+"own position. Appends the new point at the end of the point list.\n"
+"If [code]index[/code] is given, the new point is inserted before the "
+"existing point identified by index [code]index[/code]. Every existing point "
+"starting from [code]index[/code] is shifted further down the list of points. "
+"The index must be greater than or equal to [code]0[/code] and must not "
+"exceed the number of existing points in the line. See [method "
+"get_point_count]."
msgstr ""
#: doc/classes/Line2D.xml
@@ -33219,22 +33300,26 @@ msgid "Removes all points from the line."
msgstr ""
#: doc/classes/Line2D.xml
-msgid "Returns the Line2D's amount of points."
-msgstr ""
+#, fuzzy
+msgid "Returns the amount of points in the line."
+msgstr "回傳參數的正弦值。"
#: doc/classes/Line2D.xml
-msgid "Returns point [code]i[/code]'s position."
-msgstr ""
+#, fuzzy
+msgid "Returns the position of the point at index [code]index[/code]."
+msgstr "計算兩個向量的外積。"
#: doc/classes/Line2D.xml
-msgid "Removes the point at index [code]i[/code] from the line."
-msgstr ""
+#, fuzzy
+msgid "Removes the point at index [code]index[/code] from the line."
+msgstr "計算兩個向量的外積。"
#: doc/classes/Line2D.xml
+#, fuzzy
msgid ""
-"Overwrites the position in point [code]i[/code] with the supplied "
-"[code]position[/code]."
-msgstr ""
+"Overwrites the position of the point at index [code]index[/code] with the "
+"supplied [code]position[/code]."
+msgstr "計算兩個向量的外積。"
#: doc/classes/Line2D.xml
msgid ""
@@ -34811,9 +34896,9 @@ msgid ""
"MeshInstance is a node that takes a [Mesh] resource and adds it to the "
"current scenario by creating an instance of it. This is the class most often "
"used to get 3D geometry rendered and can be used to instance a single [Mesh] "
-"in many places. This allows to reuse geometry and save on resources. When a "
-"[Mesh] has to be instanced more than thousands of times at close proximity, "
-"consider using a [MultiMesh] in a [MultiMeshInstance] instead."
+"in many places. This allows reusing geometry, which can save on resources. "
+"When a [Mesh] has to be instanced more than thousands of times at close "
+"proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead."
msgstr ""
#: doc/classes/MeshInstance.xml
@@ -35274,7 +35359,9 @@ msgid ""
"existing vertex colors.\n"
"For the color to take effect, ensure that [member color_format] is non-"
"[code]null[/code] on the [MultiMesh] and [member SpatialMaterial."
-"vertex_color_use_as_albedo] is [code]true[/code] on the material."
+"vertex_color_use_as_albedo] is [code]true[/code] on the material. If the "
+"color doesn't look as expected, make sure the material's albedo color is set "
+"to pure white ([code]Color(1, 1, 1)[/code])."
msgstr ""
#: doc/classes/MultiMesh.xml
@@ -36412,7 +36499,7 @@ msgstr ""
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
"Notifies when the collision avoidance velocity is calculated after a call to "
-"[method set_velocity]."
+"[method set_velocity]. Only emitted when [member avoidance_enabled] is true."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
@@ -37238,13 +37325,25 @@ msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Initialize the peer with the given [code]peer_id[/code] (must be between 1 "
-"and 2147483647)."
+"and 2147483647).\n"
+"Can only be called if the connection status is [constant "
+"NetworkedMultiplayerPeer.CONNECTION_CONNECTING]. See [method "
+"set_connection_status]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
msgid ""
"Set the state of the connection. See [enum NetworkedMultiplayerPeer."
-"ConnectionStatus]."
+"ConnectionStatus].\n"
+"This will emit the [signal NetworkedMultiplayerPeer.connection_succeeded], "
+"[signal NetworkedMultiplayerPeer.connection_failed] or [signal "
+"NetworkedMultiplayerPeer.server_disconnected] signals depending on the "
+"status and if the peer has the unique network id of [code]1[/code].\n"
+"You can only change to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_DISCONNECTED] and to [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTED] from [constant NetworkedMultiplayerPeer."
+"CONNECTION_CONNECTING]."
msgstr ""
#: doc/classes/NetworkedMultiplayerCustom.xml
@@ -40914,7 +41013,9 @@ msgid ""
"are also subject to automatic adjustments by the operating system. [b]Always "
"use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time "
"calculation instead, since they are guaranteed to be monotonic (i.e. never "
-"decrease)."
+"decrease).\n"
+"[b]Note:[/b] To get a floating point timestamp with sub-second precision, "
+"use [method Time.get_unix_time_from_system]."
msgstr ""
#: doc/classes/OS.xml
@@ -46300,7 +46401,9 @@ msgstr ""
#: doc/classes/PopupMenu.xml
#, fuzzy
-msgid "Sets the currently focused item as the given [code]index[/code]."
+msgid ""
+"Sets the currently focused item as the given [code]index[/code].\n"
+"Passing [code]-1[/code] as the index makes so that no item is focused."
msgstr "計算兩個向量的外積。"
#: doc/classes/PopupMenu.xml
@@ -46539,7 +46642,9 @@ msgstr ""
msgid ""
"Class for displaying popups with a panel background. In some cases it might "
"be simpler to use than [Popup], since it provides a configurable background. "
-"If you are making windows, better check [WindowDialog]."
+"If you are making windows, better check [WindowDialog].\n"
+"If any [Control] node is added as a child of this [PopupPanel], it will be "
+"stretched to fit the panel's size (similar to how [PanelContainer] works)."
msgstr ""
#: doc/classes/PopupPanel.xml
@@ -47269,7 +47374,11 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], microphone input will be allowed. This requires "
-"appropriate permissions to be set when exporting to Android or iOS."
+"appropriate permissions to be set when exporting to Android or iOS.\n"
+"[b]Note:[/b] If the operating system blocks access to audio input devices "
+"(due to the user's privacy settings), audio capture will only return "
+"silence. On Windows 10 and later, make sure that apps are allowed to access "
+"the microphone in the OS' privacy settings."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -49950,8 +50059,19 @@ msgstr ""
msgid ""
"Maximum anisotropic filter level used for textures with anisotropy enabled. "
"Higher values will result in sharper textures when viewed from oblique "
-"angles, at the cost of performance. Only power-of-two values are valid (2, "
-"4, 8, 16)."
+"angles, at the cost of performance. With the exception of [code]1[/code], "
+"only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/"
+"code], [code]16[/code]). A value of [code]1[/code] forcibly disables "
+"anisotropic filtering, even on textures where it is enabled.\n"
+"[b]Note:[/b] For performance reasons, anisotropic filtering [i]is not "
+"enabled by default[/i] on textures. For this setting to have an effect, "
+"anisotropic texture filtering can be enabled by selecting a texture in the "
+"FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] "
+"checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is "
+"rarely useful in 2D, so only enable it for textures in 2D if it makes a "
+"meaningful visual difference.\n"
+"[b]Note:[/b] This property is only read when the project starts. There is "
+"currently no way to change this setting at run-time."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -53970,7 +54090,9 @@ msgid ""
"cannot be instantiated.\n"
"[b]Note:[/b] The scene change is deferred, which means that the new scene "
"node is added on the next idle frame. You won't be able to access it "
-"immediately after the [method change_scene_to] call."
+"immediately after the [method change_scene_to] call.\n"
+"[b]Note:[/b] Passing a value of [code]null[/code] into the method will "
+"unload the current scene without loading a new one."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -54114,13 +54236,19 @@ msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], collision shapes will be visible when running the game "
-"from the editor for debugging purposes."
+"from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_collisions_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
msgid ""
"If [code]true[/code], navigation polygons will be visible when running the "
-"game from the editor for debugging purposes."
+"game from the editor for debugging purposes.\n"
+"[b]Note:[/b] This property is not designed to be changed at run-time. "
+"Changing the value of [member debug_navigation_hint] while the project is "
+"running will not have the desired effect."
msgstr ""
#: doc/classes/SceneTree.xml
@@ -55310,7 +55438,10 @@ msgid ""
msgstr ""
#: doc/classes/Shape2D.xml
-msgid "The shape's custom solver bias."
+msgid ""
+"The shape's custom solver bias. Defines how much bodies react to enforce "
+"contact separation when this shape is involved.\n"
+"When set to [code]0.0[/code], the default value of [code]0.3[/code] is used."
msgstr ""
#: doc/classes/ShortCut.xml
@@ -55930,6 +56061,14 @@ msgstr ""
#: doc/classes/Spatial.xml
msgid ""
+"Returns [code]true[/code] if the node is present in the [SceneTree], its "
+"[member visible] property is [code]true[/code] and all its antecedents are "
+"also visible. If any antecedent is hidden, this node will not be visible in "
+"the scene tree."
+msgstr ""
+
+#: doc/classes/Spatial.xml
+msgid ""
"Rotates the node so that the local forward axis (-Z) points toward the "
"[code]target[/code] position.\n"
"The local up axis (+Y) points as close to the [code]up[/code] vector as "
@@ -56264,7 +56403,9 @@ msgid ""
"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
"texture filtering. Anisotropic texture filtering can be enabled by selecting "
"a texture in the FileSystem dock, going to the Import dock, checking the "
-"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]."
+"[b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/quality/filters/anisotropic_filter_level]."
msgstr ""
#: doc/classes/SpatialMaterial.xml
@@ -57698,7 +57839,7 @@ msgstr ""
#: doc/classes/Sprite3D.xml
msgid ""
"[Texture] object to draw. If [member GeometryInstance.material_override] is "
-"used, this will be overridden."
+"used, this will be overridden. The size information is still used."
msgstr ""
#: doc/classes/SpriteBase3D.xml
@@ -58965,6 +59106,9 @@ msgid ""
"the substrings, starting from right.\n"
"The splits in the returned array are sorted in the same order as the "
"original string, from left to right.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the right up to [code]maxsplit[/code]. The default value of 0 means "
"that all items are split, thus giving the same result as [method split].\n"
@@ -59026,6 +59170,9 @@ msgstr ""
msgid ""
"Splits the string by a [code]delimiter[/code] string and returns an array of "
"the substrings. The [code]delimiter[/code] can be of any length.\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position.\n"
"If [code]maxsplit[/code] is specified, it defines the number of splits to do "
"from the left up to [code]maxsplit[/code]. The default value of [code]0[/"
"code] means that all items are split.\n"
@@ -59048,7 +59195,10 @@ msgid ""
"Splits the string in floats by using a delimiter string and returns an array "
"of the substrings.\n"
"For example, [code]\"1,2.5,3\"[/code] will return [code][1,2.5,3][/code] if "
-"split by [code]\",\"[/code]."
+"split by [code]\",\"[/code].\n"
+"If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent "
+"delimiters in the string, it will add an empty string to the array of "
+"substrings at this position."
msgstr ""
#: doc/classes/String.xml
@@ -60185,6 +60335,11 @@ msgid "Returns [code]true[/code] if select with right mouse button is enabled."
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Returns the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "計算兩個向量的外積。"
+
+#: doc/classes/Tabs.xml
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr ""
@@ -60215,6 +60370,11 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
+#, fuzzy
+msgid "Sets the button icon from the tab at index [code]tab_idx[/code]."
+msgstr "計算兩個向量的外積。"
+
+#: doc/classes/Tabs.xml
msgid "Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code]."
msgstr ""
@@ -60256,7 +60416,9 @@ msgid ""
msgstr ""
#: doc/classes/Tabs.xml
-msgid "Emitted when a tab is right-clicked."
+msgid ""
+"Emitted when a tab's right button is pressed. See [method "
+"set_tab_button_icon]."
msgstr ""
#: doc/classes/Tabs.xml
@@ -65140,21 +65302,25 @@ msgid "Makes subsequent actions with the same name be merged into one."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
-msgid "UPNP network functions."
+msgid ""
+"Universal Plug and Play (UPnP) functions for network device discovery, "
+"querying and port forwarding."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
-"Provides UPNP functionality to discover [UPNPDevice]s on the local network "
-"and execute commands on them, like managing port mappings (port forwarding) "
-"and querying the local and remote network IP address. Note that methods on "
-"this class are synchronous and block the calling thread.\n"
-"To forward a specific port:\n"
+"This class can be used to discover compatible [UPNPDevice]s on the local "
+"network and execute commands on them, like managing port mappings (for port "
+"forwarding/NAT traversal) and querying the local and remote network IP "
+"address. Note that methods on this class are synchronous and block the "
+"calling thread.\n"
+"To forward a specific port (here [code]7777[/code], note both [method "
+"discover] and [method add_port_mapping] can return errors that should be "
+"checked):\n"
"[codeblock]\n"
-"const PORT = 7777\n"
"var upnp = UPNP.new()\n"
-"upnp.discover(2000, 2, \"InternetGatewayDevice\")\n"
-"upnp.add_port_mapping(port)\n"
+"upnp.discover()\n"
+"upnp.add_port_mapping(7777)\n"
"[/codeblock]\n"
"To close a specific port (e.g. after you have finished using it):\n"
"[codeblock]\n"
@@ -65167,7 +65333,7 @@ msgid ""
"or failure).\n"
"signal upnp_completed(error)\n"
"\n"
-"# Replace this with your own server port number between 1025 and 65535.\n"
+"# Replace this with your own server port number between 1024 and 65535.\n"
"const SERVER_PORT = 3928\n"
"var thread = null\n"
"\n"
@@ -65196,7 +65362,39 @@ msgid ""
" # Wait for thread finish here to handle game exit while the thread is "
"running.\n"
" thread.wait_to_finish()\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Terminology:[/b] In the context of UPnP networking, \"gateway\" (or "
+"\"internet gateway device\", short IGD) refers to network devices that allow "
+"computers in the local network to access the internet (\"wide area "
+"network\", WAN). These gateways are often also called \"routers\".\n"
+"[b]Pitfalls:[/b]\n"
+"- As explained above, these calls are blocking and shouldn't be run on the "
+"main thread, especially as they can block for multiple seconds at a time. "
+"Use threading!\n"
+"- Networking is physical and messy. Packets get lost in transit or get "
+"filtered, addresses, free ports and assigned mappings change, and devices "
+"may leave or join the network at any time. Be mindful of this, be diligent "
+"when checking and handling errors, and handle these gracefully if you can: "
+"add clear error UI, timeouts and re-try handling.\n"
+"- Port mappings may change (and be removed) at any time, and the remote/"
+"external IP address of the gateway can change likewise. You should consider "
+"re-querying the external IP and try to update/refresh the port mapping "
+"periodically (for example, every 5 minutes and on networking failures).\n"
+"- Not all devices support UPnP, and some users disable UPnP support. You "
+"need to handle this (e.g. documenting and requiring the user to manually "
+"forward ports, or adding alternative methods of NAT traversal, like a relay/"
+"mirror server, or NAT hole punching, STUN/TURN, etc.).\n"
+"- Consider what happens on mapping conflicts. Maybe multiple users on the "
+"same network would like to play your game at the same time, or maybe another "
+"application uses the same port. Make the port configurable, and optimally "
+"choose a port automatically (re-trying with a different port on failure).\n"
+"[b]Further reading:[/b] If you want to know more about UPnP (and the "
+"Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), "
+"[url=https://en.wikipedia.org/wiki/Universal_Plug_and_Play]Wikipedia[/url] "
+"is a good first stop, the specification can be found at the [url=https://"
+"openconnectivity.org/developer/specifications/upnp-resources/upnp/]Open "
+"Connectivity Foundation[/url] and Godot's implementation is based on the "
+"[url=https://github.com/miniupnp/miniupnp]MiniUPnP client[/url]."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65206,22 +65404,35 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
"Adds a mapping to forward the external [code]port[/code] (between 1 and "
-"65535) on the default gateway (see [method get_gateway]) to the "
-"[code]internal_port[/code] on the local machine for the given protocol "
-"[code]proto[/code] (either [code]TCP[/code] or [code]UDP[/code], with UDP "
-"being the default). If a port mapping for the given port and protocol "
-"combination already exists on that gateway device, this method tries to "
-"overwrite it. If that is not desired, you can retrieve the gateway manually "
-"with [method get_gateway] and call [method add_port_mapping] on it, if any.\n"
+"65535, although recommended to use port 1024 or above) on the default "
+"gateway (see [method get_gateway]) to the [code]internal_port[/code] on the "
+"local machine for the given protocol [code]proto[/code] (either [code]TCP[/"
+"code] or [code]UDP[/code], with UDP being the default). If a port mapping "
+"for the given port and protocol combination already exists on that gateway "
+"device, this method tries to overwrite it. If that is not desired, you can "
+"retrieve the gateway manually with [method get_gateway] and call [method "
+"add_port_mapping] on it, if any. Note that forwarding a well-known port "
+"(below 1024) with UPnP may fail depending on the device.\n"
+"Depending on the gateway device, if a mapping for that port already exists, "
+"it will either be updated or it will refuse this command due to that "
+"conflict, especially if the existing mapping for that port wasn't created "
+"via UPnP or points to a different network address (or device) than this "
+"one.\n"
"If [code]internal_port[/code] is [code]0[/code] (the default), the same port "
"number is used for both the external and the internal port (the [code]port[/"
"code] value).\n"
-"The description ([code]desc[/code]) is shown in some router UIs and can be "
-"used to point out which application added the mapping. The mapping's lease "
-"duration can be limited by specifying a [code]duration[/code] (in seconds). "
-"However, some routers are incompatible with one or both of these, so use "
-"with caution and add fallback logic in case of errors to retry without them "
-"if in doubt.\n"
+"The description ([code]desc[/code]) is shown in some routers management UIs "
+"and can be used to point out which application added the mapping.\n"
+"The mapping's lease [code]duration[/code] can be limited by specifying a "
+"duration in seconds. The default of [code]0[/code] means no duration, i.e. a "
+"permanent lease and notably some devices only support these permanent "
+"leases. Note that whether permanent or not, this is only a request and the "
+"gateway may still decide at any point to remove the mapping (which usually "
+"happens on a reboot of the gateway, when its external IP address changes, or "
+"on some models when it detects a port mapping has become inactive, i.e. had "
+"no traffic for multiple minutes). If not [code]0[/code] (permanent), the "
+"allowed range according to spec is between [code]120[/code] (2 minutes) and "
+"[code]86400[/code] seconds (24 hours).\n"
"See [enum UPNPResult] for possible return values."
msgstr ""
@@ -65234,8 +65445,10 @@ msgid ""
"Deletes the port mapping for the given port and protocol combination on the "
"default gateway (see [method get_gateway]) if one exists. [code]port[/code] "
"must be a valid port between 1 and 65535, [code]proto[/code] can be either "
-"[code]TCP[/code] or [code]UDP[/code]. See [enum UPNPResult] for possible "
-"return values."
+"[code]TCP[/code] or [code]UDP[/code]. May be refused for mappings pointing "
+"to addresses other than this one, for well-known ports (below 1024), or for "
+"mappings not added via UPnP. See [enum UPNPResult] for possible return "
+"values."
msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
@@ -65433,16 +65646,16 @@ msgid "Unknown error."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
-msgid "UPNP device."
+msgid "Universal Plug and Play (UPnP) device."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid ""
-"UPNP device. See [UPNP] for UPNP discovery and utility functions. Provides "
-"low-level access to UPNP control commands. Allows to manage port mappings "
-"(port forwarding) and to query network information of the device (like local "
-"and external IP address and status). Note that methods on this class are "
-"synchronous and block the calling thread."
+"Universal Plug and Play (UPnP) device. See [UPNP] for UPnP discovery and "
+"utility functions. Provides low-level access to UPNP control commands. "
+"Allows to manage port mappings (port forwarding) and to query network "
+"information of the device (like local and external IP address and status). "
+"Note that methods on this class are synchronous and block the calling thread."
msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
@@ -74101,7 +74314,9 @@ msgid ""
msgstr ""
#: doc/classes/WeakRef.xml
-msgid "Returns the [Object] this weakref is referring to."
+msgid ""
+"Returns the [Object] this weakref is referring to. Returns [code]null[/code] "
+"if that object no longer exists."
msgstr ""
#: modules/webrtc/doc_classes/WebRTCDataChannel.xml