summaryrefslogtreecommitdiff
path: root/doc/translations/ru.po
diff options
context:
space:
mode:
Diffstat (limited to 'doc/translations/ru.po')
-rw-r--r--doc/translations/ru.po1878
1 files changed, 1575 insertions, 303 deletions
diff --git a/doc/translations/ru.po b/doc/translations/ru.po
index b590ff4014..b76873e4f1 100644
--- a/doc/translations/ru.po
+++ b/doc/translations/ru.po
@@ -24,7 +24,7 @@
# Чтабс <chtabs2k19@gmail.com>, 2021.
# Nikita Blizniuk <BliznyukNM@gmail.com>, 2021.
# Сергей Волков <zerosar4@gmail.com>, 2021.
-# Alexander Sinitsyn <almoig747@gmail.com>, 2021.
+# Alexander Sinitsyn <almoig747@gmail.com>, 2021, 2022.
# Толя Богомолов <tolya.bogomolov2004@gmail.com>, 2021.
# Rustam Alieskerov <rustam.aleskerov7@gmail.com>, 2021, 2022.
# Vladimir Svity <development.openworld@gmail.com>, 2021.
@@ -54,12 +54,17 @@
# Lost Net <pc.mirkn@gmail.com>, 2022.
# Vladimir Kirillovskiy <vladimir.kirillovskiy@gmail.com>, 2022.
# motismob <evt.mixail@ya.ru>, 2022.
+# Handsless coder <yfintktajy1@gmail.com>, 2022.
+# Evgeniy Khramov <thejenjagamertjg@gmail.com>, 2022.
+# Григорий <bolon667@gmail.com>, 2022.
+# Artur Leonov (Depish) <depish.eskry@yandex.ru>, 2022.
+# Patrik <avdmur@gmail.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2022-09-16 07:12+0000\n"
-"Last-Translator: Rish Alternative <ii4526668@gmail.com>\n"
+"PO-Revision-Date: 2022-12-23 10:00+0000\n"
+"Last-Translator: Patrik <avdmur@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/ru/>\n"
"Language: ru\n"
@@ -68,7 +73,7 @@ msgstr ""
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.14.1-dev\n"
+"X-Generator: Weblate 4.15.1-dev\n"
#: doc/tools/make_rst.py
msgid "Description"
@@ -124,7 +129,7 @@ msgstr "Унаследовано:"
#: doc/tools/make_rst.py
msgid "(overrides %s)"
-msgstr "(переназначает %s)"
+msgstr "(переопределяет %s)"
#: doc/tools/make_rst.py
msgid "Default"
@@ -458,9 +463,9 @@ msgstr ""
"Ограничивает [code]value[/code], возвращая значение не меньше [code]min[/"
"code] и не больше [code]max[/code].\n"
"[codeblock]\n"
-"a = clamp(1000, 1, 20) # a будет 20\n"
-"a = clamp(-10, 1, 20) # a будет 1\n"
-"a = clamp(15, 1, 20) # a будет 15\n"
+"a = clamp(1000, 1, 20) # вернёт 20\n"
+"a = clamp(-10, 1, 20) # вернёт 1\n"
+"a = clamp(15, 1, 20) # вернёт 15\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -531,12 +536,12 @@ msgid ""
"a = dectime(60, 10, 0.1)) # a is 59.0\n"
"[/codeblock]"
msgstr ""
-"[b]Примечание:[/b] [code]dectime[/code] был устаревшим и будет удален в "
-"Godot 4.0, пожалуйста, используйте [метод move_toward] вместо него.\n"
+"[b]Примечание:[/b] [code]dectime[/code] устарел и будет удален в Godot 4.0, "
+"пожалуйста, используйте [method move_toward] вместо него.\n"
"Возвращает результат [code]value[/code], уменьшенный на [code]step[/code] * "
"[code]amount[/code].\n"
"[codeblock]\n"
-"a = dectime(60, 10, 0.1)) # a равно 59.0\n"
+"a = dectime(60, 10, 0.1)) # вернёт59.0\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -598,7 +603,6 @@ msgstr ""
"экземпляр объекта. Полезно для десериализации."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns an \"eased\" value of [code]x[/code] based on an easing function "
"defined with [code]curve[/code]. This easing function is based on an "
@@ -632,8 +636,8 @@ msgstr ""
"- Больше 1,0 (не включая): Облегчение вхождения(только вход)\n"
"[/codeblock]\n"
"[url=https://raw.githubusercontent.com/godotengine/godot-docs/3.4/img/"
-"ease_cheatsheet.png]ease() значения кривой шпаргалка[/url]\n"
-"См. также [метод smoothstep]. Если вам нужно выполнить более сложные "
+"ease_cheatsheet.png]ease() шпаргалка значений кривой[/url]\n"
+"См. также [method smoothstep]. Если вам нужно выполнить более сложные "
"переходы, используйте [Tween] или [AnimationPlayer]."
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -765,7 +769,8 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Returns an array of dictionaries representing the current call stack.\n"
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
" foo()\n"
@@ -780,24 +785,33 @@ msgid ""
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] [method get_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"get_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
msgstr ""
-"Возвращает массив словарей, представляющий текущий стек вызовов.\n"
+"Возвращает массив словарей, представляющий текущий стек вызовов. См. также "
+"[method print_stack].\n"
"[codeblock]\n"
"func _ready():\n"
-" foo()\n"
+"\tfoo()\n"
"\n"
"func foo():\n"
-" bar()\n"
+"\tbar()\n"
"\n"
"func bar():\n"
-" print(get_stack())\n"
+"\tprint(get_stack())\n"
"[/codeblock]\n"
"выведет\n"
"[codeblock]\n"
"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Примечание:[/b] [method get_stack] работает только при подключенном "
+"сервере отладки (например в редакторе). [method get_stack] не будет работать "
+"в проектах, экспортированных в режиме release или в проектах "
+"экспортированных в режиме debug, если они не подключены к серверу отладки."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -866,7 +880,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns an interpolation or extrapolation factor considering the range "
"specified in [code]from[/code] and [code]to[/code], and the interpolated "
@@ -890,13 +903,13 @@ msgid ""
"[method range_lerp] to map a continuous series of values to another."
msgstr ""
"Возвращает коэффициент интерполяции или экстраполяции с учетом диапазона, "
-"указанного в [code]от[/code] и [code]до[/code], и интерполированное "
-"значение, указанное в [code]весе[/code]. Возвращаемое значение будет "
-"находиться в диапазоне [code]0.0[/code] and [code]1.0[/code] если [code]вес[/"
-"code] находится между [code]от[/code] и [code]до[/code] (включительно). Если "
-"[code]вес[/code] находится за пределами этого диапазона, то будет возвращён "
-"коэффициент экстраполяции (возвращаемое значение меньше [code]0.0[/code] или "
-"больше [code]1.0[/code]).\n"
+"указанного в [code]from[/code] и [code]to[/code], и интерполированное "
+"значение, указанное в [code]weight[/code]. Возвращаемое значение будет "
+"находиться в диапазоне от [code]0.0[/code] до [code]1.0[/code], если "
+"[code]weight[/code] находится между [code]from[/code] и [code]to[/code] "
+"(включительно). Если [code]weight[/code] находится за пределами этого "
+"диапазона, то будет возвращён коэффициент экстраполяции (возвращаемое "
+"значение меньше [code]0.0[/code] или больше [code]1.0[/code]).\n"
"[codeblock]\n"
"# Коэффициент интерполяции в приведённом ниже вызове `lerp()` составляет "
"0,75.\n"
@@ -907,7 +920,8 @@ msgstr ""
"var ratio = inverse_lerp(20, 30, 27.5)\n"
"# `ratio` теперь 0.75.\n"
"[/codeblock]\n"
-"Смотрите также [метод lerp], который выполняет обратную этой операцию."
+"Смотрите также [method lerp], который выполняет обратную операцию и [method "
+"range_lerp] для отображения последовательного ряда значений в другом."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -979,7 +993,6 @@ 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 "
@@ -1002,11 +1015,11 @@ msgid ""
"continuous series of values to another."
msgstr ""
"Линейно интерполирует между двумя значениями с помощью коэффициента, "
-"определенного в [code]weight[/code]. Для выполнения интерполяции [code]вес[/"
-"code] должен составлять от [code]0.0[/code] до [code]1.0[/code] "
+"определенного в [code]weight[/code]. Для выполнения интерполяции "
+"[code]weight[/code] должен быть между [code]0.0[/code] и [code]1.0[/code] "
"(включительно). Однако значения за пределами этого диапазона разрешены и "
"могут быть использованы для выполнения [i]экстраполяции[/i].\n"
-"Если аргументы [code]от[/code] и [code]до[/code] имеют тип [int] или "
+"Если аргументы [code]from[/code] и [code]to[/code] имеют тип [int] или "
"[float], возвращаемое значение будет [float].\n"
"Если оба значения имеют одинаковый векторный тип ([Vector2], [Vector3] или "
"[Color]), возвращаемое значение будет одного типа ([code]lerp[/code], затем "
@@ -1042,23 +1055,23 @@ msgid ""
msgstr ""
"Линейная интерполяция между двумя углами (в радианах) по нормализованному "
"значению.\n"
-"Аналогично [методу lerp], но корректно интерполируется, когда углы "
-"оборачивают вокруг [константы @GDScript.TAU]. Чтобы выполнить упрощенную "
-"интерполяцию с помощью [метода lerp_angle], объедините его с [методом ease] "
-"или [методом smoothstep].\n"
+"Аналогично [method lerp], но корректно интерполируется, когда углы "
+"оборачивают вокруг [constant @GDScript.TAU]. Чтобы выполнить упрощенную "
+"интерполяцию с помощью [method lerp_angle], объедините его с [method ease] "
+"или [method smoothstep].\n"
"[codeblock]\n"
"extends Sprite\n"
"var elapsed = 0.0\n"
"func _process(delta):\n"
-" var min_angle = deg2rad(0.0)\n"
-" var max_angle = deg2rad(90.0)\n"
-" rotation = lerp_angle(min_angle, max_angle, elapsed)\n"
-" elapsed += delta\n"
+"\tvar min_angle = deg2rad(0.0)\n"
+"\tvar max_angle = deg2rad(90.0)\n"
+"\trotation = lerp_angle(min_angle, max_angle, elapsed)\n"
+"\telapsed += delta\n"
"[/codeblock]\n"
"[b]Примечание:[/b] Этот метод проходит через кратчайший путь между "
"[code]from[/code] и [code]to[/code]. Тем не менее, если разница между этими "
-"двумя углами и любым целым числом [code]k[/code] приблизительно [code]PI + "
-"k * TAU[/code], неочевидно в какую сторону [/code]из-за ошибок в точности "
+"двумя углами и любым целым числом [code]k[/code] приблизительно [code]PI + k "
+"* TAU[/code], неочевидно в какую сторону [/code]из-за ошибок в точности "
"чисел с плавающей точкой. Например, [code]lerp_angle(0, PI, weight)[/code] "
"оборачивается против часовой стрелки, а [code]lerp_angle(0, PI + 5 * TAU, "
"weight)[/code] оборачивается по часовой."
@@ -1092,6 +1105,7 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
+#, fuzzy
msgid ""
"Loads a resource from the filesystem located at [code]path[/code]. The "
"resource is loaded on the method call (unless it's referenced already "
@@ -1118,19 +1132,19 @@ msgstr ""
"ссылаются в другом месте, например, в другом скрипте или в сцене), что может "
"вызвать небольшую задержку, особенно при загрузке сцен. Чтобы избежать "
"ненужных задержек при многократной загрузке чего-либо, либо сохраните ресурс "
-"в переменной, либо используйте [метод preload].\n"
+"в переменной, либо используйте [method preload].\n"
"[b]Примечание: [/b] Пути к ресурсам можно получить, щёлкнув правой кнопкой "
"мыши на ресурсе в панели «Файловая система» и выбрав \"Копировать путь\" или "
"перетащив файл из панели «Файловая система» в сценарий.\n"
"[codeblock]\n"
"# Load a scene called main located in the root of the project directory and "
"cache it in a variable.\n"
-"var main = load(\"res://main.tscn\") # main will contain a PackedScene "
-"resource.\n"
+"var main = load(\"res://main.tscn\") # main будет содержать объект "
+"PackedScene.\n"
"[/codeblock]\n"
"[b]Важно:[/b] Путь должен быть абсолютным, локальный путь просто вернет "
"[code]null[/code].\n"
-"Этот метод представляет собой упрощенную версию [метода ResourceLoader."
+"Этот метод представляет собой упрощенную версию [method ResourceLoader."
"load], который можно использовать для более сложных сценариев."
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -1432,18 +1446,27 @@ msgstr ""
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
-"Prints a stack track at code location, only works when running with debugger "
-"turned on.\n"
+"Prints a stack trace at the current code location. See also [method "
+"get_stack].\n"
"Output in the console would look something like this:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
-msgstr ""
-"Печатает трек стека вызовов, работает только если включён отладчик.\n"
-"Вывод в консоли будет выглядеть примерно так:\n"
+"[/codeblock]\n"
+"[b]Note:[/b] [method print_stack] only works if the running instance is "
+"connected to a debugging server (i.e. an editor instance). [method "
+"print_stack] will not work in projects exported in release mode, or in "
+"projects exported in debug mode if not connected to a debugging server."
+msgstr ""
+"Выводит стек вызовов из текущей функции. Смотрите также: [method "
+"get_stack].\n"
+"Вывод в консоли будет примерно таким:\n"
"[codeblock]\n"
"Frame 0 - res://test.gd:16 in function '_process'\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Примечание:[/b] [method print_stack] работает только при подключенном "
+"сервере отладки (например в редакторе). [method print_stack] не будет "
+"работать в проектах, экспортированных в режиме release или в проектах "
+"экспортированных в режиме debug, если они не подключены к серверу отладки."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1682,7 +1705,7 @@ msgid ""
"3\n"
"[/codeblock]"
msgstr ""
-"Возвращает массив с заданным диапазоном. [метод range] может быть вызван "
+"Возвращает массив с заданным диапазоном. [method range] может быть вызван "
"тремя способами:\n"
"[code]range(n: int)[/code]: Начинается с 0, увеличивается с шагом в 1 и "
"останавливается [i]перед[/i] [code]n[/code]. Аргумент [code]n[/code] это "
@@ -1697,16 +1720,16 @@ msgstr ""
"[b]инклюзив[/b] и [b]эксклюзив[/b], соответственно. Аргумент [code]s[/code] "
"[b]может[/b] быть негативным, но не [code]0[/code]. Если [code]s[/code] это "
"[code]0[/code], будет выведено сообщение об ошибке.\n"
-"[метод range] преобразует все аргументы в [int] перед обработкой.\n"
+"[method range] преобразует все аргументы в [int] перед обработкой.\n"
"[b]Примечание:[/b] Возвращает пустой массив, если ни одно значение не "
"удовлетворяет ограничению на значение (e.g. [code]range(2, 5, -1)[/code] или "
"[code]range(5, 5, 1)[/code]).\n"
"Примеры:\n"
"[codeblock]\n"
-"print(range(4)) # Prints [0, 1, 2, 3]\n"
-"print(range(2, 5)) # Prints [2, 3, 4]\n"
-"print(range(0, 6, 2)) # Prints [0, 2, 4]\n"
-"print(range(4, 1, -1)) # Prints [4, 3, 2]\n"
+"print(range(4)) # Выведет [0, 1, 2, 3]\n"
+"print(range(2, 5)) # Выведет [2, 3, 4]\n"
+"print(range(0, 6, 2)) # Выведет [0, 2, 4]\n"
+"print(range(4, 1, -1)) # Выведет [4, 3, 2]\n"
"[/codeblock]\n"
"Чтобы выполнить итерацию по [Array] в обратном порядке, используйте:\n"
"[codeblock]\n"
@@ -1734,6 +1757,18 @@ msgid ""
"For complex use cases where you need multiple ranges, consider using [Curve] "
"or [Gradient] instead."
msgstr ""
+"Ограничивает [code]значение[/code] из диапазона [code][istart, istop][/code] "
+"до диапазона [code][ostart, ostop][/code]. Смотрите также [method lerp] и "
+"[method inverse_lerp]. Если [code]значение[/code] за пределами [code]"
+"[istart, istop][/code], тогда, выходное значение тоже будет за пределами "
+"[code][ostart, ostop][/code]. Используйте [method clamp] со значением "
+"полученным от [method range_lerp] если не хотите выходить за пределы.[/"
+"code]\n"
+"[codeblock]\n"
+"range_lerp(75, 0, 100, -1, 1) # Возвращает 0.5\n"
+"[/codeblock]\n"
+"Для случаев где вам нужно несколько диапазонов, используйте [Curve] или "
+"[Gradient]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1750,10 +1785,10 @@ msgstr ""
"в большую сторону.\n"
"[codeblock]\n"
"a = round(2.49) # Возвращает 2.0\n"
-"a = round(2.5) # Возвращает 3.0\n"
+"a = round(2.5)\t# Возвращает 3.0\n"
"a = round(2.51) # Возвращает 3.0\n"
"[/codeblock]\n"
-"См. также[метод floor], [метод ceil], [метод stepify], и [int]."
+"См. также[method floor], [method ceil], [method stepify], и [int]."
#: modules/gdscript/doc_classes/@GDScript.xml
msgid ""
@@ -1814,7 +1849,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns the result of smoothly interpolating the value of [code]s[/code] "
"between [code]0[/code] and [code]1[/code], based on the where [code]s[/code] "
@@ -1842,33 +1876,29 @@ msgstr ""
"Возвращает результат плавной интерполяции значения [code]s[/code] между "
"[code]0[/code] и [code]1[/code], в зависимости от того, где находится "
"[code]s[/code] относительно [code]from[/code] и [code]to[/code].\n"
-"\n"
"Возвращаемое значение равно [code]0[/code], если [code]s <= from[/code] и "
"[code]1[/code], если[code]s >= to[/code]. Если [code]s[/code] находится "
"между [code]from[/code] и [code]to[/code], то возвращаемое значение следует "
"S-образной кривой, которая соответствует значению [code]s[/code] между "
"[code]0[/code] и [code]1[/code].\n"
-"\n"
"S-образная кривая является кубическим эрмитовым сплайном, заданным функцией "
-"[code]f(s) = 3*s^2 - 2*s^3[/code].\n"
-"\n"
+"[code]f(y) = 3*y^2 - 2*y^3[/code], где [code]y = (x-from) / (to-from)[/"
+"code].\n"
"[codeblock]\n"
-"smoothstep(0, 2, -5.0) # Returns 0.0\n"
-"smoothstep(0, 2, 0.5) # Returns 0.15625\n"
-"smoothstep(0, 2, 1.0) # Returns 0.5\n"
-"smoothstep(0, 2, 2.0) # Returns 1.0\n"
+"smoothstep(0, 2, -5.0) # Возвращает 0.0\n"
+"smoothstep(0, 2, 0.5) # Возвращает 0.15625\n"
+"smoothstep(0, 2, 1.0) # Возвращает 0.5\n"
+"smoothstep(0, 2, 2.0) # Возвращает 1.0\n"
"[/codeblock]\n"
-"\n"
-"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"
+"В сравнении с [method ease] со значение кривой [code]-1.6521[/code], [method "
+"smoothstep] возвращает наиболее плавную кривую без внезапных изменений "
+"производной. Если вам нужно выполнить более продвинутые перемещения, "
+"используйте [Tween] или [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]Сравнение возвращаемых значений smoothstep() "
+"и ease(x, -1.6521)[/url]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns the square root of [code]s[/code], where [code]s[/code] is a non-"
"negative number.\n"
@@ -1888,7 +1918,6 @@ msgstr ""
"Numerics.Complex[/code] в 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 "
@@ -1903,12 +1932,9 @@ msgstr ""
"внимание, что максимальное возвращаемое значение – это 10, что является "
"проектным решением при реализации.\n"
"[codeblock]\n"
-"# n равно 0\n"
-"n = step_decimals(5)\n"
-"# n равно 4\n"
-"n = step_decimals(1.0005)\n"
-"# n равно 9\n"
-"n = step_decimals(0.000000005)\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
@@ -1952,7 +1978,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Converts a formatted string that was returned by [method var2str] to the "
"original value.\n"
@@ -1983,7 +2008,6 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns the hyperbolic tangent of [code]s[/code].\n"
"[codeblock]\n"
@@ -1994,7 +2018,7 @@ msgstr ""
"Возвращает гиперболический тангенс [code]s[/code].\n"
"[codeblock]\n"
"a = log(2.0) # Возвращает 0.693147\n"
-"tanh(a) # Возвращает 0.6\n"
+"b = tanh(a) # Возвращает 0.6\n"
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
@@ -2031,7 +2055,6 @@ msgstr ""
"См. также [JSON] для альтернативного преобразования [Variant] в JSON строку."
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Returns whether the given class exists in [ClassDB].\n"
"[codeblock]\n"
@@ -2041,7 +2064,7 @@ msgid ""
msgstr ""
"Возвращает, существует ли данный класс в [ClassDB].\n"
"[codeblock]\n"
-"type_exists(\"Sprite2D\") # Возвращает true\n"
+"type_exists(\"Sprite\") # Возвращает true\n"
"type_exists(\"Variant\") # Возвращает false\n"
"[/codeblock]"
@@ -2092,13 +2115,12 @@ msgstr ""
"[/codeblock]"
#: modules/gdscript/doc_classes/@GDScript.xml
-#, fuzzy
msgid ""
"Encodes a variable value to a byte array. When [code]full_objects[/code] is "
"[code]true[/code] encoding objects is allowed (and can potentially include "
"code)."
msgstr ""
-"Кодирует значение переменной в массив байт. Если [code]full_objects[/code] "
+"Кодирует значение переменной в массив байтов. Если [code]full_objects[/code] "
"равен [code]true[/code], кодирование объектов разрешено (и потенциально "
"может включать код)."
@@ -2274,7 +2296,7 @@ msgid ""
msgstr ""
"Останавливает выполнение функции и возвращает текущее приостановленное "
"состояние вызывающей функции.\n"
-"Вызывающая функция должна вызвать [метод GDScriptFunctionState.resume] на "
+"Вызывающая функция должна вызвать [method GDScriptFunctionState.resume] на "
"состоянии для возобновления выполнения. Это аннулирует состояние. Внутри "
"возобновленной функции [code]yield()[/code] возвращает все, что было "
"передано в вызов функции [code]resume()[/code].\n"
@@ -2287,21 +2309,21 @@ msgstr ""
"работы функции:\n"
"[codeblock].\n"
"func _ready():\n"
-" yield(countdown(), \"completed\") # ожидание завершения функции "
+"\tyield(countdown(), \"completed\") # ожидание завершения функции "
"countdown()\n"
-" print('Ready')\n"
+"\tprint('Ready')\n"
"\n"
"func countdown():\n"
-" yield(get_tree(), \"idle_frame\") # возвращает объект "
+"\tyield(get_tree(), \"idle_frame\") # возвращает объект "
"GDScriptFunctionState для функции _ready()\n"
-" print(3)\n"
-" yield(get_tree().create_timer(1.0), \"timeout\")\n"
-" print(2)\n"
-" yield(get_tree().create_timer(1.0), \"timeout\")\n"
-" print(1)\n"
-" yield(get_tree().create_timer(1.0), \"timeout\")\n"
+"\tprint(3)\n"
+"\tyield(get_tree().create_timer(1.0), \"timeout\")\n"
+"\tprint(2)\n"
+"\tyield(get_tree().create_timer(1.0), \"timeout\")\n"
+"\tprint(1)\n"
+"\tyield(get_tree().create_timer(1.0), \"timeout\")\n"
"\n"
-"# печатает:\n"
+"# выведет:\n"
"# 3\n"
"# 2\n"
"# 1\n"
@@ -2859,12 +2881,10 @@ msgid "Help key."
msgstr "Клавиша помощи."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Left Direction key."
msgstr "Клавиша направления влево."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Right Direction key."
msgstr "Клавиша направления вправо."
@@ -2876,19 +2896,16 @@ msgstr ""
"устройствах Android."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Media forward key."
msgstr "Клавиша записи мультимедиа."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Media stop key."
msgstr "Клавиша остановки мультимедиа."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Media refresh key."
-msgstr "Клавиша записи мультимедиа."
+msgstr "Клавиша обновления мультимедиа."
#: doc/classes/@GlobalScope.xml
msgid "Volume down key."
@@ -2907,22 +2924,18 @@ msgid "Bass Boost key."
msgstr "Клавиша усиления низких частот."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Bass up key."
msgstr "Клавиша увеличения басов."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Bass down key."
msgstr "Клавиша уменьшения низких частот."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Treble up key."
msgstr "Клавиша увеличения высоких частот."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Treble down key."
msgstr "Клавиша уменьшения высоких частот."
@@ -2952,12 +2965,10 @@ msgid "Home page key."
msgstr "Клавиша домашней страницы."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Favorites key."
-msgstr "Клавиша избранного."
+msgstr "Клавиша \"Избранное\"."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Search key."
msgstr "Клавиша поиска."
@@ -4424,7 +4435,6 @@ msgid "Skip error."
msgstr "Ошибка \"Пропущено\"."
#: doc/classes/@GlobalScope.xml
-#, fuzzy
msgid "Help error."
msgstr "Ошибка справки."
@@ -4661,6 +4671,26 @@ msgid "Hints that an image is compressed using lossless compression."
msgstr "Указывает, что изображение использует сжатие без потерь."
#: doc/classes/@GlobalScope.xml
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of inteters.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required to specify for properly detecting "
+"built-in types."
+msgstr ""
+
+#: doc/classes/@GlobalScope.xml
msgid "The property is serialized and saved in the scene file (default)."
msgstr "Свойство сериализируется и сохраняется в файле сцены (по умолчанию)."
@@ -5007,10 +5037,8 @@ msgstr ""
#: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Vector2.xml
#: doc/classes/Vector3.xml
-#, fuzzy
msgid "Vector math"
-msgstr ""
-"Вектор используемый для 2D математики используя целочисленные координаты."
+msgstr "Векторная математика"
#: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Vector2.xml
#: doc/classes/Vector3.xml
@@ -5516,8 +5544,7 @@ msgstr ""
#: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml
#: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml
#: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml
-#: doc/classes/InputEventAction.xml doc/classes/Label.xml
-#: doc/classes/Particles2D.xml doc/classes/Timer.xml
+#: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml
#: doc/classes/VisibilityNotifier2D.xml
msgid "2D Dodge The Creeps Demo"
msgstr ""
@@ -6280,11 +6307,11 @@ msgstr ""
#: doc/classes/Animation.xml doc/classes/Gradient.xml
msgid "Linear interpolation."
-msgstr ""
+msgstr "Линейная интерполяция."
#: doc/classes/Animation.xml doc/classes/Gradient.xml
msgid "Cubic interpolation."
-msgstr ""
+msgstr "Кубическая интерполяция."
#: doc/classes/Animation.xml
msgid "Update between keyframes."
@@ -6510,7 +6537,7 @@ msgstr ""
#: doc/classes/AnimationNodeTimeScale.xml
#: doc/classes/AnimationNodeTransition.xml
msgid "AnimationTree"
-msgstr ""
+msgstr "Дерево анимации"
#: doc/classes/AnimationNodeAdd3.xml doc/classes/AnimationNodeAnimation.xml
#: doc/classes/AnimationNodeBlend2.xml
@@ -7546,7 +7573,7 @@ msgstr ""
#: doc/classes/AnimationTree.xml
msgid "Using AnimationTree"
-msgstr ""
+msgstr "Использование дерева анимации"
#: doc/classes/AnimationTree.xml
msgid "Manually advance the animations by the specified time (in seconds)."
@@ -7976,43 +8003,43 @@ msgstr ""
#: doc/classes/AnimationTreePlayer.xml
msgid "Output node."
-msgstr ""
+msgstr "Выходной узел."
#: doc/classes/AnimationTreePlayer.xml
msgid "Animation node."
-msgstr ""
+msgstr "Анимационный узел."
#: doc/classes/AnimationTreePlayer.xml
msgid "OneShot node."
-msgstr ""
+msgstr "Узел OneShot."
#: doc/classes/AnimationTreePlayer.xml
msgid "Mix node."
-msgstr ""
+msgstr "Микс-узел."
#: doc/classes/AnimationTreePlayer.xml
msgid "Blend2 node."
-msgstr ""
+msgstr "Узел Blend2."
#: doc/classes/AnimationTreePlayer.xml
msgid "Blend3 node."
-msgstr ""
+msgstr "Узел Blend3."
#: doc/classes/AnimationTreePlayer.xml
msgid "Blend4 node."
-msgstr ""
+msgstr "Узел Blend4."
#: doc/classes/AnimationTreePlayer.xml
msgid "TimeScale node."
-msgstr ""
+msgstr "Узел TimeScale."
#: doc/classes/AnimationTreePlayer.xml
msgid "TimeSeek node."
-msgstr ""
+msgstr "Узел TimeSeek."
#: doc/classes/AnimationTreePlayer.xml
msgid "Transition node."
-msgstr ""
+msgstr "Переходный узел."
#: doc/classes/Area.xml
msgid "3D area for detection and physics and audio influence."
@@ -8702,7 +8729,10 @@ msgid ""
"var array = []\n"
"array.resize(10)\n"
"array.fill(0) # Initialize the 10 elements to 0.\n"
-"[/codeblock]"
+"[/codeblock]\n"
+"[b]Note:[/b] If [code]value[/code] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
msgstr ""
#: doc/classes/Array.xml doc/classes/PoolByteArray.xml
@@ -8931,8 +8961,12 @@ msgstr ""
"описывает шаг между индексами среза."
#: doc/classes/Array.xml
+#, fuzzy
msgid ""
"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
"order). This may lead to unexpected behavior when sorting an array of "
"strings ending with a sequence of numbers. Consider the following example:\n"
@@ -8963,9 +8997,13 @@ msgid ""
"For two elements [code]a[/code] and [code]b[/code], if the given method "
"returns [code]true[/code], element [code]b[/code] will be after element "
"[code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
-"expects a deterministic result. Doing so will result in unexpected "
-"behavior.\n"
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
"[codeblock]\n"
"class MyCustomSorter:\n"
" static func sort_ascending(a, b):\n"
@@ -9357,6 +9395,19 @@ msgid ""
"[ARVRServer]. This makes this node ideal to add child nodes to visualize the "
"controller."
msgstr ""
+"Это вспомогательный пространственный узел, связанный с отслеживанием "
+"контроллеров. Он также предлагает несколько удобных переходов к состоянию "
+"кнопок и т.п. на контроллерах.\n"
+"Контроллеры связаны по их ID. Вы можете создавать узлы контроллеров до того, "
+"как контроллеры станут доступны. Если в вашей игре всегда используются два "
+"контроллера (по одному для каждой руки), вы можете заранее определить "
+"контроллеры с ID 1 и 2; они станут активными, как только контроллеры будут "
+"определены. Если вы ожидаете, что будут использоваться дополнительные "
+"контроллеры, вы должны реагировать на сигналы и добавить узлы ARVRController "
+"в вашу сцену.\n"
+"Положение узла контроллера автоматически обновляется сервером [ARVRServer]. "
+"Это делает данный узел идеальным для добавления дочерних узлов для "
+"визуализации контроллера."
#: doc/classes/ARVRController.xml
msgid ""
@@ -9634,6 +9685,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 ""
+"Это специальный узел в системе AR/VR, который отображает физическое "
+"местоположение центра нашего пространства отслеживания на виртуальное "
+"местоположение в нашем игровом мире.\n"
+"В вашей сцене должен быть только один такой узел, и он обязательно должен "
+"быть у вас. Все узлы ARVRCamera, ARVRController и ARVRAnchor должны быть "
+"прямыми дочерними узлами этого узла, чтобы пространственное отслеживание "
+"работало правильно.\n"
+"Именно положение этого узла вы обновляете, когда персонажу нужно "
+"перемещаться по игровому миру, в то время как в реальном мире мы не "
+"движемся. Движение в реальном мире всегда происходит относительно этой "
+"исходной точки.\n"
+"Например, если ваш персонаж управляет автомобилем, узел ARVROrigin должен "
+"быть дочерним узлом этого автомобиля. Или, если вы реализуете систему "
+"телепортации для перемещения персонажа, вы должны изменить положение этого "
+"узла."
#: doc/classes/ARVROrigin.xml
msgid ""
@@ -10176,6 +10242,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 ""
+"Возвращает массив с идентификаторами точек, которые образуют путь, найденный "
+"AStar между заданными точками. Массив упорядочен от начальной точки до "
+"конечной точки пути.\n"
+"[codeblock].\n"
+"var astar = AStar.new()\n"
+"astar.add_point(1, Vector3(0, 0, 0, 0))\n"
+"astar.add_point(2, Vector3(0, 1, 0), 1) # Вес по умолчанию равен 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) # Возвращает [1, 2, 3]\n"
+"[/codeblock].\n"
+"Если изменить вес второй точки на 3, то результатом будет [code][1, 4, 3][/"
+"code], потому что теперь, несмотря на то, что расстояние больше, \"легче\" "
+"пройти через точку 4, чем через точку 2."
#: doc/classes/AStar.xml doc/classes/AStar2D.xml
msgid ""
@@ -10424,6 +10510,22 @@ msgid ""
"FLAG_REPEAT] and [constant Texture.FLAG_MIRRORED_REPEAT] flags are ignored "
"when using an AtlasTexture."
msgstr ""
+"Ресурс [Texture], который обрезает одну часть текстуры [member atlas], "
+"определенной [member region]. Основное применение - вырезание текстур из "
+"атласа текстур, который представляет собой большой файл текстуры, содержащий "
+"несколько текстур меньшего размера. Состоит из [Texture] для [member atlas], "
+"[member region], который определяет область [member atlas] для "
+"использования, и [member margin], который определяет ширину границы.\n"
+"[AtlasTexture] не может использоваться в [AnimatedTexture], не может быть "
+"плиточным в узлах, таких как [TextureRect], и не работает должным образом, "
+"если используется внутри других ресурсов [AtlasTexture]. Несколько ресурсов "
+"[AtlasTexture] можно использовать для обрезки нескольких текстур из атласа. "
+"Использование атласа текстур помогает оптимизировать затраты видеопамяти и "
+"вызовы рендеринга по сравнению с использованием нескольких небольших "
+"файлов.\n"
+"[b]Примечание:[/b] AtlasTextures не поддерживают повторение. Флаги [constant "
+"Texture.FLAG_REPEAT] и [constant Texture.FLAG_MIRRORED_REPEAT] игнорируются "
+"при использовании AtlasTexture."
#: doc/classes/AtlasTexture.xml
msgid "The texture that contains the atlas. Can be any [Texture] subtype."
@@ -10654,6 +10756,21 @@ msgid ""
"- Accentuates transients by using a wider attack, making effects sound more "
"punchy."
msgstr ""
+"Компрессор динамического диапазона уменьшает уровень звука, когда амплитуда "
+"превышает определенный порог в децибелах. Одно из основных назначений "
+"компрессора - увеличение динамического диапазона за счет минимального "
+"клиппирования (когда звук превышает 0 дБ).\n"
+"Компрессор имеет множество применений в миксе:\n"
+"- В мастер-шине для сжатия всего выхода (хотя [AudioEffectLimiter], "
+"вероятно, лучше).\n"
+"- В голосовых каналах для обеспечения их максимально сбалансированного "
+"звучания.\n"
+"- В сайдчейне. Это позволяет снизить уровень звука при боковом подключении к "
+"другой аудиошине для определения порога. Эта техника распространена в "
+"микшировании видеоигр для снижения уровня музыки и SFX во время звучания "
+"голосов.\n"
+"- Подчеркивает переходные процессы за счет более широкой атаки, заставляя "
+"эффекты звучать более напористо."
#: doc/classes/AudioEffectCompressor.xml
msgid ""
@@ -11632,12 +11749,14 @@ msgid "Clears the audio sample data buffer."
msgstr ""
#: doc/classes/AudioStreamGeneratorPlayback.xml
+#, fuzzy
msgid ""
-"Returns the number of audio data frames left to play. If this returned "
-"number reaches [code]0[/code], the audio will stop playing until frames are "
-"added again. Therefore, make sure your script can always generate and push "
-"new audio frames fast enough to avoid audio cracking."
+"Returns the number of frames that can be pushed to the audio sample data "
+"buffer without overflowing it. If the result is [code]0[/code], the buffer "
+"is full."
msgstr ""
+"Возвращает [code]true[/code] если [code]a[/code] и [code]b[/code] "
+"приблизительно равны друг другу."
#: doc/classes/AudioStreamGeneratorPlayback.xml
msgid ""
@@ -12168,14 +12287,14 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
"Node for back-buffering the currently-displayed screen. The region defined "
-"in the BackBufferCopy node is buffered with the content of the screen it "
+"in the [BackBufferCopy] node is buffered with the content of the screen it "
"covers, or the entire screen according to the copy mode set. Use the "
"[code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to "
"access the buffer.\n"
"[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), "
"anchors and margins won't apply to child [Control]-derived nodes. This can "
"be problematic when resizing the window. To avoid this, add [Control]-"
-"derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of "
+"derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of "
"adding them as children."
msgstr ""
@@ -12185,22 +12304,22 @@ msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"The area covered by the BackBufferCopy. Only used if [member copy_mode] is "
+"The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is "
"[constant COPY_MODE_RECT]."
msgstr ""
#: doc/classes/BackBufferCopy.xml
msgid ""
-"Disables the buffering mode. This means the BackBufferCopy node will "
+"Disables the buffering mode. This means the [BackBufferCopy] node will "
"directly use the portion of screen it covers."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers a rectangular region."
+msgid "[BackBufferCopy] buffers a rectangular region."
msgstr ""
#: doc/classes/BackBufferCopy.xml
-msgid "BackBufferCopy buffers the entire screen."
+msgid "[BackBufferCopy] buffers the entire screen."
msgstr ""
#: doc/classes/BakedLightmap.xml
@@ -12413,7 +12532,7 @@ msgstr ""
#: doc/classes/BakedLightmap.xml doc/classes/SpatialMaterial.xml
msgid "Currently unused."
-msgstr ""
+msgstr "В настоящее время не используется."
#: doc/classes/BakedLightmap.xml
#, fuzzy
@@ -12874,7 +12993,7 @@ msgstr ""
#: doc/classes/BitMap.xml
msgid "Boolean matrix."
-msgstr ""
+msgstr "Логическая матрица."
#: doc/classes/BitMap.xml
msgid ""
@@ -13237,6 +13356,29 @@ msgid ""
"given time. Use [TouchScreenButton] for buttons that trigger gameplay "
"movement or actions, as [TouchScreenButton] supports multitouch."
msgstr ""
+"Кнопка - это стандартная тематическая кнопка. Она может содержать текст и "
+"иконку, и будет отображать их в соответствии с текущей темой [Theme].\n"
+"[b]Пример создания кнопки и назначения действия при нажатии с помощью кода:[/"
+"b]\n"
+"[codeblock].\n"
+"func _ready():\n"
+" var button = Button.new()\n"
+" button.text = \"Нажмите на меня\"\n"
+" button.connect(\"pressed\", self, \"_button_pressed\")\n"
+" add_child(button)\n"
+"\n"
+"func _button_pressed():\n"
+" print(\"Hello world!\")\n"
+"[/codeblock].\n"
+"Кнопки (как и все узлы Control) также могут быть созданы в редакторе, но "
+"некоторые ситуации могут потребовать их создания из кода.\n"
+"См. также [BaseButton], который содержит общие свойства и методы, связанные "
+"с этим узлом.\n"
+"[b]Примечание: Кнопки[/b] не интерпретируют сенсорный ввод и поэтому не "
+"поддерживают мультитач, поскольку эмуляция мыши позволяет нажимать только "
+"одну кнопку в данный момент времени. Используйте [TouchScreenButton] для "
+"кнопок, запускающих движение или действия игрового процесса, поскольку "
+"[TouchScreenButton] поддерживает мультитач."
#: doc/classes/Button.xml doc/classes/Dictionary.xml
#: doc/classes/GridContainer.xml doc/classes/OS.xml
@@ -13697,6 +13839,7 @@ msgid "Camera node for 2D scenes."
msgstr ""
#: doc/classes/Camera2D.xml
+#, fuzzy
msgid ""
"Camera node for 2D scenes. It forces the screen (current layer) to scroll "
"following this node. This makes it easier (and faster) to program scrollable "
@@ -13712,6 +13855,20 @@ msgid ""
"limits. You can use [method get_camera_screen_center] to get the real "
"position."
msgstr ""
+"Узел камеры для 2D-сцен. Он заставляет экран (текущий слой) прокручиваться "
+"вслед за этим узлом. Это позволяет проще (и быстрее) программировать "
+"прокручиваемые сцены, чем вручную изменять положение узлов на основе "
+"[CanvasItem].\n"
+"Этот узел задуман как простой помощник для быстрого начала работы, но для "
+"изменения работы камеры может потребоваться более широкая функциональность. "
+"Чтобы создать свой собственный узел камеры, наследуйте его от [Node2D] и "
+"измените трансформацию холста, установив [member Viewport.canvas_transform] "
+"в [Viewport] (текущий [Viewport] можно получить с помощью [method Node."
+"get_viewport]).\n"
+"Обратите внимание, что положение узла [Camera2D] [code][/code] не отражает "
+"фактическое положение экрана, которое может отличаться из-за примененного "
+"сглаживания или ограничений. Для получения реального положения можно "
+"использовать [method get_camera_screen_center]."
#: doc/classes/Camera2D.xml doc/classes/TileMap.xml doc/classes/TileSet.xml
msgid "2D Isometric Demo"
@@ -14028,7 +14185,7 @@ msgstr ""
#: doc/classes/CameraFeed.xml
msgid "Unspecified position."
-msgstr ""
+msgstr "Неуказанная должность."
#: doc/classes/CameraFeed.xml
msgid "Camera is mounted at the front of the device."
@@ -15921,6 +16078,23 @@ msgid ""
"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
"color_constants.png]Color constants cheatsheet[/url]"
msgstr ""
+"Цвет, представленный красным, зеленым, синим и альфа-компонентами (RGBA). "
+"Компонент альфа часто используется для непрозрачности. Значения задаются с "
+"плавающей точкой и обычно находятся в диапазоне от 0 до 1. Некоторые "
+"свойства (например, CanvasItem.modulate) могут принимать значения больше 1 "
+"(пересвет или цвета HDR).\n"
+"Вы также можете создать цвет из стандартизированных имен цветов с помощью "
+"[method @GDScript.ColorN] или непосредственно используя определенные здесь "
+"цветовые константы. Стандартизированный набор цветов основан на [url=https://"
+"en.wikipedia.org/wiki/X11_color_names]именах цветов X11[/url].\n"
+"Если вы хотите задать значения в диапазоне от 0 до 255, вам следует "
+"использовать [method @GDScript.Color8].\n"
+"[b]Примечание:[/b] В булевом контексте значение Color будет равно "
+"[code]false[/code], если оно равно [code]Color(0, 0, 0, 0, 1)[/code] "
+"(непрозрачный черный). В противном случае значение Color всегда будет равно "
+"[code]true[/code].\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"color_constants.png]Шпаргалка по константам цвета[/url]"
#: doc/classes/Color.xml doc/classes/ColorPickerButton.xml
msgid "2D GD Paint Demo"
@@ -16203,15 +16377,15 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Aqua color."
-msgstr ""
+msgstr "Цвет аква."
#: doc/classes/Color.xml
msgid "Aquamarine color."
-msgstr ""
+msgstr "Цвет аквамарина."
#: doc/classes/Color.xml
msgid "Azure color."
-msgstr ""
+msgstr "Лазурный цвет."
#: doc/classes/Color.xml
msgid "Beige color."
@@ -16219,7 +16393,7 @@ msgstr "Бежевый цвет."
#: doc/classes/Color.xml
msgid "Bisque color."
-msgstr ""
+msgstr "Цвет бисквита."
#: doc/classes/Color.xml
msgid "Black color."
@@ -16251,7 +16425,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Chartreuse color."
-msgstr ""
+msgstr "Цвет шартрез."
#: doc/classes/Color.xml
msgid "Chocolate color."
@@ -16259,11 +16433,11 @@ msgstr "Шоколадный цвет."
#: doc/classes/Color.xml
msgid "Coral color."
-msgstr ""
+msgstr "Коралловый цвет."
#: doc/classes/Color.xml
msgid "Cornflower color."
-msgstr ""
+msgstr "Васильковый цвет."
#: doc/classes/Color.xml
msgid "Corn silk color."
@@ -16271,11 +16445,11 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Crimson color."
-msgstr ""
+msgstr "Багровый цвет."
#: doc/classes/Color.xml
msgid "Cyan color."
-msgstr ""
+msgstr "Голубой цвет."
#: doc/classes/Color.xml
msgid "Dark blue color."
@@ -16363,7 +16537,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Firebrick color."
-msgstr ""
+msgstr "Кирпичный цвет."
#: doc/classes/Color.xml
msgid "Floral white color."
@@ -16379,7 +16553,7 @@ msgstr "Цвет фуксии."
#: doc/classes/Color.xml
msgid "Gainsboro color."
-msgstr ""
+msgstr "Цвет Гейнсборо."
#: doc/classes/Color.xml
msgid "Ghost white color."
@@ -16391,7 +16565,7 @@ msgstr "Золотой цвет."
#: doc/classes/Color.xml
msgid "Goldenrod color."
-msgstr ""
+msgstr "Золотисто-рыжий цвет."
#: doc/classes/Color.xml
msgid "Gray color."
@@ -16407,7 +16581,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Honeydew color."
-msgstr ""
+msgstr "Цвет медовой росы."
#: doc/classes/Color.xml
msgid "Hot pink color."
@@ -16423,15 +16597,15 @@ msgstr "Цвет индиго."
#: doc/classes/Color.xml
msgid "Ivory color."
-msgstr ""
+msgstr "Цвет слоновой кости."
#: doc/classes/Color.xml
msgid "Khaki color."
-msgstr ""
+msgstr "Цвет хаки."
#: doc/classes/Color.xml
msgid "Lavender color."
-msgstr ""
+msgstr "Цвет лаванды."
#: doc/classes/Color.xml
msgid "Lavender blush color."
@@ -16499,7 +16673,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Lime color."
-msgstr ""
+msgstr "Цвет лайма."
#: doc/classes/Color.xml
msgid "Lime green color."
@@ -16507,15 +16681,15 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Linen color."
-msgstr ""
+msgstr "Цвет льна."
#: doc/classes/Color.xml
msgid "Magenta color."
-msgstr ""
+msgstr "Пурпурный цвет."
#: doc/classes/Color.xml
msgid "Maroon color."
-msgstr ""
+msgstr "Бордовый цвет."
#: doc/classes/Color.xml
msgid "Medium aquamarine color."
@@ -16567,7 +16741,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Moccasin color."
-msgstr ""
+msgstr "Цвет мокасин."
#: doc/classes/Color.xml
msgid "Navajo white color."
@@ -16627,7 +16801,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Peru color."
-msgstr ""
+msgstr "Перуанский цвет."
#: doc/classes/Color.xml
msgid "Pink color."
@@ -16635,7 +16809,7 @@ msgstr "Розовый цвет."
#: doc/classes/Color.xml
msgid "Plum color."
-msgstr ""
+msgstr "Цвет сливы."
#: doc/classes/Color.xml
msgid "Powder blue color."
@@ -16667,7 +16841,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Salmon color."
-msgstr ""
+msgstr "Цвет лосося."
#: doc/classes/Color.xml
msgid "Sandy brown color."
@@ -16683,11 +16857,11 @@ msgstr "Цвет морской раковины."
#: doc/classes/Color.xml
msgid "Sienna color."
-msgstr ""
+msgstr "Цвет сиены."
#: doc/classes/Color.xml
msgid "Silver color."
-msgstr ""
+msgstr "Серебряный цвет."
#: doc/classes/Color.xml
msgid "Sky blue color."
@@ -16703,7 +16877,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Snow color."
-msgstr ""
+msgstr "Цвет снега."
#: doc/classes/Color.xml
msgid "Spring green color."
@@ -16715,19 +16889,19 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Tan color."
-msgstr ""
+msgstr "Цвет загара."
#: doc/classes/Color.xml
msgid "Teal color."
-msgstr ""
+msgstr "Цвет тила."
#: doc/classes/Color.xml
msgid "Thistle color."
-msgstr ""
+msgstr "Цвет чертополоха."
#: doc/classes/Color.xml
msgid "Tomato color."
-msgstr ""
+msgstr "Цвет томатов."
#: doc/classes/Color.xml
msgid "Transparent color (white with no alpha)."
@@ -16735,7 +16909,7 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Turquoise color."
-msgstr ""
+msgstr "Бирюзовый цвет."
#: doc/classes/Color.xml
msgid "Violet color."
@@ -16759,11 +16933,11 @@ msgstr ""
#: doc/classes/Color.xml
msgid "Wheat color."
-msgstr ""
+msgstr "Цвет пшеницы."
#: doc/classes/Color.xml
msgid "White color."
-msgstr ""
+msgstr "Белый цвет."
#: doc/classes/Color.xml
msgid "White smoke color."
@@ -17004,7 +17178,7 @@ msgstr ""
#: doc/classes/ColorRect.xml
msgid "Colored rectangle."
-msgstr ""
+msgstr "Цветной прямоугольник."
#: doc/classes/ColorRect.xml
msgid ""
@@ -17040,6 +17214,21 @@ msgid ""
"Physics the area will not detect any collisions with the concave shape at "
"all (this is a known bug)."
msgstr ""
+"Ресурс формы вогнутого многоугольника, который может быть установлен в "
+"[PhysicsBody] или область. Эта форма создается путем подачи списка "
+"треугольников.\n"
+"[b]Примечание:[/b] При использовании для столкновений [ConcavePolygonShape] "
+"предназначен для работы со статическими узлами [PhysicsBody], такими как "
+"[StaticBody], и не будет работать с [KinematicBody] или [RigidBody] с "
+"режимом, отличным от Static.\n"
+"[b]Предупреждение:[/b] Использование этой формы для [Area] (через узел "
+"[CollisionShape], созданный, например. с помощью опции [i]Create Trimesh "
+"Collision Sibling[/i] в меню [i]Mesh[/i], которое появляется при выборе узла "
+"[MeshInstance]) может привести к неожиданным результатам: при использовании "
+"Godot Physics область будет обнаруживать столкновения только с гранями "
+"треугольника в [ConcavePolygonShape] (а не с любой \"внутренней\" частью "
+"формы, например), а при использовании Bullet Physics область вообще не будет "
+"обнаруживать столкновений с вогнутой формой (это известная ошибка)."
#: doc/classes/ConcavePolygonShape.xml
msgid "Returns the faces (an array of triangles)."
@@ -17070,6 +17259,21 @@ msgid ""
"the segments in the [ConcavePolygonShape2D] (and not with any \"inside\" of "
"the shape, for example)."
msgstr ""
+"Ресурс вогнутой многоугольной 2D формы для физики. Он состоит из сегментов и "
+"оптимален для сложных полигональных вогнутых столкновений. Однако его не "
+"рекомендуется использовать для узлов [RigidBody2D]. Вместо него "
+"рекомендуется использовать CollisionPolygon2D в режиме выпуклого разложения "
+"(твердые тела) или несколько выпуклых объектов. В противном случае для "
+"статических столкновений лучше использовать вогнутую полигональную 2D-"
+"форму.\n"
+"Основное различие между [ConvexPolygonShape2D] и [ConcavePolygonShape2D] "
+"заключается в том, что вогнутый полигон предполагает, что он вогнутый и "
+"использует более сложный метод обнаружения столкновений, а выпуклый "
+"заставляет себя быть выпуклым, чтобы ускорить обнаружение столкновений.\n"
+"[b]Предупреждение:[/b] Использование этой фигуры для [Area2D] (через узел "
+"[CollisionShape2D]) может дать неожиданные результаты: область будет "
+"обнаруживать столкновения только с сегментами в [ConcavePolygonShape2D] (а "
+"не с любой \"внутренней\" частью фигуры, например)."
#: doc/classes/ConcavePolygonShape2D.xml
msgid ""
@@ -17529,6 +17733,27 @@ msgid ""
"[member rect_clip_content] or [method _clips_input] enabled.\n"
"[b]Note:[/b] Event position is relative to the control origin."
msgstr ""
+"Виртуальный метод, который должен быть реализован пользователем. Используйте "
+"этот метод для обработки и приема входных данных на элементах "
+"пользовательского интерфейса. См. [method accept_event].\n"
+"Пример: щелчок по элементу управления.\n"
+"[codeblock].\n"
+"func _gui_input(event):\n"
+"\tif event is InputEventMouseButton:\n"
+"\t\tif event.button_index == BUTTON_LEFT and event.pressed:\n"
+"\t\t\tprint(\"На меня нажали D:\")\n"
+"[/codeblock].\n"
+"Событие не сработает, если:\n"
+"* щелчок вне элемента управления (см. [method has_point]);\n"
+"* у элемента управления [member mouse_filter] установлено значение [constant "
+"MOUSE_FILTER_IGNORE];\n"
+"* элемент управления загорожен другим [Control] сверху, у которого [member "
+"mouse_filter] не установлен на [constant MOUSE_FILTER_IGNORE];\n"
+"* родитель элемента управления имеет [member mouse_filter], установленный на "
+"[constant MOUSE_FILTER_STOP] или принял событие;\n"
+"* событие происходит вне прямоугольника родителя, и у родителя включен "
+"[member rect_clip_content] или [method _clips_input].\n"
+"[b]Примечание:[/b] Положение события относительно начала элемента управления."
#: doc/classes/Control.xml
msgid ""
@@ -17654,6 +17879,27 @@ msgid ""
"$MyButton.add_stylebox_override(\"normal\", null)\n"
"[/codeblock]"
msgstr ""
+"Создает локальное переопределение для темы [StyleBox] с указанным "
+"[code]именем[/code] . Локальные переопределения всегда имеют приоритет при "
+"получении элементов темы для элемента управления.\n"
+"[b]Примечание:[/b] Переопределение можно удалить, присвоив ему значение "
+"[code]null[/code]. Это поведение устарело и будет удалено в версии 4.0, "
+"используйте [method remove_stylebox_override] вместо этого.\n"
+"См. также [метод get_stylebox].\n"
+"[b]Пример изменения свойства в StyleBox путем его дублирования:[/b]\n"
+"[codeblock]\n"
+"# В приведенном ниже фрагменте предполагается, что дочернему узлу MyButton "
+"назначен StyleBoxFlat.\n"
+"# Ресурсы разделяются между экземплярами, поэтому нам нужно продублировать "
+"его.\n"
+"# чтобы избежать изменения внешнего вида всех остальных кнопок.\n"
+"var new_stylebox_normal = $MyButton.get_stylebox(\"normal\").duplicate()\n"
+"new_stylebox_normal.border_width_top = 3\n"
+"new_stylebox_normal.border_color = Color(0, 1, 0.5)\n"
+"$MyButton.add_stylebox_override(\"normal\", new_stylebox_normal)\n"
+"# Удалите переопределение стилей.\n"
+"$MyButton.add_stylebox_override(\"normal\", null)\n"
+"[/codeblock]"
#: doc/classes/Control.xml
msgid ""
@@ -18362,6 +18608,27 @@ msgid ""
"theme.set_color(\"font_color\", \"TooltipLabel\", Color(0, 1, 1))\n"
"[/codeblock]"
msgstr ""
+"Изменяет текст всплывающей подсказки. Подсказка появляется, когда курсор "
+"мыши пользователя простаивает над этим элементом управления в течение "
+"нескольких мгновений, при условии, что свойство [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` была предварительно назначена "
+"пользовательская тема.\n"
+"theme.set_stylebox(\"panel\", \"TooltipPanel\", style_box)\n"
+"theme.set_color(\"font_color\", \"TooltipLabel\", Color(0, 1, 1))\n"
+"[/codeblock]"
#: doc/classes/Control.xml
msgid ""
@@ -18482,6 +18749,22 @@ msgid ""
"[code]yield(get_tree(), \"idle_frame\")[/code] then set its [member "
"rect_scale] property."
msgstr ""
+"Масштаб узла относительно его [member rect_size]. Измените это свойство, "
+"чтобы изменить масштаб узла относительно его [член rect_pivot_offset]. "
+"Масштаб [member hint_tooltip] элемента управления также будет изменяться в "
+"соответствии с этим значением.\n"
+"[b]Примечание:[/b] Это свойство в основном предназначено для использования в "
+"целях анимации. Текст внутри элемента управления будет выглядеть "
+"пикселированным или размытым при масштабировании элемента управления. Для "
+"поддержки нескольких разрешений в вашем проекте используйте соответствующий "
+"режим растяжения видового экрана, как описано в [url=$DOCS_URL/tutorials/"
+"rendering/multiple_resolutions.html]документации[/url] вместо "
+"масштабирования Controls по отдельности.\n"
+"[b]Примечание:[/b] Если узел Control является дочерним узлом узла "
+"[Container], масштаб будет сброшен на [code]Vector2(1, 1)[/code] при "
+"инстансировании сцены. Чтобы установить масштаб элемента управления при его "
+"инстанцировании, подождите один кадр, используя [code]yield(get_tree(), "
+"\"idle_frame\")[/code], а затем установите его свойство [member rect_scale]."
#: doc/classes/Control.xml
msgid ""
@@ -19750,6 +20033,43 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] Not available in HTML5 exports."
msgstr ""
+"Класс Crypto позволяет вам получить доступ к некоторым более продвинутым "
+"криптографическим функциям в Godot.\n"
+"На данный момент это генерация криптографически безопасных случайных байтов, "
+"генерация RSA-ключей и самоподписанных сертификатов X509, шифрование/"
+"дешифрование асимметричных ключей, а также подписание/верификация.\n"
+"[codeblock].\n"
+"расширяет Node\n"
+"\n"
+"var crypto = Crypto.new()\n"
+"var key = CryptoKey.new()\n"
+"var cert = X509Certificate.new()\n"
+"\n"
+"func _ready():\n"
+" # Генерируем новый RSA-ключ.\n"
+" key = crypto.generate_rsa(4096)\n"
+" # Генерируем новый самоподписанный сертификат с заданным ключом.\n"
+" cert = crypto.generate_self_signed_certificate(key, \"CN=mydomain.com,"
+"O=My Game Company,C=IT\")\n"
+" # Сохраните ключ и сертификат в папке пользователя.\n"
+" key.save(\"user://generated.key\")\n"
+" cert.save(\"user://generated.crt\")\n"
+" # Шифрование\n"
+" var data = \"Некоторые данные\"\n"
+" var encrypted = crypto.encrypt(key, data.to_utf8())\n"
+" # Расшифровка\n"
+" var decrypted = crypto.decrypt(key, encrypted)\n"
+" # Подписание\n"
+" var signature = crypto.sign(HashingContext.HASH_SHA256, data."
+"sha256_buffer(), key)\n"
+" # Проверка\n"
+" verified = crypto.verify(HashingContext.HASH_SHA256, data."
+"sha256_buffer(), signature, key)\n"
+" # Проверяет\n"
+" assert(verified)\n"
+" assert(data.to_utf8() == decrypted)\n"
+"[/codeblock].\n"
+"[b]Примечание:[/b] Недоступно в экспорте HTML5."
#: doc/classes/Crypto.xml
msgid ""
@@ -19936,6 +20256,19 @@ msgid ""
"node also has a significant CPU cost, so it should be avoided during "
"gameplay."
msgstr ""
+"Для сложного расположения фигур иногда требуется добавить структуру в узлы "
+"CSG. Узел CSGCombiner позволяет создать такую структуру. Узел инкапсулирует "
+"результат операций CSG своих дочерних узлов. Таким образом, можно выполнить "
+"операции над одним набором фигур, которые являются дочерними элементами "
+"одного узла CSGCombiner, и ряд отдельных операций над вторым набором фигур, "
+"которые являются дочерними элементами второго узла CSGCombiner, а затем "
+"выполнить операцию, которая использует эти два конечных результата в "
+"качестве входных данных для создания окончательной фигуры.\n"
+"[b]Примечание:[/b] CSG-узлы предназначены для использования при создании "
+"прототипов уровней. Создание CSG-узлов требует значительных затрат "
+"процессора по сравнению с созданием [MeshInstance] с [PrimitiveMesh]. "
+"Перемещение узла CSG внутри другого узла CSG также требует значительных "
+"затрат процессора, поэтому этого следует избегать во время игрового процесса."
#: modules/csg/doc_classes/CSGCylinder.xml
msgid "A CSG Cylinder shape."
@@ -21139,6 +21472,14 @@ msgid "Cylinder shape for collisions."
msgstr ""
#: doc/classes/CylinderShape.xml
+msgid ""
+"Cylinder shape for collisions.\n"
+"[b]Note:[/b] When using GodotPhysics instead of the default Bullet physics "
+"engine, there are several known bugs with cylinder collision shapes. Using "
+"[CapsuleShape] or [BoxShape] instead is recommended."
+msgstr ""
+
+#: doc/classes/CylinderShape.xml
msgid "The cylinder's height."
msgstr "Высота цилиндра."
@@ -21185,7 +21526,7 @@ msgstr ""
#: doc/classes/Dictionary.xml
msgid "Dictionary type."
-msgstr ""
+msgstr "Тип словаря."
#: doc/classes/Dictionary.xml
msgid ""
@@ -23357,6 +23698,25 @@ msgid ""
" return state\n"
"[/codeblock]"
msgstr ""
+"Переопределите этот метод, чтобы предоставить данные состояния, которые вы "
+"хотите сохранить, например, положение вида, настройки сетки, сворачивание и "
+"т.д. Эти данные используются при сохранении сцены (чтобы состояние "
+"сохранялось при ее повторном открытии) и при переключении вкладок (чтобы "
+"состояние можно было восстановить при возврате на вкладку). Эти данные "
+"автоматически сохраняются для каждой сцены в файле [code]editstate[/code] в "
+"папке метаданных редактора. Если вы хотите сохранить глобальные (независимые "
+"от сцены) данные редактора для вашего плагина, вы можете использовать "
+"[method get_window_layout] вместо этого.\n"
+"Используйте [method set_state] для восстановления сохраненного состояния.\n"
+"[b]Примечание:[/b] Этот метод не следует использовать для сохранения важных "
+"настроек, которые должны сохраняться в проекте.\n"
+"[b]Примечание:[/b] Для корректного сохранения и восстановления состояния "
+"необходимо реализовать [method get_plugin_name].\n"
+"[codeblock].\n"
+"func get_state():\n"
+"\tvar state = {\"zoom\": zoom, \"preferred_color\": my_color}\n"
+"\treturn state\n"
+"[/codeblock]"
#: doc/classes/EditorPlugin.xml
msgid ""
@@ -23907,6 +24267,33 @@ msgid ""
"- Binary format in FBX 2017\n"
"[/codeblock]"
msgstr ""
+"Это импортер 3D-активов FBX с полной поддержкой большинства функций FBX.\n"
+"При экспорте FBX-сцены из Autodesk Maya используйте эти настройки экспорта "
+"FBX:\n"
+"[codeblock]\n"
+"- Группы сглаживания\n"
+"- Сгладить сетку\n"
+"- Triangluate (для сеток с формами смешения)\n"
+"- Запечь анимацию\n"
+"- Повторная выборка\n"
+"- Деформированные модели\n"
+"- Скины\n"
+"- Фигуры наложения\n"
+"- Фильтры кривых\n"
+"- Уменьшитель постоянного ключа\n"
+"- Только автоматические касательные\n"
+"- Не отмечайте *Не отмечайте* Constraints (так как это приведет к поломке "
+"файла)\n"
+"- Можно установить флажок Embed Media (встраивает текстуры в экспортируемый "
+"FBX-файл).\n"
+" - Обратите внимание, что при импорте встроенной среды текстура и сетка "
+"будут одним неизменяемым файлом.\n"
+" - Вам придется повторно экспортировать и повторно импортировать FBX, если "
+"текстура изменилась.\n"
+"- Единицы измерения: Сантиметры\n"
+"- Ось вверх: Y\n"
+"- Двоичный формат в FBX 2017\n"
+"[/codeblock]."
#: modules/gltf/doc_classes/EditorSceneImporterGLTF.xml
msgid ""
@@ -23985,7 +24372,10 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] The script is run in the Editor context, which means the output "
"is visible in the console window started with the Editor (stdout) instead of "
-"the usual Godot [b]Output[/b] dock."
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is reference counted, meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
msgstr ""
#: doc/classes/EditorScript.xml
@@ -25032,6 +25422,27 @@ msgid ""
"Effects\" by default. It improves the performance on mobile devices, but at "
"the same time affects the screen display on mobile devices."
msgstr ""
+"Ресурс для узлов окружения (например, [WorldEnvironment]), которые "
+"определяют несколько операций с окружением (например, фон [Sky] или [Color], "
+"окружающий свет, туман, глубина резкости...). Эти параметры влияют на "
+"конечный рендеринг сцены. Порядок этих операций следующий:\n"
+"- Размытие глубины резкости\n"
+"- Свечение\n"
+"- Тоновая карта (автоэкспозиция)\n"
+"- Корректировки\n"
+"Если для целевого [Viewport] установлено значение \"2D без выборки\", все "
+"эффекты постобработки будут недоступны. При установке \"3D без эффектов\" "
+"следующие опции будут недоступны:\n"
+"- Ssao\n"
+"- Ss Reflections\n"
+"Это можно настроить для корневого вьюпорта с помощью [member ProjectSettings."
+"rendering/quality/intended_usage/framebuffer_allocation] или для "
+"определенных вьюпортов с помощью свойства [member Viewport.usage].\n"
+"Обратите внимание, что [member ProjectSettings.rendering/quality/"
+"intended_usage/framebuffer_allocation] имеет переопределение для мобильных "
+"платформ, чтобы использовать \"3D без эффектов\" по умолчанию. Это улучшает "
+"производительность на мобильных устройствах, но в то же время влияет на "
+"отображение экрана на мобильных устройствах."
#: doc/classes/Environment.xml doc/classes/WorldEnvironment.xml
#, fuzzy
@@ -26431,6 +26842,22 @@ msgid ""
"the [method @GDScript.is_equal_approx] and [method @GDScript.is_zero_approx] "
"methods instead of [code]==[/code] to compare [float] values for equality."
msgstr ""
+"Встроенный тип [float] - это 64-битное число с плавающей точкой двойной "
+"точности, эквивалентное [code]double[/code] в C++. Этот тип имеет 14 "
+"надежных десятичных цифр точности. Тип [float] может храниться в [Variant], "
+"который является общим типом, используемым движком. Максимальное значение "
+"[float] приблизительно равно [code]1.79769e308[/code], а минимальное - "
+"приблизительно [code]-1.79769e308[/code].\n"
+"Большинство методов и свойств в движке используют 32-битные числа с "
+"плавающей точкой одинарной точности, эквивалентные [code]float[/code] в C++, "
+"которые имеют 6 надежных десятичных цифр точности. Для структур данных, "
+"таких как [Vector2] и [Vector3], Godot использует 32-битные числа с "
+"плавающей точкой.\n"
+"Математика, выполняемая с использованием типа [float], не гарантирует "
+"точности или детерминированности, и часто будет приводить к небольшим "
+"ошибкам. Обычно для сравнения значений [float] на равенство следует "
+"использовать методы [method @GDScript.is_equal_approx] и [method @GDScript."
+"is_zero_approx] вместо [code]==[/code]."
#: doc/classes/float.xml
msgid "Wikipedia: Double-precision floating-point format"
@@ -26502,6 +26929,22 @@ msgid ""
"emoji) are [i]not[/i] supported on Windows. They will display as unknown "
"characters instead. This will be resolved in Godot 4.0."
msgstr ""
+"Шрифт содержит набор символов, совместимый с Unicode, а также возможность "
+"рисовать его с переменной шириной, подъемом, спуском и кернингом. О создании "
+"шрифтов из файлов TTF (или других форматов шрифтов) см. раздел \"Поддержка "
+"шрифтов редактором\".\n"
+"[b]Примечание:[/b] Если [DynamicFont] не содержит символ, используемый в "
+"строке, то данный символ будет заменен кодовой точкой [code]0xfffd[/code], "
+"если она доступна в [DynamicFont]. Если этот заменяющий символ недоступен в "
+"DynamicFont, символ будет скрыт без отображения заменяющего символа в "
+"строке.\n"
+"[b]Примечание:[/b] Если [BitmapFont] не содержит символ, используемый в "
+"строке, то данный символ будет скрыт без отображения заменяющего символа в "
+"строке.\n"
+"[b]Примечание:[/b] Символы Юникода после [code]0xffff[/code] (например, "
+"большинство эмодзи) [i]не[/i] поддерживаются в Windows. Вместо этого они "
+"будут отображаться как неизвестные символы. Эта проблема будет решена в "
+"версии Godot 4.0."
#: doc/classes/Font.xml
msgid ""
@@ -27432,6 +27875,29 @@ msgid ""
"150), Vector2(50, 150)]\n"
"[/codeblock]"
msgstr ""
+"Раздувает или сдувает [code]многоугольник[/code] на [code]дельту[/code] "
+"единиц (пикселей). Если [code]дельта[/code] положительна, полигон "
+"увеличивается наружу. Если [code]дельта[/code] отрицательна, полигон "
+"уменьшается внутрь. Возвращает массив полигонов, так как при раздувании/"
+"сжатии может получиться несколько дискретных полигонов. Возвращает пустой "
+"массив, если [code]delta[/code] отрицательна и ее абсолютное значение "
+"приблизительно превышает минимальные размеры ограничивающего прямоугольника "
+"многоугольника.\n"
+"Вершины каждого многоугольника будут округлены в соответствии с типом "
+"[code]join_type[/code], см. [enum PolyJoinType].\n"
+"В результате операции может быть получен внешний многоугольник (граница) и "
+"внутренний многоугольник (отверстие), которые можно отличить, вызвав [method "
+"is_polygon_clockwise].\n"
+"[b]Примечание:[/b] Для специального перевода вершин многоугольника "
+"используйте метод [method Transform2D.xform]:\n"
+"[codeblock].\n"
+"var polygon = PoolVector2Array([Vector2(0, 0), Vector2(100, 0), Vector2(100, "
+"100), Vector2(0, 100)])\n"
+"var offset = Vector2(50, 50)\n"
+"polygon = Transform2D(0, offset).xform(polygon)\n"
+"print(polygon) # печатает [Vector2(50, 50), Vector2(150, 50), Vector2(150, "
+"150), Vector2(50, 150)]\n"
+"[/codeblock]"
#: doc/classes/Geometry.xml
msgid ""
@@ -27813,6 +28279,23 @@ msgid ""
"[code]call_deferred(\"bake\")[/code] instead of calling [method bake] "
"directly."
msgstr ""
+"Запекает эффект из всех [GeometryInstance]ов, помеченных [member "
+"GeometryInstance.use_in_baked_light] и [Light]ов, помеченных либо [constant "
+"Light.BAKE_INDIRECT], либо [constant Light.BAKE_ALL]. Если "
+"[code]create_visual_debug[/code] равен [code]true[/code], то после запекания "
+"света будет сгенерирован [MultiMesh], который имеет куб, представляющий "
+"каждую твердую ячейку, причем каждый куб окрашен в цвет альбедо ячейки. Это "
+"можно использовать для визуализации данных [GIProbe] и отладки любых "
+"проблем, которые могут возникнуть.\n"
+"[b]Примечание:[/b] [method bake] работает как в редакторе, так и в "
+"экспортированных проектах. Это делает его подходящим для процедурно "
+"генерируемых или пользовательских уровней. Запекание [GIProbe] обычно "
+"занимает от 5 до 20 секунд в большинстве сцен. Уменьшение [member subdiv] "
+"может ускорить запекание.\n"
+"[b]Примечание:[/b] [GeometryInstance]ы и [Light]ы должны быть полностью "
+"готовы до вызова [method bake]. Если вы создаете их процедурно и некоторые "
+"сетки или освещение отсутствуют в вашем запекаемом [GIProbe], используйте "
+"[code]call_deferred(\"bake\")[/code] вместо прямого вызова [method bake]."
#: doc/classes/GIProbe.xml
msgid "Calls [method bake] with [code]create_visual_debug[/code] enabled."
@@ -28180,7 +28663,7 @@ msgstr ""
#: doc/classes/GradientTexture.xml
msgid "Gradient-filled texture."
-msgstr ""
+msgstr "Текстура с градиентным заполнением."
#: doc/classes/GradientTexture.xml
msgid ""
@@ -28944,6 +29427,21 @@ msgid ""
"light not affect the first layer, the whole GridMap won't be lit by the "
"light in question."
msgstr ""
+"GridMap позволяет размещать сетки на сетке в интерактивном режиме. Она "
+"работает как из редактора, так и из скриптов, что может помочь вам создать "
+"внутриигровые редакторы уровней.\n"
+"GridMap использует [MeshLibrary], которая содержит список плиток. Каждая "
+"плитка - это сетка с материалами и дополнительными фигурами столкновений и "
+"навигации.\n"
+"GridMap содержит коллекцию ячеек. Каждая ячейка сетки ссылается на тайл в "
+"[MeshLibrary]. Все ячейки в карте имеют одинаковые размеры.\n"
+"Внутри карта GridMap разбивается на разреженную коллекцию октантов для "
+"эффективного рендеринга и обработки физики. Каждый октант имеет одинаковые "
+"размеры и может содержать несколько ячеек.\n"
+"[b]Примечание:[/b] GridMap не расширяет [VisualInstance] и поэтому не может "
+"быть скрыт или замаскирован на основе [member VisualInstance.layers]. Если "
+"сделать так, чтобы свет не влиял на первый слой, то вся GridMap не будет "
+"освещена данным светом."
#: modules/gridmap/doc_classes/GridMap.xml
msgid "Using gridmaps"
@@ -29168,6 +29666,33 @@ msgid ""
" printt(res.hex_encode(), Array(res))\n"
"[/codeblock]"
msgstr ""
+"Класс HashingContext предоставляет интерфейс для вычисления "
+"криптографических хэшей за несколько итераций. Это полезно, например, при "
+"вычислении хэшей больших файлов (чтобы не загружать их все в память), "
+"сетевых потоков и потоков данных в целом (чтобы не держать буферы).\n"
+"Перечисление [enum HashType] показывает поддерживаемые алгоритмы "
+"хэширования.\n"
+"[codeblock]\n"
+"const CHUNK_SIZE = 1024\n"
+"\n"
+"func hash_file(path):\n"
+" var ctx = HashingContext.new()\n"
+" var file = File.new()\n"
+" # Запустите контекст SHA-256.\n"
+" ctx.start(HashingContext.HASH_SHA256)\n"
+" # Проверьте, существует ли файл.\n"
+" if not file.file_exists(path):\n"
+" return\n"
+" # Открываем файл для хэширования.\n"
+" file.open(path, File.READ)\n"
+" # Обновляем контекст после чтения каждого чанка.\n"
+" while not file.eof_reached():\n"
+" ctx.update(file.get_buffer(CHUNK_SIZE))\n"
+" # Получение вычисленного хэша.\n"
+" var res = ctx.finish()\n"
+" # Выведите результат в виде шестнадцатеричной строки и массива.\n"
+" printt(res.hex_encode(), Array(res))\n"
+"[/codeblock]."
#: doc/classes/HashingContext.xml
msgid "Closes the current context, and return the computed hash."
@@ -29453,7 +29978,7 @@ msgstr ""
#: doc/classes/HSeparator.xml
msgid "Horizontal separator."
-msgstr ""
+msgstr "Горизонтальный разделитель."
#: doc/classes/HSeparator.xml
msgid ""
@@ -29473,7 +29998,7 @@ msgstr ""
#: doc/classes/HSlider.xml
msgid "Horizontal slider."
-msgstr ""
+msgstr "Горизонтальный слайдер."
#: doc/classes/HSlider.xml
msgid ""
@@ -30405,6 +30930,22 @@ msgid ""
"url] for more details). As a workaround, you can send data as a query string "
"in the URL. See [method String.http_escape] for an example."
msgstr ""
+"Создает запрос на базовом [HTTPClient]. Если нет ошибок конфигурации, "
+"пытается подключиться, используя [method HTTPClient.connect_to_host] и "
+"передает параметры в [method HTTPClient.request].\n"
+"Возвращает [constant OK], если запрос успешно создан. (Это не означает, что "
+"сервер ответил), [constant ERR_UNCONFIGURED], если не находится в дереве, "
+"[constant ERR_BUSY], если все еще обрабатывает предыдущий запрос, [constant "
+"ERR_INVALID_PARAMETER], если заданная строка не является правильным форматом "
+"URL, или [constant ERR_CANT_CONNECT], если не используется поток и "
+"[HTTPClient] не может соединиться с хостом.\n"
+"[b]Примечание:[/b] Если [code]метод[/code] является [constant HTTPClient."
+"METHOD_GET], полезная нагрузка, отправленная через [code]request_data[/"
+"code], может быть проигнорирована сервером или даже привести к отклонению "
+"запроса (подробнее см. [url=https://datatracker.ietf.org/doc/html/"
+"rfc7231#section-4.3.1]RFC 7231 раздел 4.3.1[/url]). В качестве обходного "
+"пути вы можете отправить данные в виде строки запроса в URL. Пример см. в "
+"[method String.http_escape]."
#: doc/classes/HTTPRequest.xml
msgid ""
@@ -30520,7 +31061,7 @@ msgstr ""
#: doc/classes/Image.xml
msgid "Image datatype."
-msgstr ""
+msgstr "Тип данных изображения."
#: doc/classes/Image.xml
msgid ""
@@ -31790,7 +32331,11 @@ msgid ""
"using an [AnimatedTexture], only the first frame will be displayed.\n"
"[b]Note:[/b] Only images imported with the [b]Lossless[/b], [b]Lossy[/b] or "
"[b]Uncompressed[/b] compression modes are supported. The [b]Video RAM[/b] "
-"compression mode can't be used for custom cursors."
+"compression mode can't be used for custom cursors.\n"
+"[b]Note:[/b] On the web platform, the maximum allowed cursor image size is "
+"128×128. Cursor images larger than 32×32 will also only be displayed if the "
+"mouse cursor image is entirely located within the page for [url=https://"
+"chromestatus.com/feature/5825971391299584]security reasons[/url]."
msgstr ""
#: doc/classes/Input.xml
@@ -31888,6 +32433,19 @@ msgid ""
"recommended to keep it enabled for games which don't require very reactive "
"input, as this will decrease CPU usage."
msgstr ""
+"Если [code]true[/code], аналогичные входные события, посылаемые операционной "
+"системой, накапливаются. Когда накопление входных данных включено, все "
+"входные события, генерируемые в течение кадра, будут объединены и выданы "
+"после завершения рендеринга кадра. Таким образом, это ограничивает "
+"количество вызовов метода ввода в секунду до FPS рендеринга.\n"
+"Накопление ввода можно отключить, чтобы получить немного более точный/"
+"реактивный ввод ценой увеличения загрузки процессора. В приложениях, где "
+"требуется рисовать линии от руки, накопление ввода обычно отключается на "
+"время рисования линии пользователем, чтобы получить результаты, точно "
+"соответствующие реальному вводу.\n"
+"[b]Примечание:[/b] Накопление ввода [i]включено[/i] по умолчанию. "
+"Рекомендуется держать его включенным в играх, которые не требуют очень "
+"реактивного ввода, так как это снизит нагрузку на процессор."
#: doc/classes/Input.xml
msgid "Emitted when a joypad device has been connected or disconnected."
@@ -32023,7 +32581,7 @@ msgstr ""
#: doc/classes/InputEvent.xml
msgid "InputEvent"
-msgstr ""
+msgstr "InputEvent"
#: doc/classes/InputEvent.xml
msgid ""
@@ -32764,6 +33322,25 @@ msgid ""
"print(max_int) # -9223372036854775808, we overflowed and wrapped around.\n"
"[/codeblock]"
msgstr ""
+"Знаковый 64-битный целочисленный тип.\n"
+"Он может принимать значения в интервале [code][-2^63, 2^63 - 1][/code], т.е. "
+"[code][-9223372036854775808, 9223372036854775807][/code]. Превышение этих "
+"границ будет обернуто.\n"
+"[int] является типом [Variant], и поэтому будет использоваться при "
+"присвоении целочисленного значения [Variant]. Он также может быть применен с "
+"помощью подсказки типа [code]: int[/code].\n"
+"[codeblock].\n"
+"var my_variant = 0 # int, значение 0.\n"
+"my_variant += 4.2 # float, значение 4.2.\n"
+"var my_int: int = 1 # int, значение 1.\n"
+"my_int = 4.2 # int, значение 4, правое значение неявно приводится к int.\n"
+"my_int = int(\"6.7\") # int, значение 6, строка явно приводится к int.\n"
+"\n"
+"var max_int = 9223372036854775807\n"
+"print(max_int) # 9223372036854775807, OK.\n"
+"max_int += 1\n"
+"print(max_int) # -9223372036854775808, мы переполнились и обернулись.\n"
+"[/codeblock]"
#: doc/classes/int.xml
msgid ""
@@ -33525,6 +34102,41 @@ msgid ""
"[/codeblock]\n"
"[b]Note:[/b] Only available in the HTML5 platform."
msgstr ""
+"JavaScriptObject используется для взаимодействия с объектами JavaScript, "
+"полученными или созданными с помощью [method JavaScript.get_interface], "
+"[method JavaScript.create_object] или [method JavaScript.create_callback].\n"
+"Пример:\n"
+"[codeblock]\n"
+"extends Node\n"
+"\n"
+"var _my_js_callback = JavaScript.create_callback(self, \"myCallback\") # Эта "
+"ссылка должна быть сохранена\n"
+"var console = JavaScript.get_interface(\"console\")\n"
+"\n"
+"func _init():\n"
+"\tvar buf = JavaScript.create_object(\"ArrayBuffer\", 10) # новый "
+"ArrayBuffer(10)\n"
+"\tprint(buf) # печатает [JavaScriptObject:OBJECT_ID]\n"
+"\tvar uint8arr = JavaScript.create_object(\"Uint8Array\", buf) # новый "
+"Uint8Array(buf)\n"
+"\tuint8arr[1] = 255\n"
+"\tprints(uint8arr[1], uint8arr.byteLength) # печатает 255 10\n"
+"\tconsole.log(uint8arr) # печатает в консоли браузера \"Uint8Array(10) [ 0, "
+"255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\"\n"
+"\n"
+"\t# Эквивалент JavaScript: Array.from(uint8arr).forEach(myCallback)\n"
+"\tJavaScript.get_interface(\"Array\").from(uint8arr)."
+"forEach(_my_js_callback)\n"
+"\n"
+"func myCallback(args):\n"
+"\t# Будет вызван с параметрами, переданными в обратный вызов \"forEach\".\n"
+"\t# [0, 0, [JavaScriptObject:1173]]\n"
+"\t# [255, 1, [JavaScriptObject:1173]]\n"
+"\t# ...\n"
+"\t# [0, 9, [JavaScriptObject:1180]]\n"
+"\tprint(args)\n"
+"[/codeblock].\n"
+"[b]Примечание:[/b] Доступно только в платформе HTML5."
#: doc/classes/JNISingleton.xml
msgid ""
@@ -33714,7 +34326,6 @@ msgid ""
msgstr ""
#: doc/classes/JSONParseResult.xml
-#, fuzzy
msgid ""
"A [Variant] containing the parsed JSON. Use [method @GDScript.typeof] or the "
"[code]is[/code] keyword to check if it is what you expect. For example, if "
@@ -33736,25 +34347,25 @@ msgid ""
" push_error(\"Unexpected results.\")\n"
"[/codeblock]"
msgstr ""
-"Переменная ([Variant]), содержащая разобранный JSON. Используйте [method "
-"@GDScript.typeof] или ключевое слово [code]is[/code] чтобы проверить "
-"ожидаемый тип. Например, если исходный JSON начинается с фигурных скобок "
-"([code]{}[/code]), будет возвращён словарь ([Dictionary]). Если исходный "
-"JSON начинается с квадратных скобок ([code][][/code]), будет возвращён "
-"массив ([Array]).\n"
-"[b]Примечание:[/b] Спецификация JSON не определяет типы integer и float, "
-"только тип[i]number[/i]. Таким образом, при разборе строки JSON все числовые "
-"значения будут преобразованы в тип [float].\n"
-"[b]Примечание:[/b] JSON-объекты не сохраняют порядок ключей как словари "
-"Godot, поэтому вы не должны полагаться на порядок следования ключей, если "
-"словарь получен из JSON. Массивы JSON, напротив, сохраняют порядок своих "
-"элементов:\n"
-"[codeblock]\n"
+"Вариант [Variant], содержащий разобранный JSON. Используйте [method "
+"@GDScript.typeof] или ключевое слово [code]is[/code], чтобы проверить, "
+"является ли это тем, что вы ожидаете. Например, если источник JSON "
+"начинается с фигурных скобок ([code]{}[/code]), будет возвращен [Словарь]. "
+"Если источник JSON начинается со скобок ([code][][/code]), будет возвращен "
+"[Массив].\n"
+"[b]Примечание:[/b] В спецификации JSON не определены типы integer или float, "
+"а только тип [i]number[/i]. Поэтому при разборе текста JSON все числовые "
+"значения будут преобразованы в типы [float].\n"
+"[b]Примечание:[/b] Объекты JSON не сохраняют порядок ключей, как словари "
+"Godot, поэтому не следует полагаться на то, что ключи будут расположены в "
+"определенном порядке, если словарь построен из JSON. Напротив, массивы JSON "
+"сохраняют порядок своих элементов:\n"
+"[codeblock].\n"
"var p = JSON.parse('[\"hello\", \"world\", \"!\"]')\n"
"if typeof(p.result) == TYPE_ARRAY:\n"
-" print(p.result[0]) # Выведет \"hello\"\n"
+" print(p.result[0]) # Печатает \"hello\".\n"
"else:\n"
-" push_error(\"Неожиданный результат.\")\n"
+" push_error(\"Неожиданные результаты.\")\n"
"[/codeblock]"
#: doc/classes/JSONRPC.xml
@@ -33849,6 +34460,21 @@ msgid ""
"while performing collision tests. This makes them really useful to implement "
"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] KinematicBody также имеет API для "
+"перемещения объектов (методы [method move_and_collide] и [method "
+"move_and_slide]) при выполнении тестов на столкновения. Это делает их "
+"действительно полезными для реализации персонажей, которые сталкиваются с "
+"миром, но не требуют продвинутой физики."
#: doc/classes/KinematicBody.xml doc/classes/KinematicBody2D.xml
msgid "Kinematic character (2D)"
@@ -34102,6 +34728,21 @@ msgid ""
"while performing collision tests. This makes them really useful to implement "
"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]) при выполнении тестов на столкновения. Это делает их "
+"действительно полезными для реализации персонажей, которые сталкиваются с "
+"миром, но не требуют продвинутой физики."
#: doc/classes/KinematicBody2D.xml
msgid "Using KinematicBody2D"
@@ -34791,7 +35432,9 @@ msgid ""
"The size of the light in Godot units. Only considered in baked lightmaps and "
"only if [member light_bake_mode] is set to [constant BAKE_ALL]. Increasing "
"this value will make the shadows appear blurrier. This can be used to "
-"simulate area lights to an extent."
+"simulate area lights to an extent.\n"
+"[b]Note:[/b] [member light_size] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/Light.xml
@@ -38120,6 +38763,7 @@ msgid "3D agent used in navigation for collision avoidance."
msgstr ""
#: doc/classes/NavigationAgent.xml
+#, fuzzy
msgid ""
"3D agent that is used in navigation to reach a location while avoiding "
"static and dynamic obstacles. The dynamic obstacles are avoided using RVO "
@@ -38133,8 +38777,26 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
-msgstr ""
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
+msgstr ""
+"3D-агент, который используется в навигации для достижения местоположения, "
+"избегая при этом статических и динамических препятствий. Динамические "
+"препятствия избегаются с помощью системы предотвращения столкновений RVO "
+"(Reciprocal Velocity Obstacles). Для корректной работы агенту необходимы "
+"навигационные данные. По умолчанию этот узел регистрируется на навигационной "
+"карте по умолчанию [Мир]. Если этот узел является дочерним узлом "
+"[Navigation], он будет регистрироваться на навигационной карте "
+"навигационного узла, или можно использовать функцию [method set_navigation], "
+"чтобы установить навигационный узел напрямую. [NavigationAgent] является "
+"физически безопасным.\n"
+"[b]Примечание:[/b] После использования [method set_target_location] "
+"необходимо использовать функцию [method get_next_location] раз в каждый кадр "
+"физики для обновления внутренней логики пути NavigationAgent. Возвращаемая "
+"векторная позиция из этой функции должна использоваться в качестве следующей "
+"позиции движения для родительского узла агента."
#: doc/classes/NavigationAgent.xml doc/classes/NavigationAgent2D.xml
msgid ""
@@ -38373,6 +39035,7 @@ msgid "2D agent used in navigation for collision avoidance."
msgstr ""
#: doc/classes/NavigationAgent2D.xml
+#, fuzzy
msgid ""
"2D agent that is used in navigation to reach a location while avoiding "
"static and dynamic obstacles. The dynamic obstacles are avoided using RVO "
@@ -38386,8 +39049,26 @@ msgid ""
"use the [method get_next_location] function once every physics frame to "
"update the internal path logic of the NavigationAgent. The returned vector "
"position from this function should be used as the next movement position for "
-"the agent's parent Node."
-msgstr ""
+"the agent's parent Node.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues."
+msgstr ""
+"2D агент, который используется в навигации для достижения местоположения, "
+"избегая при этом статических и динамических препятствий. Динамические "
+"препятствия избегаются с помощью системы предотвращения столкновений RVO "
+"(Reciprocal Velocity Obstacles). Для корректной работы агенту необходимы "
+"навигационные данные. По умолчанию этот узел регистрируется на навигационной "
+"карте по умолчанию [World2D]. Если этот узел является дочерним для узла "
+"[Navigation2D], он будет регистрироваться на навигационной карте "
+"навигационного узла, или функция [method set_navigation] может быть "
+"использована для непосредственной установки навигационного узла. "
+"[NavigationAgent2D] является физически безопасным.\n"
+"[b]Примечание:[/b] После использования [method set_target_location] "
+"необходимо использовать функцию [method get_next_location] один раз в каждый "
+"кадр физики для обновления внутренней логики пути NavigationAgent. "
+"Возвращаемая векторная позиция из этой функции должна использоваться в "
+"качестве следующей позиции движения для родительского узла агента."
#: doc/classes/NavigationAgent2D.xml
#, fuzzy
@@ -39113,6 +39794,9 @@ msgid ""
"modified velocity as-is might lead to pushing and agent outside of a "
"navigable area. This is a limitation of the collision avoidance system, any "
"more complex situation may require the use of the physics engine.\n"
+"[b]Note:[/b] By default, the expensive calculations for avoidance are done "
+"in a thread. In HTML5 exports without thread support, they will be done on "
+"the main thread, which can lead to performance issues.\n"
"This server keeps tracks of any call and executes them during the sync "
"phase. This means that you can request any change to the map, using any "
"thread, without worrying."
@@ -39127,7 +39811,7 @@ msgstr "Возвращает значение задержки данного к
msgid ""
"Returns the normal for the point returned by [method map_get_closest_point]."
msgstr ""
-"Возвращает нормаль для точки, возвращенной [методом map_get_closest_point]."
+"Возвращает нормаль для точки, возвращенной [method map_get_closest_point]."
#: doc/classes/NavigationServer.xml
msgid ""
@@ -39328,10 +40012,10 @@ msgstr ""
"пирами, чтобы гарантировать, что пропускная способность пиров не будет "
"превышена. Параметры пропускной способности также определяют размер окна "
"соединения, которое ограничивает количество надежных пакетов, которые могут "
-"находиться в пути в любой момент времени. Возвращает [константу OK], если "
-"клиент был создан, [константу ERR_ALREADY_IN_USE], если данный экземпляр "
+"находиться в пути в любой момент времени. Возвращает [constant OK], если "
+"клиент был создан, [constant ERR_ALREADY_IN_USE], если данный экземпляр "
"NetworkedMultiplayerENet уже имеет открытое соединение (в этом случае "
-"необходимо сначала вызвать [метод close_connection]) или [константу "
+"необходимо сначала вызвать [method close_connection]) или [constant "
"ERR_CANT_CREATE], если клиент не может быть создан. Если указано "
"[code]client_port[/code], клиент также будет слушать указанный порт; это "
"полезно для некоторых методов обхода NAT."
@@ -39478,6 +40162,21 @@ msgid ""
"COMPRESS_NONE]. Nonetheless, mixing engine versions between clients and "
"server is not recommended and not officially supported."
msgstr ""
+"Метод сжатия, используемый для сетевых пакетов. Они имеют различные "
+"компромиссы между скоростью сжатия и пропускной способностью, вам может "
+"потребоваться проверить, какой из них лучше всего подходит для вашего "
+"случая, если вы вообще используете сжатие.\n"
+"[b]Примечание:[/b] Сетевой дизайн большинства игр предполагает частую "
+"отправку множества небольших пакетов (размером менее 4 КБ каждый). Если есть "
+"сомнения, рекомендуется оставить алгоритм сжатия по умолчанию, так как он "
+"лучше всего работает с такими маленькими пакетами.\n"
+"[b]Примечание:[/b] [member compression_mode] должен быть установлен на одно "
+"и то же значение как на сервере, так и на всех его клиентах. Клиенты не "
+"смогут подключиться, если значение [member compression_mode], установленное "
+"на клиенте, отличается от установленного на сервере. До Godot 3.4 по "
+"умолчанию [member compression_mode] был [constant COMPRESS_NONE]. Тем не "
+"менее, смешивать версии движка между клиентами и сервером не рекомендуется и "
+"официально не поддерживается."
#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml
msgid ""
@@ -39556,7 +40255,7 @@ msgstr ""
#: modules/enet/doc_classes/NetworkedMultiplayerENet.xml
msgid "[url=https://facebook.github.io/zstd/]Zstandard[/url] compression."
-msgstr ""
+msgstr "[url=https://facebook.github.io/zstd/]Zstandard[/url] cжатие."
#: doc/classes/NetworkedMultiplayerPeer.xml
msgid "A high-level network interface to simplify multiplayer interactions."
@@ -39966,6 +40665,20 @@ msgid ""
"call with [method request_ready], which may be called anywhere before adding "
"the node again."
msgstr ""
+"Вызывается, когда узел \"готов\", т.е. когда и узел, и его дочерние элементы "
+"вошли в дерево сцены. Если узел имеет дочерние узлы, то сначала срабатывают "
+"их обратные вызовы [метода _ready], а затем родительский узел получает "
+"уведомление о готовности.\n"
+"Соответствует уведомлению [constant NOTIFICATION_READY] в [method Object."
+"_notification]. См. также ключевое слово [code]onready[/code] для "
+"переменных.\n"
+"Обычно используется для инициализации. Для еще более ранней инициализации "
+"можно использовать [метод Object._init]. См. также [метод _enter_tree].\n"
+"[b]Примечание:[/b] [метод _ready] может быть вызван только один раз для "
+"каждого узла. После удаления узла из дерева сцены и добавления его снова, "
+"[code]_ready[/code] не будет вызван второй раз. Это можно обойти, запросив "
+"повторный вызов с помощью [метода request_ready], который может быть вызван "
+"в любом месте перед повторным добавлением узла."
#: doc/classes/Node.xml
msgid ""
@@ -40095,6 +40808,21 @@ msgid ""
"consider using [method get_node] instead. To avoid using [method find_node] "
"too often, consider caching the node reference into a variable."
msgstr ""
+"Находит потомка этого узла, имя которого соответствует [code]маске[/code] "
+"как в [методе String.match] (т.е. чувствительно к регистру, но [code]\"*\"[/"
+"code] соответствует нулю или более символов, а [code]\"?\"[/code] "
+"соответствует любому одиночному символу, кроме [code]\".\"[/code]). "
+"Возвращает [code]null[/code], если не найдено ни одного подходящего [узла].\n"
+"[b]Примечание:[/b] Не ищет совпадения по полному пути, только по именам "
+"отдельных узлов.\n"
+"Если [code]owned[/code] is [code]true[/code], этот метод находит только "
+"узлы, владельцем которых является этот узел. Это особенно важно для сцен, "
+"созданных через сценарий, поскольку у таких сцен нет владельца.\n"
+"[b]Примечание:[/b] Поскольку этот метод проходит по всем потомкам узла, это "
+"самый медленный способ получить ссылку на другой узел. По возможности "
+"используйте вместо него [method get_node]. Чтобы не использовать [метод "
+"find_node] слишком часто, подумайте о кэшировании ссылки на узел в "
+"переменной."
#: doc/classes/Node.xml
msgid ""
@@ -40535,6 +41263,20 @@ msgid ""
"like [code]server_disconnected[/code] or by checking [code]SceneTree."
"network_peer.get_connection_status() == CONNECTION_CONNECTED[/code]."
msgstr ""
+"Отправляет запрос на вызов удаленной процедуры для заданного [code]метода[/"
+"code] равным узлам в сети (и локально), по желанию отправляя все "
+"дополнительные аргументы в качестве аргументов метода, вызываемого RPC. "
+"Запрос вызова будет получен только узлами с одинаковым [NodePath], включая "
+"точно такое же имя узла. Поведение зависит от конфигурации RPC для данного "
+"метода, см. [method rpc_config]. По умолчанию методы не открыты для RPC. См. "
+"также [method rset] и [method rset_config] для свойств. Возвращает "
+"[code]null[/code].\n"
+"[b]Примечание:[/b] Вы можете безопасно использовать RPC на клиентах только "
+"после получения сигнала [code]connected_to_server[/code] от [SceneTree]. Вам "
+"также необходимо отслеживать состояние соединения, либо по сигналам "
+"[SceneTree], таким как [code]server_disconnected[/code], либо проверяя "
+"[code]SceneTree.network_peer.get_connection_status() == "
+"CONNECTION_CONNECTED[/code]."
#: doc/classes/Node.xml
msgid ""
@@ -41079,7 +41821,7 @@ msgstr "Глобальный масштаб."
#: doc/classes/Node2D.xml
msgid "Global [Transform2D]."
-msgstr ""
+msgstr "Глобальный [Transform2D]."
#: doc/classes/Node2D.xml
msgid "Position, relative to the node's parent."
@@ -41105,7 +41847,7 @@ msgstr ""
#: doc/classes/Node2D.xml
msgid "Local [Transform2D]."
-msgstr ""
+msgstr "Локальный [Transform2D]."
#: doc/classes/Node2D.xml
msgid ""
@@ -42011,7 +42753,9 @@ msgid ""
"The light's radius. Note that the effectively lit area may appear to be "
"smaller depending on the [member omni_attenuation] in use. No matter the "
"[member omni_attenuation] in use, the light will never reach anything "
-"outside this radius."
+"outside this radius.\n"
+"[b]Note:[/b] [member omni_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/OmniLight.xml
@@ -42427,6 +43171,21 @@ msgid ""
"the project if it is currently running (since the project is an independent "
"child process)."
msgstr ""
+"Задерживает выполнение текущего потока на [code]мсек[/code] миллисекунд. "
+"[code]мсек[/code] должно быть больше или равно [code]0[/code]. В противном "
+"случае [метод delay_msec] ничего не сделает и выведет сообщение об ошибке.\n"
+"[b]Примечание:[/b] [method delay_msec] - это [i]блокирующий[/i] способ "
+"задержки выполнения кода. Чтобы задержать выполнение кода неблокирующим "
+"способом, смотрите [method SceneTree.create_timer]. Выдача с помощью [method "
+"SceneTree.create_timer] задержит выполнение кода, размещенного ниже "
+"[code]выдачи[/code] без влияния на остальную часть проекта (или редактора, "
+"для [EditorPlugin]ов и [EditorScript]ов).\n"
+"[b]Примечание:[/b] Если [метод delay_msec] вызывается в главном потоке, он "
+"замораживает проект и не позволяет ему перерисовывать и регистрировать ввод, "
+"пока не пройдет задержка. При использовании [method delay_msec] как части "
+"[EditorPlugin] или [EditorScript], он заморозит редактор, но не заморозит "
+"проект, если он запущен (поскольку проект является независимым дочерним "
+"процессом)."
#: doc/classes/OS.xml
msgid ""
@@ -42447,6 +43206,21 @@ msgid ""
"the project if it is currently running (since the project is an independent "
"child process)."
msgstr ""
+"Задерживает выполнение текущего потока на [code]usec[/code] микросекунд. "
+"[code]usec[/code] должно быть больше или равно [code]0[/code]. В противном "
+"случае [метод delay_usec] ничего не сделает и выведет сообщение об ошибке.\n"
+"[b]Примечание:[/b] [method delay_usec] - это [i]блокирующий[/i] способ "
+"задержки выполнения кода. Чтобы задержать выполнение кода неблокирующим "
+"способом, смотрите [method SceneTree.create_timer]. Выдача с помощью [method "
+"SceneTree.create_timer] задержит выполнение кода, размещенного ниже "
+"[code]выдачи[/code] без влияния на остальную часть проекта (или редактора, "
+"для [EditorPlugin]ов и [EditorScript]ов).\n"
+"[b]Примечание:[/b] Если [метод delay_usec] вызывается в главном потоке, он "
+"замораживает проект и не позволяет ему перерисовывать и регистрировать ввод, "
+"пока не пройдет задержка. При использовании [method delay_usec] как части "
+"[EditorPlugin] или [EditorScript], он заморозит редактор, но не заморозит "
+"проект, если он запущен (поскольку проект является независимым дочерним "
+"процессом)."
#: doc/classes/OS.xml
msgid ""
@@ -42535,11 +43309,11 @@ msgstr "Возвращает вектор привязанный к сетке
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] cache data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_CACHE_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_config_dir] and [method get_data_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_CACHE_HOME[/code] environment variable before starting the "
+"project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_config_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42569,15 +43343,38 @@ msgid ""
" arguments[argument.lstrip(\"--\")] = \"\"\n"
"[/codeblock]"
msgstr ""
+"Возвращает аргументы командной строки, переданные движку.\n"
+"Аргументы командной строки могут быть записаны в любой форме, включая формы "
+"[code]--key value[/code] и [code]--key=value[/code], чтобы они могли быть "
+"правильно разобраны, при условии, что пользовательские аргументы командной "
+"строки не конфликтуют с аргументами движка.\n"
+"Вы также можете включить переменные окружения, используя метод [method "
+"get_environment].\n"
+"Вы можете установить [member ProjectSettings.editor/main_run_args] для "
+"определения аргументов командной строки, которые будут передаваться "
+"редактором при запуске проекта.\n"
+"Вот минимальный пример того, как разобрать аргументы командной строки в "
+"словарь, используя форму [code]--key=value[/code] для аргументов:\n"
+"[codeblock].\n"
+"var arguments = {}\n"
+"for argument in OS.get_cmdline_args():\n"
+" if argument.find(\"=\") > -1:\n"
+" var key_value = argument.split(\"=\")\n"
+" arguments[key_value[0].lstrip(\"--\")] = key_value[1]\n"
+" else:\n"
+" # Опции без аргумента будут присутствовать в словаре,\n"
+" # со значением, установленным в пустую строку.\n"
+" arguments[argument.lstrip(\"--\")] = \"\"\n"
+"[/codeblock]"
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user configuration directory according to the "
-"operating system's standards. On desktop platforms, this path can be "
-"overridden by setting the [code]XDG_CONFIG_HOME[/code] environment variable "
-"before starting the project. See [url=$DOCS_URL/tutorials/io/data_paths."
-"html]File paths in Godot projects[/url] in the documentation for more "
-"information. See also [method get_cache_dir] and [method get_data_dir].\n"
+"operating system's standards. On Linux, this path can be overridden by "
+"setting the [code]XDG_CONFIG_HOME[/code] environment variable before "
+"starting the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File "
+"paths in Godot projects[/url] in the documentation for more information. See "
+"also [method get_cache_dir] and [method get_data_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -42599,11 +43396,11 @@ msgstr ""
#: doc/classes/OS.xml
msgid ""
"Returns the [i]global[/i] user data directory according to the operating "
-"system's standards. On desktop platforms, this path can be overridden by "
-"setting the [code]XDG_DATA_HOME[/code] environment variable before starting "
-"the project. See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in "
-"Godot projects[/url] in the documentation for more information. See also "
-"[method get_cache_dir] and [method get_config_dir].\n"
+"system's standards. On Linux, this path can be overridden by setting the "
+"[code]XDG_DATA_HOME[/code] environment variable before starting the project. "
+"See [url=$DOCS_URL/tutorials/io/data_paths.html]File paths in Godot "
+"projects[/url] in the documentation for more information. See also [method "
+"get_cache_dir] and [method get_config_dir].\n"
"Not to be confused with [method get_user_data_dir], which returns the "
"[i]project-specific[/i] user data path."
msgstr ""
@@ -43769,9 +44566,8 @@ msgid "Ringtones directory path."
msgstr ""
#: doc/classes/OS.xml
-#, fuzzy
msgid "Unknown powerstate."
-msgstr "Неизвестная клавиша."
+msgstr "Неизвестное состояние питания."
#: doc/classes/OS.xml
msgid "Unplugged, running on battery."
@@ -44485,6 +45281,16 @@ msgid "Particle systems (2D)"
msgstr ""
#: doc/classes/Particles2D.xml
+msgid "2D Particles Demo"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
+msgid ""
+"2D Dodge The Creeps Demo (uses GPUParticles2D for the trail behind the "
+"player)"
+msgstr ""
+
+#: doc/classes/Particles2D.xml
msgid "Returns a rectangle containing the positions of all existing particles."
msgstr ""
@@ -45200,7 +46006,7 @@ msgstr ""
#: doc/classes/PHashTranslation.xml
msgid "Optimized translation."
-msgstr ""
+msgstr "Оптимизированный перевод."
#: doc/classes/PHashTranslation.xml
msgid ""
@@ -45231,7 +46037,7 @@ msgstr ""
#: doc/classes/PhysicsDirectBodyState.xml
#: doc/classes/PhysicsDirectSpaceState.xml doc/classes/RayCast.xml
msgid "Ray-casting"
-msgstr ""
+msgstr "Трассировка лучей"
#: doc/classes/Physics2DDirectBodyState.xml doc/classes/RigidBody2D.xml
msgid "Adds a constant directional force without affecting rotation."
@@ -45448,6 +46254,23 @@ 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]движения[/code] "
+"объекта. Возвращаемый объект представляет собой словарь, содержащий "
+"следующие поля:\n"
+"[code]collider_id[/code]: ID сталкивающегося объекта.\n"
+"[code]linear_velocity[/code]: Скорость объекта столкновения [Vector2]. Если "
+"объект является [Area2D], то результатом будет [code](0, 0)[/code].\n"
+"[code]метаданные[/code]: Метаданные пересекающейся фигуры. Эти метаданные "
+"отличаются от [метод Object.get_meta], и устанавливаются с помощью [метод "
+"Physics2DServer.shape_set_data].\n"
+"[code]normal[/code]: Нормаль поверхности объекта в точке пересечения.\n"
+"[code]точка[/code]: Точка пересечения.\n"
+"[code]rid[/code]: [RID] пересекающегося объекта.\n"
+"[code]shape[/code]: Индекс формы сталкивающейся фигуры."
#: doc/classes/Physics2DDirectSpaceState.xml
msgid ""
@@ -45472,6 +46295,26 @@ msgid ""
"[code]Segments[/code] build mode are not solid shapes. Therefore, they will "
"not be detected."
msgstr ""
+"Проверяет, находится ли точка внутри какой-либо твердой фигуры. Фигуры, "
+"внутри которых находится точка, возвращаются в виде массива, содержащего "
+"словари со следующими полями:\n"
+"[code]collider[/code]: Объект столкновения.\n"
+"[code]collider_id[/code]: ID объекта столкновения.\n"
+"[code]metadata[/code]: Метаданные пересекающейся фигуры. Эти метаданные "
+"отличаются от [метод Object.get_meta], и устанавливаются с помощью [метод "
+"Physics2DServer.shape_set_data].\n"
+"[code]rid[/code]: [RID] пересекающегося объекта.\n"
+"[code]shape[/code]: Индекс формы сталкивающейся фигуры.\n"
+"Количество пересечений может быть ограничено с помощью параметра "
+"[code]max_results[/code], чтобы уменьшить время обработки.\n"
+"Кроме того, метод может принимать [code]exclude[/code] массив объектов или "
+"[RID]ов, которые должны быть исключены из столкновений, "
+"[code]collision_mask[/code] битовую маску, представляющую физические слои "
+"для проверки, или булевы для определения того, должен ли луч столкнуться с "
+"[PhysicsBody2D]s или [Area2D]s, соответственно.\n"
+"[b]Примечание:[/b] [ConcavePolygonShape2D]s и [CollisionPolygon2D]s в режиме "
+"построения [code]Segments[/code] не являются твердыми фигурами. Поэтому они "
+"не будут обнаружены."
#: doc/classes/Physics2DDirectSpaceState.xml
msgid ""
@@ -45518,6 +46361,24 @@ msgid ""
"determine if the ray should collide with [PhysicsBody2D]s or [Area2D]s, "
"respectively."
msgstr ""
+"Пересекает луч в заданном пространстве. Возвращаемый объект представляет "
+"собой словарь со следующими полями:\n"
+"[code]collider[/code]: Объект столкновения.\n"
+"[code]collider_id[/code]: Идентификатор объекта столкновения.\n"
+"[code]metadata[/code]: Метаданные пересекающейся фигуры. Эти метаданные "
+"отличаются от [метод Object.get_meta], и устанавливаются с помощью [метод "
+"Physics2DServer.shape_set_data].\n"
+"[code]normal[/code]: Нормаль поверхности объекта в точке пересечения.\n"
+"[code]position[/code]: Точка пересечения.\n"
+"[code]rid[/code]: [RID] пересекающегося объекта.\n"
+"[code]shape[/code]: Индекс формы пересекающегося объекта.\n"
+"Если луч ни с чем не пересекается, то вместо него возвращается пустой "
+"словарь.\n"
+"Кроме того, метод может принимать [code]exclude[/code] массив объектов или "
+"[RID], которые должны быть исключены из столкновений, [code]collision_mask[/"
+"code] битовую маску, представляющую физические слои для проверки, или булевы "
+"для определения того, должен ли луч столкнуться с [PhysicsBody2D]s или "
+"[Area2D]s, соответственно."
#: doc/classes/Physics2DDirectSpaceState.xml
msgid ""
@@ -47624,6 +48485,22 @@ msgid ""
"will allow for unbounded output. If any positive value is passed, and the "
"decompression exceeds that amount in bytes, then an error will be returned."
msgstr ""
+"Возвращает новый [PoolByteArray] с распакованными данными. Установите режим "
+"сжатия, используя одну из констант [enum File.CompressionMode]. [b]Этот "
+"метод принимает только режимы сжатия gzip и deflate.[/b]\n"
+"Этот метод потенциально медленнее, чем [code]decompress[/code], так как ему "
+"может потребоваться многократное перераспределение выходного буфера во время "
+"декомпрессии, в то время как [code]decompress[/code] знает размер своего "
+"выходного буфера с самого начала.\n"
+"\n"
+"GZIP имеет максимальный коэффициент сжатия 1032:1, что означает, что очень "
+"возможно, что небольшая сжатая полезная нагрузка распакуется в потенциально "
+"очень большой выходной файл. Чтобы защититься от этого, вы можете указать "
+"максимальный размер, который этой функции разрешено выделять в байтах через "
+"[code]max_output_size[/code]. Если передать значение -1, то можно выводить "
+"неограниченное количество данных. Если передано любое положительное "
+"значение, и распаковка превышает этот размер в байтах, то будет возвращена "
+"ошибка."
#: doc/classes/PoolByteArray.xml doc/classes/PoolColorArray.xml
#: doc/classes/PoolIntArray.xml doc/classes/PoolRealArray.xml
@@ -48695,6 +49572,19 @@ msgid ""
"There is no need to place an opposite portal in an adjacent room, links are "
"made two-way automatically."
msgstr ""
+"[Порталы - это особый тип [MeshInstance], который позволяет системе отбора "
+"порталов \"видеть\" из одной комнаты в другую. Они часто соответствуют "
+"дверям и окнам в геометрии уровня. Позволяя [Camera]s видеть только через "
+"порталы, это позволяет системе отсеивать все объекты в комнатах, которые не "
+"видны через порталы. Это одна из форм окклюзионной выборки [b][/b] , которая "
+"может значительно повысить производительность.\n"
+"Существуют некоторые ограничения на форму порталов:\n"
+"Они должны быть односторонними выпуклыми многоугольниками, и обычно вы "
+"должны ориентировать их передние грани [b]наружу[/b] от [Комнаты], в которой "
+"они расположены. Вершины должны располагаться в одной плоскости (хотя их "
+"расположение не обязательно должно быть идеальным).\n"
+"Нет необходимости размещать противоположный портал в соседней комнате, связи "
+"делаются двусторонними автоматически."
#: doc/classes/Portal.xml doc/classes/Room.xml
msgid "Sets individual points. Primarily for use by the editor."
@@ -49349,6 +50239,21 @@ msgid ""
"([code]stderr[/code]) is always flushed when a line is printed to it.\n"
"Changes to this setting will only be applied upon restarting the application."
msgstr ""
+"Если [code]true[/code], то поток стандартного вывода очищается каждый раз, "
+"когда печатается строка. Это влияет как на ведение журналов в терминале, так "
+"и на ведение журналов в файлах.\n"
+"При запуске проекта этот параметр должен быть включен, если вы хотите, чтобы "
+"журналы собирались менеджерами служб, такими как systemd/journalctl. Эта "
+"настройка отключена по умолчанию в сборках релизов, поскольку промывка "
+"каждой напечатанной строки негативно скажется на производительности, если "
+"много строк печатается в быстрой последовательности. Кроме того, если эта "
+"настройка включена, файлы журналов будут успешно записаны, если приложение "
+"аварийно завершено или иным образом убито пользователем (не будучи закрытым "
+"\"нормально\").\n"
+"[b]Примечание:[/b] Независимо от этой настройки, стандартный поток ошибок "
+"([code]stderr[/code]) всегда промывается, когда в него печатается строка.\n"
+"Изменения в этой настройке будут применены только после перезапуска "
+"приложения."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -51471,6 +52376,23 @@ msgid ""
"[b]Note:[/b] This property is only read when the project starts. To change "
"the value at runtime, set [member Engine.physics_jitter_fix] instead."
msgstr ""
+"Управляет тем, насколько тики физики синхронизированы с реальным временем. "
+"При значении 0 или меньше тики синхронизируются. Такие значения "
+"рекомендуются для сетевых игр, где синхронизация часов имеет значение. "
+"Большие значения приводят к большему отклонению внутриигровых часов от "
+"реальных, но позволяют сгладить дрожание кадров. Значение по умолчанию 0,5 "
+"должно устраивать большинство; значения выше 2 могут привести к тому, что "
+"игра будет реагировать на выпадение кадров с заметной задержкой, поэтому не "
+"рекомендуется.\n"
+"[b]Примечание:[/b] Для достижения наилучших результатов при использовании "
+"пользовательского решения интерполяции физики, исправление джиттера физики "
+"следует отключить, установив [member physics/common/physics_jitter_fix] на "
+"[code]0[/code].\n"
+"[b]Примечание:[/b] Фиксация джиттера автоматически отключается во время "
+"выполнения, если включен [member physics/common/physics_interpolation].\n"
+"[b]Примечание:[/b] Это свойство считывается только при запуске проекта. "
+"Чтобы изменить значение во время выполнения, установите [member Engine."
+"physics_jitter_fix] вместо этого."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -52110,6 +53032,23 @@ msgid ""
"[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 ""
+"Максимальный уровень анизотропного фильтра, используемый для текстур с "
+"включенной анизотропией. Более высокие значения приводят к более четким "
+"текстурам при просмотре под косыми углами, но за счет снижения "
+"производительности. За исключением [code]1[/code], допустимы только "
+"значения, равные двум целым ([code]2[/code], [code]4[/code], [code]8[/code], "
+"[code]16[/code]). Значение [code]1[/code] принудительно отключает "
+"анизотропную фильтрацию, даже на тех текстурах, где она включена.\n"
+"[b]Примечание:[/b] По причинам производительности анизотропная фильтрация "
+"[i]не включена по умолчанию[/i] на текстурах. Чтобы эта настройка имела "
+"эффект, анизотропную фильтрацию текстуры можно включить, выбрав текстуру в "
+"доке FileSystem, перейдя в док Import, установив флажок [b]Anisotropic[/b] и "
+"нажав [b]Reimport[/b]. Однако анизотропная фильтрация редко бывает полезной "
+"в 2D, поэтому включайте ее для текстур в 2D, только если это дает значимую "
+"визуальную разницу.\n"
+"[b]Примечание:[/b] Это свойство считывается только при запуске проекта. В "
+"настоящее время не существует способа изменить этот параметр во время "
+"выполнения проекта."
#: doc/classes/ProjectSettings.xml
msgid ""
@@ -52131,15 +53070,22 @@ msgstr ""
#: doc/classes/ProjectSettings.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member rendering/quality/"
+"intended_usage/framebuffer_allocation] must also be set to [b]3D[/b].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member rendering/quality/"
"depth/hdr] must also be [code]true[/code] for debanding to be effective.\n"
"[b]Note:[/b] There are known issues with debanding breaking rendering on "
"mobile platforms. Due to this, it is recommended to leave this option "
-"disabled when targeting mobile platforms."
+"disabled when targeting mobile platforms.\n"
+"[b]Note:[/b] This property is only read when the project starts. To set "
+"debanding at run-time, set [member Viewport.debanding] on the root "
+"[Viewport] instead."
msgstr ""
#: doc/classes/ProjectSettings.xml
@@ -52709,7 +53655,7 @@ msgstr ""
#: doc/classes/Quat.xml
msgid "Quaternion."
-msgstr ""
+msgstr "Кватернион."
#: doc/classes/Quat.xml
msgid ""
@@ -52992,6 +53938,24 @@ msgid ""
"state], and not the initial seed value, which is going to be fixed in Godot "
"4.0."
msgstr ""
+"Инициализирует состояние генератора случайных чисел на основе заданного "
+"значения seed. Заданное значение семени дает воспроизводимую "
+"последовательность псевдослучайных чисел.\n"
+"[b]Примечание:[/b] RNG не обладает лавинным эффектом и может выдавать "
+"похожие случайные потоки при одинаковых семенах. Рассмотрите возможность "
+"использования хэш-функции для улучшения качества семян, если они получены "
+"извне.\n"
+"[b]Примечание:[/b] Установка этого свойства приводит к побочному эффекту "
+"изменения внутреннего [member state], поэтому убедитесь, что семя "
+"инициализировано [i], прежде чем[/i] изменять [member state]:\n"
+"[блок кода]\n"
+"var rng = RandomNumberGenerator.new()\n"
+"rng.seed = hash(\"Godot\")\n"
+"rng.state = 100 # Восстановление к некоторому ранее сохраненному состоянию.\n"
+"[/codeblock].\n"
+"[b]Предупреждение:[/b] геттер этого свойства возвращает предыдущее состояние "
+"[member state], а не начальное значение seed, что будет исправлено в Godot "
+"4.0."
#: doc/classes/RandomNumberGenerator.xml
msgid ""
@@ -53131,6 +54095,20 @@ msgid ""
"queries are required between physics frames (or during the same frame), use "
"[method force_raycast_update] after adjusting the raycast."
msgstr ""
+"RayCast представляет собой линию от начала координат до места назначения, "
+"[code]cast_to[/code]. Он используется для запроса трехмерного пространства, "
+"чтобы найти ближайший объект на пути луча.\n"
+"RayCast может игнорировать некоторые объекты, добавляя их в список "
+"исключений через [code]add_exception[/code] или устанавливая надлежащую "
+"фильтрацию с помощью слоев столкновений и масок.\n"
+"RayCast может быть настроен на сообщение о столкновениях с [Area]s ([member "
+"collide_with_areas]) и/или [PhysicsBody]s ([member collide_with_bodies]).\n"
+"Только включенные лучевые передачи смогут запрашивать пространство и "
+"сообщать о столкновениях.\n"
+"RayCast вычисляет пересечение каждый кадр физики (см. [Node]), и результат "
+"кэшируется, чтобы его можно было использовать позже, до следующего кадра. "
+"Если требуется несколько запросов между кадрами физики (или в течение одного "
+"кадра), используйте [метод force_raycast_update] после настройки рэйкаста."
#: doc/classes/RayCast.xml doc/classes/RayCast2D.xml
msgid ""
@@ -53281,6 +54259,22 @@ msgid ""
"queries are required between physics frames (or during the same frame) use "
"[method force_raycast_update] after adjusting the raycast."
msgstr ""
+"RayCast представляет собой линию от начала координат до места назначения, "
+"[code]cast_to[/code]. Он используется для запроса двумерного пространства с "
+"целью найти ближайший объект на пути луча.\n"
+"RayCast2D может игнорировать некоторые объекты, добавляя их в список "
+"исключений через [code]add_exception[/code], устанавливая правильную "
+"фильтрацию с помощью слоев столкновений или фильтруя типы объектов с помощью "
+"масок типов.\n"
+"RayCast2D может быть настроен на сообщение о столкновениях с [Area2D]s "
+"([member collide_with_areas]) и/или [PhysicsBody2D]s ([member "
+"collide_with_bodies]).\n"
+"Только включенные лучевые передачи смогут запрашивать пространство и "
+"сообщать о столкновениях.\n"
+"RayCast2D вычисляет пересечение каждый кадр физики (см. [Node]), и результат "
+"кэшируется, чтобы его можно было использовать позже, до следующего кадра. "
+"Если требуется несколько запросов между кадрами физики (или в течение одного "
+"кадра), используйте [метод force_raycast_update] после настройки рэйкаста."
#: doc/classes/RayCast2D.xml
msgid ""
@@ -53487,6 +54481,21 @@ msgid ""
"free references that are no longer in use. This means that unused references "
"will linger on for a while before being removed."
msgstr ""
+"Базовый класс для любого объекта, который ведет подсчет ссылок. [Resource] и "
+"многие другие вспомогательные объекты наследуют этот класс.\n"
+"В отличие от других типов [Object], ссылки ведут внутренний счетчик ссылок, "
+"поэтому они автоматически освобождаются, когда больше не используются, и "
+"только тогда. Поэтому ссылки не нужно освобождать вручную с помощью [метода "
+"Object.free].\n"
+"В подавляющем большинстве случаев инстанцирование и использование "
+"[Reference]-производных типов - это все, что вам нужно сделать. Методы, "
+"предоставляемые в этом классе, предназначены только для опытных "
+"пользователей и могут вызвать проблемы при неправильном использовании.\n"
+"[b]Примечание:[/b] В C# ссылки не освобождаются мгновенно после того, как "
+"они перестают использоваться. Вместо этого сборка мусора будет выполняться "
+"периодически и освобождать ссылки, которые больше не используются. Это "
+"означает, что неиспользуемые ссылки будут существовать некоторое время, "
+"прежде чем будут удалены."
#: doc/classes/Reference.xml
msgid ""
@@ -53789,17 +54798,28 @@ msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns a [RegExMatch] container "
-"of the first matching result if found, otherwise [code]null[/code]. The "
-"region to search within can be specified without modifying where the start "
-"and end anchor would be."
+"of the first matching result if found, otherwise [code]null[/code].\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
msgid ""
"Searches the text for the compiled pattern. Returns an array of [RegExMatch] "
"containers for each non-overlapping result. If no results were found, an "
-"empty array is returned instead. The region to search within can be "
-"specified without modifying where the start and end anchor would be."
+"empty array is returned instead.\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegEx.xml
@@ -53808,8 +54828,14 @@ msgid ""
"specified string. Escapes and backreferences such as [code]$1[/code] and "
"[code]$name[/code] are expanded and resolved. By default, only the first "
"instance is replaced, but it can be changed for all instances (global "
-"replacement). The region to search within can be specified without modifying "
-"where the start and end anchor would be."
+"replacement).\n"
+"The region to search within can be specified with [code]offset[/code] and "
+"[code]end[/code]. This is useful when searching for another match in the "
+"same [code]subject[/code] by calling this method again after a previous "
+"success. Setting these parameters differs from passing over a shortened "
+"string. For example, the start anchor [code]^[/code] is not affected by "
+"[code]offset[/code], and the character before [code]offset[/code] will be "
+"checked for the word boundary [code]\\b[/code]."
msgstr ""
#: modules/regex/doc_classes/RegExMatch.xml
@@ -53962,10 +54988,24 @@ msgid ""
"free resources that are no longer in use. This means that unused resources "
"will linger on for a while before being removed."
msgstr ""
+"Resource - это базовый класс для всех специфических для Godot типов "
+"ресурсов, служащих в основном в качестве контейнеров данных. Поскольку они "
+"наследуются от [Reference], ресурсы учитываются по ссылкам и освобождаются, "
+"когда больше не используются. Они также кэшируются после загрузки с диска, "
+"так что все последующие попытки загрузить ресурс по заданному пути будут "
+"возвращать ту же ссылку (в отличие от [Node], который не учитывается по "
+"ссылкам и может инстанцироваться с диска сколько угодно раз). Ресурсы могут "
+"быть сохранены на внешнем диске или вложены в другой объект, например, "
+"[Node] или другой ресурс.\n"
+"[b]Примечание:[/b] В C# ресурсы не будут освобождаться мгновенно после того, "
+"как они перестанут использоваться. Вместо этого сборка мусора будет "
+"выполняться периодически и освобождать ресурсы, которые больше не "
+"используются. Это означает, что неиспользуемые ресурсы будут существовать "
+"некоторое время, прежде чем будут удалены."
#: doc/classes/Resource.xml
msgid "Resources"
-msgstr ""
+msgstr "Ресурсы"
#: doc/classes/Resource.xml
msgid ""
@@ -54322,6 +55362,24 @@ msgid ""
"be used in most situations, leaving the use of [ResourceLoader] for more "
"advanced scenarios."
msgstr ""
+"Загружает ресурс по заданному [code]пути[/code] , кэшируя результат для "
+"последующего доступа.\n"
+"Зарегистрированные [ResourceFormatLoader]ы последовательно запрашиваются, "
+"чтобы найти первый, который может обрабатывать расширение файла, и затем "
+"выполняется попытка загрузки. Если загрузка не удалась, остальные "
+"ResourceFormatLoader'ы также будут опрошены.\n"
+"Необязательный [code]type_hint[/code] может быть использован для дальнейшего "
+"указания типа [Resource], который должен обрабатываться "
+"[ResourceFormatLoader]. В качестве подсказки типа можно использовать все, "
+"что наследуется от [Resource], например [Image].\n"
+"Если [code]no_cache[/code] is [code]true[/code], кэш ресурса будет обойден и "
+"ресурс будет загружен заново. В противном случае будет возвращен "
+"кэшированный ресурс, если он существует.\n"
+"Возвращает пустой ресурс, если ни один [ResourceFormatLoader] не смог "
+"обработать файл.\n"
+"GDScript имеет упрощенный встроенный метод [method @GDScript.load], который "
+"можно использовать в большинстве ситуаций, оставляя использование "
+"[ResourceLoader] для более сложных сценариев."
#: doc/classes/ResourceLoader.xml
msgid ""
@@ -55237,6 +56295,26 @@ msgid ""
"[ConcavePolygonShape]. Don't use multiple [CollisionShape]s when using a "
"[ConcavePolygonShape] with Bullet physics if you need shape indices."
msgstr ""
+"Выдается при столкновении одного из [Shape] этого RigidBody с другим "
+"[PhysicsBody] или [GridMap] [Shape]. Требуется, чтобы [member "
+"contact_monitor] был установлен в [code]true[/code] и [member "
+"contacts_reported] был установлен достаточно высоким, чтобы обнаружить все "
+"столкновения. [GridMap]ы обнаруживаются, если в [MeshLibrary] есть [Shape]ы "
+"столкновений.\n"
+"[code]body_rid[/code] [RID] другого [PhysicsBody] или [MeshLibrary] "
+"[CollisionObject], используемого [PhysicsServer].\n"
+"[code]body[/code] [Узел], если он существует в дереве, другого [PhysicsBody] "
+"или [GridMap].\n"
+"[code]body_shape_index[/code] индекс [Shape] другого [PhysicsBody] или "
+"[GridMap], используемого [PhysicsServer]. Получите узел [CollisionShape] с "
+"помощью [code]body.shape_owner_get_owner(body_shape_index)[/code].\n"
+"[code]local_shape_index[/code] индекс [Shape] этого RigidBody, используемый "
+"[PhysicsServer]. Получите узел [CollisionShape] с помощью [code]self."
+"shape_owner_get_owner(local_shape_index)[/code].\n"
+"[b]Примечание:[/b] Физика пули не может определить индекс формы при "
+"использовании [ConcavePolygonShape]. Не используйте несколько "
+"[CollisionShape] при использовании [ConcavePolygonShape] с физикой Bullet, "
+"если вам нужны индексы формы."
#: doc/classes/RigidBody.xml
msgid ""
@@ -55849,6 +56927,19 @@ msgid ""
"your room and object sizes, and movement speeds. The default value should "
"work reasonably in most circumstances."
msgstr ""
+"Чтобы уменьшить обработку данных для перемещаемых объектов, к их AABB "
+"применяется расширение по мере их перемещения. Этот расширенный объем "
+"используется для расчета комнат, в которых находится перемещаемый объект. "
+"Если точный AABB объекта все еще находится в пределах этого расширенного "
+"объема при следующем перемещении, нет необходимости повторно обрабатывать "
+"объект, что может сэкономить значительное количество CPU.\n"
+"Недостатком является то, что если расширение слишком велико, объект может "
+"неожиданно распространиться в соседние комнаты и появиться там, где в "
+"противном случае он мог бы быть удален.\n"
+"Чтобы сбалансировать производительность роуминга и точность выбраковки, этот "
+"запас расширения может быть настроен пользователем. Обычно он зависит от "
+"размеров комнат и объектов, а также от скорости передвижения. Значение по "
+"умолчанию должно работать разумно в большинстве случаев."
#: doc/classes/RoomManager.xml
msgid ""
@@ -55928,6 +57019,19 @@ msgid ""
"[code]extends RootMotionView[/code]. Additionally, it must not be a "
"[code]tool[/code] script."
msgstr ""
+"[i]Корневое движение[/i] относится к технике анимации, когда скелет сетки "
+"используется для придания импульса персонажу. При работе с 3D-анимацией "
+"популярной техникой является использование аниматорами корневой кости "
+"скелета для придания движения остальным частям скелета. Это позволяет "
+"анимировать персонажей таким образом, что шаги фактически соответствуют полу "
+"под ними. Это также позволяет точно взаимодействовать с объектами во время "
+"кинематографа. См. также [AnimationTree].\n"
+"[b]Примечание:[/b] [RootMotionView] виден только в редакторе. Он будет "
+"автоматически скрыт в работающем проекте, а также будет преобразован в "
+"обычный [Node] в работающем проекте. Это означает, что скрипт, прикрепленный "
+"к узлу [RootMotionView] [i]должен[/i] иметь [code]extends Node[/code] вместо "
+"[code]extends RootMotionView[/code]. Кроме того, он не должен быть скриптом "
+"[code]инструмента[/code]."
#: doc/classes/RootMotionView.xml
msgid "Using AnimationTree - Root motion"
@@ -56530,12 +57634,16 @@ msgid "Call a group immediately (calls are normally made on idle)."
msgstr ""
#: doc/classes/SceneTree.xml
-msgid "Call a group only once even if the call is executed many times."
+msgid ""
+"Call a group only once even if the call is executed many times.\n"
+"[b]Note:[/b] Arguments are not taken into account when deciding whether the "
+"call is unique or not. Therefore when the same method is called with "
+"different arguments, only the first call will be performed."
msgstr ""
#: doc/classes/SceneTree.xml
msgid "No stretching."
-msgstr ""
+msgstr "Не растягивать."
#: doc/classes/SceneTree.xml
msgid "Render stretching in higher resolution (interpolated)."
@@ -56579,7 +57687,7 @@ msgstr ""
#: doc/classes/SceneTreeTimer.xml
msgid "One-shot timer."
-msgstr ""
+msgstr "Таймер на один снимок."
#: doc/classes/SceneTreeTimer.xml
msgid ""
@@ -56769,6 +57877,23 @@ msgid ""
"will always return the final value, regardless of [code]elapsed_time[/code] "
"provided."
msgstr ""
+"Этот метод можно использовать для ручной интерполяции значения, когда вы не "
+"хотите, чтобы [SceneTreeTween] выполнял анимацию за вас. Он похож на [method "
+"@GDScript.lerp], но с поддержкой пользовательского перехода и смягчения.\n"
+"[code]initial_value[/code] - начальное значение интерполяции.\n"
+"[code]delta_value[/code] - это изменение значения в интерполяции, т.е. оно "
+"равно [code]final_value - initial_value[/code].\n"
+"[code]elapsed_time[/code] - это время в секундах, прошедшее после начала "
+"интерполяции, которое используется для контроля положения интерполяции. "
+"Например, если оно равно половине длительности [code][/code] , "
+"интерполированное значение будет находиться на полпути между начальным и "
+"конечным значениями. Это значение также может быть больше, чем "
+"[code]duration[/code] или меньше, чем 0, что приведет к экстраполяции "
+"значения.\n"
+"[code]duration[/code] - общее время интерполяции.\n"
+"[b]Примечание:[/b] Если [code]duration[/code] равно [code]0[/code], метод "
+"всегда будет возвращать конечное значение, независимо от [code]elapsed_time[/"
+"code] предоставленного значения."
#: doc/classes/SceneTreeTween.xml
msgid ""
@@ -57543,6 +58668,22 @@ msgid ""
"([code]shape_xform[/code]), and the movement to test onto the other object "
"([code]shape_motion[/code])."
msgstr ""
+"Возвращает список пар точек соприкосновения, где данная фигура могла бы "
+"коснуться другой, если бы было применено заданное движение.\n"
+"Если столкновений не будет, возвращаемый список пуст. В противном случае, "
+"возвращаемый список содержит попарно расположенные точки контакта, в которых "
+"чередуются точки на границе данной фигуры и точки на границе "
+"[code]with_shape[/code].\n"
+"Пара столкновений A, B может быть использована для вычисления нормали "
+"столкновения с помощью [code](B - A).normalized()[/code], и глубины "
+"столкновения с помощью [code](B - A).length()[/code]. Эта информация обычно "
+"используется для разделения фигур, особенно в решателях столкновений.\n"
+"Этому методу нужна матрица трансформации для данной фигуры "
+"([code]local_xform[/code]), движение для проверки этой фигуры "
+"([code]local_motion[/code]), фигура для проверки столкновений с ней "
+"([code]with_shape[/code]), матрица трансформации этой фигуры "
+"([code]shape_xform[/code]) и движение для проверки на другом объекте "
+"([code]shape_motion[/code])."
#: doc/classes/Shape2D.xml
msgid ""
@@ -57614,7 +58755,7 @@ msgstr ""
#: doc/classes/Skeleton.xml
msgid "[i]Deprecated soon.[/i]"
-msgstr ""
+msgstr "[i]Скоро будет устаревшим.[/i]"
#: doc/classes/Skeleton.xml
msgid "Clear all the bones in this skeleton."
@@ -58374,7 +59515,9 @@ msgid ""
"[b]Note:[/b] Mixed negative scales in 3D are not decomposable from the "
"transformation matrix. Due to the way scale is represented with "
"transformation matrices in Godot, the scale values will either be all "
-"positive or all negative."
+"positive or all negative.\n"
+"[b]Note:[/b] Not all nodes are visually scaled by the [member scale] "
+"property. For example, [Light]s are not visually affected by [member scale]."
msgstr ""
#: doc/classes/Spatial.xml
@@ -59756,7 +60899,10 @@ msgid ""
msgstr ""
#: doc/classes/SpotLight.xml
-msgid "The spotlight's angle in degrees."
+msgid ""
+"The spotlight's angle in degrees.\n"
+"[b]Note:[/b] [member spot_angle] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpotLight.xml
@@ -59772,7 +60918,9 @@ msgid ""
"The maximal range that can be reached by the spotlight. Note that the "
"effectively lit area may appear to be smaller depending on the [member "
"spot_attenuation] in use. No matter the [member spot_attenuation] in use, "
-"the light will never reach anything outside this range."
+"the light will never reach anything outside this range.\n"
+"[b]Note:[/b] [member spot_range] is not affected by [member Spatial.scale] "
+"(the light's scale or its parent's scale)."
msgstr ""
#: doc/classes/SpringArm.xml
@@ -60780,6 +61928,21 @@ msgid ""
"To get a boolean result from a string comparison, use the [code]==[/code] "
"operator instead. See also [method nocasecmp_to]."
msgstr ""
+"Выполняет сравнение с другой строкой с учетом регистра. Возвращает [code]-1[/"
+"code], если меньше, [code]1[/code], если больше, или [code]0[/code], если "
+"равно. \"Меньше\" или \"больше\" определяются [url=https://en.wikipedia.org/"
+"wiki/List_of_Unicode_characters]кодовыми точками Unicode[/url] каждой "
+"строки, что примерно соответствует алфавитному порядку.\n"
+"[b]Поведение при различной длине строки:[/b] Возвращает [code]1[/code], если "
+"\"базовая\" строка длиннее строк [code]-[/code] или [code]-1[/code], если "
+"\"базовая\" строка короче строк [code]-[/code]. Следует помнить, что длина "
+"определяется количеством кодовых точек Юникода, [i]а не[/i] реально видимых "
+"символов.\n"
+"[b]Поведение с пустыми строками:[/b] Возвращает [code]-1[/code], если "
+"\"базовая\" строка пуста, [code]1[/code], если строки [code]-[/code] пусты, "
+"или [code]0[/code], если обе строки пусты.\n"
+"Чтобы получить булев результат сравнения строк, используйте вместо этого "
+"оператор [code]==[/code]. См. также [метод nocasecmp_to]."
#: doc/classes/String.xml
msgid ""
@@ -61184,6 +62347,22 @@ msgid ""
"To get a boolean result from a string comparison, use the [code]==[/code] "
"operator instead. See also [method casecmp_to]."
msgstr ""
+"Выполняет сравнение с другой строкой без учета регистра. Возвращает "
+"[code]-1[/code], если меньше, [code]1[/code], если больше, или [code]0[/"
+"code], если равно. \"Меньше\" или \"больше\" определяется [url=https://en."
+"wikipedia.org/wiki/List_of_Unicode_characters]кодовыми точками Unicode[/url] "
+"каждой строки, что примерно соответствует алфавитному порядку. При сравнении "
+"символы нижнего регистра преобразуются в верхний регистр.\n"
+"[b]Поведение при различной длине строки:[/b] Возвращает [code]1[/code], если "
+"\"базовая\" строка длиннее, чем строки [code]-[/code] или [code]-1[/code], "
+"если \"базовая\" строка короче, чем строки [code]-[/code]. Следует помнить, "
+"что длина определяется количеством кодовых точек Юникода, [i]а не[/i] "
+"реально видимых символов.\n"
+"[b]Поведение с пустыми строками:[/b] Возвращает [code]-1[/code], если "
+"\"базовая\" строка пуста, [code]1[/code], если строки [code]-[/code] пусты, "
+"или [code]0[/code], если обе строки пусты.\n"
+"Чтобы получить булев результат сравнения строк, используйте вместо этого "
+"оператор [code]==[/code]. См. также [метод casecmp_to]."
#: doc/classes/String.xml
msgid "Returns the character code at position [code]at[/code]."
@@ -61273,6 +62452,24 @@ msgid ""
"print(some_array[1]) # Prints \"Four\"\n"
"[/codeblock]"
msgstr ""
+"Разделяет строку по [code]разделителю[/code] и возвращает массив подстрок, "
+"начиная справа.\n"
+"Разделители в возвращаемом массиве сортируются в том же порядке, что и "
+"исходная строка, слева направо.\n"
+"Если [code]allow_empty[/code] равен [code]true[/code], и в строке есть два "
+"соседних разделителя, то в массив подстрок в этой позиции будет добавлена "
+"пустая строка.\n"
+"Если указано [code]maxsplit[/code], то это определяет количество разбиений "
+"справа до [code]maxsplit[/code]. Значение по умолчанию 0 означает, что все "
+"элементы разделяются, что дает тот же результат, что и [method split].\n"
+"Пример:\n"
+"[codeblock].\n"
+"var some_string = \"One,Two,Three,Four\"\n"
+"var some_array = some_string.rsplit(\",\", true, 1)\n"
+"print(some_array.size()) # Печатает 2\n"
+"print(some_array[0]) # Печатает \"Один, два, три\"\n"
+"print(some_array[1]) # Печатает \"Four\"\n"
+"[/codeblock]"
#: doc/classes/String.xml
msgid ""
@@ -61341,6 +62538,26 @@ msgid ""
"If you need to split strings with more complex rules, use the [RegEx] class "
"instead."
msgstr ""
+"Разделяет строку по разделителю [code][/code] и возвращает массив подстрок. "
+"Разделитель [code][/code] может быть любой длины.\n"
+"Если [code]allow_empty[/code] равно [code]true[/code], и в строке есть два "
+"соседних разделителя, то в массив подстрок в этой позиции будет добавлена "
+"пустая строка.\n"
+"Если указано [code]maxsplit[/code], то это определяет количество разбиений "
+"слева до [code]maxsplit[/code]. Значение по умолчанию [code]0[/code] "
+"означает, что все элементы разделяются.\n"
+"Если вам нужен только один элемент из массива по определенному индексу, "
+"[метод get_slice] является более производительным вариантом.\n"
+"Пример:\n"
+"[codeblock].\n"
+"var some_string = \"One,Two,Three,Four\"\n"
+"var some_array = some_string.split(\",\", true, 1)\n"
+"print(some_array.size()) # Печатает 2\n"
+"print(some_array[0]) # Печатает \"Один\"\n"
+"print(some_array[1]) # Печатает \"Два, три, четыре\"\n"
+"[/codeblock].\n"
+"Если вам нужно разделить строки по более сложным правилам, используйте класс "
+"[RegEx]."
#: doc/classes/String.xml
msgid ""
@@ -62210,7 +63427,7 @@ msgstr ""
#: doc/classes/TabContainer.xml
msgid "Tabbed container."
-msgstr ""
+msgstr "Контейнер с вкладками."
#: doc/classes/TabContainer.xml
msgid ""
@@ -62464,7 +63681,7 @@ msgstr ""
#: doc/classes/Tabs.xml
msgid "Tabs control."
-msgstr ""
+msgstr "Управление вкладками."
#: doc/classes/Tabs.xml
msgid ""
@@ -62671,7 +63888,7 @@ msgstr ""
#: doc/classes/TCP_Server.xml
msgid "Stops listening."
-msgstr ""
+msgstr "Перестает слушать."
#: doc/classes/TCP_Server.xml
msgid ""
@@ -65704,7 +66921,7 @@ msgstr ""
#: doc/classes/TouchScreenButton.xml
msgid "Always visible."
-msgstr ""
+msgstr "Всегда видно."
#: doc/classes/TouchScreenButton.xml
msgid "Visible on touch screens only."
@@ -65972,7 +67189,7 @@ msgstr ""
#: doc/classes/Translation.xml
msgid "Language Translation."
-msgstr ""
+msgstr "Языковой перевод."
#: doc/classes/Translation.xml
msgid ""
@@ -67797,7 +69014,7 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid "Inconsistent parameters."
-msgstr ""
+msgstr "Несоответствующие параметры."
#: modules/upnp/doc_classes/UPNP.xml
msgid ""
@@ -67859,39 +69076,39 @@ msgstr ""
#: modules/upnp/doc_classes/UPNP.xml
msgid "Invalid gateway."
-msgstr ""
+msgstr "Неверный шлюз."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Invalid port."
-msgstr ""
+msgstr "Неверный порт."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Invalid protocol."
-msgstr ""
+msgstr "Неверный протокол."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Invalid duration."
-msgstr ""
+msgstr "Неверная продолжительность."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Invalid arguments."
-msgstr ""
+msgstr "Недопустимые аргументы."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Invalid response."
-msgstr ""
+msgstr "Неверный ответ."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Invalid parameter."
-msgstr ""
+msgstr "Недопустимый параметр."
#: modules/upnp/doc_classes/UPNP.xml modules/upnp/doc_classes/UPNPDevice.xml
msgid "HTTP error."
-msgstr ""
+msgstr "Ошибка HTTP."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Socket error."
-msgstr ""
+msgstr "Ошибка сокета."
#: modules/upnp/doc_classes/UPNP.xml
msgid "Error allocating memory."
@@ -67974,11 +69191,11 @@ msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid "Service type."
-msgstr ""
+msgstr "Тип услуг."
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid "OK."
-msgstr ""
+msgstr "OK."
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid "Empty HTTP response."
@@ -67994,15 +69211,15 @@ msgstr ""
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid "Disconnected."
-msgstr ""
+msgstr "Отключен."
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid "Unknown device."
-msgstr ""
+msgstr "Неизвестное устройство."
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid "Invalid control."
-msgstr ""
+msgstr "Неверный контроль."
#: modules/upnp/doc_classes/UPNPDevice.xml
msgid "Memory allocation error."
@@ -69302,10 +70519,15 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
"If [code]true[/code], uses a fast post-processing filter to make banding "
-"significantly less visible. In some cases, debanding may introduce a "
-"slightly noticeable dithering pattern. It's recommended to enable debanding "
-"only when actually needed since the dithering pattern will make lossless-"
-"compressed screenshots larger.\n"
+"significantly less visible in 3D. 2D rendering is [i]not[/i] affected by "
+"debanding unless the [member Environment.background_mode] is [constant "
+"Environment.BG_CANVAS]. In this case, [member usage] must also be set to "
+"[constant USAGE_3D]. See also [member ProjectSettings.rendering/quality/"
+"filters/use_debanding].\n"
+"In some cases, debanding may introduce a slightly noticeable dithering "
+"pattern. It's recommended to enable debanding only when actually needed "
+"since the dithering pattern will make lossless-compressed screenshots "
+"larger.\n"
"[b]Note:[/b] Only available on the GLES3 backend. [member hdr] must also be "
"[code]true[/code] for debanding to be effective."
msgstr ""
@@ -69316,8 +70538,8 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"If [code]true[/code], the viewport will disable 3D rendering. For actual "
-"disabling use [code]usage[/code]."
+"If [code]true[/code], the viewport will disable 3D rendering. To actually "
+"disable allocation of 3D buffers, set [member usage] instead."
msgstr ""
#: doc/classes/Viewport.xml
@@ -69472,7 +70694,9 @@ msgstr ""
#: doc/classes/Viewport.xml
msgid ""
-"The rendering mode of viewport.\n"
+"The viewport's rendering mode. This controls which buffers are allocated for "
+"the viewport (2D only, or 2D + 3D). 2D-only options can reduce memory usage "
+"and improve performance slightly, especially on low-end devices.\n"
"[b]Note:[/b] If set to [constant USAGE_2D] or [constant "
"USAGE_2D_NO_SAMPLING], [member hdr] will have no effect when enabled since "
"HDR is not supported for 2D."
@@ -70008,6 +71232,22 @@ msgid ""
"render object this [VisualInstance] is set to."
msgstr ""
+#: doc/classes/VisualInstance.xml
+msgid ""
+"The sorting offset used by this [VisualInstance]. Adjusting it to a higher "
+"value will make the [VisualInstance] reliably draw on top of other "
+"[VisualInstance]s that are otherwise positioned at the same spot."
+msgstr ""
+
+#: doc/classes/VisualInstance.xml
+msgid ""
+"If [code]true[/code], the object is sorted based on the [AABB] center. "
+"Sorted based on the global position otherwise.\n"
+"The [AABB] center based sorting is generally more accurate for 3D models. "
+"The position based sorting instead allows to better control the drawing "
+"order when working with [Particles] and [CPUParticles]."
+msgstr ""
+
#: modules/visual_script/doc_classes/VisualScript.xml
msgid "A script implemented in the Visual Script programming environment."
msgstr ""
@@ -71197,11 +72437,11 @@ msgstr ""
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid "Unity: [code]1[/code]."
-msgstr ""
+msgstr "Единство: [code]1[/code]."
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid "Pi: [code]3.141593[/code]."
-msgstr ""
+msgstr "Пи: [code]3.141593[/code]."
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid "Pi divided by two: [code]1.570796[/code]."
@@ -71209,7 +72449,7 @@ msgstr ""
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid "Tau: [code]6.283185[/code]."
-msgstr ""
+msgstr "Тау: [code]6.283185[/code]."
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid ""
@@ -71223,7 +72463,7 @@ msgstr ""
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid "Infinity: [code]inf[/code]."
-msgstr ""
+msgstr "Бесконечность: [code]inf[/code]."
#: modules/visual_script/doc_classes/VisualScriptMathConstant.xml
msgid "Not a number: [code]nan[/code]."
@@ -71525,7 +72765,7 @@ msgstr ""
#: modules/visual_script/doc_classes/VisualScriptSceneNode.xml
msgid "Node reference."
-msgstr ""
+msgstr "Ссылка на узел."
#: modules/visual_script/doc_classes/VisualScriptSceneNode.xml
msgid ""
@@ -71686,7 +72926,7 @@ msgstr ""
#: modules/visual_script/doc_classes/VisualScriptWhile.xml
msgid "Conditional loop."
-msgstr ""
+msgstr "Условный цикл."
#: modules/visual_script/doc_classes/VisualScriptWhile.xml
msgid ""
@@ -72329,7 +73569,7 @@ msgstr ""
#: doc/classes/VisualServer.xml
msgid "Synchronizes threads."
-msgstr ""
+msgstr "Синхронизирует потоки."
#: doc/classes/VisualServer.xml
msgid "Tries to free an object in the VisualServer."
@@ -73807,6 +75047,25 @@ msgid ""
"manually. For further optimization, see [method "
"viewport_set_render_direct_to_screen]."
msgstr ""
+"Копирует видовой экран в область экрана, указанную [code]rect[/code]. Если "
+"[member Viewport.render_direct_to_screen] равен [code]true[/code], то "
+"вьюпорт не использует фреймбуфер и содержимое вьюпорта выводится "
+"непосредственно на экран. Однако обратите внимание, что корневой видовой "
+"экран рисуется последним, поэтому он будет рисоваться поверх экрана. "
+"Соответственно, вы должны установить корневой видовой экран на область, "
+"которая не покрывает область, к которой вы прикрепили этот видовой экран.\n"
+"Например, вы можете установить корневой видовой экран так, чтобы он вообще "
+"не отрисовывался, используя следующий код:\n"
+"[codeblock].\n"
+"func _ready():\n"
+"\tget_viewport().set_attach_to_screen_rect(Rect2())\n"
+"\t$Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600))\n"
+"[/codeblock].\n"
+"Использование этого метода может привести к значительной оптимизации, "
+"особенно на устройствах низкого класса. Однако за это приходится "
+"расплачиваться необходимостью управлять видовыми экранами вручную. Для "
+"дальнейшей оптимизации смотрите [method "
+"viewport_set_render_direct_to_screen]."
#: doc/classes/VisualServer.xml
msgid ""
@@ -73914,6 +75173,19 @@ msgid ""
"will be drawn, no automatic scaling is possible, even if your game scene is "
"significantly larger than the window size."
msgstr ""
+"Если [code]true[/code], выведите содержимое видового экрана непосредственно "
+"на экран. Это позволяет выполнить низкоуровневую оптимизацию, при которой "
+"можно пропустить отрисовку видового экрана в корневой видовой экран. Хотя "
+"эта оптимизация может привести к значительному увеличению скорости (особенно "
+"на старых устройствах), она обходится недешево. Когда эта функция включена, "
+"вы не можете читать из области просмотра или из [code]SCREEN_TEXTURE[/code]. "
+"Вы также теряете преимущества некоторых настроек окна, таких как различные "
+"режимы растяжения. Еще одно последствие, о котором следует знать, это то, "
+"что в 2D рендеринг происходит в координатах окна, поэтому если у вас есть "
+"область просмотра, которая в два раза больше окна, и вы установите это, то "
+"будет отрисована только та часть, которая помещается в окно, автоматическое "
+"масштабирование невозможно, даже если ваша игровая сцена значительно больше, "
+"чем размер окна."
#: doc/classes/VisualServer.xml
msgid ""
@@ -76384,7 +77656,7 @@ msgstr "Возвращает значение, противоположное п
#: doc/classes/VisualShaderNodeVectorFunc.xml
msgid "Returns [code]1/vector[/code]."
-msgstr ""
+msgstr "Возвращает [code]1/вектор[/code]."
#: doc/classes/VisualShaderNodeVectorFunc.xml
msgid "Converts RGB vector to HSV equivalent."
@@ -76719,7 +77991,7 @@ msgstr ""
#: doc/classes/VSlider.xml
msgid "Vertical slider."
-msgstr ""
+msgstr "Вертикальный слайдер."
#: doc/classes/VSlider.xml
msgid ""