diff --git a/.gitmodules b/.gitmodules index f016080..91726b7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "godot"] path = godot - url = https://github.com/godotengine/godot + url = git@github.com:godotengine/godot diff --git a/classes/ar.po b/classes/ar.po index f6f7ebd..b28cc95 100644 --- a/classes/ar.po +++ b/classes/ar.po @@ -458,17 +458,6 @@ msgid "" "[/codeblock]" msgstr "" -#: modules/gdscript/doc_classes/@GDScript.xml -msgid "" -"Converts one or more arguments to a [String] in the best way possible.\n" -"[codeblock]\n" -"var a = [10, 20, 30]\n" -"var b = str(a);\n" -"len(a) # Returns 3\n" -"len(b) # Returns 12\n" -"[/codeblock]" -msgstr "" - #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Returns [code]true[/code] if the given [Object]-derived class exists in " @@ -568,16 +557,27 @@ msgstr "" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" -"Export a [String] or integer property as an enumerated list of options. If " -"the property is an integer field, then the index of the value is stored, in " -"the same order the values are provided. You can add specific identifiers for " -"allowed values using a colon.\n" +"Export an [int] or [String] property as an enumerated list of options. If " +"the property is an [int], then the index of the value is stored, in the same " +"order the values are provided. You can add explicit values using a colon. If " +"the property is a [String], then the value is stored.\n" "See also [constant PROPERTY_HINT_ENUM].\n" "[codeblock]\n" -"@export_enum(\"Rebecca\", \"Mary\", \"Leah\") var character_name: String\n" "@export_enum(\"Warrior\", \"Magician\", \"Thief\") var character_class: int\n" "@export_enum(\"Slow:30\", \"Average:60\", \"Very Fast:200\") var " "character_speed: int\n" +"@export_enum(\"Rebecca\", \"Mary\", \"Leah\") var character_name: String\n" +"[/codeblock]\n" +"If you want to set an initial value, you must specify it explicitly:\n" +"[codeblock]\n" +"@export_enum(\"Rebecca\", \"Mary\", \"Leah\") var character_name: String = " +"\"Rebecca\"\n" +"[/codeblock]\n" +"If you want to use named GDScript enums, then use [annotation @export] " +"instead:\n" +"[codeblock]\n" +"enum CharacterName {REBECCA, MARY, LEAH}\n" +"@export var character_name: CharacterName\n" "[/codeblock]" msgstr "" @@ -619,6 +619,24 @@ msgid "" "[codeblock]\n" "@export_flags(\"Fire\", \"Water\", \"Earth\", \"Wind\") var spell_elements = " "0\n" +"[/codeblock]\n" +"You can add explicit values using a colon:\n" +"[codeblock]\n" +"@export_flags(\"Self:4\", \"Allies:8\", \"Foes:16\") var spell_targets = 0\n" +"[/codeblock]\n" +"You can also combine several flags:\n" +"[codeblock]\n" +"@export_flags(\"Self:4\", \"Allies:8\", \"Self and Allies:12\", " +"\"Foes:16\")\n" +"var spell_targets = 0\n" +"[/codeblock]\n" +"[b]Note:[/b] A flag value must be at least [code]1[/code] and at most " +"[code]2 ** 32 - 1[/code].\n" +"[b]Note:[/b] Unlike [annotation @export_enum], the previous explicit value " +"is not taken into account. In the following example, A is 16, B is 2, C is " +"4.\n" +"[codeblock]\n" +"@export_flags(\"A:16\", \"B\", \"C\") var x\n" "[/codeblock]" msgstr "" @@ -758,7 +776,7 @@ msgid "" "Export a [NodePath] property with a filter for allowed node types.\n" "See also [constant PROPERTY_HINT_NODE_PATH_VALID_TYPES].\n" "[codeblock]\n" -"@export_node_path(Button, TouchScreenButton) var some_button\n" +"@export_node_path(\"Button\", \"TouchScreenButton\") var some_button\n" "[/codeblock]" msgstr "" @@ -774,11 +792,12 @@ msgstr "" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" -"Export a numeric property as a range value. The range must be defined by " -"[param min] and [param max], as well as an optional [param step] and a " -"variety of extra hints. The [param step] defaults to [code]1[/code] for " -"integer properties. For floating-point numbers this value depends on your " -"[code]EditorSettings.interface/inspector/default_float_step[/code] setting.\n" +"Export an [int] or [float] property as a range value. The range must be " +"defined by [param min] and [param max], as well as an optional [param step] " +"and a variety of extra hints. The [param step] defaults to [code]1[/code] " +"for integer properties. For floating-point numbers this value depends on " +"your [code]EditorSettings.interface/inspector/default_float_step[/code] " +"setting.\n" "If hints [code]\"or_greater\"[/code] and [code]\"or_less\"[/code] are " "provided, the editor widget will not cap the value at range boundaries. The " "[code]\"exp\"[/code] hint will make the edited values on range to change " @@ -839,7 +858,10 @@ msgid "" "[b]Note:[/b] Only the script can have a custom icon. Inner classes are not " "supported.\n" "[b]Note:[/b] As annotations describe their subject, the [code]@icon[/code] " -"annotation must be placed before the class definition and inheritance." +"annotation must be placed before the class definition and inheritance.\n" +"[b]Note:[/b] Unlike other annotations, the argument of the [code]@icon[/" +"code] annotation must be a string literal (constant expressions are not " +"supported)." msgstr "" #: modules/gdscript/doc_classes/@GDScript.xml @@ -858,8 +880,24 @@ msgid "" "Mark the following method for remote procedure calls. See [url=$DOCS_URL/" "tutorials/networking/high_level_multiplayer.html]High-level multiplayer[/" "url].\n" +"The order of [code]mode[/code], [code]sync[/code] and [code]transfer_mode[/" +"code] does not matter and all arguments can be omitted, but " +"[code]transfer_channel[/code] always has to be the last argument. The " +"accepted values for [code]mode[/code] are [code]\"any_peer\"[/code] or " +"[code]\"authority\"[/code], for [code]sync[/code] are [code]\"call_remote\"[/" +"code] or [code]\"call_local\"[/code] and for [code]transfer_mode[/code] are " +"[code]\"unreliable\"[/code], [code]\"unreliable_ordered\"[/code] or " +"[code]\"reliable\"[/code].\n" "[codeblock]\n" -"@rpc()\n" +"@rpc\n" +"func fn(): pass\n" +"\n" +"@rpc(\"any_peer\", \"unreliable_ordered\")\n" +"func fn_update_pos(): pass\n" +"\n" +"@rpc(\"authority\", \"call_remote\", \"unreliable\", 0) # Equivalent to " +"@rpc\n" +"func fn_default(): pass\n" "[/codeblock]" msgstr "" @@ -1385,9 +1423,14 @@ msgstr "" #, fuzzy msgid "" "Returns the integer hash of the passed [param variable].\n" -"[codeblock]\n" +"[codeblocks]\n" +"[gdscript]\n" "print(hash(\"a\")) # Prints 177670\n" -"[/codeblock]" +"[/gdscript]\n" +"[csharp]\n" +"GD.Print(GD.Hash(\"a\")); // Prints 177670\n" +"[/csharp]\n" +"[/codeblocks]" msgstr "" "لعرض القيمة المطلقة للمُعامل [code]s[/code] (القيمة المطلقة أي القيمة " "الموجبة).\n" @@ -1399,13 +1442,29 @@ msgstr "" msgid "" "Returns the [Object] that corresponds to [param instance_id]. All Objects " "have a unique instance ID. See also [method Object.get_instance_id].\n" -"[codeblock]\n" +"[codeblocks]\n" +"[gdscript]\n" "var foo = \"bar\"\n" +"\n" "func _ready():\n" " var id = get_instance_id()\n" " var inst = instance_from_id(id)\n" " print(inst.foo) # Prints bar\n" -"[/codeblock]" +"[/gdscript]\n" +"[csharp]\n" +"public partial class MyNode : Node\n" +"{\n" +" public string Foo { get; set; } = \"bar\";\n" +"\n" +" public override void _Ready()\n" +" {\n" +" ulong id = GetInstanceId();\n" +" var inst = (MyNode)InstanceFromId(Id);\n" +" GD.Print(inst.Foo); // Prints bar\n" +" }\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" msgstr "" #: doc/classes/@GlobalScope.xml @@ -1476,6 +1535,37 @@ msgid "" "invalid) value." msgstr "يُرجع جيب التمام \"cosine \" لقيمة المَعلم." +#: doc/classes/@GlobalScope.xml +msgid "" +"Returns [code]true[/code], for value types, if [param a] and [param b] share " +"the same value. Returns [code]true[/code], for reference types, if the " +"references of [param a] and [param b] are the same.\n" +"[codeblock]\n" +"# Vector2 is a value type\n" +"var vec2_a = Vector2(0, 0)\n" +"var vec2_b = Vector2(0, 0)\n" +"var vec2_c = Vector2(1, 1)\n" +"is_same(vec2_a, vec2_a) # true\n" +"is_same(vec2_a, vec2_b) # true\n" +"is_same(vec2_a, vec2_c) # false\n" +"\n" +"# Array is a reference type\n" +"var arr_a = []\n" +"var arr_b = []\n" +"is_same(arr_a, arr_a) # true\n" +"is_same(arr_a, arr_b) # false\n" +"[/codeblock]\n" +"These are [Variant] value types: [code]null[/code], [bool], [int], [float], " +"[String], [StringName], [Vector2], [Vector2i], [Vector3], [Vector3i], " +"[Vector4], [Vector4i], [Rect2], [Rect2i], [Transform2D], [Transform3D], " +"[Plane], [Quaternion], [AABB], [Basis], [Projection], [Color], [NodePath], " +"[RID], [Callable] and [Signal].\n" +"These are [Variant] reference types: [Object], [Dictionary], [Array], " +"[PackedByteArray], [PackedInt32Array], [PackedInt64Array], " +"[PackedFloat32Array], [PackedFloat64Array], [PackedStringArray], " +"[PackedVector2Array], [PackedVector3Array] and [PackedColorArray]." +msgstr "" + #: doc/classes/@GlobalScope.xml msgid "" "Returns [code]true[/code] if [param x] is zero or almost zero. The " @@ -1722,10 +1812,16 @@ msgstr "" msgid "" "Converts one or more arguments of any type to string in the best way " "possible and prints them to the console.\n" -"[codeblock]\n" +"[codeblocks]\n" +"[gdscript]\n" "var a = [1, 2, 3]\n" "print(\"a\", \"b\", a) # Prints ab[1, 2, 3]\n" -"[/codeblock]\n" +"[/gdscript]\n" +"[csharp]\n" +"var a = new Godot.Collections.Array { 1, 2, 3 };\n" +"GD.Print(\"a\", \"b\", a); // Prints ab[1, 2, 3]\n" +"[/csharp]\n" +"[/codeblocks]\n" "[b]Note:[/b] Consider using [method push_error] and [method push_warning] to " "print error and warning messages instead of [method print] or [method " "print_rich]. This distinguishes them from print messages used for debugging " @@ -1746,10 +1842,16 @@ msgid "" "Displaying ANSI escape codes is currently only supported on Linux and macOS. " "Support for ANSI escape codes may vary across terminal emulators, especially " "for italic and strikethrough.\n" -"[codeblock]\n" +"[codeblocks]\n" +"[gdscript]\n" "print_rich(\"[code][b]Hello world![/b][/code]\") # Prints out: [b]Hello " "world![/b]\n" -"[/codeblock]\n" +"[/gdscript]\n" +"[csharp]\n" +"GD.PrintRich(\"[code][b]Hello world![/b][/code]\"); // Prints out: [b]Hello " +"world![/b]\n" +"[/csharp]\n" +"[/codeblocks]\n" "[b]Note:[/b] Consider using [method push_error] and [method push_warning] to " "print error and warning messages instead of [method print] or [method " "print_rich]. This distinguishes them from print messages used for debugging " @@ -1768,9 +1870,14 @@ msgstr "" msgid "" "Prints one or more arguments to strings in the best way possible to standard " "error line.\n" -"[codeblock]\n" +"[codeblocks]\n" +"[gdscript]\n" "printerr(\"prints to stderr\")\n" -"[/codeblock]" +"[/gdscript]\n" +"[csharp]\n" +"GD.PrintErr(\"prints to stderr\");\n" +"[/csharp]\n" +"[/codeblocks]" msgstr "" #: doc/classes/@GlobalScope.xml @@ -1778,40 +1885,64 @@ msgid "" "Prints one or more arguments to strings in the best way possible to the OS " "terminal. Unlike [method print], no newline is automatically added at the " "end.\n" -"[codeblock]\n" +"[codeblocks]\n" +"[gdscript]\n" "printraw(\"A\")\n" "printraw(\"B\")\n" "printraw(\"C\")\n" "# Prints ABC to terminal\n" -"[/codeblock]" +"[/gdscript]\n" +"[csharp]\n" +"GD.PrintRaw(\"A\");\n" +"GD.PrintRaw(\"B\");\n" +"GD.PrintRaw(\"C\");\n" +"// Prints ABC to terminal\n" +"[/csharp]\n" +"[/codeblocks]" msgstr "" #: doc/classes/@GlobalScope.xml msgid "" "Prints one or more arguments to the console with a space between each " "argument.\n" -"[codeblock]\n" +"[codeblocks]\n" +"[gdscript]\n" "prints(\"A\", \"B\", \"C\") # Prints A B C\n" -"[/codeblock]" +"[/gdscript]\n" +"[csharp]\n" +"GD.PrintS(\"A\", \"B\", \"C\"); // Prints A B C\n" +"[/csharp]\n" +"[/codeblocks]" msgstr "" #: doc/classes/@GlobalScope.xml msgid "" "Prints one or more arguments to the console with a tab between each " "argument.\n" -"[codeblock]\n" +"[codeblocks]\n" +"[gdscript]\n" "printt(\"A\", \"B\", \"C\") # Prints A B C\n" -"[/codeblock]" +"[/gdscript]\n" +"[csharp]\n" +"GD.PrintT(\"A\", \"B\", \"C\"); // Prints A B C\n" +"[/csharp]\n" +"[/codeblocks]" msgstr "" #: doc/classes/@GlobalScope.xml msgid "" "Pushes an error message to Godot's built-in debugger and to the OS " "terminal.\n" -"[codeblock]\n" +"[codeblocks]\n" +"[gdscript]\n" "push_error(\"test error\") # Prints \"test error\" to debugger and terminal " "as error call\n" -"[/codeblock]\n" +"[/gdscript]\n" +"[csharp]\n" +"GD.PushError(\"test error\"); // Prints \"test error\" to debugger and " +"terminal as error call\n" +"[/csharp]\n" +"[/codeblocks]\n" "[b]Note:[/b] This function does not pause project execution. To print an " "error message and pause project execution in debug builds, use " "[code]assert(false, \"test error\")[/code] instead." @@ -1821,10 +1952,16 @@ msgstr "" msgid "" "Pushes a warning message to Godot's built-in debugger and to the OS " "terminal.\n" -"[codeblock]\n" +"[codeblocks]\n" +"[gdscript]\n" "push_warning(\"test warning\") # Prints \"test warning\" to debugger and " "terminal as warning call\n" -"[/codeblock]" +"[/gdscript]\n" +"[csharp]\n" +"GD.PushWarning(\"test warning\"); // Prints \"test warning\" to debugger and " +"terminal as warning call\n" +"[/csharp]\n" +"[/codeblocks]" msgstr "" #: doc/classes/@GlobalScope.xml @@ -1858,9 +1995,14 @@ msgstr "" msgid "" "Returns a random floating point value between [code]0.0[/code] and " "[code]1.0[/code] (inclusive).\n" -"[codeblock]\n" +"[codeblocks]\n" +"[gdscript]\n" "randf() # Returns e.g. 0.375671\n" -"[/codeblock]" +"[/gdscript]\n" +"[csharp]\n" +"GD.Randf(); // Returns e.g. 0.375671\n" +"[/csharp]\n" +"[/codeblocks]" msgstr "" "تُرجع معكوس دالة الكوساين لـ [code]s[/code] بالراديان. تُستخدم للحصول على " "زاوية الكوساين [code]s[/code].\n" @@ -1872,10 +2014,16 @@ msgstr "" msgid "" "Returns a random floating point value between [param from] and [param to] " "(inclusive).\n" -"[codeblock]\n" +"[codeblocks]\n" +"[gdscript]\n" "randf_range(0, 20.5) # Returns e.g. 7.45315\n" "randf_range(-10, 10) # Returns e.g. -3.844535\n" -"[/codeblock]" +"[/gdscript]\n" +"[csharp]\n" +"GD.RandRange(0.0, 20.5); // Returns e.g. 7.45315\n" +"GD.RandRange(-10.0, 10.0); // Returns e.g. -3.844535\n" +"[/csharp]\n" +"[/codeblocks]" msgstr "" #: doc/classes/@GlobalScope.xml @@ -1890,22 +2038,36 @@ msgid "" "Returns a random unsigned 32-bit integer. Use remainder to obtain a random " "value in the interval [code][0, N - 1][/code] (where N is smaller than " "2^32).\n" -"[codeblock]\n" +"[codeblocks]\n" +"[gdscript]\n" "randi() # Returns random integer between 0 and 2^32 - 1\n" "randi() % 20 # Returns random integer between 0 and 19\n" "randi() % 100 # Returns random integer between 0 and 99\n" "randi() % 100 + 1 # Returns random integer between 1 and 100\n" -"[/codeblock]" +"[/gdscript]\n" +"[csharp]\n" +"GD.Randi(); // Returns random integer between 0 and 2^32 - 1\n" +"GD.Randi() % 20; // Returns random integer between 0 and 19\n" +"GD.Randi() % 100; // Returns random integer between 0 and 99\n" +"GD.Randi() % 100 + 1; // Returns random integer between 1 and 100\n" +"[/csharp]\n" +"[/codeblocks]" msgstr "" #: doc/classes/@GlobalScope.xml msgid "" "Returns a random signed 32-bit integer between [param from] and [param to] " "(inclusive). If [param to] is lesser than [param from], they are swapped.\n" -"[codeblock]\n" +"[codeblocks]\n" +"[gdscript]\n" "randi_range(0, 1) # Returns either 0 or 1\n" "randi_range(-10, 1000) # Returns random integer between -10 and 1000\n" -"[/codeblock]" +"[/gdscript]\n" +"[csharp]\n" +"GD.RandRange(0, 1); // Returns either 0 or 1\n" +"GD.RandRange(-10, 1000); // Returns random integer between -10 and 1000\n" +"[/csharp]\n" +"[/codeblocks]" msgstr "" #: doc/classes/@GlobalScope.xml @@ -1977,14 +2139,24 @@ msgid "" "Sets the seed for the random number generator to [param base]. Setting the " "seed manually can ensure consistent, repeatable results for most random " "functions.\n" -"[codeblock]\n" +"[codeblocks]\n" +"[gdscript]\n" "var my_seed = \"Godot Rocks\".hash()\n" "seed(my_seed)\n" "var a = randf() + randi()\n" "seed(my_seed)\n" "var b = randf() + randi()\n" "# a and b are now identical\n" -"[/codeblock]" +"[/gdscript]\n" +"[csharp]\n" +"ulong mySeed = (ulong)GD.Hash(\"Godot Rocks\");\n" +"GD.Seed(mySeed);\n" +"var a = GD.Randf() + GD.Randi();\n" +"GD.Seed(mySeed);\n" +"var b = GD.Randf() + GD.Randi();\n" +"// a and b are now identical\n" +"[/csharp]\n" +"[/codeblocks]" msgstr "" #: doc/classes/@GlobalScope.xml @@ -2155,19 +2327,32 @@ msgstr "" #: doc/classes/@GlobalScope.xml msgid "" -"Converts one or more arguments of any [Variant] type to [String] in the best " -"way possible." +"Converts one or more arguments of any [Variant] type to a [String] in the " +"best way possible.\n" +"[codeblock]\n" +"var a = [10, 20, 30]\n" +"var b = str(a)\n" +"print(len(a)) # Prints 3 (the number of elements in the array).\n" +"print(len(b)) # Prints 12 (the length of the string \"[10, 20, 30]\").\n" +"[/codeblock]" msgstr "" #: doc/classes/@GlobalScope.xml msgid "" "Converts a formatted [param string] that was returned by [method var_to_str] " "to the original [Variant].\n" -"[codeblock]\n" +"[codeblocks]\n" +"[gdscript]\n" "var a = '{ \"a\": 1, \"b\": 2 }' # a is a String\n" "var b = str_to_var(a) # b is a Dictionary\n" "print(b[\"a\"]) # Prints 1\n" -"[/codeblock]" +"[/gdscript]\n" +"[csharp]\n" +"string a = \"{ \\\"a\\\": 1, \\\"b\\\": 2 }\"; // a is a string\n" +"var b = GD.StrToVar(a).AsGodotDictionary(); // b is a Dictionary\n" +"GD.Print(b[\"a\"]); // Prints 1\n" +"[/csharp]\n" +"[/codeblocks]" msgstr "" #: doc/classes/@GlobalScope.xml @@ -2234,15 +2419,21 @@ msgstr "" msgid "" "Converts a [Variant] [param variable] to a formatted [String] that can then " "be parsed using [method str_to_var].\n" -"[codeblock]\n" -"a = { \"a\": 1, \"b\": 2 }\n" +"[codeblocks]\n" +"[gdscript]\n" +"var a = { \"a\": 1, \"b\": 2 }\n" "print(var_to_str(a))\n" -"[/codeblock]\n" +"[/gdscript]\n" +"[csharp]\n" +"var a = new Godot.Collections.Dictionary { [\"a\"] = 1, [\"b\"] = 2 };\n" +"GD.Print(GD.VarToStr(a));\n" +"[/csharp]\n" +"[/codeblocks]\n" "Prints:\n" "[codeblock]\n" "{\n" -"\"a\": 1,\n" -"\"b\": 2\n" +" \"a\": 1,\n" +" \"b\": 2\n" "}\n" "[/codeblock]" msgstr "" @@ -4048,14 +4239,14 @@ msgstr "" #: doc/classes/@GlobalScope.xml msgid "" -"Hints that an [int], [float], or [String] property is an enumerated value to " -"pick in a list specified via a hint string.\n" +"Hints that an [int] or [String] property is an enumerated value to pick in a " +"list specified via a hint string.\n" "The hint string is a comma separated list of names such as [code]\"Hello," "Something,Else\"[/code]. Whitespaces are [b]not[/b] removed from either end " -"of a name. For integer and float properties, the first name in the list has " -"value 0, the next 1, and so on. Explicit values can also be specified by " -"appending [code]:integer[/code] to the name, e.g. [code]\"Zero,One,Three:3," -"Four,Six:6\"[/code]." +"of a name. For integer properties, the first name in the list has value 0, " +"the next 1, and so on. Explicit values can also be specified by appending " +"[code]:integer[/code] to the name, e.g. [code]\"Zero,One,Three:3,Four," +"Six:6\"[/code]." msgstr "" #: doc/classes/@GlobalScope.xml @@ -4084,9 +4275,18 @@ msgstr "" #: doc/classes/@GlobalScope.xml msgid "" -"Hints that an [int] property is a bitmask with named bit flags. For example, " -"to allow toggling bits 0, 1, 2 and 4, the hint could be something like " -"[code]\"Bit0,Bit1,Bit2,,Bit4\"[/code]." +"Hints that an [int] property is a bitmask with named bit flags.\n" +"The hint string is a comma separated list of names such as [code]\"Bit0,Bit1," +"Bit2,Bit3\"[/code]. Whitespaces are [b]not[/b] removed from either end of a " +"name. The first name in the list has value 1, the next 2, then 4, 8, 16 and " +"so on. Explicit values can also be specified by appending [code]:integer[/" +"code] to the name, e.g. [code]\"A:4,B:8,C:16\"[/code]. You can also combine " +"several flags ([code]\"A:4,B:8,AB:12,C:16\"[/code]).\n" +"[b]Note:[/b] A flag value must be at least [code]1[/code] and at most " +"[code]2 ** 32 - 1[/code].\n" +"[b]Note:[/b] Unlike [constant PROPERTY_HINT_ENUM], the previous explicit " +"value is not taken into account. For the hint [code]\"A:16,B,C\"[/code], A " +"is 16, B is 2, C is 4." msgstr "" #: doc/classes/@GlobalScope.xml @@ -4280,8 +4480,16 @@ msgstr "" #: doc/classes/@GlobalScope.xml msgid "" -"If the property is a [Resource], a new copy of it is always created when " -"calling [method Node.duplicate] or [method Resource.duplicate]." +"When duplicating a resource with [method Resource.duplicate], and this flag " +"is set on a property of that resource, the property should always be " +"duplicated, regardless of the [code]subresources[/code] bool parameter." +msgstr "" + +#: doc/classes/@GlobalScope.xml +msgid "" +"When duplicating a resource with [method Resource.duplicate], and this flag " +"is set on a property of that resource, the property should never be " +"duplicated, regardless of the [code]subresources[/code] bool parameter." msgstr "" #: doc/classes/@GlobalScope.xml @@ -4671,7 +4879,7 @@ msgid "" "[/gdscript]\n" "[csharp]\n" "// position (-3, 2, 0), size (1, 1, 1)\n" -"var box = new AABB(new Vector3(-3, 2, 0), new Vector3(1, 1, 1));\n" +"var box = new Aabb(new Vector3(-3, 2, 0), new Vector3(1, 1, 1));\n" "// position (-3, -1, 0), size (3, 4, 2), so we fit both the original AABB " "and Vector3(0, -1, 2)\n" "var box2 = box.Expand(new Vector3(0, -1, 2));\n" @@ -4998,12 +5206,11 @@ msgid "" "[/gdscript]\n" "[csharp]\n" "using Godot;\n" -"using System;\n" "using System.Diagnostics;\n" "\n" -"public class Example : Node\n" +"public partial class MyNode : Node\n" "{\n" -" public AESContext Aes = new AESContext();\n" +" private AesContext _aes = new AesContext();\n" "\n" " public override void _Ready()\n" " {\n" @@ -5012,28 +5219,28 @@ msgid "" " string data = \"My secret text!!\"; // Data size must be multiple of " "16 bytes, apply padding if needed.\n" " // Encrypt ECB\n" -" Aes.Start(AESContext.Mode.EcbEncrypt, key.ToUTF8());\n" -" byte[] encrypted = Aes.Update(data.ToUTF8());\n" -" Aes.Finish();\n" +" _aes.Start(AesContext.Mode.EcbEncrypt, key.ToUtf8());\n" +" byte[] encrypted = _aes.Update(data.ToUtf8());\n" +" _aes.Finish();\n" " // Decrypt ECB\n" -" Aes.Start(AESContext.Mode.EcbDecrypt, key.ToUTF8());\n" -" byte[] decrypted = Aes.Update(encrypted);\n" -" Aes.Finish();\n" +" _aes.Start(AesContext.Mode.EcbDecrypt, key.ToUtf8());\n" +" byte[] decrypted = _aes.Update(encrypted);\n" +" _aes.Finish();\n" " // Check ECB\n" -" Debug.Assert(decrypted == data.ToUTF8());\n" +" Debug.Assert(decrypted == data.ToUtf8());\n" "\n" " string iv = \"My secret iv!!!!\"; // IV must be of exactly 16 " "bytes.\n" " // Encrypt CBC\n" -" Aes.Start(AESContext.Mode.EcbEncrypt, key.ToUTF8(), iv.ToUTF8());\n" -" encrypted = Aes.Update(data.ToUTF8());\n" -" Aes.Finish();\n" +" _aes.Start(AesContext.Mode.EcbEncrypt, key.ToUtf8(), iv.ToUtf8());\n" +" encrypted = _aes.Update(data.ToUtf8());\n" +" _aes.Finish();\n" " // Decrypt CBC\n" -" Aes.Start(AESContext.Mode.EcbDecrypt, key.ToUTF8(), iv.ToUTF8());\n" -" decrypted = Aes.Update(encrypted);\n" -" Aes.Finish();\n" +" _aes.Start(AesContext.Mode.EcbDecrypt, key.ToUtf8(), iv.ToUtf8());\n" +" decrypted = _aes.Update(encrypted);\n" +" _aes.Finish();\n" " // Check CBC\n" -" Debug.Assert(decrypted == data.ToUTF8());\n" +" Debug.Assert(decrypted == data.ToUtf8());\n" " }\n" "}\n" "[/csharp]\n" @@ -5198,13 +5405,7 @@ msgid "" "[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.\n" -"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.\n" -"To pause the current animation, set [member playing] to [code]false[/code]. " -"Alternatively, setting [member speed_scale] to [code]0[/code] also preserves " -"the current frame's elapsed time." +"bottom panel." msgstr "" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimationPlayer.xml @@ -5221,27 +5422,86 @@ msgid "2D Dodge The Creeps Demo" msgstr "" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml +#: doc/classes/AnimationPlayer.xml msgid "" -"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.\n" -"[b]Note:[/b] If [member speed_scale] is negative, the animation direction " -"specified by [param backwards] will be inverted." +"Returns the actual playing speed of current animation or [code]0[/code] if " +"not playing. This speed is the [member speed_scale] property multiplied by " +"[code]custom_speed[/code] argument specified when calling the [method play] " +"method.\n" +"Returns a negative value if the current animation is playing backwards." +msgstr "" + +#: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml +#: doc/classes/AnimationPlayer.xml +#, fuzzy +msgid "" +"Returns [code]true[/code] if an animation is currently playing (even if " +"[member speed_scale] and/or [code]custom_speed[/code] are [code]0[/code])." +msgstr "يُرجع جيب التمام \"cosine \" لقيمة المَعلم." + +#: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml +msgid "" +"Pauses the currently playing animation. The [member frame] and [member " +"frame_progress] will be kept and calling [method play] or [method " +"play_backwards] without arguments will resume the animation from the current " +"playback position.\n" +"See also [method stop]." msgstr "" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml msgid "" -"Stops the current [member animation] at the current [member frame].\n" -"[b]Note:[/b] This method resets the current frame's elapsed time and removes " -"the [code]backwards[/code] flag from the current [member animation] (if it " -"was previously set by [method play]). If this behavior is undesired, set " -"[member playing] to [code]false[/code] instead." +"Plays the animation with key [param name]. If [param custom_speed] is " +"negative and [param from_end] is [code]true[/code], the animation will play " +"backwards (which is equivalent to calling [method play_backwards]).\n" +"If this method is called with that same animation [param name], or with no " +"[param name] parameter, the assigned animation will resume playing if it was " +"paused." msgstr "" -#: doc/classes/AnimatedSprite2D.xml +#: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml +#: doc/classes/AnimationPlayer.xml msgid "" -"The current animation from the [member frames] resource. If this value " -"changes, the [code]frame[/code] counter is reset." +"Plays the animation with key [param name] in reverse.\n" +"This method is a shorthand for [method play] with [code]custom_speed = -1.0[/" +"code] and [code]from_end = true[/code], so see its description for more " +"information." +msgstr "" + +#: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml +msgid "" +"The setter of [member frame] resets the [member frame_progress] to " +"[code]0.0[/code] implicitly, but this method avoids that.\n" +"This is useful when you want to carry over the current [member " +"frame_progress] to another [member frame].\n" +"[b]Example:[/b]\n" +"[codeblocks]\n" +"[gdscript]\n" +"# Change the animation with keeping the frame index and progress.\n" +"var current_frame = animated_sprite.get_frame()\n" +"var current_progress = animated_sprite.get_frame_progress()\n" +"animated_sprite.play(\"walk_another_skin\")\n" +"animated_sprite.set_frame_and_progress(current_frame, current_progress)\n" +"[/gdscript]\n" +"[/codeblocks]" +msgstr "" + +#: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml +msgid "" +"Stops the currently playing animation. The animation position is reset to " +"[code]0[/code] and the [code]custom_speed[/code] is reset to [code]1.0[/" +"code]. See also [method pause]." +msgstr "" + +#: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml +msgid "" +"The current animation from the [member sprite_frames] resource. If this " +"value is changed, the [member frame] counter and the [member frame_progress] " +"are reset." +msgstr "" + +#: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml +#: doc/classes/AnimationPlayer.xml +msgid "The key of the animation to play when the scene loads." msgstr "" #: doc/classes/AnimatedSprite2D.xml doc/classes/SpriteBase3D.xml @@ -5261,14 +5521,17 @@ msgid "If [code]true[/code], texture is flipped vertically." msgstr "" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml -msgid "The displayed animation frame's index." +msgid "" +"The displayed animation frame's index. Setting this property also resets " +"[member frame_progress]. If this is not desired, use [method " +"set_frame_and_progress]." msgstr "" -#: doc/classes/AnimatedSprite2D.xml +#: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml msgid "" -"The [SpriteFrames] resource containing the animation(s). Allows you the " -"option to load, edit, clear, make unique and save the states of the " -"[SpriteFrames] resource." +"The progress value between [code]0.0[/code] and [code]1.0[/code] until the " +"current frame transitions to the next frame. If the animation is playing " +"backwards, the value transitions from [code]1.0[/code] to [code]0.0[/code]." msgstr "" #: doc/classes/AnimatedSprite2D.xml doc/classes/Sprite2D.xml @@ -5277,35 +5540,47 @@ msgid "The texture's drawing offset." msgstr "" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml +#: doc/classes/AnimationPlayer.xml msgid "" -"If [code]true[/code], the [member animation] is currently playing. Setting " -"this property to [code]false[/code] pauses the current animation. Use " -"[method stop] to stop the animation at the current frame instead.\n" -"[b]Note:[/b] Unlike [method stop], changing this property to [code]false[/" -"code] preserves the current frame's elapsed time and the [code]backwards[/" -"code] flag of the current [member animation] (if it was previously set by " -"[method play]).\n" -"[b]Note:[/b] After a non-looping animation finishes, the property still " -"remains [code]true[/code]." +"The speed scaling ratio. For example, if this value is [code]1[/code], then " +"the animation plays at normal speed. If it's [code]0.5[/code], then it plays " +"at half speed. If it's [code]2[/code], then it plays at double speed.\n" +"If set to a negative value, the animation is played in reverse. If set to " +"[code]0[/code], the animation will not advance." msgstr "" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml msgid "" -"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." +"The [SpriteFrames] resource containing the animation(s). Allows you the " +"option to load, edit, clear, make unique and save the states of the " +"[SpriteFrames] resource." msgstr "" +#: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml +#, fuzzy +msgid "Emitted when [member animation] changes." +msgstr "يُرجع قيمة ظل الزاوية للمَعلم." + #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml msgid "" "Emitted when the animation reaches the end, or the start if it is played in " -"reverse. If the animation is looping, this signal is emitted at the end of " -"each loop." +"reverse. When the animation finishes, it pauses the playback." msgstr "" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml -msgid "Emitted when [member frame] changed." -msgstr "" +#, fuzzy +msgid "Emitted when the animation loops." +msgstr "يُرجع قيمة ظل الزاوية للمَعلم." + +#: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml +#, fuzzy +msgid "Emitted when [member frame] changes." +msgstr "يُرجع قيمة ظل الزاوية للمَعلم." + +#: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml +#, fuzzy +msgid "Emitted when [member sprite_frames] changes." +msgstr "يُرجع قيمة ظل الزاوية للمَعلم." #: doc/classes/AnimatedSprite3D.xml msgid "" @@ -5315,33 +5590,17 @@ msgstr "" #: doc/classes/AnimatedSprite3D.xml msgid "" "[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.\n" -"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.\n" -"To pause the current animation, set [member playing] to [code]false[/code]. " -"Alternatively, setting [member speed_scale] to [code]0[/code] also preserves " -"the current frame's elapsed time." +"multiple textures as animation [member sprite_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." msgstr "" #: doc/classes/AnimatedSprite3D.xml msgid "2D Sprite animation (also applies to 3D)" msgstr "" -#: doc/classes/AnimatedSprite3D.xml -msgid "" -"The current animation from the [code]frames[/code] resource. If this value " -"changes, the [code]frame[/code] counter is reset." -msgstr "" - -#: doc/classes/AnimatedSprite3D.xml -msgid "The [SpriteFrames] resource containing the animation(s)." -msgstr "" - #: doc/classes/AnimatedTexture.xml msgid "Proxy texture for simple frame-based animations." msgstr "" @@ -5527,6 +5786,13 @@ msgid "" "[param end_offset] is at the ending." msgstr "" +#: doc/classes/Animation.xml +#, fuzzy +msgid "" +"Returns [code]true[/code] if the track at [code]idx[/code] will be blended " +"with other animations." +msgstr "يُرجع جيب التمام \"cosine \" لقيمة المَعلم." + #: doc/classes/Animation.xml msgid "" "Sets the end offset of the key identified by [param key_idx] to value [param " @@ -5545,6 +5811,12 @@ msgid "" "stream]. The [param track_idx] must be the index of an Audio Track." msgstr "" +#: doc/classes/Animation.xml +msgid "" +"Sets whether the track will be blended with other animations. If [code]true[/" +"code], the audio playback volume changes depending on the blend value." +msgstr "" + #: doc/classes/Animation.xml msgid "" "Returns the in handle of the key identified by [param key_idx]. The [param " @@ -6124,7 +6396,8 @@ msgstr "" #: doc/classes/AnimationNode.xml msgid "" "Adds an input to the node. This is only useful for nodes created for use in " -"an [AnimationNodeBlendTree]." +"an [AnimationNodeBlendTree]. If the addition fails, returns [code]false[/" +"code]." msgstr "" #: doc/classes/AnimationNode.xml @@ -6151,6 +6424,13 @@ msgid "" "instead, else editors will not display your node for addition." msgstr "" +#: doc/classes/AnimationNode.xml +#, fuzzy +msgid "" +"Returns the input index which corresponds to [param name]. If not found, " +"returns [code]-1[/code]." +msgstr "يُرجع جيب المَعلم." + #: doc/classes/AnimationNode.xml msgid "" "Amount of inputs in this node, only useful for nodes that go into " @@ -6180,6 +6460,12 @@ msgstr "" msgid "Adds or removes a path for the filter." msgstr "" +#: doc/classes/AnimationNode.xml +msgid "" +"Sets the name of the input at the given [param input] index. If the setting " +"fails, returns [code]false[/code]." +msgstr "" + #: doc/classes/AnimationNode.xml msgid "" "Sets a custom parameter. These are used as local memory, because resources " @@ -6193,11 +6479,28 @@ msgstr "" #: doc/classes/AnimationNode.xml msgid "" "Emitted by nodes that inherit from this class and that have an internal tree " -"when one of their nodes changes. The nodes that emit this signal are " +"when one of their nodes removes. The nodes that emit this signal are " "[AnimationNodeBlendSpace1D], [AnimationNodeBlendSpace2D], " "[AnimationNodeStateMachine], and [AnimationNodeBlendTree]." msgstr "" +#: doc/classes/AnimationNode.xml +msgid "" +"Emitted by nodes that inherit from this class and that have an internal tree " +"when one of their node names changes. The nodes that emit this signal are " +"[AnimationNodeBlendSpace1D], [AnimationNodeBlendSpace2D], " +"[AnimationNodeStateMachine], and [AnimationNodeBlendTree]." +msgstr "" + +#: doc/classes/AnimationNode.xml +msgid "" +"Emitted by nodes that inherit from this class and that have an internal tree " +"when one of their nodes changes. The nodes that emit this signal are " +"[AnimationNodeBlendSpace1D], [AnimationNodeBlendSpace2D], " +"[AnimationNodeStateMachine], [AnimationNodeBlendTree] and " +"[AnimationNodeTransition]." +msgstr "" + #: doc/classes/AnimationNode.xml msgid "Do not use filtering." msgstr "" @@ -6364,6 +6667,13 @@ msgid "" "Updates the position of the point at index [param point] on the blend axis." msgstr "يُرجع جيب المَعلم." +#: doc/classes/AnimationNodeBlendSpace1D.xml +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"Controls the interpolation between animations. See [enum BlendMode] " +"constants." +msgstr "" + #: doc/classes/AnimationNodeBlendSpace1D.xml msgid "" "The blend space's axis's upper limit for the points' position. See [method " @@ -6392,6 +6702,25 @@ msgstr "" msgid "Label of the virtual axis of the blend space." msgstr "" +#: doc/classes/AnimationNodeBlendSpace1D.xml +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "The interpolation between animations is linear." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace1D.xml +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"The blend space plays the animation of the node the blending position is " +"closest to. Useful for frame-by-frame 2D animations." +msgstr "" + +#: doc/classes/AnimationNodeBlendSpace1D.xml +#: doc/classes/AnimationNodeBlendSpace2D.xml +msgid "" +"Similar to [constant BLEND_MODE_DISCRETE], but starts the new animation at " +"the last animation's playback position." +msgstr "" + #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "" "Blends linearly between three [AnimationNode] of any type placed in a 2D " @@ -6464,12 +6793,6 @@ msgid "" "add_blend_point] and [method remove_blend_point]." msgstr "" -#: doc/classes/AnimationNodeBlendSpace2D.xml -msgid "" -"Controls the interpolation between animations. See [enum BlendMode] " -"constants." -msgstr "" - #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "" "The blend space's X and Y axes' upper limit for the points' position. See " @@ -6500,22 +6823,6 @@ msgid "" "one of their vertices changes position." msgstr "" -#: doc/classes/AnimationNodeBlendSpace2D.xml -msgid "The interpolation between animations is linear." -msgstr "" - -#: doc/classes/AnimationNodeBlendSpace2D.xml -msgid "" -"The blend space plays the animation of the node the blending position is " -"closest to. Useful for frame-by-frame 2D animations." -msgstr "" - -#: doc/classes/AnimationNodeBlendSpace2D.xml -msgid "" -"Similar to [constant BLEND_MODE_DISCRETE], but starts the new animation at " -"the last animation's playback position." -msgstr "" - #: doc/classes/AnimationNodeBlendTree.xml msgid "[AnimationTree] node resource that contains many blend type nodes." msgstr "" @@ -6737,6 +7044,15 @@ msgstr "" msgid "Sets the node's coordinates. Used for display in the editor." msgstr "" +#: doc/classes/AnimationNodeStateMachine.xml +msgid "" +"If [code]true[/code], allows teleport to the self state with [method " +"AnimationNodeStateMachinePlayback.travel]. When the reset option is enabled " +"in [method AnimationNodeStateMachinePlayback.travel], the animation is " +"restarted. If [code]false[/code], nothing happens on the teleportation to " +"the self state." +msgstr "" + #: doc/classes/AnimationNodeStateMachinePlayback.xml msgid "Playback control for [AnimationNodeStateMachine]." msgstr "" @@ -6824,7 +7140,7 @@ msgid "" "[/gdscript]\n" "[csharp]\n" "GetNode(\"animation_tree\").Set(\"parameters/conditions/" -"idle\", IsOnFloor && (LinearVelocity.x == 0));\n" +"idle\", IsOnFloor && (LinearVelocity.X == 0));\n" "[/csharp]\n" "[/codeblocks]" msgstr "" @@ -6853,7 +7169,6 @@ msgid "" msgstr "" #: doc/classes/AnimationNodeStateMachineTransition.xml -#: doc/classes/AnimationNodeTransition.xml msgid "" "If [code]true[/code], the destination animation is played back from the " "beginning when switched." @@ -6966,10 +7281,51 @@ msgid "" "transition times can be specified." msgstr "" +#: doc/classes/AnimationNodeTransition.xml +#, fuzzy +msgid "" +"Returns whether the animation restarts when the animation transitions from " +"the other animation." +msgstr "يُرجع قيمة ظل الزاوية للمَعلم." + +#: doc/classes/AnimationNodeTransition.xml +#, fuzzy +msgid "" +"Returns [code]true[/code] if auto-advance is enabled for the given [param " +"input] index." +msgstr "يُرجع جيب التمام \"cosine \" لقيمة المَعلم." + +#: doc/classes/AnimationNodeTransition.xml +msgid "" +"Enables or disables auto-advance for the given [param input] index. If " +"enabled, state changes to the next input after playing the animation once. " +"If enabled for the last input state, it loops to the first." +msgstr "" + +#: doc/classes/AnimationNodeTransition.xml +#, fuzzy +msgid "" +"If [code]true[/code], the destination animation is restarted when the " +"animation transitions." +msgstr "يُرجع جيب التمام \"cosine \" لقيمة المَعلم." + +#: doc/classes/AnimationNodeTransition.xml +msgid "" +"If [code]true[/code], allows transition to the self state. When the reset " +"option is enabled in input, the animation is restarted. If [code]false[/" +"code], nothing happens on the transition to the self state." +msgstr "" + #: doc/classes/AnimationNodeTransition.xml msgid "The number of enabled input ports for this node." msgstr "" +#: doc/classes/AnimationNodeTransition.xml +msgid "" +"Determines how cross-fading between animations is eased. If empty, the " +"transition will be linear." +msgstr "" + #: doc/classes/AnimationNodeTransition.xml msgid "" "Cross-fading time (in seconds) between each animation connected to the " @@ -6999,6 +7355,10 @@ msgid "" "Updating the target properties of animations occurs at process time." msgstr "" +#: doc/classes/AnimationPlayer.xml doc/classes/AnimationTree.xml +msgid "A virtual function for processing after key getting during playback." +msgstr "" + #: doc/classes/AnimationPlayer.xml msgid "" "Adds [param library] to the animation player, under the key [param name]." @@ -7062,16 +7422,8 @@ msgstr "يُرجع جيب المَعلم." #: doc/classes/AnimationPlayer.xml msgid "" -"Gets the blend time (in seconds) between two animations, referenced by their " -"keys." -msgstr "" - -#: doc/classes/AnimationPlayer.xml -msgid "" -"Gets the actual playing speed of current animation or 0 if not playing. This " -"speed is the [member playback_speed] property multiplied by " -"[code]custom_speed[/code] argument specified when calling the [method play] " -"method." +"Returns the blend time (in seconds) between two animations, referenced by " +"their keys." msgstr "" #: doc/classes/AnimationPlayer.xml @@ -7093,10 +7445,6 @@ msgid "" "[AnimationLibrary] with key [param name]." msgstr "يُرجع جيب التمام \"cosine \" لقيمة المَعلم." -#: doc/classes/AnimationPlayer.xml -msgid "Returns [code]true[/code] if playing an animation." -msgstr "" - #: doc/classes/AnimationPlayer.xml msgid "" "Pauses the currently playing animation. The [member " @@ -7115,23 +7463,13 @@ msgid "" "The [AnimationPlayer] keeps track of its current or last played animation " "with [member assigned_animation]. If this method is called with that same " "animation [param name], or with no [param name] parameter, the assigned " -"animation will resume playing if it was paused, or restart if it was stopped " -"(see [method stop] for both pause and stop). If the animation was already " -"playing, it will keep playing.\n" +"animation will resume playing if it was paused.\n" "[b]Note:[/b] The animation will be updated the next time the " "[AnimationPlayer] is processed. If other variables are updated at the same " "time this is called, they may be updated too early. To perform the update " "immediately, call [code]advance(0)[/code]." msgstr "" -#: doc/classes/AnimationPlayer.xml -msgid "" -"Plays the animation with key [param name] in reverse.\n" -"This method is a shorthand for [method play] with [code]custom_speed = -1.0[/" -"code] and [code]from_end = true[/code], so see its description for more " -"information." -msgstr "" - #: doc/classes/AnimationPlayer.xml msgid "" "Queues an animation for playback once the current one is done.\n" @@ -7169,8 +7507,8 @@ msgstr "" #: doc/classes/AnimationPlayer.xml msgid "" "Stops the currently playing animation. The animation position is reset to " -"[code]0[/code] and the playback speed is reset to [code]1.0[/code]. See also " -"[method pause].\n" +"[code]0[/code] and the [code]custom_speed[/code] is reset to [code]1.0[/" +"code]. See also [method pause].\n" "If [param keep_state] is [code]true[/code], the animation state is not " "updated visually.\n" "[b]Note:[/b] The method / audio / animation playback tracks will not be " @@ -7184,8 +7522,13 @@ msgid "" "already playing. See also [member current_animation]." msgstr "" -#: doc/classes/AnimationPlayer.xml -msgid "The key of the animation to play when the scene loads." +#: doc/classes/AnimationPlayer.xml doc/classes/AnimationTree.xml +msgid "" +"The number of possible simultaneous sounds for each of the assigned " +"AudioStreamPlayers.\n" +"For example, if this value is [code]32[/code] and the animation has two " +"audio tracks, the two [AudioStreamPlayer]s assigned can play simultaneously " +"up to [code]32[/code] voices each." msgstr "" #: doc/classes/AnimationPlayer.xml @@ -7238,13 +7581,6 @@ msgstr "" msgid "The process notification in which to update animations." msgstr "" -#: doc/classes/AnimationPlayer.xml -msgid "" -"The speed scaling ratio. For example, if this value is 1, then the animation " -"plays at normal speed. If it's 0.5, then it plays at half speed. If it's 2, " -"then it plays at double speed." -msgstr "" - #: doc/classes/AnimationPlayer.xml msgid "" "This is used by the editor. If set to [code]true[/code], the scene will be " @@ -7346,8 +7682,8 @@ msgstr "" #: doc/classes/AnimationTree.xml msgid "" -"Retrieve the motion of position with the [member root_motion_track] as a " -"[Vector3] that can be used elsewhere.\n" +"Retrieve the motion delta of position with the [member root_motion_track] as " +"a [Vector3] that can be used elsewhere.\n" "If [member root_motion_track] is not a path to a track of type [constant " "Animation.TYPE_POSITION_3D], returns [code]Vector3(0, 0, 0)[/code].\n" "See also [member root_motion_track] and [RootMotionView].\n" @@ -7365,13 +7701,60 @@ msgid "" " set_velocity(velocity)\n" " move_and_slide()\n" "[/gdscript]\n" +"[/codeblocks]\n" +"By using this in combination with [method " +"get_root_motion_position_accumulator], you can apply the root motion " +"position more correctly to account for the rotation of the node.\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _process(delta):\n" +" if Input.is_action_just_pressed(\"animate\"):\n" +" state_machine.travel(\"Animate\")\n" +" set_quaternion(get_quaternion() * animation_tree." +"get_root_motion_rotation())\n" +" var velocity: Vector3 = (animation_tree." +"get_root_motion_rotation_accumulator().inverse() * get_quaternion()) * " +"animation_tree.get_root_motion_position() / delta\n" +" set_velocity(velocity)\n" +" move_and_slide()\n" +"[/gdscript]\n" "[/codeblocks]" msgstr "" #: doc/classes/AnimationTree.xml msgid "" -"Retrieve the motion of rotation with the [member root_motion_track] as a " -"[Quaternion] that can be used elsewhere.\n" +"Retrieve the blended value of the position tracks with the [member " +"root_motion_track] as a [Vector3] that can be used elsewhere.\n" +"This is useful in cases where you want to respect the initial key values of " +"the animation.\n" +"For example, if an animation with only one key [code]Vector3(0, 0, 0)[/code] " +"is played in the previous frame and then an animation with only one key " +"[code]Vector3(1, 0, 1)[/code] is played in the next frame, the difference " +"can be calculated as follows:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var prev_root_motion_position_accumulator: Vector3\n" +"\n" +"func _process(delta):\n" +" if Input.is_action_just_pressed(\"animate\"):\n" +" state_machine.travel(\"Animate\")\n" +" var current_root_motion_position_accumulator: Vector3 = animation_tree." +"get_root_motion_position_accumulator()\n" +" var difference: Vector3 = current_root_motion_position_accumulator - " +"prev_root_motion_position_accumulator\n" +" prev_root_motion_position_accumulator = " +"current_root_motion_position_accumulator\n" +" transform.origin += difference\n" +"[/gdscript]\n" +"[/codeblocks]\n" +"However, if the animation loops, an unintended discrete change may occur, so " +"this is only useful for some simple use cases." +msgstr "" + +#: doc/classes/AnimationTree.xml +msgid "" +"Retrieve the motion delta of rotation with the [member root_motion_track] as " +"a [Quaternion] that can be used elsewhere.\n" "If [member root_motion_track] is not a path to a track of type [constant " "Animation.TYPE_ROTATION_3D], returns [code]Quaternion(0, 0, 0, 1)[/code].\n" "See also [member root_motion_track] and [RootMotionView].\n" @@ -7389,7 +7772,39 @@ msgstr "" #: doc/classes/AnimationTree.xml msgid "" -"Retrieve the motion of scale with the [member root_motion_track] as a " +"Retrieve the blended value of the rotation tracks with the [member " +"root_motion_track] as a [Quaternion] that can be used elsewhere.\n" +"This is necessary to apply the root motion position correctly, taking " +"rotation into account. See also [method get_root_motion_position].\n" +"Also, this is useful in cases where you want to respect the initial key " +"values of the animation.\n" +"For example, if an animation with only one key [code]Quaternion(0, 0, 0, 1)[/" +"code] is played in the previous frame and then an animation with only one " +"key [code]Quaternion(0, 0.707, 0, 0.707)[/code] is played in the next frame, " +"the difference can be calculated as follows:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var prev_root_motion_rotation_accumulator: Quaternion\n" +"\n" +"func _process(delta):\n" +" if Input.is_action_just_pressed(\"animate\"):\n" +" state_machine.travel(\"Animate\")\n" +" var current_root_motion_rotation_accumulator: Quaternion = " +"animation_tree.get_root_motion_Quaternion_accumulator()\n" +" var difference: Quaternion = prev_root_motion_rotation_accumulator." +"inverse() * current_root_motion_rotation_accumulator\n" +" prev_root_motion_rotation_accumulator = " +"current_root_motion_rotation_accumulator\n" +" transform.basis *= difference\n" +"[/gdscript]\n" +"[/codeblocks]\n" +"However, if the animation loops, an unintended discrete change may occur, so " +"this is only useful for some simple use cases." +msgstr "" + +#: doc/classes/AnimationTree.xml +msgid "" +"Retrieve the motion delta of scale with the [member root_motion_track] as a " "[Vector3] that can be used elsewhere.\n" "If [member root_motion_track] is not a path to a track of type [constant " "Animation.TYPE_SCALE_3D], returns [code]Vector3(0, 0, 0)[/code].\n" @@ -7411,6 +7826,34 @@ msgid "" "[/codeblocks]" msgstr "" +#: doc/classes/AnimationTree.xml +msgid "" +"Retrieve the blended value of the scale tracks with the [member " +"root_motion_track] as a [Vector3] that can be used elsewhere.\n" +"For example, if an animation with only one key [code]Vector3(1, 1, 1)[/code] " +"is played in the previous frame and then an animation with only one key " +"[code]Vector3(2, 2, 2)[/code] is played in the next frame, the difference " +"can be calculated as follows:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var prev_root_motion_scale_accumulator: Vector3\n" +"\n" +"func _process(delta):\n" +" if Input.is_action_just_pressed(\"animate\"):\n" +" state_machine.travel(\"Animate\")\n" +" var current_root_motion_scale_accumulator: Vector3 = animation_tree." +"get_root_motion_scale_accumulator()\n" +" var difference: Vector3 = current_root_motion_scale_accumulator - " +"prev_root_motion_scale_accumulator\n" +" prev_root_motion_scale_accumulator = " +"current_root_motion_scale_accumulator\n" +" transform.basis = transform.basis.scaled(difference)\n" +"[/gdscript]\n" +"[/codeblocks]\n" +"However, if the animation loops, an unintended discrete change may occur, so " +"this is only useful for some simple use cases." +msgstr "" + #: doc/classes/AnimationTree.xml msgid "If [code]true[/code], the [AnimationTree] will be processing." msgstr "" @@ -7628,10 +8071,17 @@ msgid "" "of attraction." msgstr "" -#: doc/classes/Area2D.xml doc/classes/Area3D.xml +#: doc/classes/Area2D.xml msgid "" -"The falloff factor for point gravity. The greater the value, the faster " -"gravity decreases with distance." +"The distance at which the gravity strength is equal to [member gravity]. For " +"example, on a planet 100 pixels in radius with a surface gravity of 4.0 px/" +"s², set the [member gravity] to 4.0 and the unit distance to 100.0. The " +"gravity will have falloff according to the inverse square law, so in the " +"example, at 200 pixels from the center the gravity will be 1.0 px/s² (twice " +"the distance, 1/4th the gravity), at 50 pixels it will be 16.0 px/s² (half " +"the distance, 4x the gravity), and so on.\n" +"The above is true only when the unit distance is a positive number. When " +"this is set to 0.0, the gravity will be constant regardless of distance." msgstr "" #: doc/classes/Area2D.xml doc/classes/Area3D.xml @@ -7888,6 +8338,19 @@ msgid "" "gravity without altering its direction." msgstr "" +#: doc/classes/Area3D.xml +msgid "" +"The distance at which the gravity strength is equal to [member gravity]. For " +"example, on a planet 100 meters in radius with a surface gravity of 4.0 m/" +"s², set the [member gravity] to 4.0 and the unit distance to 100.0. The " +"gravity will have falloff according to the inverse square law, so in the " +"example, at 200 meters from the center the gravity will be 1.0 m/s² (twice " +"the distance, 1/4th the gravity), at 50 meters it will be 16.0 m/s² (half " +"the distance, 4x the gravity), and so on.\n" +"The above is true only when the unit distance is a positive number. When " +"this is set to 0.0, the gravity will be constant regardless of distance." +msgstr "" + #: doc/classes/Area3D.xml msgid "" "The rate at which objects stop moving in this area. Represents the linear " @@ -8073,13 +8536,13 @@ msgid "Constructs an empty [Array]." msgstr "" #: doc/classes/Array.xml -msgid "" -"Creates a typed array from the [param base] array. The base array can't be " -"already typed. See [method set_typed] for more details." +msgid "Creates a typed array from the [param base] array." msgstr "" #: doc/classes/Array.xml -msgid "Constructs an [Array] as a copy of the given [Array]." +msgid "" +"Returns the same array as [param from]. If you need a copy of the array, use " +"[method duplicate]." msgstr "" #: doc/classes/Array.xml @@ -8204,6 +8667,12 @@ msgid "" "[/codeblock]" msgstr "" +#: doc/classes/Array.xml +msgid "" +"Assigns elements of another [param array] into the array. Resizes the array " +"to match [param array]. Performs type conversions if the array is typed." +msgstr "" + #: doc/classes/Array.xml msgid "" "Returns the last element of the array. Prints an error and returns " @@ -8296,7 +8765,7 @@ msgid "" "array.fill(0) # Initialize the 10 elements to 0.\n" "[/gdscript]\n" "[csharp]\n" -"var array = new Godot.Collections.Array{};\n" +"var array = new Godot.Collections.Array();\n" "array.Resize(10);\n" "array.Fill(0); // Initialize the 10 elements to 0.\n" "[/csharp]\n" @@ -8369,7 +8838,7 @@ msgid "" "print([\"inside\", 7].has(\"7\")) # False\n" "[/gdscript]\n" "[csharp]\n" -"var arr = new Godot.Collections.Array{\"inside\", 7};\n" +"var arr = new Godot.Collections.Array { \"inside\", 7 };\n" "// has is renamed to Contains\n" "GD.Print(arr.Contains(\"inside\")); // True\n" "GD.Print(arr.Contains(\"outside\")); // False\n" @@ -8387,7 +8856,7 @@ msgid "" "[/gdscript]\n" "[csharp]\n" "// As there is no \"in\" keyword in C#, you have to use Contains\n" -"var array = new Godot.Collections.Array{2, 4, 6, 8};\n" +"var array = new Godot.Collections.Array { 2, 4, 6, 8 };\n" "if (array.Contains(2))\n" "{\n" " GD.Print(\"Contains!\");\n" @@ -8427,10 +8896,16 @@ msgstr "" #: doc/classes/Array.xml msgid "" "Returns [code]true[/code] if the array is read-only. See [method " -"set_read_only]. Arrays are automatically read-only if declared with " +"make_read_only]. Arrays are automatically read-only if declared with " "[code]const[/code] keyword." msgstr "" +#: doc/classes/Array.xml +#, fuzzy +msgid "" +"Returns [code]true[/code] if the array is typed the same as [param array]." +msgstr "يُرجع جيب التمام \"cosine \" لقيمة المَعلم." + #: doc/classes/Array.xml msgid "" "Returns [code]true[/code] if the array is typed. Typed arrays can only store " @@ -8438,6 +8913,12 @@ msgid "" "code] operator. Methods of typed array still return [Variant]." msgstr "" +#: doc/classes/Array.xml +msgid "" +"Makes the array read-only, i.e. disabled modifying of the array's elements. " +"Does not apply to nested content, e.g. content of nested arrays." +msgstr "" + #: doc/classes/Array.xml msgid "" "Calls the provided [Callable] for each element in the array and returns a " @@ -8473,10 +8954,16 @@ msgstr "" #: doc/classes/Array.xml msgid "" "Returns a random value from the target array.\n" -"[codeblock]\n" +"[codeblocks]\n" +"[gdscript]\n" "var array: Array[int] = [1, 2, 3, 4]\n" "print(array.pick_random()) # Prints either of the four numbers.\n" -"[/codeblock]" +"[/gdscript]\n" +"[csharp]\n" +"var array = new Godot.Collections.Array { 1, 2, 3, 4 };\n" +"GD.Print(array.PickRandom()); // Prints either of the four numbers.\n" +"[/csharp]\n" +"[/codeblocks]" msgstr "" #: doc/classes/Array.xml @@ -8579,21 +9066,6 @@ msgid "" "the array." msgstr "" -#: doc/classes/Array.xml -msgid "" -"Makes the [Array] read-only, i.e. disabled modifying of the array's " -"elements. Does not apply to nested content, e.g. content of nested arrays." -msgstr "" - -#: doc/classes/Array.xml -msgid "" -"Makes the [Array] typed. The [param type] should be one of the [enum Variant." -"Type] constants. [param class_name] is optional and can only be provided for " -"[constant TYPE_OBJECT]. [param script] can only be provided if [param " -"class_name] is not empty.\n" -"The method fails if an array is already typed." -msgstr "" - #: doc/classes/Array.xml msgid "" "Shuffles the array such that the items will have a random order. This method " @@ -8624,7 +9096,7 @@ msgid "" "If specified, [param step] is the relative index between source elements. It " "can be negative, then [param begin] must be higher than [param end]. For " "example, [code][0, 1, 2, 3, 4, 5].slice(5, 1, -2)[/code] returns [code][5, 3]" -"[/code]).\n" +"[/code].\n" "If [param deep] is true, each element will be copied by value rather than by " "reference." msgstr "" @@ -8645,7 +9117,10 @@ msgid "" "print(strings) # Prints [string1, string10, string11, string2]\n" "[/gdscript]\n" "[csharp]\n" -"// There is no sort support for Godot.Collections.Array\n" +"var strings = new Godot.Collections.Array { \"string1\", \"string2\", " +"\"string10\", \"string11\" };\n" +"strings.Sort();\n" +"GD.Print(strings); // Prints [string1, string10, string11, string2]\n" "[/csharp]\n" "[/codeblocks]\n" "To perform natural order sorting, you can use [method sort_custom] with " @@ -8693,13 +9168,6 @@ msgid "" "[/codeblocks]" msgstr "" -#: doc/classes/Array.xml -msgid "" -"Assigns a different [Array] to this array reference. It the array is typed, " -"the new array's type must be compatible and its elements will be " -"automatically converted." -msgstr "" - #: doc/classes/Array.xml msgid "" "Compares the left operand [Array] against the [param right] [Array]. Returns " @@ -8966,6 +9434,14 @@ msgid "" "vertices." msgstr "" +#: doc/classes/ArrayMesh.xml +msgid "" +"An optional mesh which is used for rendering shadows and can be used for the " +"depth prepass. Can be used to increase performance of shadow rendering by " +"using a mesh that only contains vertex position data (without normals, UVs, " +"colors, etc.)." +msgstr "" + #: doc/classes/ArrayOccluder3D.xml msgid "" "3D polygon shape for use with occlusion culling in [OccluderInstance3D]." @@ -9372,15 +9848,16 @@ msgid "" " return min(0, abs(u - v) - 1)\n" "[/gdscript]\n" "[csharp]\n" -"public class MyAStar : AStar3D\n" +"public partial class MyAStar : AStar3D\n" "{\n" -" public override float _ComputeCost(int u, int v)\n" +" public override float _ComputeCost(long fromId, long toId)\n" " {\n" -" return Mathf.Abs(u - v);\n" +" return Mathf.Abs((int)(fromId - toId));\n" " }\n" -" public override float _EstimateCost(int u, int v)\n" +"\n" +" public override float _EstimateCost(long fromId, long toId)\n" " {\n" -" return Mathf.Min(0, Mathf.Abs(u - v) - 1);\n" +" return Mathf.Min(0, Mathf.Abs((int)(fromId - toId)) - 1);\n" " }\n" "}\n" "[/csharp]\n" @@ -9608,12 +10085,12 @@ msgid "" "[/gdscript]\n" "[csharp]\n" "AStarGrid2D astarGrid = new AStarGrid2D();\n" -"astarGrid.Size = new Vector2i(32, 32);\n" -"astarGrid.CellSize = new Vector2i(16, 16);\n" +"astarGrid.Size = new Vector2I(32, 32);\n" +"astarGrid.CellSize = new Vector2I(16, 16);\n" "astarGrid.Update();\n" -"GD.Print(astarGrid.GetIdPath(Vector2i.Zero, new Vector2i(3, 4))); // prints " +"GD.Print(astarGrid.GetIdPath(Vector2I.Zero, new Vector2I(3, 4))); // prints " "(0, 0), (1, 1), (2, 2), (3, 3), (3, 4)\n" -"GD.Print(astarGrid.GetPointPath(Vector2i.Zero, new Vector2i(3, 4))); // " +"GD.Print(astarGrid.GetPointPath(Vector2I.Zero, new Vector2I(3, 4))); // " "prints (0, 0), (16, 16), (32, 32), (48, 48), (48, 64)\n" "[/csharp]\n" "[/codeblocks]" @@ -10846,15 +11323,6 @@ msgid "" "at_position]." msgstr "" -#: doc/classes/AudioServer.xml -msgid "" -"Returns the names of all audio input devices detected on the system.\n" -"[b]Note:[/b] [member ProjectSettings.audio/driver/enable_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." msgstr "" @@ -10915,13 +11383,23 @@ msgid "Returns the volume of the bus at index [param bus_idx] in dB." msgstr "يُرجع جيب المَعلم." #: doc/classes/AudioServer.xml -msgid "Returns the names of all audio 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/driver/enable_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 "Returns the sample rate at the output of the [AudioServer]." msgstr "" +#: doc/classes/AudioServer.xml +#, fuzzy +msgid "Returns the names of all audio output devices detected on the system." +msgstr "يُرجع باقي قسمة كل من المُتجهين (الشعاعين)." + #: doc/classes/AudioServer.xml msgid "Returns the audio driver's output latency." msgstr "" @@ -11020,7 +11498,7 @@ msgstr "" #: doc/classes/AudioServer.xml msgid "" "Name of the current device for audio input (see [method " -"capture_get_device_list]). On systems with multiple audio inputs (such as " +"get_input_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 " @@ -11033,12 +11511,12 @@ msgstr "" #: doc/classes/AudioServer.xml msgid "" -"Name of the current device for audio output (see [method get_device_list]). " -"On systems with multiple audio outputs (such as analog, USB and HDMI audio), " -"this can be used to select the audio output device. The value " -"[code]\"Default\"[/code] will play audio on the system-wide default audio " -"output. If an invalid device name is set, the value will be reverted back to " -"[code]\"Default\"[/code]." +"Name of the current device for audio output (see [method " +"get_output_device_list]). On systems with multiple audio outputs (such as " +"analog, USB and HDMI audio), this can be used to select the audio output " +"device. The value [code]\"Default\"[/code] will play audio on the system-" +"wide default audio output. If an invalid device name is set, the value will " +"be reverted back to [code]\"Default\"[/code]." msgstr "" #: doc/classes/AudioServer.xml @@ -11227,21 +11705,17 @@ msgid "" "[codeblocks]\n" "[gdscript]\n" "func load_mp3(path):\n" -" var file = File.new()\n" -" file.open(path, File.READ)\n" +" var file = FileAccess.open(path, FileAccess.READ)\n" " var sound = AudioStreamMP3.new()\n" " sound.data = file.get_buffer(file.get_length())\n" -" file.close()\n" " return sound\n" "[/gdscript]\n" "[csharp]\n" "public AudioStreamMP3 LoadMP3(string path)\n" "{\n" -" var file = new File();\n" -" file.Open(path, File.READ);\n" +" using var file = FileAccess.Open(path, FileAccess.ModeFlags.Read);\n" " var sound = new AudioStreamMP3();\n" " sound.Data = file.GetBuffer(file.GetLength());\n" -" file.Close();\n" " return sound;\n" "}\n" "[/csharp]\n" @@ -11354,6 +11828,13 @@ msgid "" "[AudioStreamPlayer]." msgstr "" +#: doc/classes/AudioStreamPlayer.xml doc/classes/AudioStreamPlayer2D.xml +#: doc/classes/AudioStreamPlayer3D.xml +msgid "" +"Returns whether the [AudioStreamPlayer] can return the [AudioStreamPlayback] " +"object or not." +msgstr "" + #: doc/classes/AudioStreamPlayer.xml msgid "Plays the audio from the given [param from_position], in seconds." msgstr "" @@ -11444,7 +11925,7 @@ msgstr "" #: doc/classes/AudioStreamPlayer2D.xml msgid "" -"Plays audio that dampens with distance from a given position.\n" +"Plays audio that is attenuated with distance to the listener.\n" "By default, audio is heard from the screen center. This can be changed by " "adding an [AudioListener2D] node to the scene and enabling it by calling " "[method AudioListener2D.make_current] on it.\n" @@ -11481,7 +11962,7 @@ msgid "" msgstr "" #: doc/classes/AudioStreamPlayer2D.xml -msgid "Dampens audio over distance with this as an exponent." +msgid "The volume is attenuated over distance with this as an exponent." msgstr "" #: doc/classes/AudioStreamPlayer2D.xml @@ -11502,7 +11983,7 @@ msgid "" msgstr "" #: doc/classes/AudioStreamPlayer2D.xml -msgid "Base volume without dampening." +msgid "Base volume before attenuation." msgstr "" #: doc/classes/AudioStreamPlayer3D.xml @@ -11511,11 +11992,11 @@ msgstr "" #: doc/classes/AudioStreamPlayer3D.xml msgid "" -"Plays a sound effect with directed sound effects, dampens with distance if " -"needed, generates effect of hearable position in space. For greater realism, " -"a low-pass filter is automatically applied to distant sounds. This can be " -"disabled by setting [member attenuation_filter_cutoff_hz] to [code]20500[/" -"code].\n" +"Plays audio with positional sound effects, based on the relative position of " +"the audio listener. Positional effects include distance attenuation, " +"directionality, and the Doppler effect. For greater realism, a low-pass " +"filter is applied to distant sounds. This can be disabled by setting [member " +"attenuation_filter_cutoff_hz] to [code]20500[/code].\n" "By default, audio is heard from the camera position. This can be changed by " "adding an [AudioListener3D] node to the scene and enabling it by calling " "[method AudioListener3D.make_current] on it.\n" @@ -11543,9 +12024,10 @@ msgstr "" #: doc/classes/AudioStreamPlayer3D.xml msgid "" -"Dampens audio using a low-pass filter above this frequency, in Hz. To " -"disable the dampening effect entirely, set this to [code]20500[/code] as " -"this frequency is above the human hearing limit." +"The cutoff frequency of the attenuation low-pass filter, in Hz. A sound " +"above this frequency is attenuated more than a sound below this frequency. " +"To disable this effect, set this to [code]20500[/code] as this frequency is " +"above the human hearing limit." msgstr "" #: doc/classes/AudioStreamPlayer3D.xml @@ -11580,19 +12062,21 @@ msgid "Decides in which step the Doppler effect should be calculated." msgstr "" #: doc/classes/AudioStreamPlayer3D.xml -msgid "The angle in which the audio reaches cameras undampened." +msgid "The angle in which the audio reaches a listener unattenuated." msgstr "" #: doc/classes/AudioStreamPlayer3D.xml +#, fuzzy msgid "" -"If [code]true[/code], the audio should be dampened according to the " +"If [code]true[/code], the audio should be attenuated according to the " "direction of the sound." -msgstr "" +msgstr "يُرجع جيب التمام \"cosine \" لقيمة المَعلم." #: doc/classes/AudioStreamPlayer3D.xml msgid "" -"Dampens audio if camera is outside of [member emission_angle_degrees] and " -"[member emission_angle_enabled] is set by this factor, in decibels." +"Attenuation factor used if listener is outside of [member " +"emission_angle_degrees] and [member emission_angle_enabled] is set, in " +"decibels." msgstr "" #: doc/classes/AudioStreamPlayer3D.xml @@ -11634,24 +12118,24 @@ msgid "" msgstr "" #: doc/classes/AudioStreamPlayer3D.xml -msgid "The base sound level unaffected by dampening, in decibels." +msgid "The base sound level before attenuation, in decibels." msgstr "" #: doc/classes/AudioStreamPlayer3D.xml -msgid "Linear dampening of loudness according to distance." +msgid "Attenuation of loudness according to linear distance." msgstr "" #: doc/classes/AudioStreamPlayer3D.xml -msgid "Squared dampening of loudness according to distance." +msgid "Attenuation of loudness according to squared distance." msgstr "" #: doc/classes/AudioStreamPlayer3D.xml -msgid "Logarithmic dampening of loudness according to distance." +msgid "Attenuation of loudness according to logarithmic distance." msgstr "" #: doc/classes/AudioStreamPlayer3D.xml msgid "" -"No dampening of loudness according to distance. The sound will still be " +"No attenuation of loudness according to distance. The sound will still be " "heard positionally, unlike an [AudioStreamPlayer]. [constant " "ATTENUATION_DISABLED] can be combined with a [member max_distance] value " "greater than [code]0.0[/code] to achieve linear attenuation clamped to a " @@ -12195,7 +12679,8 @@ msgid "" "parameters." msgstr "" -#: doc/classes/BaseMaterial3D.xml +#: doc/classes/BaseMaterial3D.xml doc/classes/Label3D.xml +#: doc/classes/SpriteBase3D.xml msgid "Threshold at which antialiasing will be applied on the alpha channel." msgstr "" @@ -12203,7 +12688,8 @@ msgstr "" msgid "The type of alpha antialiasing to apply. See [enum AlphaAntiAliasing]." msgstr "" -#: doc/classes/BaseMaterial3D.xml +#: doc/classes/BaseMaterial3D.xml doc/classes/Label3D.xml +#: doc/classes/SpriteBase3D.xml msgid "" "The hashing scale for Alpha Hash. Recommended values between [code]0[/code] " "and [code]2[/code]." @@ -14853,7 +15339,7 @@ msgid "" "Perform an RPC (Remote Procedure Call). This is used for multiplayer and is " "normally not available, unless the function being called has been marked as " "[i]RPC[/i]. Calling this method on unsupported functions will result in an " -"error." +"error. See [method Node.rpc]." msgstr "" #: doc/classes/Callable.xml @@ -14862,7 +15348,7 @@ msgid "" "multiplayer documentation for reference). This is used for multiplayer and " "is normally not available unless the function being called has been marked " "as [i]RPC[/i]. Calling this method on unsupported functions will result in " -"an error." +"an error. See [method Node.rpc_id]." msgstr "" #: doc/classes/Callable.xml @@ -14981,6 +15467,19 @@ msgid "" "[code]true[/code] (see [method get_screen_center_position])." msgstr "" +#: doc/classes/Camera2D.xml +#, fuzzy +msgid "" +"Returns [code]true[/code] if this [Camera2D] is the active camera (see " +"[method Viewport.get_camera_2d])." +msgstr "يُرجع جيب التمام \"cosine \" لقيمة المَعلم." + +#: doc/classes/Camera2D.xml +msgid "" +"Forces this [Camera2D] to become the current active one. [member enabled] " +"must be [code]true[/code]." +msgstr "" + #: doc/classes/Camera2D.xml msgid "" "Sets the camera's position immediately to its current smoothing " @@ -15007,14 +15506,6 @@ msgstr "" msgid "The Camera2D's anchor point. See [enum AnchorMode] constants." msgstr "" -#: doc/classes/Camera2D.xml -msgid "" -"If [code]true[/code], the camera acts as the active camera for its " -"[Viewport] ancestor. Only one camera can be current in a given viewport, so " -"setting a different camera in the same viewport [code]current[/code] will " -"disable whatever camera was already active in that viewport." -msgstr "" - #: doc/classes/Camera2D.xml msgid "" "The custom [Viewport] node attached to the [Camera2D]. If [code]null[/code] " @@ -15094,6 +15585,16 @@ msgid "" "If [code]true[/code], draws the camera's screen rectangle in the editor." msgstr "" +#: doc/classes/Camera2D.xml +msgid "" +"Controls whether the camera can be active or not. If [code]true[/code], the " +"[Camera2D] will become the main camera when it enters the scene tree and " +"there is no active camera currently (see [method Viewport.get_camera_2d]).\n" +"When the camera is currently active and [member enabled] is set to " +"[code]false[/code], the next enabled [Camera2D] in the scene tree will " +"become active." +msgstr "" + #: doc/classes/Camera2D.xml msgid "" "If [code]true[/code], the camera's rendered view is not affected by its " @@ -15932,6 +16433,7 @@ msgid "" "shader in a custom [Shader] use the following:\n" "[codeblock]\n" "shader_type canvas_item;\n" +"render_mode unshaded;\n" "\n" "uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, " "filter_nearest;\n" @@ -19773,8 +20275,6 @@ msgid "" "string, and may contain an alpha channel value. If [param rgba] does not " "contain an alpha channel value, an alpha channel value of 1.0 is applied. If " "[param rgba] is invalid, returns an empty color.\n" -"[b]Note:[/b] In C#, this method is not implemented. The same functionality " -"is provided by the Color constructor.\n" "[codeblocks]\n" "[gdscript]\n" "var blue = Color.html(\"#0000ff\") # blue is Color(0.0, 0.0, 1.0, 1.0)\n" @@ -19808,13 +20308,13 @@ msgid "" "Color.html_is_valid(\"#55aaFF5\") # Returns false\n" "[/gdscript]\n" "[csharp]\n" -"Color.IsHtmlValid(\"#55AAFF\"); // Returns true\n" -"Color.IsHtmlValid(\"#55AAFF20\"); // Returns true\n" -"Color.IsHtmlValid(\"55AAFF\"); // Returns true\n" -"Color.IsHtmlValid(\"#F2C\"); // Returns true\n" +"Color.HtmlIsValid(\"#55AAFF\"); // Returns true\n" +"Color.HtmlIsValid(\"#55AAFF20\"); // Returns true\n" +"Color.HtmlIsValid(\"55AAFF\"); // Returns true\n" +"Color.HtmlIsValid(\"#F2C\"); // Returns true\n" "\n" -"Color.IsHtmlValid(\"#AABBC\"); // Returns false\n" -"Color.IsHtmlValid(\"#55aaFF5\"); // Returns false\n" +"Color.HtmlIsValid(\"#AABBC\"); // Returns false\n" +"Color.HtmlIsValid(\"#55aaFF5\"); // Returns false\n" "[/csharp]\n" "[/codeblocks]" msgstr "" @@ -21812,12 +22312,12 @@ msgid "" " return typeof(data) == TYPE_DICTIONARY and data.has(\"expected\")\n" "[/gdscript]\n" "[csharp]\n" -"public override bool CanDropData(Vector2 position, object data)\n" +"public override bool _CanDropData(Vector2 atPosition, Variant data)\n" "{\n" " // Check position if it is relevant to you\n" " // Otherwise, just check data\n" -" return data is Godot.Collections.Dictionary && (data as Godot." -"Collections.Dictionary).Contains(\"expected\");\n" +" return data.VariantType == Variant.Type.Dictionary && data." +"AsGodotDictionary().Contains(\"expected\");\n" "}\n" "[/csharp]\n" "[/codeblocks]" @@ -21833,18 +22333,20 @@ msgid "" "[gdscript]\n" "func _can_drop_data(position, data):\n" " return typeof(data) == TYPE_DICTIONARY and data.has(\"color\")\n" +"\n" "func _drop_data(position, data):\n" " var color = data[\"color\"]\n" "[/gdscript]\n" "[csharp]\n" -"public override bool CanDropData(Vector2 position, object data)\n" +"public override bool _CanDropData(Vector2 atPosition, Variant data)\n" "{\n" -" return data is Godot.Collections.Dictionary && (data as Godot." -"Collections.Dictionary).Contains(\"color\");\n" +" return data.VariantType == Variant.Type.Dictionary && dict." +"AsGodotDictionary().Contains(\"color\");\n" "}\n" -"public override void DropData(Vector2 position, object data)\n" +"\n" +"public override void _DropData(Vector2 atPosition, Variant data)\n" "{\n" -" Color color = (Color)(data as Godot.Collections.Dictionary)[\"color\"];\n" +" Color color = data.AsGodotDictionary()[\"color\"].AsColor();\n" "}\n" "[/csharp]\n" "[/codeblocks]" @@ -21870,13 +22372,13 @@ msgid "" " return mydata\n" "[/gdscript]\n" "[csharp]\n" -"public override object GetDragData(Vector2 position)\n" +"public override Variant _GetDragData(Vector2 atPosition)\n" "{\n" -" object mydata = MakeData(); // This is your custom method generating the " +" var myData = MakeData(); // This is your custom method generating the " "drag data.\n" -" SetDragPreview(MakePreview(mydata)); // This is your custom method " +" SetDragPreview(MakePreview(myData)); // This is your custom method " "generating the preview of the drag data.\n" -" return mydata;\n" +" return myData;\n" "}\n" "[/csharp]\n" "[/codeblocks]" @@ -21910,10 +22412,9 @@ msgid "" "[csharp]\n" "public override void _GuiInput(InputEvent @event)\n" "{\n" -" if (@event is InputEventMouseButton)\n" +" if (@event is InputEventMouseButton mb)\n" " {\n" -" var mb = @event as InputEventMouseButton;\n" -" if (mb.ButtonIndex == (int)ButtonList.Left && mb.Pressed)\n" +" if (mb.ButtonIndex == MouseButton.Left && mb.Pressed)\n" " {\n" " GD.Print(\"I've been clicked D:\");\n" " }\n" @@ -21936,11 +22437,11 @@ msgstr "" #: doc/classes/Control.xml msgid "" "Virtual method to be implemented by the user. Returns whether the given " -"[param position] is inside this control.\n" +"[param point] is inside this control.\n" "If not overridden, default behavior is checking if the point is within " "control's Rect.\n" "[b]Note:[/b] If you want to check if a point is inside the control, you can " -"use [code]get_rect().has_point(point)[/code]." +"use [code]Rect2(Vector2.ZERO, size).has_point(point)[/code]." msgstr "" #: doc/classes/Control.xml @@ -21973,7 +22474,7 @@ msgid "" " return label\n" "[/gdscript]\n" "[csharp]\n" -"public override Godot.Control _MakeCustomTooltip(String forText)\n" +"public override Control _MakeCustomTooltip(string forText)\n" "{\n" " var label = new Label();\n" " label.Text = forText;\n" @@ -21990,7 +22491,7 @@ msgid "" " return tooltip\n" "[/gdscript]\n" "[csharp]\n" -"public override Godot.Control _MakeCustomTooltip(String forText)\n" +"public override Control _MakeCustomTooltip(string forText)\n" "{\n" " Node tooltip = ResourceLoader.Load(\"res://" "some_tooltip_scene.tscn\").Instantiate();\n" @@ -22040,13 +22541,13 @@ msgid "" "// Given the child Label node \"MyLabel\", override its font color with a " "custom value.\n" "GetNode