Godot Engine class reference - en to ru translation catalogue (1091 entries)

en: Description
ru: Описание

en: Tutorials
ru: Уроки

en: Properties
ru: Свойства

en: Methods
ru: Методы

en: Theme Properties
ru: Свойства темы

en: Signals
ru: Сигналы

en: Enumerations
ru: Перечисления

en: Constants
ru: Константы

en: Property Descriptions
ru: Описания свойств

en: Method Descriptions
ru: Описания методов

en: Theme Property Descriptions
ru: Описания свойств темы

en: Inherits:
ru: Наследует:

en: Inherited By:
ru: Унаследовано:

en: (overrides %s)
ru: (переопределяет %s)

en: Default
ru: По умолчанию

en: Setter
ru: Сеттер

en: value
ru: значение

en: Getter
ru: Геттер

en: This method should typically be overridden by the user to have any effect.
ru: Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.

en: This method has no side effects. It doesn't modify any of the instance's member variables.
ru: Этот метод не имеет побочных эффектов. Он не изменяет ни одного значения экземпляра класса.

en: This method accepts any number of arguments after the ones described here.
ru: Этот метод принимает любое количество аргументов после описанных здесь.

en: This method is used to construct a type.
ru: Этот метод используется для создания типа.

en: This method doesn't need an instance to be called, so it can be called directly using the class name.
ru: Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.

en: This method describes a valid operator to use with this type as left-hand operand.
ru: Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.

en: Built-in GDScript functions.
ru: Встроенные функции GDScript.

en: List of core built-in GDScript functions. Math functions and other utilities. Everything else is provided by objects. (Keywords: builtin, built in, global functions.)
ru: Список основных встроенных функций GDScript. Математические функции и другие утилиты. Всё остальное обеспечивается объектами. (Ключевые слова: встроенные, глобальные функции.)

en: Returns a color constructed from integer red, green, blue, and alpha channels. Each channel should have 8 bits of information ranging from 0 to 255.
    [code]r8[/code] red channel
    [code]g8[/code] green channel
    [code]b8[/code] blue channel
    [code]a8[/code] alpha channel
    [codeblock]
    red = Color8(255, 0, 0)
    [/codeblock]
ru: Возвращает цвет, построенный из целочисленных значений красного, зелёного, синего и альфа каналов. Каждый канал должен хранить 8 бит информации в диапазоне от 0 до 255.
    [code]r8[/code] — красный канал
    [code]g8[/code] — зелёный канал
    [code]b8[/code] — синий канал
    [code]a8[/code] — альфа канал
    [codeblock]
    red = Color8(255, 0, 0)
    [/codeblock]

en: Returns a color according to the standardized [code]name[/code] with [code]alpha[/code] ranging from 0 to 1.
    [codeblock]
    red = ColorN("red", 1)
    [/codeblock]
    Supported color names are the same as the constants defined in [Color].
ru: Возвращает цвет, соответствующий стандартизированному [code]name[/code] с [code]alpha[/code] в диапазоне от 0 до 1.
    [codeblock]
    red = ColorN("red", 1)
    [/codeblock]
    Поддерживаемые имена цветов совпадают с константами, определёнными в [Color].

en: Returns the absolute value of parameter [code]s[/code] (i.e. positive value).
    [codeblock]
    a = abs(-1) # a is 1
    [/codeblock]
ru: Возвращает абсолютное значение параметра [code]s[/code] (т.е. положительное значение).
    [codeblock]
    a = abs(-1) # a равно 1
    [/codeblock]

en: Returns the arc cosine of [code]s[/code] in radians. Use to get the angle of cosine [code]s[/code]. [code]s[/code] must be between [code]-1.0[/code] and [code]1.0[/code] (inclusive), otherwise, [method acos] will return [constant NAN].
    [codeblock]
    # c is 0.523599 or 30 degrees if converted with rad2deg(s)
    c = acos(0.866025)
    [/codeblock]
ru: Возвращает арккосинус числа [code]s[/code] в радианах. Используется для получения угла, косинус которого равен [code]s[/code]. [code]s[/code] должно быть между [code]-1.0[/code] и [code]1.0[/code] (включительно), в противном случае [method acos] вернет [constant NAN].
    [codeblock]
    # c равно 0.523599 или 30 градусов, если превращено с помощью rad2deg
    c = acos(0.866025)
    [/codeblock]

en: Returns the arc sine of [code]s[/code] in radians. Use to get the angle of sine [code]s[/code]. [code]s[/code] must be between [code]-1.0[/code] and [code]1.0[/code] (inclusive), otherwise, [method asin] will return [constant NAN].
    [codeblock]
    # s is 0.523599 or 30 degrees if converted with rad2deg(s)
    s = asin(0.5)
    [/codeblock]
ru: Возвращает арксинус числа [code]s[/code] в радианах. Используется для получения угла, синус которого равен [code]s[/code]. Число [code]s[/code] должно быть в промежутке между [code]-1.0[/code] и [code]1.0[/code] (включительно), иначе [method asin] вернет [constant NAN].
    [codeblock]
    # s равно 0.523599, или 30 градусов, если конвертировать с помощью rad2deg
    s = asin(0.5)
    [/codeblock]

en: Asserts that the [code]condition[/code] is [code]true[/code]. If the [code]condition[/code] is [code]false[/code], an error is generated. When running from the editor, the running project will also be paused until you resume it. This can be used as a stronger form of [method push_error] for reporting errors to project developers or add-on users.
    [b]Note:[/b] For performance reasons, the code inside [method assert] is only executed in debug builds or when running the project from the editor. Don't include code that has side effects in an [method assert] call. Otherwise, the project will behave differently when exported in release mode.
    The optional [code]message[/code] argument, if given, is shown in addition to the generic "Assertion failed" message. You can use this to provide additional details about why the assertion failed.
    [codeblock]
    # Imagine we always want speed to be between 0 and 20.
    var speed = -10
    assert(speed < 20) # True, the program will continue
    assert(speed >= 0) # False, the program will stop
    assert(speed >= 0 and speed < 20) # You can also combine the two conditional statements in one check
    assert(speed < 20, "speed = %f, but the speed limit is 20" % speed) # Show a message with clarifying details
    [/codeblock]
ru: Проверяет, что [code]condition[/code] равно [code]true[/code]. Если [code]condition[/code] равно [code]false[/code], будет сгенерирована ошибка. Если запущено из редактора, запущенный проект приостановится, пока вы не продолжите его. Это может быть использовано как более сильная форма [method push_error] для сообщения об ошибках разработчикам проекта или пользователям дополнений.
    [b]Примечание:[/b] В целях оптимизации код внутри [method assert] исполняется только в отладочных сборках или при запуске из редактора. Не добавляйте дополнительную логику в вызов [method assert]. В противном случае релизная сборка будет иметь иное поведение.
    Если задан необязательный аргумент [code]message[/code], то он будет показан в дополнении к сообщению "Assertion failed". Вы можете использовать его для предоставления дополнительных сведений о том, почему проверка была неудачной.
    [codeblock]
    # Предположим, что вы хотите, чтобы скорость (speed) была между 0 и 20.
    speed = -10
    assert(speed < 20) # True, программа продолжит выполнение
    assert(speed >= 0) # False, программа будет остановлена
    assert(speed >= 0 and speed < 20) # Вы можете комбинировать два условных выражения в одной проверке
    assert(speed < 20, "speed = %f, но лимит скорости равен 20" % speed) # Показывает сообщение с уточняющими деталями
    [/codeblock]

en: Returns the arc tangent of [code]s[/code] in radians. Use it to get the angle from an angle's tangent in trigonometry: [code]atan(tan(angle)) == angle[/code].
    The method cannot know in which quadrant the angle should fall. See [method atan2] if you have both [code]y[/code] and [code]x[/code].
    [codeblock]
    a = atan(0.5) # a is 0.463648
    [/codeblock]
ru: Возвращает арктангенс числа [code]s[/code] в радианах. Используется для получения угла по его тангенсу: [code]atan(tan(angle)) == angle[/code].
    Метод не может знать, в какой координатной четверти должен располагаться угол. Смотрите [method atan2], если у вас есть оба значения [code]у[/code] и [code]x[/code].
    [codeblock]
    a = atan(0.5) # a равно 0.463648
    [/codeblock]

en: Returns the arc tangent of [code]y/x[/code] in radians. Use to get the angle of tangent [code]y/x[/code]. To compute the value, the method takes into account the sign of both arguments in order to determine the quadrant.
    Important note: The Y coordinate comes first, by convention.
    [codeblock]
    a = atan2(0, -1) # a is 3.141593
    [/codeblock]
ru: Возвращает арктангенс числа [code]y/x[/code] в радианах. Используется для получения угла, тангенс которого равен [code]y/x[/code]. При вычислении значения метод учитывает знаки обоих аргументов для определения координатной четверти.
    Важное замечание: по общепринятым соглашениям, Y-координата указывается первой.
    [codeblock]
    a = atan2(0, -1) # a равно 3.141593
    [/codeblock]

en: Decodes a byte array back to a value. When [code]allow_objects[/code] is [code]true[/code] decoding objects is allowed.
    [b]WARNING:[/b] Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
ru: Декодирует массив байтов обратно в переменную. Если [code]allow_objects[/code] равно [code]true[/code], декодирование объектов разрешено.
    [b]ПРЕДУПРЕЖДЕНИЕ:[/b] десериализованный объект может содержать исполняемый код. Не используйте это опцию, если сериализованный объект получен из непроверенных источников, чтобы избежать потенциальных нарушений безопасности (удалённого выполнения кода).

en: Converts a 2D point expressed in the cartesian coordinate system (X and Y axis) to the polar coordinate system (a distance from the origin and an angle).
ru: Преобразует декартовы координаты 2D-точки (оси X и Y) в полярные (расстояние от начала координат и угол).

en: Rounds [code]s[/code] upward (towards positive infinity), returning the smallest whole number that is not less than [code]s[/code].
    [codeblock]
    a = ceil(1.45)  # a is 2.0
    a = ceil(1.001) # a is 2.0
    [/codeblock]
    See also [method floor], [method round], [method stepify], and [int].
ru: Округляет [code]s[/code] вверх (в сторону положительной бесконечности), возвращая наименьшее целое число, которое больше или равно [code]s[/code].
    [codeblock]
    a = ceil(1.45) # a равно 2.0
    a = ceil(1.001) # a равно 2.0
    [/codeblock]
    См. также [method floor], [method round], [method stepify] и [int].

en: Returns a character as a String of the given Unicode code point (which is compatible with ASCII code).
    [codeblock]
    a = char(65)      # a is "A"
    a = char(65 + 32) # a is "a"
    a = char(8364)    # a is "€"
    [/codeblock]
    This is the inverse of [method ord].
ru: Возвращает символ в виде строки из указанной кодовой позиции Unicode (совместимого с ASCII).
    [codeblock]
    a = char(65)      # a равно "A"
    a = char(65 + 32) # a равно "a"
    a = char(8364)    # a равно "€"
    [/codeblock]
    Это операция обратна [method ord].

en: Clamps [code]value[/code] and returns a value not less than [code]min[/code] and not more than [code]max[/code].
    [codeblock]
    a = clamp(1000, 1, 20) # a is 20
    a = clamp(-10, 1, 20)  # a is 1
    a = clamp(15, 1, 20)   # a is 15
    [/codeblock]
ru: Ограничивает [code]value[/code], возвращая значение не меньше [code]min[/code] и не больше [code]max[/code].
    [codeblock]
    a = clamp(1000, 1, 20) # вернёт 20
    a = clamp(-10, 1, 20)  # вернёт 1
    a = clamp(15, 1, 20)   # вернёт 15
    [/codeblock]

en: Converts from a type to another in the best way possible. The [code]type[/code] parameter uses the [enum Variant.Type] values.
    [codeblock]
    a = Vector2(1, 0)
    # Prints 1
    print(a.length())
    a = convert(a, TYPE_STRING)
    # Prints 6 as "(1, 0)" is 6 characters
    print(a.length())
    [/codeblock]
ru: Преобразует значение из одного типа в другой наилучшим возможным способом. Параметр [code]type[/code] использует значения из [enum Variant.Type].
    [codeblock]
    a = Vector2(1, 0)
    # Печатает 1
    print(a.length())
    a = convert(a, TYPE_STRING)
    # Печатает 6 т. к. "(1, 0)" состоит из 6 символов
    print(a.length())
    [/codeblock]

en: Returns the cosine of angle [code]s[/code] in radians.
    [codeblock]
    a = cos(TAU) # a is 1.0
    a = cos(PI)  # a is -1.0
    [/codeblock]
ru: Возвращает косинус угла [code]s[/code] в радианах.
    [codeblock]
    a = cos(TAU) # a = 1.0
    a = cos(PI) # a = -1.0
    [/codeblock]

en: Returns the hyperbolic cosine of [code]s[/code] in radians.
    [codeblock]
    print(cosh(1)) # Prints 1.543081
    [/codeblock]
ru: Возвращает гиперболический косинус угла [code]s[/code] в радианах.
    [codeblock]
    print(cosh(1)) # Выведет 1.543081
    [/codeblock]

en: Converts from decibels to linear energy (audio).
ru: Преобразует децибелы в линейную энергию (аудио).

en: Deprecated alias for [method step_decimals].
ru: Устаревший псевдоним для [method step_decimals].

en: [b]Note:[/b] [code]dectime[/code] has been deprecated and will be removed in Godot 4.0, please use [method move_toward] instead.
    Returns the result of [code]value[/code] decreased by [code]step[/code] * [code]amount[/code].
    [codeblock]
    a = dectime(60, 10, 0.1)) # a is 59.0
    [/codeblock]
ru: [b]Примечание:[/b] [code]dectime[/code] устарел и будет удален в Godot 4.0, пожалуйста, используйте [method move_toward] вместо него.
    Возвращает результат [code]value[/code], уменьшенный на [code]step[/code] * [code]amount[/code].
    [codeblock]
    a = dectime(60, 10, 0.1)) # вернёт59.0
    [/codeblock]

en: Compares two values by checking their actual contents, recursing into any [Array] or [Dictionary] up to its deepest level.
    This compares to [code]==[/code] in a number of ways:
    - For [code]null[/code], [code]int[/code], [code]float[/code], [code]String[/code], [code]Object[/code] and [code]RID[/code] both [code]deep_equal[/code] and [code]==[/code] work the same.
    - For [code]Dictionary[/code], [code]==[/code] considers equality if, and only if, both variables point to the very same [code]Dictionary[/code], with no recursion or awareness of the contents at all.
    - For [code]Array[/code], [code]==[/code] considers equality if, and only if, each item in the first [code]Array[/code] is equal to its counterpart in the second [code]Array[/code], as told by [code]==[/code] itself. That implies that [code]==[/code] recurses into [code]Array[/code], but not into [code]Dictionary[/code].
    In short, whenever a [code]Dictionary[/code] is potentially involved, if you want a true content-aware comparison, you have to use [code]deep_equal[/code].
ru: Сравнивает два значения, проверяя их фактическое содержимое, рекурсивно переходя в любой массив или словарь до самого глубокого уровня.
    Это можно сравнить с [code]==[/code] по нескольким причинам:
    - Для [code]null[/code], [code]int[/code], [code]float[/code], [code]String[/code], [code]Object[/code] и [code]RID[/code], [code]deep_equal[/code] и [code]==[/code] работают одинаково.
    - Для [code]Dictionary[/code], [code]==[/code] рассматривает равенство тогда, и только тогда, когда обе переменные указывают на один и тот же [code]Dictionary[/code], без рекурсии или просмотра содержимого вообще.
    - Для [code]Array[/code], [code]==[/code] считается равенством тогда, и только тогда, когда каждый элемент в первом [code]Array[/code] равен элементу во втором [code]Array[/code], как сообщает [code]==[/code]. Это означает, что [code]==[/code] рекурсивно переходит в [code]Array[/code], но не в [code]Dictionary[/code].
    Короче говоря, всякий раз, когда потенциально задействован [code]Dictionary[/code], если вам нужно истинное сравнение с учетом содержимого, вы должны использовать [code]deep_equal[/code].

en: Converts an angle expressed in degrees to radians.
    [codeblock]
    r = deg2rad(180) # r is 3.141593
    [/codeblock]
ru: Преобразует угол, выраженный в градусах, в радианы.
    [codeblock]
    r = deg2rad(180) # r = 3.141593
    [/codeblock]

en: Converts a dictionary (previously created with [method inst2dict]) back to an instance. Useful for deserializing.
ru: Преобразует словарь (ранее созданный с помощью [method inst2dict]) обратно в экземпляр объекта. Полезно для десериализации.

en: 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 exponent. The [code]curve[/code] can be any floating-point number, with specific values leading to the following behaviors:
    [codeblock]
    - Lower than -1.0 (exclusive): Ease in-out
    - 1.0: Linear
    - Between -1.0 and 0.0 (exclusive): Ease out-in
    - 0.0: Constant
    - Between 0.0 to 1.0 (exclusive): Ease out
    - 1.0: Linear
    - Greater than 1.0 (exclusive): Ease in
    [/codeblock]
    [url=https://raw.githubusercontent.com/godotengine/godot-docs/3.5/img/ease_cheatsheet.png]ease() curve values cheatsheet[/url]
    See also [method smoothstep]. If you need to perform more advanced transitions, use [Tween] or [AnimationPlayer].
ru: Возвращает "смягчённое" значение [code]x[/code] на основе функции смягчения, определенной с помощью [code]curve[/code]. Эта функция смягчения основана на экспоненте. [code]curve[/code] может быть любым числом с плавающей точкой, а конкретные значения приводят к следующему поведению:
    [codeblock]
    - Меньше -1,0 (не включая): Облегчение вхождения-выхождения
    - 1.0: Линейный
    - От -1,0 до 0,0 (не включая): Облегчение выхождения-вхождения
    - 0.0: Постоянный
    - От 0,0 до 1,0 (не включая): Облегчение выхождения(только выход)
    - 1.0: Линейный
    - Больше 1,0 (не включая): Облегчение вхождения(только вход)
    [/codeblock]
    [url=https://raw.githubusercontent.com/godotengine/godot-docs/3.4/img/ease_cheatsheet.png]ease() шпаргалка значений кривой[/url]
    См. также [method smoothstep]. Если вам нужно выполнить более сложные переходы, используйте [Tween] или [AnimationPlayer].

en: The natural exponential function. It raises the mathematical constant [b]e[/b] to the power of [code]s[/code] and returns it.
    [b]e[/b] has an approximate value of 2.71828, and can be obtained with [code]exp(1)[/code].
    For exponents to other bases use the method [method pow].
    [codeblock]
    a = exp(2) # Approximately 7.39
    [/codeblock]
ru: Экспонента. Возвращает математическую константу [b]e[/b], возведённую в степень [code]s[/code].
    Константа [b]e[/b] примерно равна 2.71828 и может быть получена через [code]exp(1)[/code].
    Для показательных функций с другими основаниями следует использовать метод [method pow].
    [codeblock]
    a = exp(2) # Примерно 7.39
    [/codeblock]

en: Rounds [code]s[/code] downward (towards negative infinity), returning the largest whole number that is not more than [code]s[/code].
    [codeblock]
    a = floor(2.45)  # a is 2.0
    a = floor(2.99)  # a is 2.0
    a = floor(-2.99) # a is -3.0
    [/codeblock]
    See also [method ceil], [method round], [method stepify], and [int].
    [b]Note:[/b] This method returns a float. If you need an integer and [code]s[/code] is a non-negative number, you can use [code]int(s)[/code] directly.
ru: Округляет [code]s[/code] вниз (в сторону отрицательной бесконечности), возвращая наибольшее целое число, которое не больше [code]s[/code].
    [codeblock]
    a = floor(2.45) # a равно 2.0
    a = floor(2.99) # a равно 2.0
    a = floor(-2.99) # a равно -3.0
    [/codeblock].
    См. также [method ceil], [method round], [method stepify] и [int].
    [b]Примечание:[/b] Этот метод возвращает float. Если вам нужно целое число и [code]s[/code] является неотрицательным числом, вы можете использовать [code]int(s)[/code] напрямую.

en: Returns the floating-point remainder of [code]a/b[/code], keeping the sign of [code]a[/code].
    [codeblock]
    r = fmod(7, 5.5) # r is 1.5
    [/codeblock]
    For the integer remainder operation, use the % operator.
ru: Возвращает значение с плавающей точкой остатка от деления [code]a/b[/code], сохраняя знак [code]a[/code].
    [codeblock]
    var remainder = fmod(7, 5.5) # remainder равно 1.5
    [/codeblock]
    Для получения целочисленного остатка используйте оператор %.

en: Returns the floating-point modulus of [code]a/b[/code] that wraps equally in positive and negative.
    [codeblock]
    for i in 7:
        var x = 0.5 * i - 1.5
        print("%4.1f %4.1f %4.1f" % [x, fmod(x, 1.5), fposmod(x, 1.5)])
    [/codeblock]
    Produces:
    [codeblock]
    -1.5 -0.0  0.0
    -1.0 -1.0  0.5
    -0.5 -0.5  1.0
     0.0  0.0  0.0
     0.5  0.5  0.5
     1.0  1.0  1.0
     1.5  0.0  0.0
    [/codeblock]
ru: Возвращает модуль с плавающей точкой числа [code]a/b[/code], которое одинаково обертывается в положительную и отрицательную части.
    [codeblock]
    for i in 7:
        var x = 0.5 * i - 1.5
        print("%4.1f %4.1f %4.1f %4.1f" % [x, fmod(x, 1.5), fposmod(x, 1.5)])
    [/codeblock].
    Производит:
    [codeblock]
    -1.5 -0.0 0.0
    -1.0 -1.0 0.5
    -0.5 -0.5 1.0
     0.0 0.0 0.0
     0.5 0.5 0.5
     1.0 1.0 1.0
     1.5 0.0 0.0
    [/codeblock]

en: Returns a reference to the specified function [code]funcname[/code] in the [code]instance[/code] node. As functions aren't first-class objects in GDscript, use [code]funcref[/code] to store a [FuncRef] in a variable and call it later.
    [codeblock]
    func foo():
        return("bar")
    
    a = funcref(self, "foo")
    print(a.call_func()) # Prints bar
    [/codeblock]
ru: Возвращает ссылку на указанную функцию [code]funcname[/code] в объекте [code]instance[/code]. Так как функции не являются объектами первого класса в GDScript, используйте [code]funcref[/code] для хранения [FuncRef] в переменной чтобы вызвать её позже.
    [codeblock]
    func foo():
        return("bar")
    
    a = funcref(self, "foo")
    print(a.call_func()) # Выводит bar
    [/codeblock]

en: Returns an array of dictionaries representing the current call stack. See also [method print_stack].
    [codeblock]
    func _ready():
        foo()
    
    func foo():
        bar()
    
    func bar():
        print(get_stack())
    [/codeblock]
    would print
    [codeblock]
    [{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]
    [/codeblock]
    [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.
ru: Возвращает массив словарей, представляющий текущий стек вызовов. См. также [method print_stack].
    [codeblock]
    func _ready():
    	foo()
    
    func foo():
    	bar()
    
    func bar():
    	print(get_stack())
    [/codeblock]
    выведет
    [codeblock]
    [{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]
    [/codeblock]
    [b]Примечание:[/b] [method get_stack] работает только при подключенном сервере отладки (например в редакторе). [method get_stack] не будет работать в проектах, экспортированных в режиме release или в проектах экспортированных в режиме debug, если они не подключены к серверу отладки.

en: Returns the integer hash of the variable passed.
    [codeblock]
    print(hash("a")) # Prints 177670
    [/codeblock]
ru: Возвращает целочисленный хеш переданной переменной.
    [codeblock]
    print(hash("a")) # Выводит 177670
    [/codeblock]

en: Returns the passed instance converted to a dictionary (useful for serializing).
    [codeblock]
    var foo = "bar"
    func _ready():
        var d = inst2dict(self)
        print(d.keys())
        print(d.values())
    [/codeblock]
    Prints out:
    [codeblock]
    [@subpath, @path, foo]
    [, res://test.gd, bar]
    [/codeblock]
ru: Возвращает переданный экземпляр, преобразованный в словарь (полезно для сериализации).
    [codeblock]
    var foo = "bar"
    func _ready():
        var d = inst2dict(self)
        print(d.keys())
        print(d.values())
    [/codeblock]
    Выводит:
    [codeblock]
    [@subpath, @path, foo]
    [, res://test.gd, bar]
    [/codeblock]

en: Returns the Object that corresponds to [code]instance_id[/code]. All Objects have a unique instance ID.
    [codeblock]
    var foo = "bar"
    func _ready():
        var id = get_instance_id()
        var inst = instance_from_id(id)
        print(inst.foo) # Prints bar
    [/codeblock]
ru: Возвращает объект, соответствующий [code]instance_id[/code]. Все объекты имеют уникальный идентификатор экземпляра.
    [codeblock]
    var foo = "bar"
    func _ready():
        var id = get_instance_id()
        var inst = instance_from_id(id)
        print(inst.foo) # Выведет bar
    [/codeblock]

en: Returns an interpolation or extrapolation factor considering the range specified in [code]from[/code] and [code]to[/code], and the interpolated value specified in [code]weight[/code]. The returned value will be between [code]0.0[/code] and [code]1.0[/code] if [code]weight[/code] is between [code]from[/code] and [code]to[/code] (inclusive). If [code]weight[/code] is located outside this range, then an extrapolation factor will be returned (return value lower than [code]0.0[/code] or greater than [code]1.0[/code]). Use [method clamp] on the result of [method inverse_lerp] if this is not desired.
    [codeblock]
    # The interpolation ratio in the `lerp()` call below is 0.75.
    var middle = lerp(20, 30, 0.75)
    # `middle` is now 27.5.
    # Now, we pretend to have forgotten the original ratio and want to get it back.
    var ratio = inverse_lerp(20, 30, 27.5)
    # `ratio` is now 0.75.
    [/codeblock]
    See also [method lerp] which performs the reverse of this operation, and [method range_lerp] to map a continuous series of values to another.
ru: Возвращает коэффициент интерполяции или экстраполяции с учетом диапазона, указанного в [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]).
    [codeblock]
    # Коэффициент интерполяции в приведённом ниже вызове `lerp()` составляет 0,75.
    var middle = lerp(20, 30, 0.75)
    # `middle ` теперь составляет 27,5.
    # Теперь мы делаем вид, что забыли первоначальное значение и хотим его узнать.
    var ratio = inverse_lerp(20, 30, 27.5)
    # `ratio` теперь 0.75.
    [/codeblock]
    Смотрите также [method lerp], который выполняет обратную операцию и [method range_lerp] для отображения последовательного ряда значений в другом.

en: Returns [code]true[/code] if [code]a[/code] and [code]b[/code] are approximately equal to each other.
    Here, approximately equal means that [code]a[/code] and [code]b[/code] are within a small internal epsilon of each other, which scales with the magnitude of the numbers.
    Infinity values of the same sign are considered equal.
ru: Возвращает [code]true[/code], если [code]a[/code] и [code]b[/code] приблизительно равны друг другу.
    Это значит, что [code]a[/code] и [code]b[/code] находятся в пределах небольшого внутреннего значения эпсилон, которое масштабируется в зависимости от величины чисел.
    Бесконечные значения одного знака считаются равными.

en: Returns whether [code]s[/code] is an infinity value (either positive infinity or negative infinity).
ru: Возвращает [code]true[/code], если значение [code]s[/code] является бесконечностью (положительной или отрицательной).

en: Returns whether [code]instance[/code] is a valid object (e.g. has not been deleted from memory).
ru: Возвращает, является ли [code]instance[/code] действительным объектом (т.е. он не был удалён из памяти).

en: Returns whether [code]s[/code] is a NaN ("Not a Number" or invalid) value.
ru: Возвращает, является ли [code]s[/code] значением NaN ("Not a Number" – не число или недопустимое значение).

en: Returns [code]true[/code] if [code]s[/code] is zero or almost zero.
    This method is faster than using [method is_equal_approx] with one value as zero.
ru: Возвращает [code]true[/code], если [code]s[/code] равен или приблизительно равен нулю.
    Этот метод работает быстрее, чем [method is_equal_approx] с нулём в качестве одного из значений.

en: Returns length of Variant [code]var[/code]. Length is the character count of String, element count of Array, size of Dictionary, etc.
    [b]Note:[/b] Generates a fatal error if Variant can not provide a length.
    [codeblock]
    a = [1, 2, 3, 4]
    len(a) # Returns 4
    [/codeblock]
ru: Возвращает длину переменной [code]var[/code]. Длина - это количество символов в строке, количество элементов в массиве, размер словаря и т.д.
    [b]Примечание:[/b] Генерирует фатальную ошибку, если переменная не может предоставить длину.
    [codeblock]
    a = [1, 2, 3, 4]
    len(a) # Возвращает 4
    [/codeblock]

en: Linearly interpolates between two values by the factor defined in [code]weight[/code]. To perform interpolation, [code]weight[/code] should be between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values outside this range are allowed and can be used to perform [i]extrapolation[/i]. Use [method clamp] on the result of [method lerp] if this is not desired.
    If the [code]from[/code] and [code]to[/code] arguments are of type [int] or [float], the return value is a [float].
    If both are of the same vector type ([Vector2], [Vector3] or [Color]), the return value will be of the same type ([code]lerp[/code] then calls the vector type's [code]linear_interpolate[/code] method).
    [codeblock]
    lerp(0, 4, 0.75) # Returns 3.0
    lerp(Vector2(1, 5), Vector2(3, 2), 0.5) # Returns Vector2(2, 3.5)
    [/codeblock]
    See also [method inverse_lerp] which performs the reverse of this operation. To perform eased interpolation with [method lerp], combine it with [method ease] or [method smoothstep]. See also [method range_lerp] to map a continuous series of values to another.
ru: Линейно интерполирует между двумя значениями с помощью коэффициента, определенного в [code]weight[/code]. Для выполнения интерполяции [code]weight[/code] должен быть между [code]0.0[/code] и [code]1.0[/code] (включительно). Однако значения за пределами этого диапазона разрешены и могут быть использованы для выполнения [i]экстраполяции[/i].
    Если аргументы [code]from[/code] и [code]to[/code] имеют тип [int] или [float], возвращаемое значение будет [float].
    Если оба значения имеют одинаковый векторный тип ([Vector2], [Vector3] или [Color]), возвращаемое значение будет одного типа ([code]lerp[/code], затем вызывается векторный тип [code]linear_interpolate[/code]).
    [codeblock]
    lerp(0, 4, 0.75) # Возвращает 3.0, формула: (0-75%) + (4-75%)
    lerp(Vector2(1, 5), Vector2(3, 2), 0.5) # Возвращает Vector2(2, 3.5), формула: ((1-50%)+(3-50%)), ((5-50%)+(2-50%))
    [/codeblock]

en: Linearly interpolates between two angles (in radians) by a normalized value.
    Similar to [method lerp], but interpolates correctly when the angles wrap around [constant @GDScript.TAU]. To perform eased interpolation with [method lerp_angle], combine it with [method ease] or [method smoothstep].
    [codeblock]
    extends Sprite
    var elapsed = 0.0
    func _process(delta):
        var min_angle = deg2rad(0.0)
        var max_angle = deg2rad(90.0)
        rotation = lerp_angle(min_angle, max_angle, elapsed)
        elapsed += delta
    [/codeblock]
    [b]Note:[/b] This method lerps through the shortest path between [code]from[/code] and [code]to[/code]. However, when these two angles are approximately [code]PI + k * TAU[/code] apart for any integer [code]k[/code], it's not obvious which way they lerp due to floating-point precision errors. For example, [code]lerp_angle(0, PI, weight)[/code] lerps counter-clockwise, while [code]lerp_angle(0, PI + 5 * TAU, weight)[/code] lerps clockwise.
ru: Линейная интерполяция между двумя углами (в радианах) по нормализованному значению.
    Аналогично [method lerp], но корректно интерполируется, когда углы оборачивают вокруг [constant @GDScript.TAU]. Чтобы выполнить упрощенную интерполяцию с помощью [method lerp_angle], объедините его с [method ease] или [method smoothstep].
    [codeblock]
    extends Sprite
    var elapsed = 0.0
    func _process(delta):
    	var min_angle = deg2rad(0.0)
    	var max_angle = deg2rad(90.0)
    	rotation = lerp_angle(min_angle, max_angle, elapsed)
    	elapsed += delta
    [/codeblock]
    [b]Примечание:[/b] Этот метод проходит через кратчайший путь между [code]from[/code] и [code]to[/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] оборачивается по часовой.

en: Converts from linear energy to decibels (audio). This can be used to implement volume sliders that behave as expected (since volume isn't linear). Example:
    [codeblock]
    # "Slider" refers to a node that inherits Range such as HSlider or VSlider.
    # Its range must be configured to go from 0 to 1.
    # Change the bus name if you'd like to change the volume of a specific bus only.
    AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Master"), linear2db($Slider.value))
    [/codeblock]
ru: Преобразует линейную энергию в децибелы (аудио). Этот метод может быть использован для реализации ползунков громкости, ведущих себя как ожидается (поскольку громкость нелинейна). Пример:
    [codeblock]
    # "Slider" должен быть узлом, наследующим Range, таким как HSlider или VSlider.
    # Его диапазон должен быть настроен от 0 до 1.
    # Измените имя шины, если вы хотите изменить громкость только определенной шины.
    AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Master"), linear2db($Slider.value))
    [/codeblock]

en: Natural logarithm. The amount of time needed to reach a certain level of continuous growth.
    [b]Note:[/b] This is not the same as the "log" function on most calculators, which uses a base 10 logarithm.
    [codeblock]
    log(10) # Returns 2.302585
    [/codeblock]
    [b]Note:[/b] The logarithm of [code]0[/code] returns [code]-inf[/code], while negative values return [code]-nan[/code].
ru: Натуральный логарифм. Количество времени, необходимое для достижения определенного уровня непрерывного роста.
    [b]Примечание:[/b] Это не то же самое, что функция "log" в большинстве калькуляторов, которая использует логарифм с основанием 10.
    [codeblock]
    log(10) # Возвращает 2.302585
    [/codeblock]
    [b]Примечание:[/b] Логарифм [code]0[/code] возвращает [code]-inf[/code], отрицательные значения возвращают [code]-nan[/code].

en: Returns the maximum of two values.
    [codeblock]
    max(1, 2) # Returns 2
    max(-3.99, -4) # Returns -3.99
    [/codeblock]
ru: Возвращает максимальное из двух значений.
    [codeblock]
    max(1, 2) # Возвращает 2
    max(-3.99, -4) # Возвращает -3.99
    [/codeblock]

en: Returns the minimum of two values.
    [codeblock]
    min(1, 2) # Returns 1
    min(-3.99, -4) # Returns -4
    [/codeblock]
ru: Возвращает минимальное из двух значений.
    [codeblock]
    min(1, 2) # Возвращает 1
    min(-3.99, -4) # Возвращает -4
    [/codeblock]

en: Moves [code]from[/code] toward [code]to[/code] by the [code]delta[/code] value.
    Use a negative [code]delta[/code] value to move away.
    [codeblock]
    move_toward(5, 10, 4) # Returns 9
    move_toward(10, 5, 4) # Returns 6
    move_toward(10, 5, -1.5) # Returns 11.5
    [/codeblock]
ru: Перемещает [code]from[/code] в направлении к [code]to[/code] на значение [code]delta[/code].
    Используйте отрицательные значения [code]delta[/code] для перемещения в обратную сторону.
    [codeblock]
    move_toward(5, 10, 4) # Возвращает 9
    move_toward(10, 5, 4) # Возвращает 6
    move_toward(10, 5, -1.5) # Возвращает 11.5
    [/codeblock]

en: Returns the nearest equal or larger power of 2 for integer [code]value[/code].
    In other words, returns the smallest value [code]a[/code] where [code]a = pow(2, n)[/code] such that [code]value <= a[/code] for some non-negative integer [code]n[/code].
    [codeblock]
    nearest_po2(3) # Returns 4
    nearest_po2(4) # Returns 4
    nearest_po2(5) # Returns 8
    
    nearest_po2(0) # Returns 0 (this may not be what you expect)
    nearest_po2(-1) # Returns 0 (this may not be what you expect)
    [/codeblock]
    [b]WARNING:[/b] Due to the way it is implemented, this function returns [code]0[/code] rather than [code]1[/code] for non-positive values of [code]value[/code] (in reality, 1 is the smallest integer power of 2).
ru: Возвращает ближайшее число, большее или равное степени двойки для целого [code]value[/code].
    Иными словами, возвращает наименьшее значение [code]a[/code], где [code]a = pow(2, n)[/code], такое, что [code]value <= a[/code] для некоторого неотрицательного [code]n[/code].
    [codeblock]
    nearest_po2(3) # Возвращает 4
    nearest_po2(4) # Возвращает 4
    nearest_po2(5) # Возвращает 8
    
    nearest_po2(0) # Возвращает 0 (это может быть не то, что вы ожидаете)
    nearest_po2(-1) # Возвращает 0 (это может быть не то, что вы ожидаете)
    [/codeblock]
    [b]ПРЕДУПРЕЖДЕНИЕ:[/b] Из-за способа реализации, данная функция возвращает [code]0[/code], а не [code]1[/code] для неположительных значений [code]value[/code] (в действительности, 1 — наименьшая целая степень 2).

en: Returns an integer representing the Unicode code point of the given Unicode character [code]char[/code].
    [codeblock]
    a = ord("A") # a is 65
    a = ord("a") # a is 97
    a = ord("€") # a is 8364
    [/codeblock]
    This is the inverse of [method char].
ru: Возвращает целое число, представляющее кодовую позицию Unicode данного Unicode-символа [code]char[/code].
    [codeblock]
    a = ord("A") # a равно 65
    a = ord("a") # a равно 97
    a = ord("€") # a равно 8364
    [/codeblock]
    Данная функция обратна [method char].

en: Parse JSON text to a Variant. (Use [method typeof] to check if the Variant's type is what you expect.)
    [b]Note:[/b] The JSON specification does not define integer or float types, but only a [i]number[/i] type. Therefore, parsing a JSON text will convert all numerical values to [float] types.
    [b]Note:[/b] JSON objects do not preserve key order like Godot dictionaries, thus, you should not rely on keys being in a certain order if a dictionary is constructed from JSON. In contrast, JSON arrays retain the order of their elements:
    [codeblock]
    var p = JSON.parse('["hello", "world", "!"]')
    if typeof(p.result) == TYPE_ARRAY:
        print(p.result[0]) # Prints "hello"
    else:
        push_error("Unexpected results.")
    [/codeblock]
    See also [JSON] for an alternative way to parse JSON text.
ru: Разбирает строку JSON в значение типа Variant. (Используйте [method typeof] чтобы проверить, соответствует ли полученный тип ожидаемому.)
    [b]Примечание:[/b] Спецификация JSON не определяет типы integer и float, только тип [i]number[/i]. Таким образом, при разборе строки JSON все числовые значения будут преобразованы в тип [float].
    [b]Примечание:[/b] JSON-объекты не сохраняют порядок ключей как словари Godot, поэтому вы не должны полагаться на порядок следования ключей, если словарь получен из JSON. Массивы JSON, напротив, сохраняют порядок своих элементов:
    [codeblock]
    var p = JSON.parse('["hello", "world", "!"]')
    if typeof(p.result) == TYPE_ARRAY:
        print(p.result[0]) # Выведет "hello"
    else:
        push_error("Неожиданный результат.")
    [/codeblock]
    См. также [JSON] в качестве альтернативного способа разбора JSON.

en: Converts a 2D point expressed in the polar coordinate system (a distance from the origin [code]r[/code] and an angle [code]th[/code]) to the cartesian coordinate system (X and Y axis).
ru: Преобразует 2D точку из полярной системы координат (расстояние от начала координат [code]r[/code] и угол [code]th[/code]), в декартову систему координат (оси X и Y).

en: Returns the integer modulus of [code]a/b[/code] that wraps equally in positive and negative.
    [codeblock]
    for i in range(-3, 4):
        print("%2d %2d %2d" % [i, i % 3, posmod(i, 3)])
    [/codeblock]
    Produces:
    [codeblock]
    -3  0  0
    -2 -2  1
    -1 -1  2
     0  0  0
     1  1  1
     2  2  2
     3  0  0
    [/codeblock]
ru: Возвращает целочисленный модуль [code]a/b[/code], который одинаково переносится как в положительный, так и в отрицательный.
    [codeblock]
    for i in range(-3, 4):
        print("%2d %2d %2d" % [i, i % 3, posmod(i, 3)])
    [/codeblock]
    Produces:
    [codeblock]
    -3  0  0
    -2 -2  1
    -1 -1  2
     0  0  0
     1  1  1
     2  2  2
     3  0  0
    [/codeblock]

en: Returns the result of [code]base[/code] raised to the power of [code]exp[/code].
    [codeblock]
    pow(2, 5) # Returns 32.0
    [/codeblock]
ru: Возвращает результат возведения числа [code]x[/code] в степени [code]y[/code].
    [codeblock]
    pow(2, 5) # Возвращает 32.0
    [/codeblock]

en: Returns a [Resource] from the filesystem located at [code]path[/code]. The resource is loaded during script parsing, i.e. is loaded with the script and [method preload] effectively acts as a reference to that resource. Note that the method requires a constant path. If you want to load a resource from a dynamic/variable path, use [method load].
    [b]Note:[/b] Resource paths can be obtained by right clicking on a resource in the Assets Panel and choosing "Copy Path" or by dragging the file from the FileSystem dock into the script.
    [codeblock]
    # Instance a scene.
    var diamond = preload("res://diamond.tscn").instance()
    [/codeblock]
ru: Возвращает [Resource], расположенный по пути [code]path[/code] в файловой системе. Ресурс загружается во время разбора скрипта, т.е. загружается вместе со скриптом и [method preload] работает также эффективно, как ссылка на этот ресурс. Обратите внимание, что этот метод требует постоянный путь. Если вы хотите загрузить ресурс по динамическому/переменному пути, используйте [method load].
    [b]Примечание:[/b] Пути ресурсов можно получить, щёлкнув правой кнопкой мыши на ресурсе в панели ресурсов и выбрав "Копировать путь", или перетащив файл из панели "Файловая система" в скрипт.
    [codeblock]
    # Создание экземпляра сцены.
    var diamond = preload("res://diamond.tscn").instance()
    [/codeblock]

en: Converts one or more arguments of any type to string in the best way possible and prints them to the console.
    [codeblock]
    a = [1, 2, 3]
    print("a", "=", a) # Prints a=[1, 2, 3]
    [/codeblock]
    [b]Note:[/b] Consider using [method push_error] and [method push_warning] to print error and warning messages instead of [method print]. This distinguishes them from print messages used for debugging purposes, while also displaying a stack trace when an error or warning is printed.
ru: Конвертирует наилучшим образом один или более аргументов любого типа в строку и выводит результат в консоль.
    [codeblock]
    a = [1, 2, 3]
    print("a", "=", a) # Выведет a=[1, 2, 3]
    [/codeblock]
    [b]Примечание:[/b] Желательно использовать [method push_error] и [method push_warning] для вывода ошибок и предупреждений, вместо [method print]. Это поможет отличать их от отладочных сообщений, a также отображается трассировка стека при печати ошибки или предупреждения.

en: Like [method print], but includes the current stack frame when running with the debugger turned on.
    Output in the console would look something like this:
    [codeblock]
    Test print
       At: res://test.gd:15:_process()
    [/codeblock]
ru: Как [method print], но включает в себя текущий кадр стека когда запушен с включенным отладчиком.
    Вывод в консоли будет выглядеть примерно так:
    [codeblock]
    Test print
       At: res://test.gd:15:_process()
    [/codeblock]

en: Prints a stack trace at the current code location. See also [method get_stack].
    Output in the console would look something like this:
    [codeblock]
    Frame 0 - res://test.gd:16 in function '_process'
    [/codeblock]
    [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.
ru: Выводит стек вызовов из текущей функции. Смотрите также: [method get_stack].
    Вывод в консоли будет примерно таким:
    [codeblock]
    Frame 0 - res://test.gd:16 in function '_process'
    [/codeblock]
    [b]Примечание:[/b] [method print_stack] работает только при подключенном сервере отладки (например в редакторе). [method print_stack] не будет работать в проектах, экспортированных в режиме release или в проектах экспортированных в режиме debug, если они не подключены к серверу отладки.

en: Prints one or more arguments to strings in the best way possible to standard error line.
    [codeblock]
    printerr("prints to stderr")
    [/codeblock]
ru: Выводит один или более аргументов наилучшим возможным способом в стандартную строку ошибки.
    [codeblock]
    printerr("prints to stderr")
    [/codeblock]

en: Prints one or more arguments to strings in the best way possible to console. No newline is added at the end.
    [codeblock]
    printraw("A")
    printraw("B")
    # Prints AB
    [/codeblock]
    [b]Note:[/b] Due to limitations with Godot's built-in console, this only prints to the terminal. If you need to print in the editor, use another method, such as [method print].
ru: Напечатать один или несколько аргументов наилучшим возможным образом в консоль. Новая строка не добавляется в конец.
    [codeblock]
    printraw("A")
    printraw("B")
    # Выводит AB
    [/codeblock]
    [b]Примечание:[/b] В связи с ограничениями встроенной консоли Godot, печатает только на терминал. При необходимости печати в редакторе, используйте другой метод, например [method print].

en: Prints one or more arguments to the console with a space between each argument.
    [codeblock]
    prints("A", "B", "C") # Prints A B C
    [/codeblock]
ru: Выводит в консоль один или более аргументов с пробелами между ними.
    [codeblock]
    prints("A", "B", "C") # Выводит A B C
    [/codeblock]

en: Prints one or more arguments to the console with a tab between each argument.
    [codeblock]
    printt("A", "B", "C") # Prints A       B       C
    [/codeblock]
ru: Выводит один или несколько аргументов в консоль с табуляцией между каждым аргументом.
    [codeblock].
    printt("A", "B", "C") # Выводит A	B	C
    [/codeblock]

en: Pushes an error message to Godot's built-in debugger and to the OS terminal.
    [codeblock]
    push_error("test error") # Prints "test error" to debugger and terminal as error call
    [/codeblock]
    [b]Note:[/b] Errors printed this way will not pause project execution. To print an error message and pause project execution in debug builds, use [code]assert(false, "test error")[/code] instead.
ru: Выводит сообщение об ошибке во встроенный отладчик Godot и на терминал ОС.
    [codeblock].
    push_error("test error") # Выводит "test error" в отладчик и терминал как вызов ошибки
    [/codeblock]
    [b]Примечание:[/b] Ошибки выведенные таким способом не приостанавливают выполнение проекта. Что бы вывести сообщение об ошибке и приостановить выполнение проекта в отладочных сборках - используйте [code]assert(false, "test error")[/code].

en: Pushes a warning message to Godot's built-in debugger and to the OS terminal.
    [codeblock]
    push_warning("test warning") # Prints "test warning" to debugger and terminal as warning call
    [/codeblock]
ru: Отправляет предупреждающее сообщение во встроенный отладчик Godot и на терминал ОС.
    [codeblock]
    push_warning("test warning") # Выводит "test warning" в отладчик и на терминал как вызов предупреждения
    [/codeblock]

en: Converts an angle expressed in radians to degrees.
    [codeblock]
    rad2deg(0.523599) # Returns 30.0
    [/codeblock]
ru: Преобразует угол, выраженный в радианах, в градусы.
    [codeblock]
    rad2deg(0.523599) # Возвращает 30.0
    [/codeblock]

en: Returns a random floating point value between [code]from[/code] and [code]to[/code] (both endpoints inclusive).
    [codeblock]
    prints(rand_range(0, 1), rand_range(0, 1)) # Prints e.g. 0.135591 0.405263
    [/codeblock]
    [b]Note:[/b] This is equivalent to [code]randf() * (to - from) + from[/code].
ru: Возвращает случайное значение с плавающей запятой между [code]from[/code] и [code]to[/code] (включительно).
    [codeblock]
    prints(rand_range(0, 1), rand_range(0, 1)) # Выведет, например, 0.135591 0.405263
    [/codeblock]
    [b]Примечание:[/b] Это эквивалентно [code]randf() * (to - from) + from[/code].

en: Random from seed: pass a [code]seed[/code], and an array with both number and new seed is returned. "Seed" here refers to the internal state of the pseudo random number generator. The internal state of the current implementation is 64 bits.
ru: Случайное из зерна: возвращает массив со случайным числом и новым зерном на основе переданного [code]seed[/code]. "Зерно" означает внутреннее состояние псевдо-случайного генератора чисел. В текущей реализации оно представлено 64-битным числом.

en: Returns a random floating point value on the interval [code][0, 1][/code].
    [codeblock]
    randf() # Returns e.g. 0.375671
    [/codeblock]
ru: Возвращает случайное значение с плавающей запятой в интервале [code][0, 1][/code].
    [codeblock]
    randf() # Возвращает, напр., 0.375671
    [/codeblock]

en: Returns a random unsigned 32-bit integer. Use remainder to obtain a random value in the interval [code][0, N - 1][/code] (where N is smaller than 2^32).
    [codeblock]
    randi()           # Returns random integer between 0 and 2^32 - 1
    randi() % 20      # Returns random integer between 0 and 19
    randi() % 100     # Returns random integer between 0 and 99
    randi() % 100 + 1 # Returns random integer between 1 and 100
    [/codeblock]
ru: Возвращает случайное беззнаковое 32-битное целое. Используйте остаток, чтобы получить случайное значение в интервале [code][0, N - 1][/code] (где N меньше чем 2^32).
    [codeblock]
    randi()           # Возвращает случайное целое между 0 и 2^32 - 1
    randi() % 20      # Возвращает случайное целое между 0 и 19
    randi() % 100     # Возвращает случайное целое между 0 и 99
    randi() % 100 + 1 # Возвращает случайное целое между 1 и 100
    [/codeblock]

en: Randomizes the seed (or the internal state) of the random number generator. Current implementation reseeds using a number based on time.
    [codeblock]
    func _ready():
        randomize()
    [/codeblock]
ru: Рандомизирует начальное зерно (или внутреннее состояние) генератора случайных чисел. Текущая реализация выбирает новое зерно, используя число, зависящее от времени.
    [codeblock]
    func _ready():
        randomize()
    [/codeblock]

en: Returns an array with the given range. [method range] can be called in three ways:
    [code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is [b]exclusive[/b].
    [code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], respectively.
    [code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], increases/decreases by steps of [code]s[/code], and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is [code]0[/code], an error message is printed.
    [method range] converts all arguments to [int] before processing.
    [b]Note:[/b] Returns an empty array if no value meets the value constraint (e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).
    Examples:
    [codeblock]
    print(range(4))        # Prints [0, 1, 2, 3]
    print(range(2, 5))     # Prints [2, 3, 4]
    print(range(0, 6, 2))  # Prints [0, 2, 4]
    print(range(4, 1, -1)) # Prints [4, 3, 2]
    [/codeblock]
    To iterate over an [Array] backwards, use:
    [codeblock]
    var array = [3, 6, 9]
    for i in range(array.size(), 0, -1):
        print(array[i - 1])
    [/codeblock]
    Output:
    [codeblock]
    9
    6
    3
    [/codeblock]
ru: Возвращает массив с заданным диапазоном. [method range] может быть вызван тремя способами:
    [code]range(n: int)[/code]: Начинается с 0, увеличивается с шагом в 1 и останавливается [i]перед[/i] [code]n[/code]. Аргумент [code]n[/code] это [b]эксклюзив[/b].
    [code]range(b: int, n: int)[/code]: Начинается с [code]b[/code], увеличивается с шагом в 1 и останавливается [i]перед[/i] [code]n[/code]. Аргументы [code]b[/code] и [code]n[/code] это [b]инклюзив[/b] и [b]эксклюзив[/b], соответственно.
    [code]range(b: int, n: int, s: int)[/code]: Начинается с [code]b[/code], увеличивается/уменьшается с шагом [code]s[/code], и останавливается [i]перед[/i] [code]n[/code]. Аргументы [code]b[/code] и [code]n[/code] это [b]инклюзив[/b] и [b]эксклюзив[/b], соответственно. Аргумент [code]s[/code] [b]может[/b] быть негативным, но не [code]0[/code]. Если [code]s[/code] это [code]0[/code], будет выведено сообщение об ошибке.
    [method range] преобразует все аргументы в [int] перед обработкой.
    [b]Примечание:[/b] Возвращает пустой массив, если ни одно значение не удовлетворяет ограничению на значение (e.g. [code]range(2, 5, -1)[/code] или [code]range(5, 5, 1)[/code]).
    Примеры:
    [codeblock]
    print(range(4))        # Выведет [0, 1, 2, 3]
    print(range(2, 5))     # Выведет [2, 3, 4]
    print(range(0, 6, 2))  # Выведет [0, 2, 4]
    print(range(4, 1, -1)) # Выведет [4, 3, 2]
    [/codeblock]
    Чтобы выполнить итерацию по [Array] в обратном порядке, используйте:
    [codeblock]
    var array = [3, 6, 9]
    for i in range(array.size(), 0, -1):
        print(array[i - 1])
    [/codeblock]
    Вывод:
    [codeblock]
    9
    6
    3
    [/codeblock]

en: Maps a [code]value[/code] from range [code][istart, istop][/code] to [code][ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If [code]value[/code] is outside [code][istart, istop][/code], then the resulting value will also be outside [code][ostart, ostop][/code]. Use [method clamp] on the result of [method range_lerp] if this is not desired.
    [codeblock]
    range_lerp(75, 0, 100, -1, 1) # Returns 0.5
    [/codeblock]
    For complex use cases where you need multiple ranges, consider using [Curve] or [Gradient] instead.
ru: Ограничивает [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]
    [codeblock]
    range_lerp(75, 0, 100, -1, 1) # Возвращает 0.5
    [/codeblock]
    Для случаев где вам нужно несколько диапазонов, используйте [Curve] или [Gradient].

en: Rounds [code]s[/code] to the nearest whole number, with halfway cases rounded away from zero.
    [codeblock]
    a = round(2.49) # a is 2.0
    a = round(2.5)  # a is 3.0
    a = round(2.51) # a is 3.0
    [/codeblock]
    See also [method floor], [method ceil], [method stepify], and [int].
ru: Округляет [code]s[/code] к ближайшему целому числу, при этом 0.5 округляется в большую сторону.
    [codeblock]
    a = round(2.49) # Возвращает 2.0
    a = round(2.5)	# Возвращает 3.0
    a = round(2.51) # Возвращает 3.0
    [/codeblock]
    См. также[method floor], [method ceil], [method stepify], и [int].

en: Sets seed for the random number generator.
    [codeblock]
    my_seed = "Godot Rocks"
    seed(my_seed.hash())
    [/codeblock]
ru: Задаёт зерно для генератора случайных чисел.
    [codeblock]
    my_seed = "Godot Rocks"
    seed(my_seed.hash())
    [/codeblock]

en: Returns the sign of [code]s[/code]: -1 or 1. Returns 0 if [code]s[/code] is 0.
    [codeblock]
    sign(-6) # Returns -1
    sign(0)  # Returns 0
    sign(6)  # Returns 1
    [/codeblock]
ru: Возвращает знак [code]s[/code]: -1 или 1. Возвращает 0 если [code]s[/code] равно 0.
    [codeblock]
    sign(-6) # Возвращает -1
    sign(0)  # Возвращает 0
    sign(6)  # Возвращает 1
    [/codeblock]

en: Returns the sine of angle [code]s[/code] in radians.
    [codeblock]
    sin(0.523599) # Returns 0.5
    [/codeblock]
ru: Возвращает синус угла [code]s[/code], заданного в радианах.
    [codeblock]
    sin(0.523599) # Возвращает 0.5
    [/codeblock]

en: Returns the hyperbolic sine of [code]s[/code].
    [codeblock]
    a = log(2.0) # Returns 0.693147
    sinh(a) # Returns 0.75
    [/codeblock]
ru: Возвращает гиперболический синус [code]s[/code].
    [codeblock]
    a = log(2.0) # Возвращает 0.693147
    sinh(a) # Возвращает 0.75
    [/codeblock]

en: 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] lies with respect to the edges [code]from[/code] and [code]to[/code].
    The return value is [code]0[/code] if [code]s <= from[/code], and [code]1[/code] if [code]s >= to[/code]. If [code]s[/code] lies between [code]from[/code] and [code]to[/code], the returned value follows an S-shaped curve that maps [code]s[/code] between [code]0[/code] and [code]1[/code].
    This S-shaped curve is the cubic Hermite interpolator, given by [code]f(y) = 3*y^2 - 2*y^3[/code] where [code]y = (x-from) / (to-from)[/code].
    [codeblock]
    smoothstep(0, 2, -5.0) # Returns 0.0
    smoothstep(0, 2, 0.5) # Returns 0.15625
    smoothstep(0, 2, 1.0) # Returns 0.5
    smoothstep(0, 2, 2.0) # Returns 1.0
    [/codeblock]
    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].
    [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]
ru: Возвращает результат плавной интерполяции значения [code]s[/code] между [code]0[/code] и [code]1[/code], в зависимости от того, где находится [code]s[/code] относительно [code]from[/code] и [code]to[/code].
    Возвращаемое значение равно [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].
    S-образная кривая является кубическим эрмитовым сплайном, заданным функцией [code]f(y) = 3*y^2 - 2*y^3[/code], где [code]y = (x-from) / (to-from)[/code].
    [codeblock]
    smoothstep(0, 2, -5.0) # Возвращает 0.0
    smoothstep(0, 2, 0.5) # Возвращает 0.15625
    smoothstep(0, 2, 1.0) # Возвращает 0.5
    smoothstep(0, 2, 2.0) # Возвращает 1.0
    [/codeblock]
    В сравнении с [method ease] со значение кривой [code]-1.6521[/code], [method smoothstep] возвращает наиболее плавную кривую без внезапных изменений производной. Если вам нужно выполнить более продвинутые перемещения, используйте [Tween] или [AnimationPlayer].
    [url=https://raw.githubusercontent.com/godotengine/godot-docs/3.5/img/smoothstep_ease_comparison.png]Сравнение возвращаемых значений smoothstep() и ease(x, -1.6521)[/url]

en: Returns the square root of [code]s[/code], where [code]s[/code] is a non-negative number.
    [codeblock]
    sqrt(9) # Returns 3
    [/codeblock]
    [b]Note:[/b] Negative values of [code]s[/code] return NaN. If you need negative inputs, use [code]System.Numerics.Complex[/code] in C#.
ru: Возвращает квадратный корень [code]s[/code], где [code]s[/code] — неотрицательное число.
    [codeblock]
    sqrt(9) # Возвращает 3
    [/codeblock]
    [b]Примечание:[/b] Отрицательные значения [code]s[/code] возвращают NaN. Если вам нужны отрицательные входные данные, используйте [code]System.Numerics.Complex[/code] в C#.

en: 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 implementation.
    [codeblock]
    n = step_decimals(5)           # n is 0
    n = step_decimals(1.0005)      # n is 4
    n = step_decimals(0.000000005) # n is 9
    [/codeblock]
ru: Возвращает позицию первой ненулевой цифры после десятичной точки. Обратите внимание, что максимальное возвращаемое значение – это 10, что является проектным решением при реализации.
    [codeblock]
    n = step_decimals(5)                         # n равно 0
    n = step_decimals(1.0005)              # n равно 4
    n = step_decimals(0.000000005) # n равно 9
    [/codeblock]

en: Snaps float value [code]s[/code] to a given [code]step[/code]. This can also be used to round a floating point number to an arbitrary number of decimals.
    [codeblock]
    stepify(100, 32) # Returns 96.0
    stepify(3.14159, 0.01) # Returns 3.14
    [/codeblock]
    See also [method ceil], [method floor], [method round], and [int].
ru: Привязывает значение с плавающей точкой [code]s[/code] к указанному шагу [code]step[/code]. Это также может быть использовано для округления числа с плавающей точкой до произвольного числа десятичных знаков.
    [codeblock]
    stepify(100, 32) # Возвращает 96
    stepify(3.14159, 0.01) # Возвращает 3.14
    [/codeblock]
    Смотрите также [method ceil], [method floor], [method round], и [int].

en: Converts one or more arguments of any type to string in the best way possible.
    [codeblock]
    var a = [10, 20, 30]
    var b = str(a);
    len(a) # Returns 3
    len(b) # Returns 12
    [/codeblock]
ru: Преобразует один или несколько аргументов любого типа в строку наилучшим из возможных способов.
    [codeblock]
    var a = [10, 20, 30]
    var b = str(a);
    len(a) # Возвращает 3
    len(b) # Возвращает 12
    [/codeblock]

en: Converts a formatted string that was returned by [method var2str] to the original value.
    [codeblock]
    a = '{ "a": 1, "b": 2 }'
    b = str2var(a)
    print(b["a"]) # Prints 1
    [/codeblock]
ru: Преобразует форматированную строку, которая была возвращена [method var2str] в исходное значение.
    [codeblock]
    a = '{ "a": 1, "b": 2 }'
    b = str2var(a)
    print(b["a"]) # Выводит 1
    [/codeblock]

en: Returns the tangent of angle [code]s[/code] in radians.
    [codeblock]
    tan(deg2rad(45)) # Returns 1
    [/codeblock]
ru: Возвращает тангенс угла [code]s[/code], заданного в радианах.
    [codeblock]
    tan(deg2rad(45)) # Возвращает 1
    [/codeblock]

en: Returns the hyperbolic tangent of [code]s[/code].
    [codeblock]
    a = log(2.0) # a is 0.693147
    b = tanh(a)  # b is 0.6
    [/codeblock]
ru: Возвращает гиперболический тангенс [code]s[/code].
    [codeblock]
    a = log(2.0) # Возвращает 0.693147
    b = tanh(a)  # Возвращает 0.6
    [/codeblock]

en: Converts a [Variant] [code]var[/code] to JSON text and return the result. Useful for serializing data to store or send over the network.
    [codeblock]
    # Both numbers below are integers.
    a = { "a": 1, "b": 2 }
    b = to_json(a)
    print(b) # {"a":1, "b":2}
    # Both numbers above are floats, even if they display without any decimal places.
    [/codeblock]
    [b]Note:[/b] The JSON specification does not define integer or float types, but only a [i]number[/i] type. Therefore, converting a [Variant] to JSON text will convert all numerical values to [float] types.
    See also [JSON] for an alternative way to convert a [Variant] to JSON text.
ru: Конвертирует переменную ([Variant]) [code]var[/code] в JSON строку и возвращает результат. Полезно при сериализации данных для хранения или отправки по сети.
    [codeblock]
    # Оба числа ниже целочисленные.
    a = { "a": 1, "b": 2 }
    b = to_json(a)
    print(b) # {"a":1, "b":2}
    # Оба числа выше — числа с плавающей точкой, даже если они отображаются без десятичных знаков.
    [/codeblock]
    [b]Примечание:[/b] Спецификация JSON не определяет integer или float типы, только тип [i]number[/i]. Поэтому, конвертация [Variant] в JSON строку будет конвертировать любые числовые значения как тип [float].
    См. также [JSON] для альтернативного преобразования [Variant] в JSON строку.

en: Returns whether the given class exists in [ClassDB].
    [codeblock]
    type_exists("Sprite") # Returns true
    type_exists("Variant") # Returns false
    [/codeblock]
ru: Возвращает, существует ли данный класс в [ClassDB].
    [codeblock]
    type_exists("Sprite") # Возвращает true
    type_exists("Variant") # Возвращает false
    [/codeblock]

en: Returns the internal type of the given Variant object, using the [enum Variant.Type] values.
    [codeblock]
    p = parse_json('["a", "b", "c"]')
    if typeof(p) == TYPE_ARRAY:
        print(p[0]) # Prints a
    else:
        print("unexpected results")
    [/codeblock]
ru: Возвращает внутренний тип переданного Variant объекта, представленный значением из [enum Variant.Type].
    [codeblock]
    p = parse_json('["a", "b", "c"]')
    if typeof(p) == TYPE_ARRAY:
        print(p[0]) # Prints a
    else:
        print("unexpected results")
    [/codeblock]

en: Checks that [code]json[/code] is valid JSON data. Returns an empty string if valid, or an error message otherwise.
    [codeblock]
    j = to_json([1, 2, 3])
    v = validate_json(j)
    if not v:
        print("Valid JSON.")
    else:
        push_error("Invalid JSON: " + v)
    [/codeblock]
ru: Проверяет, является ли [code]json[/code] допустимыми JSON данными. Для корректных данных возвращает пустую строку, иначе сообщение об ошибке.
    [codeblock]
    j = to_json([1, 2, 3])
    v = validate_json(j)
    if not v:
        print("Valid JSON.")
    else:
        push_error("Invalid JSON: " + v)
    [/codeblock]

en: 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).
ru: Кодирует значение переменной в массив байтов. Если [code]full_objects[/code] равен [code]true[/code], кодирование объектов разрешено (и потенциально может включать код).

en: Converts a Variant [code]var[/code] to a formatted string that can later be parsed using [method str2var].
    [codeblock]
    a = { "a": 1, "b": 2 }
    print(var2str(a))
    [/codeblock]
    prints
    [codeblock]
    {
    "a": 1,
    "b": 2
    }
    [/codeblock]
ru: Преобразует Variant [code]var[/code] значение в форматированную строку, которая позже может быть спарсена методом [method str2var].
    [codeblock]
    a = { "a": 1, "b": 2 }
    print(var2str(a))
    [/codeblock]
    prints
    [codeblock]
    {
    "a": 1,
    "b": 2
    }
    [/codeblock]

en: Wraps float [code]value[/code] between [code]min[/code] and [code]max[/code].
    Usable for creating loop-alike behavior or infinite surfaces.
    [codeblock]
    # Infinite loop between 5.0 and 9.9
    value = wrapf(value + 0.1, 5.0, 10.0)
    [/codeblock]
    [codeblock]
    # Infinite rotation (in radians)
    angle = wrapf(angle + 0.1, 0.0, TAU)
    [/codeblock]
    [codeblock]
    # Infinite rotation (in radians)
    angle = wrapf(angle + 0.1, -PI, PI)
    [/codeblock]
    [b]Note:[/b] If [code]min[/code] is [code]0[/code], this is equivalent to [method fposmod], so prefer using that instead.
    [code]wrapf[/code] is more flexible than using the [method fposmod] approach by giving the user control over the minimum value.
ru: Переносит значение переменной типа float [code]value[/code] между значениями [code]min[/code] и [code]max[/code].
    Полезно для создания циклического поведения или бесконечных поверхностей.
    [codeblock]
    # Бесконечный цикл между значениями 5.0 и 9.9
    value = wrapf(value + 0.1, 5.0, 10.0)
    [/codeblock]
    [codeblock]
    # Бесконечное вращение (в радианах)
    angle = wrapf(angle + 0.1, 0.0, TAU)
    [/codeblock]
    [codeblock]
    # Бесконечное вращение (в радианах)
    angle = wrapf(angle + 0.1, -PI, PI)
    [/codeblock]
    [b]Примечание:[/b] Если минимальное значение [code]min[/code] равно [code]0[/code], то оно эквивалентно [method fposmod], поэтому предпочтительно использовать его.
    [code]wrapf[/code] более гибок, чем [method fposmod] предоставляя пользователю контроль над минимальным значением.

en: Wraps integer [code]value[/code] between [code]min[/code] and [code]max[/code].
    Usable for creating loop-alike behavior or infinite surfaces.
    [codeblock]
    # Infinite loop between 5 and 9
    frame = wrapi(frame + 1, 5, 10)
    [/codeblock]
    [codeblock]
    # result is -2
    var result = wrapi(-6, -5, -1)
    [/codeblock]
    [b]Note:[/b] If [code]min[/code] is [code]0[/code], this is equivalent to [method posmod], so prefer using that instead.
    [code]wrapi[/code] is more flexible than using the [method posmod] approach by giving the user control over the minimum value.
ru: Переносит значение переменной типа integer [code]value[/code] между значениями [code]min[/code] и [code]max[/code].
    Полезно для создания циклического поведения или бесконечных поверхностей.
    [codeblock]
    # Бесконечный цикл между значениями 5.0 и 9
    frame = wrapi(frame + 1, 5, 10)
    [/codeblock]
    [codeblock]
    # результат равен -2
    var result = wrapi(-6, -5, -1)
    [/codeblock]
    [b]Примечание:[/b] Если минимальное значение[code]min[/code] равно [code]0[/code], то оно эквивалентно [method posmod], поэтому предпочтительно использовать его.
    [code]wrapi[/code] более гибок, чем [method posmod] предоставляя пользователю контроль над минимальным значением.

en: Stops the function execution and returns the current suspended state to the calling function.
    From the caller, call [method GDScriptFunctionState.resume] on the state to resume execution. This invalidates the state. Within the resumed function, [code]yield()[/code] returns whatever was passed to the [code]resume()[/code] function call.
    If passed an object and a signal, the execution is resumed when the object emits the given signal. In this case, [code]yield()[/code] returns the argument passed to [code]emit_signal()[/code] if the signal takes only one argument, or an array containing all the arguments passed to [code]emit_signal()[/code] if the signal takes multiple arguments.
    You can also use [code]yield[/code] to wait for a function to finish:
    [codeblock]
    func _ready():
        yield(countdown(), "completed") # waiting for the countdown() function to complete
        print('Ready')
    
    func countdown():
        yield(get_tree(), "idle_frame") # returns a GDScriptFunctionState object to _ready()
        print(3)
        yield(get_tree().create_timer(1.0), "timeout")
        print(2)
        yield(get_tree().create_timer(1.0), "timeout")
        print(1)
        yield(get_tree().create_timer(1.0), "timeout")
    
    # prints:
    # 3
    # 2
    # 1
    # Ready
    [/codeblock]
    When yielding on a function, the [code]completed[/code] signal will be emitted automatically when the function returns. It can, therefore, be used as the [code]signal[/code] parameter of the [code]yield[/code] method to resume.
    In order to yield on a function, the resulting function should also return a [code]GDScriptFunctionState[/code]. Notice [code]yield(get_tree(), "idle_frame")[/code] from the above example.
ru: Останавливает выполнение функции и возвращает текущее приостановленное состояние вызывающей функции.
    Вызывающая функция должна вызвать [method GDScriptFunctionState.resume] на состоянии для возобновления выполнения. Это аннулирует состояние. Внутри возобновленной функции [code]yield()[/code] возвращает все, что было передано в вызов функции [code]resume()[/code].
    Если передать объект и сигнал, то выполнение будет возобновлено, когда объект издаст заданный сигнал. В этом случае [code]yield()[/code] возвращает аргумент, переданный в [code]emit_signal()[/code], если сигнал принимает только один аргумент, или массив, содержащий все аргументы, переданные в [code]emit_signal()[/code], если сигнал принимает несколько аргументов.
    Вы также можете использовать [code]yield[/code] для ожидания завершения работы функции:
    [codeblock].
    func _ready():
    	yield(countdown(), "completed") # ожидание завершения функции countdown()
    	print('Ready')
    
    func countdown():
    	yield(get_tree(), "idle_frame") # возвращает объект GDScriptFunctionState для функции _ready()
    	print(3)
    	yield(get_tree().create_timer(1.0), "timeout")
    	print(2)
    	yield(get_tree().create_timer(1.0), "timeout")
    	print(1)
    	yield(get_tree().create_timer(1.0), "timeout")
    
    # выведет:
    # 3
    # 2
    # 1
    # Ready
    [/codeblock].
    При выходе из функции сигнал [code]completed[/code] будет выдан автоматически, когда функция вернется. Поэтому его можно использовать в качестве параметра [code]signal[/code] метода [code]yield[/code] для возобновления работы.
    Для того чтобы выполнить выход из функции, результирующая функция также должна вернуть [code]GDScriptFunctionState[/code]. Обратите внимание на [code]yield(get_tree(), "idle_frame")[/code] из приведенного выше примера.

en: Constant that represents how many times the diameter of a circle fits around its perimeter. This is equivalent to [code]TAU / 2[/code].
ru: Константа, которая показывает, во сколько раз диаметр окружности укладывается в её длину. Это эквивалентно [code]TAU / 2[/code].

en: Positive floating-point infinity. This is the result of floating-point division when the divisor is [code]0.0[/code]. For negative infinity, use [code]-INF[/code]. Dividing by [code]-0.0[/code] will result in negative infinity if the numerator is positive, so dividing by [code]0.0[/code] is not the same as dividing by [code]-0.0[/code] (despite [code]0.0 == -0.0[/code] returning [code]true[/code]).
    [b]Note:[/b] Numeric infinity is only a concept with floating-point numbers, and has no equivalent for integers. Dividing an integer number by [code]0[/code] will not result in [constant INF] and will result in a run-time error instead.
ru: Положительная бесконечность с плавающей точкой. Это результат деления с плавающей точкой, когда делитель равен [code]0.0[/code]. Для отрицательной бесконечности используйте [code]-INF[/code]. Деление на [code]-0.0[/code] приведет к отрицательной бесконечности, если числитель положительный, поэтому деление на [code]0.0[/code] не то же самое, что деление на [code]-0.0[/code] (несмотря на то, что [code]0.0 == -0.0[/code] возвращает [code]true[/code]).
    [b]Примечание:[/b] Числовая бесконечность является понятием только для чисел с плавающей точкой и не имеет эквивалента для целых чисел. Деление целого числа на [code]0[/code] не приведет к [constant INF] и вместо этого приведет к ошибке времени выполнения.

en: "Not a Number", an invalid floating-point value. [constant NAN] has special properties, including that it is not equal to itself ([code]NAN == NAN[/code] returns [code]false[/code]). It is output by some invalid operations, such as dividing floating-point [code]0.0[/code] by [code]0.0[/code].
    [b]Note:[/b] "Not a Number" is only a concept with floating-point numbers, and has no equivalent for integers. Dividing an integer [code]0[/code] by [code]0[/code] will not result in [constant NAN] and will result in a run-time error instead.
ru: "Не число", недопустимое значение с плавающей точкой. [Константа NAN] обладает особыми свойствами, включая то, что она не равна самой себе ([code]NAN == NAN[/code] возвращает [code]false[/code]). Она выводится некоторыми недопустимыми операциями, например, делением числа с плавающей точкой [code]0.0[/code] на [code]0.0[/code].
    [b]Примечание:[/b] "Не число" является понятием только для чисел с плавающей точкой и не имеет эквивалента для целых чисел. Деление целого числа [code]0[/code] на [code]0[/code] не приведет к [constant NAN] и вместо этого приведет к ошибке времени выполнения.

en: Global scope constants and variables.
ru: Константы и переменные глобальной области видимости.

en: Global scope constants and variables. This is all that resides in the globals, constants regarding error codes, scancodes, property hints, etc.
    Singletons are also documented here, since they can be accessed from anywhere.
ru: Константы и переменные глобальной области видимости. Это все, что находится в глобальной области видимости, константы, касающиеся кодов ошибок, сканкодов, подсказок свойств и т.д.
    Синглтоны также документируются здесь, поскольку к ним можно получить доступ из любой точки.

en: The [ARVRServer] singleton.
ru: Синглтон [ARVRServer].

en: The [AudioServer] singleton.
ru: Синглтон [AudioServer].

en: The [CameraServer] singleton.
ru: Синглтон [CameraServer].

en: The [ClassDB] singleton.
ru: Синглтон [ClassDB].

en: The [Engine] singleton.
ru: Синглтон [Engine].

en: The [Geometry] singleton.
ru: Синглтон [Geometry].

en: The [IP] singleton.
ru: Синглтон [IP].

en: The [Input] singleton.
ru: Синглтон [Input].

en: The [InputMap] singleton.
ru: Синглтон [InputMap].

en: The [JSON] singleton.
ru: Синглтон [JSON].

en: The [JavaClassWrapper] singleton.
    [b]Note:[/b] Only implemented on Android.
ru: Синглтон [JavaClassWrapper].
    [b]Примечание:[/b] Реализовано только на Android.

en: The [JavaScript] singleton.
    [b]Note:[/b] Only implemented on HTML5.
ru: Синглтон [JavaScript].
    [b]Примечание:[/b] Реализовано только в HTML5.

en: The [Marshalls] singleton.
ru: Синглтон [Marshalls].

en: The [Navigation2DServer] singleton.
ru: Синглтон [Navigation2DServer].

en: The [NavigationMeshGenerator] singleton.
ru: Синглтон [NavigationMeshGenerator].

en: The [NavigationServer] singleton.
ru: Синглтон [NavigationServer].

en: The [OS] singleton.
ru: Синглтон [OS].

en: The [Performance] singleton.
ru: Синглтон [Performance].

en: The [Physics2DServer] singleton.
ru: Синглтон [Physics2DServer].

en: The [PhysicsServer] singleton.
ru: Синглтон [PhysicsServer].

en: The [ProjectSettings] singleton.
ru: Синглтон [ProjectSettings].

en: The [ResourceLoader] singleton.
ru: Синглтон [ResourceLoader].

en: The [ResourceSaver] singleton.
ru: Синглтон [ResourceSaver].

en: The [Time] singleton.
ru: Синглтон [Time].

en: The [TranslationServer] singleton.
ru: Синглтон [TranslationServer].

en: The [VisualScriptEditor] singleton.
ru: Синглтон [VisualScriptEditor].

en: The [VisualServer] singleton.
ru: Синглтон [VisualServer].

en: Left margin, usually used for [Control] or [StyleBox]-derived classes.
ru: Левое поле, обычно используется для классов, производных от [Control] или [StyleBox].

en: Top margin, usually used for [Control] or [StyleBox]-derived classes.
ru: Верхнее поле, обычно используется для классов, производных от [Control] или [StyleBox].

en: Right margin, usually used for [Control] or [StyleBox]-derived classes.
ru: Правое поле, обычно используется для классов, производных от [Control] или [StyleBox].

en: Bottom margin, usually used for [Control] or [StyleBox]-derived classes.
ru: Нижнее поле, обычно используется для классов, производных от [Control] или [StyleBox].

en: Top-left corner.
ru: Верхний левый угол.

en: Top-right corner.
ru: Верхний правый угол.

en: Bottom-right corner.
ru: Нижний правый угол.

en: Bottom-left corner.
ru: Нижний левый угол.

en: General vertical alignment, usually used for [Separator], [ScrollBar], [Slider], etc.
ru: Общее вертикальное выравнивание, обычно используется для [Separator], [ScrollBar], [Slider] и т.д.

en: General horizontal alignment, usually used for [Separator], [ScrollBar], [Slider], etc.
ru: Общее горизонтальное выравнивание, обычно используется для [Separator], [ScrollBar], [Slider] и т.д.

en: Horizontal left alignment, usually for text-derived classes.
ru: Горизонтальное выравнивание по левому краю, обычно для классов, содержащих текст.

en: Horizontal center alignment, usually for text-derived classes.
ru: Горизонтальное выравнивание по центру, обычно для классов, содержащих текст.

en: Horizontal right alignment, usually for text-derived classes.
ru: Горизонтальное выравнивание по правому краю, обычно для классов, содержащих текст.

en: Vertical top alignment, usually for text-derived classes.
ru: Вертикальное выравнивание сверху, обычно для классов, содержащих текст.

en: Vertical center alignment, usually for text-derived classes.
ru: Вертикальное выравнивание по центру, обычно для классов, содержащих текст.

en: Vertical bottom alignment, usually for text-derived classes.
ru: Вертикальное выравнивание снизу, обычно для классов, содержащих текст.

en: Scancodes with this bit applied are non-printable.
ru: Сканкоды с таким битом непечатаемые.

en: Escape key.
ru: Клавиша Escape.

en: Tab key.
ru: Клавиша Tab.

en: Shift+Tab key.
ru: Клавиша Shift+Tab.

en: Backspace key.
ru: Клавиша Backspace.

en: Return key (on the main keyboard).
ru: Клавиша возврата (на основной клавиатуре).

en: Enter key on the numeric keypad.
ru: Клавиша ввода на цифровой клавиатуре.

en: Insert key.
ru: Клавиша Insert.

en: Delete key.
ru: Клавиша Delete.

en: Pause key.
ru: Клавиша Pause.

en: Print Screen key.
ru: Клавиша Print Screen.

en: System Request key.
ru: Клавиша System Request.

en: Clear key.
ru: Клавиша очистки.

en: Home key.
ru: Клавиша Home.

en: End key.
ru: Клавиша End.

en: Left arrow key.
ru: Клавиша со стрелкой влево.

en: Up arrow key.
ru: Клавиша со стрелкой вверх.

en: Right arrow key.
ru: Клавиша со стрелкой вправо.

en: Down arrow key.
ru: Клавиша со стрелкой вниз.

en: Page Up key.
ru: Клавиша Page Up.

en: Page Down key.
ru: Клавиша Page Down.

en: Shift key.
ru: Клавиша Shift.

en: Control key.
ru: Клавиша Control.

en: Meta key.
ru: Клавиша Meta.

en: Alt key.
ru: Клавиша Alt.

en: Caps Lock key.
ru: Клавиша Caps Lock.

en: Num Lock key.
ru: Клавиша Num Lock.

en: Scroll Lock key.
ru: Клавиша Scroll Lock.

en: F1 key.
ru: Клавиша F1.

en: F2 key.
ru: Клавиша F2.

en: F3 key.
ru: Клавиша F3.

en: F4 key.
ru: Клавиша F4.

en: F5 key.
ru: Клавиша F5.

en: F6 key.
ru: Клавиша F6.

en: F7 key.
ru: Клавиша F7.

en: F8 key.
ru: Клавиша F8.

en: F9 key.
ru: Клавиша F9.

en: F10 key.
ru: Клавиша F10.

en: F11 key.
ru: Клавиша F11.

en: F12 key.
ru: Клавиша F12.

en: F13 key.
ru: Клавиша F13.

en: F14 key.
ru: Клавиша F14.

en: F15 key.
ru: Клавиша F15.

en: F16 key.
ru: Клавиша F16.

en: Multiply (*) key on the numeric keypad.
ru: Клавиша умножения (*) на цифровой клавиатуре.

en: Divide (/) key on the numeric keypad.
ru: Клавиша деления (/) на цифровой клавиатуре.

en: Subtract (-) key on the numeric keypad.
ru: Клавиша вычитания (-) на цифровой клавиатуре.

en: Period (.) key on the numeric keypad.
ru: Клавиша точки (.) на цифровой клавиатуре.

en: Add (+) key on the numeric keypad.
ru: Клавиша сложения (+) на цифровой клавиатуре.

en: Number 0 on the numeric keypad.
ru: Цифра 0 на цифровой клавиатуре.

en: Number 1 on the numeric keypad.
ru: Цифра 1 на цифровой клавиатуре.

en: Number 2 on the numeric keypad.
ru: Цифра 2 на цифровой клавиатуре.

en: Number 3 on the numeric keypad.
ru: Цифра 3 на цифровой клавиатуре.

en: Number 4 on the numeric keypad.
ru: Цифра 4 на цифровой клавиатуре.

en: Number 5 on the numeric keypad.
ru: Цифра 5 на цифровой клавиатуре.

en: Number 6 on the numeric keypad.
ru: Цифра 6 на цифровой клавиатуре.

en: Number 7 on the numeric keypad.
ru: Цифра 7 на цифровой клавиатуре.

en: Number 8 on the numeric keypad.
ru: Цифра 8 на цифровой клавиатуре.

en: Number 9 on the numeric keypad.
ru: Цифра 9 на цифровой клавиатуре.

en: Left Super key (Windows key).
ru: Левая клавиша Super (клавиша Windows).

en: Right Super key (Windows key).
ru: Правая клавиша Super (клавиша Windows).

en: Context menu key.
ru: Клавиша контекстного меню.

en: Left Hyper key.
ru: Левая гипер-клавиша.

en: Right Hyper key.
ru: Правая гипер-клавиша.

en: Help key.
ru: Клавиша помощи.

en: Left Direction key.
ru: Клавиша направления влево.

en: Right Direction key.
ru: Клавиша направления вправо.

en: Media back key. Not to be confused with the Back button on an Android device.
ru: Мультимедийная клавиша "Назад". Не путать с кнопкой "Назад" на устройствах Android.

en: Media forward key.
ru: Клавиша записи мультимедиа.

en: Media stop key.
ru: Клавиша остановки мультимедиа.

en: Media refresh key.
ru: Клавиша обновления мультимедиа.

en: Volume down key.
ru: Клавиша уменьшения громкости.

en: Mute volume key.
ru: Клавиша отключения звука.

en: Volume up key.
ru: Клавиша увеличения громкости.

en: Bass Boost key.
ru: Клавиша усиления низких частот.

en: Bass up key.
ru: Клавиша увеличения басов.

en: Bass down key.
ru: Клавиша уменьшения низких частот.

en: Treble up key.
ru: Клавиша увеличения высоких частот.

en: Treble down key.
ru: Клавиша уменьшения высоких частот.

en: Favorites key.
ru: Клавиша "Избранное".

en: Search key.
ru: Клавиша поиска.

en: Standby key.
ru: Клавиша выключения.

en: Open URL / Launch Browser key.
ru: Клавиша «Открыть URL / Запустить браузер».

en: Launch Shortcut 0 key.
ru: Клавиша запуска 0.

en: Launch Shortcut 1 key.
ru: Клавиша запуска 1.

en: Launch Shortcut 2 key.
ru: Клавиша запуска 2.

en: Launch Shortcut 3 key.
ru: Клавиша запуска 3.

en: Launch Shortcut 4 key.
ru: Клавиша запуска 4.

en: Launch Shortcut 5 key.
ru: Клавиша запуска 5.

en: Launch Shortcut 6 key.
ru: Клавиша запуска 6.

en: Launch Shortcut 7 key.
ru: Клавиша запуска 7.

en: Launch Shortcut 8 key.
ru: Клавиша запуска 8.

en: Launch Shortcut 9 key.
ru: Клавиша запуска 9.

en: Launch Shortcut A key.
ru: Клавиша запуска A.

en: Launch Shortcut B key.
ru: Клавиша запуска B.

en: Launch Shortcut C key.
ru: Клавиша запуска C.

en: Launch Shortcut D key.
ru: Клавиша запуска D.

en: Launch Shortcut E key.
ru: Клавиша запуска E.

en: Launch Shortcut F key.
ru: Клавиша запуска F.

en: Unknown key.
ru: Неизвестная клавиша.

en: Space key.
ru: Клавиша пробела.

en: ! key.
ru: Клавиша !.

en: " key.
ru: Клавиша ".

en: # key.
ru: Клавиша #.

en: $ key.
ru: Клавиша $.

en: % key.
ru: Клавиша %.

en: & key.
ru: Клавиша &.

en: ' key.
ru: Клавиша '.

en: ( key.
ru: Клавиша (.

en: ) key.
ru: Клавиша ).

en: * key.
ru: Клавиша *.

en: + key.
ru: Клавиша +.

en: , key.
ru: Клавиша ,.

en: - key.
ru: Клавиша -.

en: . key.
ru: Клавиша ..

en: / key.
ru: Клавиша /.

en: Number 0.
ru: Цифра 0.

en: Number 1.
ru: Цифра 1.

en: Number 2.
ru: Цифра 2.

en: Number 3.
ru: Цифра 3.

en: Number 4.
ru: Цифра 4.

en: Number 5.
ru: Цифра 5.

en: Number 6.
ru: Цифра 6.

en: Number 7.
ru: Цифра 7.

en: Number 8.
ru: Цифра 8.

en: Number 9.
ru: Цифра 9.

en: : key.
ru: Клавиша :.

en: ; key.
ru: Клавиша ;.

en: < key.
ru: Клавиша <.

en: = key.
ru: Клавиша =.

en: > key.
ru: Клавиша >.

en: ? key.
ru: Клавиша ?.

en: @ key.
ru: Клавиша @.

en: A key.
ru: Клавиша A.

en: B key.
ru: Клавиша B.

en: C key.
ru: Клавиша C.

en: D key.
ru: Клавиша D.

en: E key.
ru: Клавиша E.

en: F key.
ru: Клавиша F.

en: G key.
ru: Клавиша G.

en: H key.
ru: Клавиша H.

en: I key.
ru: Клавиша I.

en: J key.
ru: Клавиша J.

en: K key.
ru: Клавиша K.

en: L key.
ru: Клавиша L.

en: M key.
ru: Клавиша M.

en: N key.
ru: Клавиша N.

en: O key.
ru: Клавиша O.

en: P key.
ru: Клавиша P.

en: Q key.
ru: Клавиша Q.

en: R key.
ru: Клавиша R.

en: S key.
ru: Клавиша S.

en: T key.
ru: Клавиша T.

en: U key.
ru: Клавиша U.

en: V key.
ru: Клавиша V.

en: W key.
ru: Клавиша W.

en: X key.
ru: Клавиша X.

en: Y key.
ru: Клавиша Y.

en: Z key.
ru: Клавиша Z.

en: [ key.
ru: Клавиша [.

en: \ key.
ru: Клавиша \.

en: ] key.
ru: Клавиша ].

en: ^ key.
ru: Клавиша ^.

en: _ key.
ru: Клавиша _.

en: ` key.
ru: Клавиша `.

en: { key.
ru: Клавиша {.

en: | key.
ru: Клавиша |.

en: } key.
ru: Клавиша }.

en: ~ key.
ru: Клавиша ~.

en: Non-breakable space key.
ru: Клавиша неразрывного пробела.

en: ¡ key.
ru: Клавиша ¡.

en: ¢ key.
ru: Клавиша ¢.

en: £ key.
ru: Клавиша £.

en: ¤ key.
ru: Клавиша ¤.

en: ¥ key.
ru: Клавиша ¥.

en: ¦ key.
ru: Клавиша ¦.

en: § key.
ru: Клавиша §.

en: ¨ key.
ru: Клавиша ¨.

en: © key.
ru: Клавиша ©.

en: ª key.
ru: Клавиша ª.

en: « key.
ru: Клавиша «.

en: ¬ key.
ru: Клавиша ¬.

en: ® key.
ru: Клавиша ®.

en: ¯ key.
ru: Клавиша ¯.

en: ° key.
ru: Клавиша °.

en: ± key.
ru: Клавиша ±.

en: ² key.
ru: Клавиша ².

en: ³ key.
ru: Клавиша ³.

en: ´ key.
ru: Клавиша ´.

en: µ key.
ru: Клавиша µ.

en: ¶ key.
ru: Клавиша ¶.

en: · key.
ru: Клавиша ·.

en: ¸ key.
ru: Клавиша ¸.

en: ¹ key.
ru: Клавиша ¹.

en: º key.
ru: Клавиша º.

en: » key.
ru: Клавиша ».

en: ¼ key.
ru: Клавиша ¼.

en: ½ key.
ru: Клавиша ½.

en: ¾ key.
ru: Клавиша ¾.

en: ¿ key.
ru: Клавиша ¿.

en: À key.
ru: Клавиша À.

en: Á key.
ru: Клавиша Á.

en: Â key.
ru: Клавиша Â.

en: Ã key.
ru: Клавиша Ã.

en: Ä key.
ru: Клавиша Ä.

en: Å key.
ru: Клавиша Å.

en: Æ key.
ru: Клавиша Æ.

en: Ç key.
ru: Клавиша Ç.

en: È key.
ru: Клавиша È.

en: É key.
ru: Клавиша É.

en: Ê key.
ru: Клавиша Ê.

en: Ë key.
ru: Клавиша Ë.

en: Ì key.
ru: Клавиша Ì.

en: Í key.
ru: Клавиша Í.

en: Î key.
ru: Клавиша Î.

en: Ï key.
ru: Клавиша Ï.

en: Ð key.
ru: Клавиша Ð.

en: Ñ key.
ru: Клавиша Ñ.

en: Ò key.
ru: Клавиша Ò.

en: Ó key.
ru: Клавиша Ó.

en: Ô key.
ru: Клавиша Ô.

en: Õ key.
ru: Клавиша Õ.

en: Ö key.
ru: Клавиша Ö.

en: × key.
ru: Клавиша ×.

en: Ø key.
ru: Клавиша Ø.

en: Ù key.
ru: Клавиша Ù.

en: Ú key.
ru: Клавиша Ú.

en: Û key.
ru: Клавиша Û.

en: Ü key.
ru: Клавиша Ü.

en: Ý key.
ru: Клавиша Ý.

en: Þ key.
ru: Клавиша Þ.

en: ß key.
ru: Клавиша ß.

en: ÷ key.
ru: Клавиша ÷.

en: ÿ key.
ru: Клавиша ÿ.

en: Shift key mask.
ru: Маска клавиши Shift.

en: Alt key mask.
ru: Маска клавиши Alt.

en: Meta key mask.
ru: Маска клавиши Meta.

en: Ctrl key mask.
ru: Маска клавиши Ctrl.

en: Command key mask. On macOS, this is equivalent to [constant KEY_MASK_META]. On other platforms, this is equivalent to [constant KEY_MASK_CTRL]. This mask should be preferred to [constant KEY_MASK_META] or [constant KEY_MASK_CTRL] for system shortcuts as it handles all platforms correctly.
ru: Маска клавиши Command. На macOS это эквивалентно [constant KEY_MASK_META]. На других платформах это эквивалентно [constant KEY_MASK_CTRL]. Эта маска предпочтительнее [constant KEY_MASK_META] или [constant KEY_MASK_CTRL] для системных комбинаций клавиш, т.к. она обрабатывается корректно на всех платформах.

en: Keypad key mask.
ru: Маска клавиш цифровой клавиатуры.

en: Group Switch key mask.
ru: Маска клавиш группового переключатель.

en: Left mouse button.
ru: Левая кнопка мыши.

en: Right mouse button.
ru: Правая кнопка мыши.

en: Middle mouse button.
ru: Средняя кнопка мыши.

en: Left mouse button mask.
ru: Маска левой кнопки мыши.

en: Right mouse button mask.
ru: Маска правой кнопки мыши.

en: Middle mouse button mask.
ru: Маска средней кнопки мыши.

en: Gamepad button 0.
ru: Кнопка 0 геймпада.

en: Gamepad button 1.
ru: Кнопка 1 геймпада.

en: Gamepad button 2.
ru: Кнопка 2 геймпада.

en: Gamepad button 3.
ru: Кнопка 3 геймпада.

en: Gamepad button 4.
ru: Кнопка 4 геймпада.

en: Gamepad button 5.
ru: Кнопка 5 геймпада.

en: Gamepad button 6.
ru: Кнопка 6 геймпада.

en: Gamepad button 7.
ru: Кнопка 7 геймпада.

en: Gamepad button 8.
ru: Кнопка 8 геймпада.

en: Gamepad button 9.
ru: Кнопка 9 геймпада.

en: Gamepad button 10.
ru: Кнопка 10 геймпада.

en: Gamepad button 11.
ru: Кнопка 11 геймпада.

en: Gamepad button 12.
ru: Кнопка 12 геймпада.

en: Gamepad button 13.
ru: Кнопка 13 геймпада.

en: Gamepad button 14.
ru: Кнопка 14 геймпада.

en: Gamepad button 15.
ru: Кнопка 15 геймпада.

en: Gamepad button 16.
ru: Кнопка 16 геймпада.

en: Gamepad button 17.
ru: Кнопка 17 геймпада.

en: Gamepad button 18.
ru: Кнопка 18 геймпада.

en: Gamepad button 19.
ru: Кнопка 19 геймпада.

en: Gamepad button 20.
ru: Кнопка 20 геймпада.

en: Gamepad button 21.
ru: Кнопка 21 геймпада.

en: Gamepad button 22.
ru: Кнопка 22 геймпада.

en: The maximum number of game controller buttons supported by the engine. The actual limit may be lower on specific platforms:
    - Android: Up to 36 buttons.
    - Linux: Up to 80 buttons.
    - Windows and macOS: Up to 128 buttons.
ru: Максимальное количество кнопок поддерживаемое движком для игрового контроллера. Фактический лимит может быть ниже на определенных платформах:
    - Android: до 36 кнопок.
    - Linux: до 80 кнопок.
    - Windows и macOS: до 128 кнопок.

en: DualShock circle button.
ru: Круговая кнопка DualShock.

en: DualShock X button.
ru: Кнопка DualShock X.

en: DualShock square button.
ru: Квадратная кнопка DualShock.

en: DualShock triangle button.
ru: Квадратная кнопка DualShock.

en: Grip (side) buttons on a VR controller.
ru: Кнопки захвата (боковые) на контроллере VR.

en: Push down on the touchpad or main joystick on a VR controller.
ru: Нажмите на сенсорную панель или основной джойстик на контроллере VR.

en: Trigger on a VR controller.
ru: Триггер на контроллере VR.

en: A button on the right Oculus Touch controller, X button on the left controller (also when used in OpenVR).
ru: Кнопка A на правом контроллере Oculus Touch, кнопка X на левом контроллере (также при использовании в OpenVR).

en: B button on the right Oculus Touch controller, Y button on the left controller (also when used in OpenVR).
ru: Кнопка B на правом контроллере Oculus Touch, кнопка Y на левом контроллере (также при использовании в OpenVR).

en: Menu button on either Oculus Touch controller.
ru: Кнопка Menu на любом из контроллеров Oculus Touch.

en: Menu button in OpenVR (Except when Oculus Touch controllers are used).
ru: Кнопка меню в OpenVR (кроме случаев использования контроллеров Oculus Touch).

en: Gamepad button Select.
ru: Кнопка геймпада Выбрать.

en: Gamepad button Start.
ru: Кнопка запуска геймпада.

en: Gamepad DPad up.
ru: Геймпад DPad вверх.

en: Gamepad DPad down.
ru: Геймпад DPad вниз.

en: Gamepad DPad left.
ru: Геймпад DPad влево.

en: Gamepad DPad right.
ru: Геймпад DPad вправо.

en: Gamepad SDL miscellaneous button.
ru: Различные кнопки SDL геймпада.

en: Gamepad left stick click.
ru: Щелчок левой кнопки геймпада.

en: Gamepad right stick click.
ru: Щелчок правой кнопки геймпада.

en: Gamepad left stick horizontal axis.
ru: Горизонтальная ось левого стика геймпада.

en: Gamepad right stick horizontal axis.
ru: Горизонтальная ось правого джойстика игрового контроллера.

en: Gamepad right stick vertical axis.
ru: Вертикальная ось правого джойстика игрового контроллера.

en: Generic gamepad axis 4.
ru: Общая ось 4 игрового контроллера.

en: Generic gamepad axis 5.
ru: Общая ось 5 игрового контроллера.

en: Gamepad left trigger analog axis.
ru: Аналоговая ось левого курка игрового контроллера.

en: Gamepad right trigger analog axis.
ru: Аналоговая ось правого курка игрового контроллера.

en: Generic gamepad axis 8.
ru: Общая ось 8 игрового контроллера.

en: Generic gamepad axis 9.
ru: Общая ось 9 игрового контроллера.

en: Represents the maximum number of joystick axes supported.
ru: Представляет собой максимальное количество поддерживаемых осей джойстика.

en: Gamepad left analog trigger.
ru: Левый аналоговый курок игрового контроллера.

en: Gamepad right analog trigger.
ru: Правый аналоговый курок игрового контроллера.

en: VR Controller analog trigger.
ru: Ось левого курка игрового контроллера.

en: VR Controller analog grip (side buttons).
ru: Аналоговая рукоятка контроллера VR (боковые кнопки).

en: OpenVR touchpad X axis (Joystick axis on Oculus Touch and Windows MR controllers).
ru: Ось X сенсорной панели OpenVR (ось джойстика на контроллерах Oculus Touch и Windows MR).

en: OpenVR touchpad Y axis (Joystick axis on Oculus Touch and Windows MR controllers).
ru: Ось Y сенсорной панели OpenVR (ось джойстика на контроллерах Oculus Touch и Windows MR).

en: MIDI note OFF message. See the documentation of [InputEventMIDI] for information of how to use MIDI inputs.
ru: Сообщение о отключении MIDI-ноты. Смотрите документацию [InputEventMIDI] для получения информации о том, как использовать MIDI-входы.

en: MIDI note ON message. See the documentation of [InputEventMIDI] for information of how to use MIDI inputs.
ru: Сообщение о включении MIDI-ноты. Смотрите документацию [InputEventMIDI] для получения информации о том, как использовать MIDI-входы.

en: MIDI aftertouch message. This message is most often sent by pressing down on the key after it "bottoms out".
ru: Сообщение после касания MIDI-ноты. Это сообщение чаще всего отправляется нажатием клавиши после того, как оно "достигнет дна".

en: MIDI control change message. This message is sent when a controller value changes. Controllers include devices such as pedals and levers.
ru: Сообщение об изменении управления MIDI. Это сообщение отправляется при изменении значения контроллера. Контроллеры включают в себя такие устройства, как педали и рычаги.

en: MIDI program change message. This message sent when the program patch number changes.
ru: Сообщение об изменении MIDI-программы. Это сообщение отправляется при изменении номера патча программы.

en: MIDI channel pressure message. This message is most often sent by pressing down on the key after it "bottoms out". This message is different from polyphonic after-touch as it indicates the highest pressure across all keys.
ru: Сообщение о давлении в MIDI-канале. Это сообщение чаще всего отправляется нажатием клавиши после того, как оно "достигнет дна". Это сообщение отличается от полифонического после-касания, поскольку оно указывает на наибольшее давление на всех клавишах.

en: MIDI pitch bend message. This message is sent to indicate a change in the pitch bender (wheel or lever, typically).
ru: Сообщение MIDI об изменении высоты тона. Это сообщение отправляется для обозначения изменения питч-бенда ( как правило, колесо или рычаг).

en: MIDI system exclusive message. This has behavior exclusive to the device you're receiving input from. Getting this data is not implemented in Godot.
ru: Эксклюзивное сообщение MIDI системы. Это поведение эксклюзивно для устройства от которого вы получаете данные. Получение этих данных не реализовано в Godot.

en: MIDI quarter frame message. Contains timing information that is used to synchronize MIDI devices. Getting this data is not implemented in Godot.
ru: MIDI сообщение о четверти кадра. Содержит информацию о времени, которая используется для синхронизации MIDI-устройств. Получение этих данных не реализовано в Godot.

en: MIDI song position pointer message. Gives the number of 16th notes since the start of the song. Getting this data is not implemented in Godot.
ru: MIDI сообщение указателя позиции композиции. Дает число 16-ых нот с момента начала композиции. Получение этих данных не реализовано в Godot.

en: MIDI song select message. Specifies which sequence or song is to be played. Getting this data is not implemented in Godot.
ru: MIDI сообщение о выборе композиции. Указывает, какая последовательность или песня должна быть воспроизведена. Получение этих данных не реализовано в Godot.

en: MIDI tune request message. Upon receiving a tune request, all analog synthesizers should tune their oscillators.
ru: MIDI сообщение с запросом на подстройку. При получении запроса на подстройку все аналоговые синтезаторы должны подстроить свои осцилляторы.

en: MIDI timing clock message. Sent 24 times per quarter note when synchronization is required.
ru: MIDI сообщение синхронизации времени. Отправляется 24 раза на четверть ноты, когда требуется синхронизация.

en: MIDI stop message. Stop the current sequence.
ru: MIDI сообщение об остановке. Останавливает текущую последовательность.

en: Methods that return [enum Error] return [constant OK] when no error occurred. Note that many functions don't return an error code but will print error messages to standard output.
    Since [constant OK] has value 0, and all other failure codes are positive integers, it can also be used in boolean checks, e.g.:
    [codeblock]
    var err = method_that_returns_error()
    if err != OK:
        print("Failure!")
    # Or, equivalent:
    if err:
        print("Still failing!")
    [/codeblock]
ru: Методы, возвращающие [enum Error], возвращают [constant OK] при отсутствии ошибки. Обратите внимание, что многие функции не возвращают код ошибки, а печатают сообщения об ошибках на стандартный вывод.
    Поскольку [constant OK] равно 0, а все остальные коды ошибок являются положительными целыми числами, это может быть использовано в условных выражениях, напр.:
    [codeblock]
    var err = method_that_returns_error()
    if err != OK:
        print("Ошибка!")
    # Или, эквивалентно:
    if err:
        print("Тоже ошибка!")
    [/codeblock]

en: Generic error.
ru: Общая ошибка.

en: Unavailable error.
ru: Ошибка "Недоступно".

en: Unconfigured error.
ru: Ошибка "Не настроено".

en: Unauthorized error.
ru: Ошибка "Не авторизовано".

en: File: Not found error.
ru: Ошибка "Файл: Не найден".

en: File: Bad drive error.
ru: Ошибка "Файл: Недопустимый диск".

en: File: Bad path error.
ru: Ошибка "Файл: Неверный путь".

en: File: No permission error.
ru: Ошибка "Файл: Нет разрешения".

en: File: Already in use error.
ru: Ошибка "Файл: Уже используется".

en: File: Can't open error.
ru: Ошибка "Файл: Невозможно открыть".

en: File: Can't write error.
ru: Ошибка "Файл: Невозможно записать".

en: File: Can't read error.
ru: Ошибка "Файл: Невозможно прочитать".

en: File: Unrecognized error.
ru: Ошибка "Файл: Не распознан".

en: File: Corrupt error.
ru: Ошибка "Файл: Повреждён".

en: File: Missing dependencies error.
ru: Ошибка "Файл: Отсутствуют зависимости".

en: File: End of file (EOF) error.
ru: Ошибка "Файл: Конец файла (EOF)".

en: Can't open error.
ru: Ошибка "Невозможно открыть".

en: Can't create error.
ru: Ошибка "Невозможно создать".

en: Query failed error.
ru: Ошибка "Не удалось выполнить запрос".

en: Already in use error.
ru: Ошибка "Уже используется".

en: Locked error.
ru: Ошибка "Заблокировано".

en: Timeout error.
ru: Ошибка "Время ожидания истекло".

en: Can't connect error.
ru: Ошибка "Невозможно подключиться".

en: Can't resolve error.
ru: Ошибка "Невозможно разрешить".

en: Connection error.
ru: Ошибка подключения.

en: Can't acquire resource error.
ru: Ошибка "Невозможно получить ресурс".

en: Invalid data error.
ru: Ошибка неверных данных.

en: Invalid parameter error.
ru: Ошибка неверного параметра.

en: Already exists error.
ru: Ошибка "Уже существует".

en: Does not exist error.
ru: Ошибка "Не существует".

en: Database: Read error.
ru: База данных: Ошибка чтения.

en: Database: Write error.
ru: База данных: Ошибка записи.

en: Compilation failed error.
ru: Ошибка компиляции.

en: Method not found error.
ru: Ошибка "Метод не найден".

en: Linking failed error.
ru: Ошибка линковки.

en: Invalid declaration error.
ru: Ошибка "Недопустимое определение".

en: Duplicate symbol error.
ru: Ошибка "Повторяющийся символ".

en: Parse error.
ru: Ошибка синтаксического разбора.

en: Busy error.
ru: Ошибка "Занято".

en: Skip error.
ru: Ошибка "Пропущено".

en: Help error.
ru: Ошибка справки.

en: Bug error.
ru: Ошибка "Баг".

en: Printer on fire error. (This is an easter egg, no engine methods return this error code.)
ru: Ошибка "Принтер в огне". (Это пасхальное яйцо, никакие методы движка не возвращают этот код ошибки.)

en: Hints that an integer or float property should be within a range specified via the hint string [code]"min,max"[/code] or [code]"min,max,step"[/code]. The hint string can optionally include [code]"or_greater"[/code] and/or [code]"or_lesser"[/code] to allow manual input going respectively above the max or below the min values. Example: [code]"-360,360,1,or_greater,or_lesser"[/code].
ru: Указывает, что целое или вещественное свойство должно находиться в пределах диапазона, заданного строкой подсказки [code]"min,max"[/code] или [code]"min,max,step"[/code]. Строка подсказки также может включать [code]"or_greater"[/code] и/или [code]"or_lesser"[/code] чтобы позволить вводить значения больше max или меньше min. Пример: [code]"-360,360,1,or_greater,or_lesser"[/code].

en: Deprecated hint, unused.
ru: Подсказка устарела, не используется.

en: Hints that an integer property is a bitmask with named bit flags. For example, to allow toggling bits 0, 1, 2 and 4, the hint could be something like [code]"Bit0,Bit1,Bit2,,Bit4"[/code].
ru: Указывает, что целочисленное свойство является битовой маской с именованными флагами. Например, чтобы позволить переключать биты 0, 1, 2 и 4, подсказка должна выглядеть примерно так [code]"Бит 0,Бит 1,Бит 2,,Бит 4"[/code].

en: Hints that an integer property is a bitmask using the optionally named 2D render layers.
ru: Указывает, что целочисленное свойство является битовой маской с использованием (опционально) именованных 2D-слоев рендеринга.

en: Hints that an integer property is a bitmask using the optionally named 2D physics layers.
ru: Указывает, что целочисленное свойство является битовой маской с использованием (опционально) именованных 2D-слоев физики.

en: Hints that an integer property is a bitmask using the optionally named 3D render layers.
ru: Указывает, что целочисленное свойство является битовой маской с использованием (опционально) именованных 3D-слоев рендеринга.

en: Hints that an integer property is a bitmask using the optionally named 3D physics layers.
ru: Указывает, что целочисленное свойство является битовой маской с использованием (опционально) именованных 3D-слоев физики.

en: Hints that a string property is a path to a file. Editing it will show a file dialog for picking the path. The hint string can be a set of filters with wildcards like [code]"*.png,*.jpg"[/code].
ru: Указывает, что строковое свойство является путём к файлу. При редактировании свойства будет появляться диалог выбора файла. Строка подсказки может содержать набор фильтров-масок, например [code]"*.png,*.jpg"[/code].

en: Hints that a string property is a path to a directory. Editing it will show a file dialog for picking the path.
ru: Указывает, что строковое свойство является путём к каталогу. При редактировании свойства отобразится диалоговое окно для выбора пути.

en: Hints that a string property is an absolute path to a file outside the project folder. Editing it will show a file dialog for picking the path. The hint string can be a set of filters with wildcards like [code]"*.png,*.jpg"[/code].
ru: Указывает, что строковое свойство является абсолютным путём к файлу вне проекта. При редактировании свойства будет появляться диалог выбора файла. Строка подсказки может содержать набор фильтров-масок, например [code]"*.png,*.jpg"[/code].

en: Hints that a string property is an absolute path to a directory outside the project folder. Editing it will show a file dialog for picking the path.
ru: Указывает, что строковое свойство является абсолютным путём к каталогу вне проекта. При редактировании свойства отобразится диалоговое окно для выбора пути.

en: Hints that a string property is text with line breaks. Editing it will show a text input field where line breaks can be typed.
ru: Указывает, что строковое свойство является многострочным текстом. При редактировании свойства появится поле ввода текста, в котором можно вводить переносы строк.

en: Hints that a string property should have a placeholder text visible on its input field, whenever the property is empty. The hint string is the placeholder text to use.
ru: Указывает, что строковое свойство должно имеет текст-заполнитель, видимый в поле ввода, когда свойство пусто. Строка подсказки – это текст-заполнитель.

en: Hints that a color property should be edited without changing its alpha component, i.e. only R, G and B channels are edited.
ru: Указывает, что свойство-цвет должно редактировать без изменения альфа-канала, т. е. редактируются только каналы R, G и B.

en: Hints that an image is compressed using lossy compression.
ru: Указывает, что изображение использует сжатие с потерями.

en: Hints that an image is compressed using lossless compression.
ru: Указывает, что изображение использует сжатие без потерь.

en: The property is serialized and saved in the scene file (default).
ru: Свойство сериализируется и сохраняется в файле сцены (по умолчанию).

en: The property is shown in the editor inspector (default).
ru: Свойство отображается в инспекторе редактора (по умолчанию).

en: Deprecated usage flag, unused.
ru: Устаревший флаг, не используется.

en: The property can be checked in the editor inspector.
ru: Свойство может быть отмечено в инспекторе редактора.

en: The property is checked in the editor inspector.
ru: Свойство отмечено в инспекторе редактора.

en: The property is a translatable string.
ru: Свойство является переводимой строкой.

en: Used to categorize properties together in the editor.
ru: Используется для категоризации свойств в редакторе.

en: The property does not save its state in [PackedScene].
ru: Свойство не сохраняет свое состояние в [PackedScene].

en: Editing the property prompts the user for restarting the editor.
ru: При редактировании свойства пользователю предлагается перезапустить редактор.

en: The property is a script variable which should be serialized and saved in the scene file.
ru: Свойство является переменной скрипта, которая должна быть сериализована и сохранена в файле сцены.

en: Default usage (storage, editor and network).
ru: Использование по умолчанию (хранение, редактор и сеть).

en: Default usage for translatable strings (storage, editor, network and internationalized).
ru: Использование по умолчанию для переводимых строк (хранение, редактор, сеть и интернационализация).

en: Default usage but without showing the property in the editor (storage, network).
ru: Использование по умолчанию, но без отображения свойства в редакторе (хранение, сеть).

en: Flag for a normal method.
ru: Флаг для обычного метода.

en: Flag for an editor method.
ru: Флаг для метода редактора.

en: Deprecated method flag, unused.
ru: Устаревший флаг метода, не используется.

en: Flag for a virtual method.
ru: Флаг для виртуального метода.

en: Default method flags.
ru: Флаги метода по умолчанию.

en: Variable is [code]null[/code].
ru: Переменная равна [code]null[/code].

en: Variable is of type [bool].
ru: Переменная типа [bool].

en: Variable is of type [int].
ru: Переменная типа [int].

en: Variable is of type [float] (real).
ru: Переменная типа [float] (real).

en: Variable is of type [String].
ru: Переменная типа [String].

en: Variable is of type [Vector2].
ru: Переменная типа [Vector2].

en: Variable is of type [Rect2].
ru: Переменная типа [Rect2].

en: Variable is of type [Vector3].
ru: Переменная типа [Vector3].

en: Variable is of type [Transform2D].
ru: Переменная типа [Transform2D].

en: Variable is of type [Plane].
ru: Переменная типа [Plane].

en: Variable is of type [Quat].
ru: Переменная типа [Quat].

en: Variable is of type [AABB].
ru: Переменная типа [AABB].

en: Variable is of type [Basis].
ru: Переменная типа [Basis].

en: Variable is of type [Transform].
ru: Переменная типа [Transform].

en: Variable is of type [Color].
ru: Переменная типа [Color].

en: Variable is of type [NodePath].
ru: Переменная типа [NodePath].

en: Variable is of type [RID].
ru: Переменная типа [RID].

en: Variable is of type [Object].
ru: Переменная типа [Object].

en: Variable is of type [Dictionary].
ru: Переменная типа [Dictionary].

en: Variable is of type [Array].
ru: Переменная типа [Array].

en: Represents the size of the [enum Variant.Type] enum.
ru: Представляет размер перечисления [enum Variant.Type].

en: Equality operator ([code]==[/code]).
ru: Оператор "Равно" ([code]==[/code]).

en: Inequality operator ([code]!=[/code]).
ru: Оператор "Не равно" ([code]!=[/code]).

en: Less than operator ([code]<[/code]).
ru: Оператор "Меньше чем" ([code]<[/code]).

en: Less than or equal operator ([code]<=[/code]).
ru: Оператор "Меньше чем или равно" ([code]<=[/code]).

en: Greater than operator ([code]>[/code]).
ru: Оператор "Больше чем" ([code]>[/code]).

en: Greater than or equal operator ([code]>=[/code]).
ru: Оператор "Больше чем или равно" ([code]>=[/code]).

en: Addition operator ([code]+[/code]).
ru: Оператор сложения ([code]+[/code]).

en: Subtraction operator ([code]-[/code]).
ru: Оператор вычитания ([code]-[/code]).

en: Multiplication operator ([code]*[/code]).
ru: Оператор умножения ([code]*[/code]).

en: Division operator ([code]/[/code]).
ru: Оператор деления ([code]/[/code]).

en: Unary negation operator ([code]-[/code]).
ru: Унарный оператор отрицания ([code]-[/code]).

en: Unary plus operator ([code]+[/code]).
ru: Унарный оператор "Плюс" ([code]+[/code]).

en: Remainder/modulo operator ([code]%[/code]).
ru: Оператор остатка/модуля ([code]%[/code]).

en: String concatenation operator ([code]+[/code]).
ru: Оператор конкатенации строк ([code]+[/code]).

en: Left shift operator ([code]<<[/code]).
ru: Оператор сдвига влево ([code]<<[/code]).

en: Right shift operator ([code]>>[/code]).
ru: Оператор сдвига вправо ([code]>>[/code]).

en: Bitwise AND operator ([code]&[/code]).
ru: Побитовый оператор И ([code]&[/code]).

en: Bitwise OR operator ([code]|[/code]).
ru: Побитовый оператор ИЛИ ([code]|[/code]).

en: Bitwise XOR operator ([code]^[/code]).
ru: Побитовый оператор Исключающее ИЛИ ([code]^[/code]).

en: Bitwise NOT operator ([code]~[/code]).
ru: Побитовый оператор НЕ ([code]~[/code]).

en: Logical AND operator ([code]and[/code] or [code]&&[/code]).
ru: Оператор "Логическое И" ([code]and[/code] или [code]&&[/code]).

en: Logical OR operator ([code]or[/code] or [code]||[/code]).
ru: Логический оператор ИЛИ ([code]or[/code] или [code]||[/code]).

en: Logical XOR operator (not implemented in GDScript).
ru: Логический оператор Исключающее ИЛИ (не реализован в GDScript).

en: Logical NOT operator ([code]not[/code] or [code]![/code]).
ru: Логический оператор НЕ ([code]not[/code] или [code]![/code]).

en: Logical IN operator ([code]in[/code]).
ru: Логический оператор В ([code]in[/code]).

en: Represents the size of the [enum Variant.Operator] enum.
ru: Представляет размер перечисления [enum Variant.Operator].

en: Axis-Aligned Bounding Box.
ru: Выровненная по оси ограничительная рамка.

en: Vector math
ru: Векторная математика

en: Returns an AABB with equivalent position and size, modified so that the most-negative corner is the origin and the size is positive.
ru: Возвращает AABB с эквивалентными позицией и размером, измененным так, чтобы наиболее отрицательный угол был исходной точкой, а размер был положительным.

en: Returns [code]true[/code] if this [AABB] completely encloses another one.
ru: Возвращает [code]true[/code] если этот [AABB] полностью закрывает другой.

en: Returns a copy of this [AABB] expanded to include a given point.
    [b]Example:[/b]
    [codeblock]
    # position (-3, 2, 0), size (1, 1, 1)
    var box = AABB(Vector3(-3, 2, 0), Vector3(1, 1, 1))
    # position (-3, -1, 0), size (3, 4, 2), so we fit both the original AABB and Vector3(0, -1, 2)
    var box2 = box.expand(Vector3(0, -1, 2))
    [/codeblock]
ru: Возвращает копию данного [AABB], расширенную для включения заданной точки.
    [b]Пример:[/b]
    [codeblock]
    # позиция (-3, 2, 0), размер (1, 1, 1)
    var box = AABB(Vector3(-3, 2, 0), Vector3(1, 1, 1))
    # позиция (-3, -1, 0), размер (3, 4, 2), так что мы поместим и оригинальный AABB, и Vector3(0, -1, 2)
    var box2 = box.expand(Vector3(0, -1, 2))
    [/codeblock].

en: Returns the volume of the [AABB].
ru: Возвращает объем [AABB].

en: Returns the center of the [AABB], which is equal to [member position] + ([member size] / 2).
ru: Возвращает центр [AABB], который равен [позиция участника] + ([количество участников] / 2).

en: Gets the position of the 8 endpoints of the [AABB] in space.
ru: Получает положение 8 конечных точек [AABB] в пространстве.

en: Returns the normalized longest axis of the [AABB].
ru: Возвращает нормализованную самую длинную ось [AABB].

en: Returns the index of the longest axis of the [AABB] (according to [Vector3]'s [code]AXIS_*[/code] constants).
ru: Возвращает индекс самой длинной оси [AABB] (в соответствии с константой [Vector3] [code]AXIS_*[/code]).

en: Returns the scalar length of the longest axis of the [AABB].
ru: Возвращает скалярную длину самой длинной оси [AABB].

en: Returns the normalized shortest axis of the [AABB].
ru: Возвращает нормализованную наикратчайшую ось [AABB].

en: Returns the index of the shortest axis of the [AABB] (according to [Vector3]::AXIS* enum).
ru: Возвращает индекс самой короткой оси [AABB] (в соответствии с перечислением [Vector3]::AXIS*).

en: Returns the scalar length of the shortest axis of the [AABB].
ru: Возвращает скалярную длину наикратчайшей оси [AABB].

en: Returns the support point in a given direction. This is useful for collision detection algorithms.
ru: Возвращает точку опоры в заданном направлении. Это полезно для алгоритмов обнаружения столкновений.

en: Returns a copy of the [AABB] grown a given amount of units towards all the sides.
ru: Возвращает копию [AABB], выращенную на заданное количество единиц в сторону всех сторон.

en: Returns [code]true[/code] if the [AABB] is flat or empty.
ru: Возвращает [code]true[/code], если [AABB] плоский или пустой.

en: Returns [code]true[/code] if the [AABB] is empty.
ru: Возвращает [code]true[/code], если [AABB] пуст.

en: Returns [code]true[/code] if the [AABB] contains a point.
ru: Возвращает [code]true[/code], если [AABB] содержит точку.

en: Returns the intersection between two [AABB]. An empty AABB (size 0,0,0) is returned on failure.
ru: Возвращает пересечение двух [AABB]. Пустой AABB (размером 0,0,0) возвращается при ошибке.

en: Returns [code]true[/code] if the [AABB] overlaps with another.
ru: Возвращает [code]true[/code], если [AABB] пересекается с другим.

en: Returns [code]true[/code] if the [AABB] is on both sides of a plane.
ru: Возвращает [code]true[/code], если [AABB] находится по обе стороны от плоскости.

en: Returns [code]true[/code] if the [AABB] intersects the line segment between [code]from[/code] and [code]to[/code].
ru: Возвращает [code]true[/code], если [AABB] пересекает отрезок прямой между [code]from[/code] и [code]to[/code].

en: Returns [code]true[/code] if this [AABB] and [code]aabb[/code] are approximately equal, by calling [method @GDScript.is_equal_approx] on each component.
ru: Возвращает [code]true[/code], если этот [AABB] и [code]aabb[/code] приблизительно равны, вызывая [method @GDScript.is_equal_approx] для каждого компонента.

en: Returns a larger [AABB] that contains both this [AABB] and [code]with[/code].
ru: Возвращает больший [AABB], содержащий как этот [AABB], так и [code]with[/code].

en: Ending corner. This is calculated as [code]position + size[/code]. Setting this value will change the size.
ru: Конечный угол. Рассчитывается как [code]position + size[/code]. Установка этого значения изменит размер.

en: Beginning corner. Typically has values lower than [member end].
ru: Начальный угол. Обычно имеет меньшия значения, чем у [member end].

en: Size from [member position] to [member end]. Typically, all components are positive.
    If the size is negative, you can use [method abs] to fix it.
ru: Размер от [member position] до [member end]. Обычно все компоненты положительные.
    Если размер отрицательный, вы можете использовать [method abs], чтобы исправить это.

en: Base dialog for user notification.
ru: Базовый диалог для уведомления пользователя.

en: This dialog is useful for small notifications to the user about an event. It can only be accepted or closed, with the same result.
ru: Этот диалог полезен для небольших уведомлений пользователя о событии. Его можно только принять или закрыть (с тем же результатом).

en: Adds a button with label [code]text[/code] and a custom [code]action[/code] to the dialog and returns the created button. [code]action[/code] will be passed to the [signal custom_action] signal when pressed.
    If [code]true[/code], [code]right[/code] will place the button to the right of any sibling buttons.
    You can use [method remove_button] method to remove a button created with this method from the dialog.
ru: Добавляет кнопку с надписью [code]text[/code] и пользовательским действием [code]action[/code] в диалоговое окно и возвращает созданную кнопку. [code]action[/code] будет передано сигналу [signal custom_action] при нажатии.
    Если установлено в [code]true[/code], [code]right[/code] разместит кнопку справа от любых родственных кнопок.
    Вы можете использовать метод [method remove_button] чтобы удалить кнопку, созданную этим методом из диалога.

en: Adds a button with label [code]name[/code] and a cancel action to the dialog and returns the created button.
    You can use [method remove_button] method to remove a button created with this method from the dialog.
ru: Добавляет кнопку с надписью [code]name[/code] и действием отмены в диалоговое окно и возвращает созданную кнопку.
    Вы можете использовать метод [method remove_button] чтобы удалить кнопку, созданную этим методом из диалога.

en: Returns the label used for built-in text.
    [b]Warning:[/b] This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their [member CanvasItem.visible] property.
ru: Возвращает метку, используемую для встроенного текста.
    [b]Предупреждение:[/b] Это обязательный внутренний узел, его удаление и освобождение может привести к сбою. Если вы хотите скрыть его или любой из его дочерних элементов, используйте их свойство [member CanvasItem.visible].

en: Returns the OK [Button] instance.
    [b]Warning:[/b] This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their [member CanvasItem.visible] property.
ru: Возвращает экземпляр кнопки OK [Button].
    [b]Предупреждение:[/b] Это обязательный внутренний узел, его удаление и освобождение может привести к сбою. Если вы хотите скрыть его или любой из его дочерних элементов, используйте их свойство [member CanvasItem.visible].

en: Registers a [LineEdit] in the dialog. When the enter key is pressed, the dialog will be accepted.
ru: Регистрирует [LineEdit] в диалоге. При нажатии клавиши ввода диалог будет принят.

en: Removes the [code]button[/code] from the dialog. Does NOT free the [code]button[/code]. The [code]button[/code] must be a [Button] added with [method add_button] or [method add_cancel] method. After removal, pressing the [code]button[/code] will no longer emit this dialog's [signal custom_action] signal or cancel this dialog.
ru: Удаляет [code]button[/code] из диалога. НЕ освобождает [code]button[/code]. [code]button[/code] должна быть [Button], добавленной с помощью метода [method add_button] или [method add_cancel]. После удаления, нажатие [code]button[/code] больше не будет вызывать сигнал [signal custom_action] этого диалога или отменять этот диалог.

en: Sets autowrapping for the text in the dialog.
ru: Устанавливает автоматический перенос текста в диалоге.

en: If [code]true[/code], the dialog is hidden when the OK button is pressed. You can set it to [code]false[/code] if you want to do e.g. input validation when receiving the [signal confirmed] signal, and handle hiding the dialog in your own logic.
    [b]Note:[/b] Some nodes derived from this class can have a different default value, and potentially their own built-in logic overriding this setting. For example [FileDialog] defaults to [code]false[/code], and has its own input validation code that is called when you press OK, which eventually hides the dialog if the input is valid. As such, this property can't be used in [FileDialog] to disable hiding the dialog when pressing OK.
ru: Если [code]true[/code], диалоговое окно будет скрыто при нажатии кнопки OK. Вы можете установить значение в [code]false[/code] если хотите, например, сделать проверку ввода при получении сигнала [signal confirmed], и обработать сокрытие диалога в своей собственной логике.
    [b]Примечание:[/b] Некоторые узлы, производные от этого класса, могут иметь другое значение по умолчанию, и потенциально их собственная встроенная логика переопределяет этот параметр. Например, [FileDialog] имеет значение по умолчанию [code]false[/code] и собственный код проверки ввода, который вызывается при нажатии кнопки OK, который в конечном итоге скрывает диалог, если ввод является допустимым. Как таковое, это свойство не может быть использовано в [FileDialog] для отключения скрытия диалога при нажатии OK.

en: The text displayed by the dialog.
ru: Текст, отображаемый в диалоговом окне.

en: Emitted when the dialog is accepted, i.e. the OK button is pressed.
ru: Излучается при принятии диалога, т.е. когда нажата кнопка OK.

en: Emitted when a custom button is pressed. See [method add_button].
ru: Излучается при нажатии пользовательской кнопки. Смотрите [method add_button].

en: Interface to low level AES encryption features.
ru: Интерфейс к низкоуровневым функциям шифрования AES.

en: This class provides access to AES encryption/decryption of raw data. Both AES-ECB and AES-CBC mode are supported.
    [codeblock]
    extends Node
    
    var aes = AESContext.new()
    
    func _ready():
        var key = "My secret key!!!" # Key must be either 16 or 32 bytes.
        var data = "My secret text!!" # Data size must be multiple of 16 bytes, apply padding if needed.
        # Encrypt ECB
        aes.start(AESContext.MODE_ECB_ENCRYPT, key.to_utf8())
        var encrypted = aes.update(data.to_utf8())
        aes.finish()
        # Decrypt ECB
        aes.start(AESContext.MODE_ECB_DECRYPT, key.to_utf8())
        var decrypted = aes.update(encrypted)
        aes.finish()
        # Check ECB
        assert(decrypted == data.to_utf8())
    
        var iv = "My secret iv!!!!" # IV must be of exactly 16 bytes.
        # Encrypt CBC
        aes.start(AESContext.MODE_CBC_ENCRYPT, key.to_utf8(), iv.to_utf8())
        encrypted = aes.update(data.to_utf8())
        aes.finish()
        # Decrypt CBC
        aes.start(AESContext.MODE_CBC_DECRYPT, key.to_utf8(), iv.to_utf8())
        decrypted = aes.update(encrypted)
        aes.finish()
        # Check CBC
        assert(decrypted == data.to_utf8())
    [/codeblock]
ru: Этот класс обеспечивает доступ к AES шифрованию/дешифрованию необработанных данных. Поддерживаются режимы AES-ECB и AES-CBC.
    [codeblock]
    extends Node
    
    var aes = AESContext.new()
    
    func _ready():
        var key = "Мой секретный ключ!!!" # Ключ должен быть либо 16, либо 32 байт.
        var data = "Мой секретный текст!!" # Размер данных должен быть кратен 16 байтам, при необходимости применяйте дополнение.
        # Зашифровать ECB
        aes.start(AESContext.MODE_ECB_ENCRYPT, key.to_utf8())
        var encrypted = aes.update(data.to_utf8())
        aes.finish()
        # Расшифровать ECB
        aes.start(AESContext.MODE_ECB_DECRYPT, key.to_utf8())
        var decrypted = aes.update(encrypted)
        aes.finish()
        # Проверить ECB
        assert(decrypted == data.to_utf8())
    
        var iv = "Мой секретный iv!!!!" # IV должен быть ровно 16 байт.
        # Зашифровать CBC
        aes.start(AESContext.MODE_CBC_ENCRYPT, key.to_utf8(), iv.to_utf8())
        encrypted = aes.update(data.to_utf8())
        aes.finish()
        # Расшифровать CBC
        aes.start(AESContext.MODE_CBC_DECRYPT, key.to_utf8(), iv.to_utf8())
        decrypted = aes.update(encrypted)
        aes.finish()
        # Проверить CBC
        assert(decrypted == data.to_utf8())
    [/codeblock]

en: Close this AES context so it can be started again. See [method start].
ru: Закрыть данный AES-контекст, чтобы его можно было запустить заново. См. раздел [method start].

en: Get the current IV state for this context (IV gets updated when calling [method update]). You normally don't need this function.
    [b]Note:[/b] This function only makes sense when the context is started with [constant MODE_CBC_ENCRYPT] or [constant MODE_CBC_DECRYPT].
ru: Получить текущее IV состояние для данного контекста (IV обновляется при вызове [method update]). Обычно эта функция вам не нужна.
    [b]Примечание:[/b] Эта функция имеет смысл только тогда, когда контекст запущен с [constant MODE_CBC_ENCRYPT] или [constant MODE_CBC_DECRYPT].

en: Start the AES context in the given [code]mode[/code]. A [code]key[/code] of either 16 or 32 bytes must always be provided, while an [code]iv[/code] (initialization vector) of exactly 16 bytes, is only needed when [code]mode[/code] is either [constant MODE_CBC_ENCRYPT] or [constant MODE_CBC_DECRYPT].
ru: Запустить контекст AES в данном режиме [code]mode[/code]. Ключ [code]key[/code] из 16 или 32 байт должен быть предоставлен всегда, в то время как [code]iv[/code] (вектор инициализации) ровно из 16 байт, нужен только в том случае, если режим [code]mode[/code] является либо [constant MODE_CBC_ENCRYPT], либо [constant MODE_CBC_DECRYPT].

en: Run the desired operation for this AES context. Will return a [PoolByteArray] containing the result of encrypting (or decrypting) the given [code]src[/code]. See [method start] for mode of operation.
    [b]Note:[/b] The size of [code]src[/code] must be a multiple of 16. Apply some padding if needed.
ru: Запустить нужную операцию для данного AES-контекста. Вернет [PoolByteArray], содержащий результат шифрования (или расшифровки) данного [code]src[/code]. Режимы операции смотрите в [method start].
    [b]Примечание:[/b] Размер [code]src[/code] должен быть кратен 16. При необходимости применяйте дополнение.

en: AES electronic codebook encryption mode.
ru: AES режим шифрования электронной кодовой книги.

en: AES electronic codebook decryption mode.
ru: AES режим дешифрования электронной кодовой книги.

en: AES cipher blocker chaining encryption mode.
ru: AES шифрование режимом сцепления блоков шифротекста Cipher Block Chaining (CBC).

en: AES cipher blocker chaining decryption mode.
ru: AES дешифрование режимом сцепления блоков шифротекста Cipher Block Chaining (CBC).

en: Maximum value for the mode enum.
ru: Максимальное значение для режима перечисления.

en: Plays the animation named [code]anim[/code]. If no [code]anim[/code] is provided, the current animation is played. If [code]backwards[/code] is [code]true[/code], the animation will be played in reverse.
ru: Воспроизводит анимацию с именем [code]anim[/code]. Если [code]anim[/code] не указан, воспроизводится текущая анимация. Если [code]backwards[/code] равно [code]true[/code], анимация будет воспроизводиться в обратном порядке.

en: Stops the current animation (does not reset the frame counter).
ru: Останавливает текущую анимацию (не сбрасывает счётчик кадров).

en: If [code]true[/code], texture will be centered.
ru: Если [code]true[/code], текстура будет центрирована.

en: If [code]true[/code], texture is flipped horizontally.
ru: Если [code]true[/code], текстура отражена по горизонтали.

en: If [code]true[/code], texture is flipped vertically.
ru: Если [code]true[/code], текстура отражена по вертикали.

en: The displayed animation frame's index.
ru: Индекс отображаемого кадра анимации.

en: The texture's drawing offset.
ru: Смещение текстуры.

en: If [code]true[/code], the [member animation] is currently playing.
ru: Если [code]true[/code], анимация [member animation] воспроизводится в данный момент.

en: The animation speed is multiplied by this value.
ru: Скорость анимации умножается на это значение.

en: Emitted when the animation is finished (when it plays the last frame). If the animation is looping, this signal is emitted every time the last frame is drawn.
ru: Излучается, когда анимация завершается (при воспроизведении последнего кадра). Если анимация зациклена, этот сигнал излучается каждый раз при отрисовке последнего кадра.

en: Emitted when [member frame] changed.
ru: Излучается при изменении [member frame].

en: 2D sprite node in 3D world, that can use multiple 2D textures for animation.
ru: Узел 2D спрайта в 3D мире, который может использовать несколько 2D текстур для анимации.

en: Animations are created using a [SpriteFrames] resource, which can be configured in the editor via the SpriteFrames panel.
ru: Анимации создаются с помощью ресурса [SpriteFrames], который может быть сконфигурирован в редакторе через панель SpriteFrames.

en: Returns [code]true[/code] if an animation is currently being played.
ru: Возвращает [code]true[/code], если в данный момент воспроизводится анимация.

en: Plays the animation named [code]anim[/code]. If no [code]anim[/code] is provided, the current animation is played.
ru: Воспроизводит анимацию с именем [code]anim[/code]. Если [code]anim[/code] не указан, воспроизводится текущая анимация.

en: The current animation from the [code]frames[/code] resource. If this value changes, the [code]frame[/code] counter is reset.
ru: Текущая анимация из ресурса [code]frames[/code]. Если изменить это значение, счетчик кадров [code]frame[/code] сбрасывается.

en: The [SpriteFrames] resource containing the animation(s).
ru: Ресурс [SpriteFrames], содержащий анимацию(ы).

en: Proxy texture for simple frame-based animations.
ru: Прокси-текстура для простых покадровых анимаций.

en: [AnimatedTexture] is a resource format for frame-based animations, where multiple textures can be chained automatically with a predefined delay for each frame. Unlike [AnimationPlayer] or [AnimatedSprite], it isn't a [Node], but has the advantage of being usable anywhere a [Texture] resource can be used, e.g. in a [TileSet].
    The playback of the animation is controlled by the [member fps] property as well as each frame's optional delay (see [method set_frame_delay]). The animation loops, i.e. it will restart at frame 0 automatically after playing the last frame.
    [AnimatedTexture] currently requires all frame textures to have the same size, otherwise the bigger ones will be cropped to match the smallest one.
    [b]Note:[/b] AnimatedTexture doesn't support using [AtlasTexture]s. Each frame needs to be a separate [Texture].
ru: [AnimatedTexture] — это формат ресурса для покадровых анимаций, где несколько текстур могут быть автоматически сцеплены с предопределенной задержкой для каждого кадра. В отличие от [AnimationPlayer] или [AnimatedSprite], не является [Node], и имеет преимущество в том, что может быть использован везде, где может быть использован ресурс [Texture], например в [TileSet].
    Воспроизведение анимации контролируется свойством [member fps], а также опциональной задержкой каждого кадра (см. [method set_frame_delay]). Анимация зациклена, т.е. после проигрывания последнего кадра она автоматически перезапускается на 0 кадр.
    В настоящее время [AnimatedTexture] требует, чтобы все текстуры кадров имели одинаковый размер, в противном случае более крупные будут обрезаны в соответствии с наименьшим кадром.
    [b]Примечание:[/b] Кроме того, не поддерживается [AtlasTexture]. Каждый кадр должен быть отдельным [Texture].

en: Returns the given frame's delay value.
ru: Возвращает значение задержки данного кадра.

en: Returns the given frame's [Texture].
ru: Возвращает [Texture] заданного кадра.

en: Sets an additional delay (in seconds) between this frame and the next one, that will be added to the time interval defined by [member fps]. By default, frames have no delay defined. If a delay value is defined, the final time interval between this frame and the next will be [code]1.0 / fps + delay[/code].
    For example, for an animation with 3 frames, 2 FPS and a frame delay on the second frame of 1.2, the resulting playback will be:
    [codeblock]
    Frame 0: 0.5 s (1 / fps)
    Frame 1: 1.7 s (1 / fps + 1.2)
    Frame 2: 0.5 s (1 / fps)
    Total duration: 2.7 s
    [/codeblock]
ru: Устанавливает дополнительную задержку (в секундах) между этим кадром и следующим, которая будет добавлена к временному интервалу, определяемому [member fps]. По умолчанию для кадров задержка не определена. Если значение задержки определено, окончательный интервал времени между этим кадром и следующим будет [code]1.0 / fps + delay[/code].
    Например, для анимации с 3 кадрами, 2 FPS и задержкой кадра 1.2 на втором кадре, результат воспроизведения будет следующим:
    [codeblock]
    Кадр 0: 0,5 сек (1 / fps)
    Кадр 1: 1,7 сек (1 / fps + 1,2)
    Кадр 2: 0,5 сек (1 / fps)
    Общая продолжительность: 2,7 сек
    [/codeblock]

en: Assigns a [Texture] to the given frame. Frame IDs start at 0, so the first frame has ID 0, and the last frame of the animation has ID [member frames] - 1.
    You can define any number of textures up to [constant MAX_FRAMES], but keep in mind that only frames from 0 to [member frames] - 1 will be part of the animation.
ru: Назначает [Texture] данному кадру. Идентификаторы кадров начинаются с 0, поэтому первый кадр имеет идентификатор 0, а последний кадр анимации имеет идентификатор [member frames] - 1.
    Вы можете определить любое количество текстур до [constant MAX_FRAMES], но имейте в виду, что только кадры от 0 до [member frames] - 1 будут частью анимации.

en: Sets the currently visible frame of the texture.
ru: Устанавливает текущий видимый кадр текстуры.

en: Animation speed in frames per second. This value defines the default time interval between two frames of the animation, and thus the overall duration of the animation loop based on the [member frames] property. A value of 0 means no predefined number of frames per second, the animation will play according to each frame's frame delay (see [method set_frame_delay]).
    For example, an animation with 8 frames, no frame delay and a [code]fps[/code] value of 2 will run for 4 seconds, with each frame lasting 0.5 seconds.
ru: Скорость анимации, в кадрах в секунду. Это значение определяет интервал времени по умолчанию между двумя кадрами анимации и, таким образом, общую продолжительность цикла анимации на основе свойства [member frames]. Значение 0 означает отсутствие предопределенного количества кадров в секунду, анимация будет воспроизводиться в соответствии с задержкой кадров каждого кадра (см. [method set_frame_delay]).
    Например, анимация с 8 кадрами, без задержки кадров и со значением [code]fps[/code] равным 2 будет воспроизводиться 4 секунды, каждый кадр длится 0,5 секунды.

en: Number of frames to use in the animation. While you can create the frames independently with [method set_frame_texture], you need to set this value for the animation to take new frames into account. The maximum number of frames is [constant MAX_FRAMES].
ru: Количество кадров, используемых в анимации. Хотя кадры можно создавать самостоятельно с помощью [method set_frame_texture], необходимо установить это значение, чтобы анимация учитывала новые кадры. Максимальное количество кадров - [constant MAX_FRAMES].

en: If [code]true[/code], the animation will only play once and will not loop back to the first frame after reaching the end. Note that reaching the end will not set [member pause] to [code]true[/code].
ru: Если [code]true[/code], анимация будет воспроизводиться только один раз и не будет возвращаться к первому кадру после достижения конца. Обратите внимание, что достижение конца не установит [member pause] в [code]true[/code].

en: If [code]true[/code], the animation will pause where it currently is (i.e. at [member current_frame]). The animation will continue from where it was paused when changing this property to [code]false[/code].
ru: Если [code]true[/code], анимация приостанавливается там, где она находится в данный момент (т.е. на [member current_frame]). При изменении этого свойства на [code]false[/code] анимация продолжится с того места, где она была приостановлена.

en: The maximum number of frames supported by [AnimatedTexture]. If you need more frames in your animation, use [AnimationPlayer] or [AnimatedSprite].
ru: Максимальное количество кадров, поддерживаемое [AnimatedTexture]. Если вам нужно больше кадров в анимации, используйте [AnimationPlayer] или [AnimatedSprite].

en: Contains data used to animate everything in the engine.
ru: Содержит данные, используемые для анимации всего в движке.

en: An Animation resource contains data used to animate everything in the engine. Animations are divided into tracks, and each track must be linked to a node. The state of that node can be changed through time, by adding timed keys (events) to the track.
    [codeblock]
    # This creates an animation that makes the node "Enemy" move to the right by
    # 100 pixels in 0.5 seconds.
    var animation = Animation.new()
    var track_index = animation.add_track(Animation.TYPE_VALUE)
    animation.track_set_path(track_index, "Enemy:position:x")
    animation.track_insert_key(track_index, 0.0, 0)
    animation.track_insert_key(track_index, 0.5, 100)
    [/codeblock]
    Animations are just data containers, and must be added to nodes such as an [AnimationPlayer] or [AnimationTreePlayer] to be played back. Animation tracks have different types, each with its own set of dedicated methods. Check [enum TrackType] to see available types.
ru: Ресурс Animation содержит данные, используемые для анимации всего в движке. Анимация делится на дорожки, и каждая дорожка должна быть связана с узлом. Состояние этого узла можно изменять во времени, добавляя к треку ключи (события) с заданным временем.
    [codeblock]
    # Это создает анимацию, которая заставляет узел "Враг" двигаться вправо на
    # 100 пикселей за 0,5 секунды.
    var animation = Animation.new()
    var track_index = animation.add_track(Animation.TYPE_VALUE)
    animation.track_set_path(track_index, "Enemy:position:x")
    animation.track_insert_key(track_index, 0.0, 0)
    animation.track_insert_key(track_index, 0.5, 100)
    [/codeblock].
    Анимации - это просто контейнеры данных, и для воспроизведения их нужно добавить в узлы, такие как [AnimationPlayer]. Дорожки анимации имеют различные типы, каждый из которых имеет свой набор специальных методов. Смотрите [enum TrackType], чтобы увидеть доступные типы.

en: Adds a track to the Animation.
ru: Добавляет дорожку в анимацию.

en: Returns the animation name at the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of an Animation Track.
ru: Возвращает имя анимации по ключу, идентифицированному [code]key_idx[/code]. Ключ [code]track_idx[/code] должен быть индексом дорожки анимации.

en: Inserts a key with value [code]animation[/code] at the given [code]time[/code] (in seconds). The [code]track_idx[/code] must be the index of an Animation Track.
ru: Вставляет ключ со значением [code]animation[/code] в заданное [code]time[/code] (в секундах). [code]track_idx[/code] должен быть индексом дорожки анимации.

en: Sets the key identified by [code]key_idx[/code] to value [code]animation[/code]. The [code]track_idx[/code] must be the index of an Animation Track.
ru: Устанавливает ключевой идентификатор [code]key_idx[/code], в значение [code]animation[/code]. Ключ [code]track_idx[/code] должен быть индексом дорожки анимации.

en: Returns the end offset of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of an Audio Track.
    End offset is the number of seconds cut off at the ending of the audio stream.
ru: Возвращает конечное смещение ключа идентификатора [code]key_idx[/code]. Ключ [code]track_idx[/code] должен быть индексом аудиодорожки.
    Конечное смещение - это количество секунд, отрезанных в конце аудиопотока.

en: Returns the start offset of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of an Audio Track.
    Start offset is the number of seconds cut off at the beginning of the audio stream.
ru: Возвращает начальное смещение ключа, идентифицированного [code]key_idx[/code]. [code]track_idx[/code] должен быть индексом аудиодорожки.
    Начальное смещение - это количество секунд, отрезанных в начале аудиопотока.

en: Returns the audio stream of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of an Audio Track.
ru: Возвращает аудиопоток ключа, идентифицированного [code]key_idx[/code]. [code]track_idx[/code] должен быть индексом аудиодорожки.

en: Inserts an Audio Track key at the given [code]time[/code] in seconds. The [code]track_idx[/code] must be the index of an Audio Track.
    [code]stream[/code] is the [AudioStream] resource to play. [code]start_offset[/code] is the number of seconds cut off at the beginning of the audio stream, while [code]end_offset[/code] is at the ending.
ru: Вставляет ключ аудиодорожки в заданное [code]время[/code] в секундах. [code]track_idx[/code] должен быть индексом аудиодорожки.
    [code]stream[/code] - ресурс [AudioStream] для воспроизведения. [code]start_offset[/code] - это количество секунд, отрезанных в начале аудиопотока, а [code]end_offset[/code] - в конце.

en: Sets the end offset of the key identified by [code]key_idx[/code] to value [code]offset[/code]. The [code]track_idx[/code] must be the index of an Audio Track.
ru: Устанавливает конечное смещение ключа, идентифицированного [code]key_idx[/code], на значение [code]offset[/code]. [code]track_idx[/code] должен быть индексом аудиодорожки.

en: Sets the start offset of the key identified by [code]key_idx[/code] to value [code]offset[/code]. The [code]track_idx[/code] must be the index of an Audio Track.
ru: Устанавливает начало смещения ключа, идентифицированного [code]key_idx[/code] равным значению [code]offset[/code]. [code]track_idx[/code] должен быть индексом аудио дорожки.

en: Clear the animation (clear all tracks and reset all).
ru: Очистить анимацию (удалить все дорожки и сбросить всё).

en: Adds a new track that is a copy of the given track from [code]to_animation[/code].
ru: Добавляет новую дорожку, которая является копией данной дорожки из [code]to_animation[/code].

en: Returns the index of the specified track. If the track is not found, return -1.
ru: Возвращает индекс указанной дорожки. Если дорожка не найдена, возвращает -1.

en: Returns the amount of tracks in the animation.
ru: Возвращает количество дорожек в анимации.

en: Returns the interpolation type of a given track.
ru: Возвращает тип интерполяции данной дорожки.

en: Returns the amount of keys in a given track.
ru: Возвращает количество ключей в данной дорожке.

en: Returns the time at which the key is located.
ru: Возвращает время, в котором расположен ключ.

en: Gets the type of a track.
ru: Получает тип дорожки.

en: Insert a generic key in a given track.
ru: Вставить общий ключ в данную дорожку.

en: Removes a key by index in a given track.
ru: Удаляет ключ по индексу из данной дорожки.

en: Removes a key by position (seconds) in a given track.
ru: Удаляет ключ по позиции (в секундах) в данной дорожке.

en: Enables/disables the given track. Tracks are enabled by default.
ru: Включает/отключает данную дорожку. По умолчанию дорожки включены.

en: Sets the time of an existing key.
ru: Устанавливает время существующего ключа.

en: The total length of the animation (in seconds).
    [b]Note:[/b] Length is not delimited by the last key, as this one may be before or after the end to ensure correct interpolation and looping.
ru: Общая длина анимации (в секундах).
    [b]Замечание:[/b] Длина не ограничена последним ключом, так как он может находиться до или после конца для обеспечения корректной интерполяции и зацикливания.

en: Linear interpolation.
ru: Линейная интерполяция.

en: Cubic interpolation.
ru: Кубическая интерполяция.

en: AnimationTree
ru: Дерево анимации

en: The transition type.
ru: Тип перехода.

en: An animation player is used for general-purpose playback of [Animation] resources. It contains a dictionary of animations (referenced by name) and custom blend times between their transitions. Additionally, animations can be played and blended in different channels.
    [AnimationPlayer] is more suited than [Tween] for animations where you know the final values in advance. For example, fading a screen in and out is more easily done with an [AnimationPlayer] node thanks to the animation tools provided by the editor. That particular example can also be implemented with a [Tween] node, but it requires doing everything by code.
    Updating the target properties of animations occurs at process time.
ru: Проигрыватель анимации используется для воспроизведения ресурсов [Animation]. Он содержит словарь анимаций (ключами являются имена) и пользовательское время смешивания между их переходами. Кроме того, анимации могут воспроизводиться и смешиваться в разных каналах.
    [AnimationPlayer] лучше чем [Tween] подходит для анимаций, в которых конечные значения известны заранее. Например, затухание экрана легче выполнить с помощью узла [AnimationPlayer] благодаря инструментам анимации, предоставляемым редактором. Этот конкретный пример также можно реализовать с помощью узла [Tween], но для этого придется всё делать в коде.
    Обновление целевых свойств анимаций происходит во время процесса.

en: Gets the blend time (in seconds) between two animations, referenced by their names.
ru: Получает время смешивания (в секундах) между двумя анимациями, на которые ссылаются их имена.

en: Gets the actual playing speed of current animation or 0 if not playing. This speed is the [member playback_speed] property multiplied by [code]custom_speed[/code] argument specified when calling the [method play] method.
ru: Получает фактическую скорость воспроизведения текущей анимации или 0, если она не воспроизводится. Эта скорость является свойством [member playback_speed], умноженным на аргумент [code]custom_speed[/code], указанный при вызове метода [method play].

en: Returns a list of the animation names that are currently queued to play.
ru: Возвращает список имен анимаций, которые в данный момент стоят в очереди на воспроизведение.

en: Returns [code]true[/code] if the [AnimationPlayer] stores an [Animation] with key [code]name[/code].
ru: Возвращает [code]true[/code], если в [AnimationPlayer] хранится [Animation] с ключом [code]name[/code].

en: Returns [code]true[/code] if playing an animation.
ru: Возвращает [code]true[/code], если воспроизводится анимация.

en: Plays the animation with key [code]name[/code]. Custom blend times and speed can be set. If [code]custom_speed[/code] is negative and [code]from_end[/code] is [code]true[/code], the animation will play backwards (which is equivalent to calling [method play_backwards]).
    The [AnimationPlayer] keeps track of its current or last played animation with [member assigned_animation]. If this method is called with that same animation [code]name[/code], or with no [code]name[/code] parameter, the assigned animation will resume playing if it was paused, or restart if it was stopped (see [method stop] for both pause and stop). If the animation was already playing, it will keep playing.
    [b]Note:[/b] The animation will be updated the next time the [AnimationPlayer] is processed. If other variables are updated at the same time this is called, they may be updated too early. To perform the update immediately, call [code]advance(0)[/code].
ru: Воспроизводит анимацию с ключом [code]name[/code]. Можно задать пользовательское время наложения и скорость. Если [code]custom_speed[/code] отрицателен и [code]from_end[/code] равен [code]true[/code], анимация будет воспроизводиться в обратном направлении (что эквивалентно вызову [method play_backwards]).
    [AnimationPlayer] отслеживает текущую или последнюю воспроизведенную анимацию с помощью [member assigned_animation]. Если этот метод вызывается с той же анимацией [code]name[/code] или без параметра [code]name[/code], назначенная анимация возобновит воспроизведение, если она была приостановлена, или перезапустится, если она была остановлена (см. [method stop] для паузы и остановки). Если анимация уже воспроизводится, то она продолжит воспроизведение.
    [b]Примечание:[/b] Анимация будет обновлена при следующей обработке [AnimationPlayer]. Если одновременно с этим вызовом обновляются другие переменные, они могут быть обновлены слишком рано. Чтобы выполнить обновление немедленно, вызовите [code]advance(0)[/code].

en: Plays the animation with key [code]name[/code] in reverse.
    This method is a shorthand for [method play] with [code]custom_speed = -1.0[/code] and [code]from_end = true[/code], so see its description for more information.
ru: Воспроизводит анимацию с ключом [code]name[/code] в обратном направлении.
    Этот метод является короткой записью для [method play] с [code]custom_speed = -1.0[/code] и [code]from_end = true[/code], поэтому для получения дополнительной информации смотрите его описание.

en: Queues an animation for playback once the current one is done.
    [b]Note:[/b] If a looped animation is currently playing, the queued animation will never play unless the looped animation is stopped somehow.
ru: Ставит анимацию в очередь на воспроизведение после завершения текущей анимации.
    [b]Примечание:[/b] Если в данный момент воспроизводится зацикленная анимация, то поставленная в очередь анимация никогда не начнёт воспроизводиться, пока зацикленная анимация не будет остановлена каким-либо образом.

en: The name of the currently playing animation. If no animation is playing, the property's value is an empty string. Changing this value does not restart the animation. See [method play] for more information on playing animations.
    [b]Note:[/b] While this property appears in the inspector, it's not meant to be edited, and it's not saved in the scene. This property is mainly used to get the currently playing animation, and internally for animation playback tracks. For more information, see [Animation].
ru: Имя воспроизводимой в данный момент анимации. Если анимация не воспроизводится, значением свойства будет пустая строка. Изменение этого значения не приводит к перезапуску анимации. Дополнительные сведения о воспроизведении анимации см. в [method play].
    [b]Примечание:[/b] Хотя это свойство отображается в инспекторе, оно не предназначено для редактирования и не сохраняется в сцене. Это свойство в основном используется для получения текущей воспроизводимой анимации, а также внутри движка для дорожек воспроизведения анимации. Для получения дополнительной информации см. [Animation].

en: Using AnimationTree
ru: Использование дерева анимации

en: Output node.
ru: Выходной узел.

en: Animation node.
ru: Анимационный узел.

en: OneShot node.
ru: Узел OneShot.

en: Mix node.
ru: Микс-узел.

en: Blend2 node.
ru: Узел Blend2.

en: Blend3 node.
ru: Узел Blend3.

en: Blend4 node.
ru: Узел Blend4.

en: TimeScale node.
ru: Узел TimeScale.

en: TimeSeek node.
ru: Узел TimeSeek.

en: Transition node.
ru: Переходный узел.

en: Appends an element at the end of the array (alias of [method push_back]).
ru: Добавляет элемент в конец массива (псевдоним [method push_back]).

en: Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search. Optionally, a [code]before[/code] specifier can be passed. If [code]false[/code], the returned index comes after all existing entries of the value in the array.
    [b]Note:[/b] Calling [method bsearch] on an unsorted array results in unexpected behavior.
ru: Находит индекс существующего значения (или индекс вставки который поддерживает порядок сортировки, если значение ещё не установлено в массиве) используя бинарный поиск. Дополнительно, может быть передан спецификатор [code]before[/code]. Если он будет установлен в [code]false[/code], возвращаемый индекс придёт после всех существующих вхождений значения в массиве.
    [b]Заметка:[/b] Вызов [method bsearch] на неотсортированном массиве приведёт к неопределённому поведению.

en: Clears the array. This is equivalent to using [method resize] with a size of [code]0[/code].
ru: Очищает массив. Это эквивалентно использованию [method resize] с размером [code]0[/code].

en: Returns the number of times an element is in the array.
ru: Возвращает количество раз когда элемент встречается в массиве.

en: Returns a copy of the array.
    If [code]deep[/code] is [code]true[/code], a deep copy is performed: all nested arrays and dictionaries are duplicated and will not be shared with the original array. If [code]false[/code], a shallow copy is made and references to the original nested arrays and dictionaries are kept, so that modifying a sub-array or dictionary in the copy will also impact those referenced in the source array.
ru: Возвращает копию массива.
    Если [code]deep[/code] установлен в [code]true[/code], будет выполнено глубокое копирование: все вложенные массивы и словари будет сдублицированны и не будут ссылаться на изначальный массив. Если [code]false[/code], будет создана поверхностная копия и ссылки на изначальные вложенные массивы и словари будут сохранены, так что модификация под-массива или словаря будет также влиять на их ссылки в массиве источнике.

en: Returns [code]true[/code] if the array is empty.
ru: Возвращает [code]true[/code] если массив пустой.

en: Searches the array in reverse order for a value and returns its index or [code]-1[/code] if not found.
ru: Осуществляет поиск значения по массиву в обратном порядке и возвращает индекс злемента или [code]-1[/code] если он не был найден.

en: Reverses the order of the elements in the array.
ru: Инвертирует порядок элементов в массиве.

en: Returns the maximum value contained in the array if all elements are of comparable types. If the elements can't be compared, [code]null[/code] is returned.
ru: Возвращает максимальное значение содержащееся в массиве, если все элементы могут быть сравнены друг с другом. Если элементы не могут быть сравнены, возвращает [code]null[/code].

en: Returns the minimum value contained in the array if all elements are of comparable types. If the elements can't be compared, [code]null[/code] is returned.
ru: Возвращает минимальное значение содержащееся в массиве, если все элементы могут быть сравнены друг с другом. Если элементы не могут быть сравнены, возвращает [code]null[/code].

en: Resizes the array to contain a different number of elements. If the array size is smaller, elements are cleared, if bigger, new elements are [code]null[/code].
ru: Изменяет размер массива чтобы он мог содержать другое число элементов. Если размер массива уменьшен, элементы будут очищены, если больший, новые элементы установятся в [code]null[/code].

en: Shuffles the array such that the items will have a random order. This method uses the global random number generator common to methods such as [method @GDScript.randi]. Call [method @GDScript.randomize] to ensure that a new seed will be used each time if you want non-reproducible shuffling.
ru: Сдвигает элементы массива в случайном порядке. Этот метод использует глобальный генератор случайных чисел общим для таких методов как [method @GDScript.randi]. Вызовите [method @GDScript.randomize] чтобы новое зерно генератора было использовано каждый раз если вы хотите не-повторяющихся сдвигов.

en: Returns the number of elements in the array.
ru: Возвращает число элементов в массиве.

en: Duplicates the subset described in the function and returns it in an array, deeply copying the array if [code]deep[/code] is [code]true[/code]. Lower and upper index are inclusive, with the [code]step[/code] describing the change between indices while slicing.
ru: Создаёт дубликат под-множества описанного в функции и возвращает его в массиве, делает глубокую копию массива если [code]deep[/code] установлен в [code]true[/code]. Включает нижние и верхние индексы, а [code]step[/code] описывает шаг между индексами среза.

en: This is a helper spatial node that is linked to the tracking of controllers. It also offers several handy passthroughs to the state of buttons and such on the controllers.
    Controllers are linked by their ID. You can create controller nodes before the controllers are available. If your game always uses two controllers (one for each hand), you can predefine the controllers with ID 1 and 2; they will become active as soon as the controllers are identified. If you expect additional controllers to be used, you should react to the signals and add ARVRController nodes to your scene.
    The position of the controller node is automatically updated by the [ARVRServer]. This makes this node ideal to add child nodes to visualize the controller.
ru: Это вспомогательный пространственный узел, связанный с отслеживанием контроллеров. Он также предлагает несколько удобных переходов к состоянию кнопок и т.п. на контроллерах.
    Контроллеры связаны по их ID. Вы можете создавать узлы контроллеров до того, как контроллеры станут доступны. Если в вашей игре всегда используются два контроллера (по одному для каждой руки), вы можете заранее определить контроллеры с ID 1 и 2; они станут активными, как только контроллеры будут определены. Если вы ожидаете, что будут использоваться дополнительные контроллеры, вы должны реагировать на сигналы и добавить узлы ARVRController в вашу сцену.
    Положение узла контроллера автоматически обновляется сервером [ARVRServer]. Это делает данный узел идеальным для добавления дочерних узлов для визуализации контроллера.

en: This is a special node within the AR/VR system that maps the physical location of the center of our tracking space to the virtual location within our game world.
    There should be only one of these nodes in your scene and you must have one. All the ARVRCamera, ARVRController and ARVRAnchor nodes should be direct children of this node for spatial tracking to work correctly.
    It is the position of this node that you update when your character needs to move through your game world while we're not moving in the real world. Movement in the real world is always in relation to this origin point.
    For example, if your character is driving a car, the ARVROrigin node should 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.
ru: Это специальный узел в системе AR/VR, который отображает физическое местоположение центра нашего пространства отслеживания на виртуальное местоположение в нашем игровом мире.
    В вашей сцене должен быть только один такой узел, и он обязательно должен быть у вас. Все узлы ARVRCamera, ARVRController и ARVRAnchor должны быть прямыми дочерними узлами этого узла, чтобы пространственное отслеживание работало правильно.
    Именно положение этого узла вы обновляете, когда персонажу нужно перемещаться по игровому миру, в то время как в реальном мире мы не движемся. Движение в реальном мире всегда происходит относительно этой исходной точки.
    Например, если ваш персонаж управляет автомобилем, узел ARVROrigin должен быть дочерним узлом этого автомобиля. Или, если вы реализуете систему телепортации для перемещения персонажа, вы должны изменить положение этого узла.

en: Returns an array with the IDs of the points that form the path found by AStar between the given points. The array is ordered from the starting point to the ending point of the path.
    [codeblock]
    var astar = AStar.new()
    astar.add_point(1, Vector3(0, 0, 0))
    astar.add_point(2, Vector3(0, 1, 0), 1) # Default weight is 1
    astar.add_point(3, Vector3(1, 1, 0))
    astar.add_point(4, Vector3(2, 0, 0))
    
    astar.connect_points(1, 2, false)
    astar.connect_points(2, 3, false)
    astar.connect_points(4, 3, false)
    astar.connect_points(1, 4, false)
    
    var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]
    [/codeblock]
    If you change the 2nd point's weight to 3, then the result will be [code][1, 4, 3][/code] instead, because now even though the distance is longer, it's "easier" to get through point 4 than through point 2.
ru: Возвращает массив с идентификаторами точек, которые образуют путь, найденный AStar между заданными точками. Массив упорядочен от начальной точки до конечной точки пути.
    [codeblock].
    var astar = AStar.new()
    astar.add_point(1, Vector3(0, 0, 0, 0))
    astar.add_point(2, Vector3(0, 1, 0), 1) # Вес по умолчанию равен 1
    astar.add_point(3, Vector3(1, 1, 0))
    astar.add_point(4, Vector3(2, 0, 0))
    
    astar.connect_points(1, 2, false)
    astar.connect_points(2, 3, false)
    astar.connect_points(4, 3, false)
    astar.connect_points(1, 4, false)
    
    var res = astar.get_id_path(1, 3) # Возвращает [1, 2, 3]
    [/codeblock].
    Если изменить вес второй точки на 3, то результатом будет [code][1, 4, 3][/code], потому что теперь, несмотря на то, что расстояние больше, "легче" пройти через точку 4, чем через точку 2.

en: [Texture] resource that crops out one part of the [member atlas] texture, defined by [member region]. The main use case is cropping out textures from a texture atlas, which is a big texture file that packs multiple smaller textures. Consists of a [Texture] for the [member atlas], a [member region] that defines the area of [member atlas] to use, and a [member margin] that defines the border width.
    [AtlasTexture] cannot be used in an [AnimatedTexture], cannot be tiled in nodes such as [TextureRect], and does not work properly if used inside of other [AtlasTexture] resources. Multiple [AtlasTexture] resources can be used to crop multiple textures from the atlas. Using a texture atlas helps to optimize video memory costs and render calls compared to using multiple small files.
    [b]Note:[/b] AtlasTextures don't support repetition. The [constant Texture.FLAG_REPEAT] and [constant Texture.FLAG_MIRRORED_REPEAT] flags are ignored when using an AtlasTexture.
ru: Ресурс [Texture], который обрезает одну часть текстуры [member atlas], определенной [member region]. Основное применение - вырезание текстур из атласа текстур, который представляет собой большой файл текстуры, содержащий несколько текстур меньшего размера. Состоит из [Texture] для [member atlas], [member region], который определяет область [member atlas] для использования, и [member margin], который определяет ширину границы.
    [AtlasTexture] не может использоваться в [AnimatedTexture], не может быть плиточным в узлах, таких как [TextureRect], и не работает должным образом, если используется внутри других ресурсов [AtlasTexture]. Несколько ресурсов [AtlasTexture] можно использовать для обрезки нескольких текстур из атласа. Использование атласа текстур помогает оптимизировать затраты видеопамяти и вызовы рендеринга по сравнению с использованием нескольких небольших файлов.
    [b]Примечание:[/b] AtlasTextures не поддерживают повторение. Флаги [constant Texture.FLAG_REPEAT] и [constant Texture.FLAG_MIRRORED_REPEAT] игнорируются при использовании AtlasTexture.

en: Dynamic range compressor reduces the level of the sound when the amplitude goes over a certain threshold in Decibels. One of the main uses of a compressor is to increase the dynamic range by clipping as little as possible (when sound goes over 0dB).
    Compressor has many uses in the mix:
    - In the Master bus to compress the whole output (although an [AudioEffectLimiter] is probably better).
    - In voice channels to ensure they sound as balanced as possible.
    - Sidechained. This can reduce the sound level sidechained with another audio bus for threshold detection. This technique is common in video game mixing to the level of music and SFX while voices are being heard.
    - Accentuates transients by using a wider attack, making effects sound more punchy.
ru: Компрессор динамического диапазона уменьшает уровень звука, когда амплитуда превышает определенный порог в децибелах. Одно из основных назначений компрессора - увеличение динамического диапазона за счет минимального клиппирования (когда звук превышает 0 дБ).
    Компрессор имеет множество применений в миксе:
    - В мастер-шине для сжатия всего выхода (хотя [AudioEffectLimiter], вероятно, лучше).
    - В голосовых каналах для обеспечения их максимально сбалансированного звучания.
    - В сайдчейне. Это позволяет снизить уровень звука при боковом подключении к другой аудиошине для определения порога. Эта техника распространена в микшировании видеоигр для снижения уровня музыки и SFX во время звучания голосов.
    - Подчеркивает переходные процессы за счет более широкой атаки, заставляя эффекты звучать более напористо.

en: Distortion power. Value can range from 0 to 1.
ru: Сила искажения. Значение может варьироваться от 0 до 1.

en: High-pass filter, in Hz. Frequencies higher than this value will not be affected by the distortion. Value can range from 1 to 20000.
ru: Фильтр высоких частот, в Гц. Частоты выше этого значения не будут подвержены искажением. Значение может варьироваться от 1 до 20000.

en: Distortion type.
ru: Тип искажения.

en: 8-bit audio codec.
ru: 8-битный аудиокодек.

en: 16-bit audio codec.
ru: 16-битный аудиокодек.

en: Currently unused.
ru: В настоящее время не используется.

en: Boolean matrix.
ru: Логическая матрица.

en: Button is the standard themed button. It can contain text and an icon, and will display them according to the current [Theme].
    [b]Example of creating a button and assigning an action when pressed by code:[/b]
    [codeblock]
    func _ready():
        var button = Button.new()
        button.text = "Click me"
        button.connect("pressed", self, "_button_pressed")
        add_child(button)
    
    func _button_pressed():
        print("Hello world!")
    [/codeblock]
    Buttons (like all Control nodes) can also be created in the editor, but some situations may require creating them from code.
    See also [BaseButton] which contains common properties and methods associated with this node.
    [b]Note:[/b] Buttons do not interpret touch input and therefore don't support multitouch, since mouse emulation can only press one button at a given time. Use [TouchScreenButton] for buttons that trigger gameplay movement or actions, as [TouchScreenButton] supports multitouch.
ru: Кнопка - это стандартная тематическая кнопка. Она может содержать текст и иконку, и будет отображать их в соответствии с текущей темой [Theme].
    [b]Пример создания кнопки и назначения действия при нажатии с помощью кода:[/b]
    [codeblock].
    func _ready():
        var button = Button.new()
        button.text = "Нажмите на меня"
        button.connect("pressed", self, "_button_pressed")
        add_child(button)
    
    func _button_pressed():
        print("Hello world!")
    [/codeblock].
    Кнопки (как и все узлы Control) также могут быть созданы в редакторе, но некоторые ситуации могут потребовать их создания из кода.
    См. также [BaseButton], который содержит общие свойства и методы, связанные с этим узлом.
    [b]Примечание: Кнопки[/b] не интерпретируют сенсорный ввод и поэтому не поддерживают мультитач, поскольку эмуляция мыши позволяет нажимать только одну кнопку в данный момент времени. Используйте [TouchScreenButton] для кнопок, запускающих движение или действия игрового процесса, поскольку [TouchScreenButton] поддерживает мультитач.

en: Unspecified position.
ru: Неуказанная должность.

en: Returns the shape owner's [Transform2D].
ru: Возвращает [Transform2D] владельца фигуры.

en: A color represented by red, green, blue, and alpha (RGBA) components. The alpha component is often used for opacity. Values are in floating-point and usually range from 0 to 1. Some properties (such as CanvasItem.modulate) may accept values greater than 1 (overbright or HDR colors).
    You can also create a color from standardized color names by using [method @GDScript.ColorN] or directly using the color constants defined here. The standardized color set is based on the [url=https://en.wikipedia.org/wiki/X11_color_names]X11 color names[/url].
    If you want to supply values in a range of 0 to 255, you should use [method @GDScript.Color8].
    [b]Note:[/b] In a boolean context, a Color will evaluate to [code]false[/code] if it's equal to [code]Color(0, 0, 0, 1)[/code] (opaque black). Otherwise, a Color will always evaluate to [code]true[/code].
    [url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/color_constants.png]Color constants cheatsheet[/url]
ru: Цвет, представленный красным, зеленым, синим и альфа-компонентами (RGBA). Компонент альфа часто используется для непрозрачности. Значения задаются с плавающей точкой и обычно находятся в диапазоне от 0 до 1. Некоторые свойства (например, CanvasItem.modulate) могут принимать значения больше 1 (пересвет или цвета HDR).
    Вы также можете создать цвет из стандартизированных имен цветов с помощью [method @GDScript.ColorN] или непосредственно используя определенные здесь цветовые константы. Стандартизированный набор цветов основан на [url=https://en.wikipedia.org/wiki/X11_color_names]именах цветов X11[/url].
    Если вы хотите задать значения в диапазоне от 0 до 255, вам следует использовать [method @GDScript.Color8].
    [b]Примечание:[/b] В булевом контексте значение Color будет равно [code]false[/code], если оно равно [code]Color(0, 0, 0, 0, 1)[/code] (непрозрачный черный). В противном случае значение Color всегда будет равно [code]true[/code].
    [url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/color_constants.png]Шпаргалка по константам цвета[/url]

en: Aqua color.
ru: Цвет аква.

en: Aquamarine color.
ru: Цвет аквамарина.

en: Azure color.
ru: Лазурный цвет.

en: Beige color.
ru: Бежевый цвет.

en: Bisque color.
ru: Цвет бисквита.

en: Black color.
ru: Черный цвет.

en: Blue color.
ru: Синий цвет.

en: Brown color.
ru: Коричневый цвет.

en: Chartreuse color.
ru: Цвет шартрез.

en: Chocolate color.
ru: Шоколадный цвет.

en: Coral color.
ru: Коралловый цвет.

en: Cornflower color.
ru: Васильковый цвет.

en: Crimson color.
ru: Багровый цвет.

en: Cyan color.
ru: Голубой цвет.

en: Dark blue color.
ru: Темно-синий цвет.

en: Dark violet color.
ru: Темно-фиолетовый цвет.

en: Firebrick color.
ru: Кирпичный цвет.

en: Fuchsia color.
ru: Цвет фуксии.

en: Gainsboro color.
ru: Цвет Гейнсборо.

en: Gold color.
ru: Золотой цвет.

en: Goldenrod color.
ru: Золотисто-рыжий цвет.

en: Gray color.
ru: Серый цвет.

en: Green color.
ru: Зеленый цвет.

en: Honeydew color.
ru: Цвет медовой росы.

en: Indigo color.
ru: Цвет индиго.

en: Ivory color.
ru: Цвет слоновой кости.

en: Khaki color.
ru: Цвет хаки.

en: Lavender color.
ru: Цвет лаванды.

en: Light gray color.
ru: Светло-серый цвет.

en: Lime color.
ru: Цвет лайма.

en: Linen color.
ru: Цвет льна.

en: Magenta color.
ru: Пурпурный цвет.

en: Maroon color.
ru: Бордовый цвет.

en: Moccasin color.
ru: Цвет мокасин.

en: Olive color.
ru: Оливковый цвет.

en: Orange color.
ru: Оранжевый цвет.

en: Orchid color.
ru: Цвет орхидеи.

en: Peru color.
ru: Перуанский цвет.

en: Pink color.
ru: Розовый цвет.

en: Plum color.
ru: Цвет сливы.

en: Purple color.
ru: Фиолетовый цвет.

en: Red color.
ru: Красный цвет.

en: Salmon color.
ru: Цвет лосося.

en: Seashell color.
ru: Цвет морской раковины.

en: Sienna color.
ru: Цвет сиены.

en: Silver color.
ru: Серебряный цвет.

en: Sky blue color.
ru: Небесно-голубой цвет.

en: Snow color.
ru: Цвет снега.

en: Tan color.
ru: Цвет загара.

en: Teal color.
ru: Цвет тила.

en: Thistle color.
ru: Цвет чертополоха.

en: Tomato color.
ru: Цвет томатов.

en: Turquoise color.
ru: Бирюзовый цвет.

en: Violet color.
ru: Фиолетовый цвет.

en: Wheat color.
ru: Цвет пшеницы.

en: White color.
ru: Белый цвет.

en: Yellow color.
ru: Желтый цвет.

en: Colored rectangle.
ru: Цветной прямоугольник.

en: Concave polygon shape resource, which can be set into a [PhysicsBody] or area. This shape is created by feeding a list of triangles.
    [b]Note:[/b] When used for collision, [ConcavePolygonShape] is intended to work with static [PhysicsBody] nodes like [StaticBody] and will not work with [KinematicBody] or [RigidBody] with a mode other than Static.
    [b]Warning:[/b] Using this shape for an [Area] (via a [CollisionShape] node, created e.g. by using the [i]Create Trimesh Collision Sibling[/i] option in the [i]Mesh[/i] menu that appears when selecting a [MeshInstance] node) may give unexpected results: when using Godot Physics, the area will only detect collisions with the triangle faces in the [ConcavePolygonShape] (and not with any "inside" of the shape, for example), and when using Bullet Physics the area will not detect any collisions with the concave shape at all (this is a known bug).
ru: Ресурс формы вогнутого многоугольника, который может быть установлен в [PhysicsBody] или область. Эта форма создается путем подачи списка треугольников.
    [b]Примечание:[/b] При использовании для столкновений [ConcavePolygonShape] предназначен для работы со статическими узлами [PhysicsBody], такими как [StaticBody], и не будет работать с [KinematicBody] или [RigidBody] с режимом, отличным от Static.
    [b]Предупреждение:[/b] Использование этой формы для [Area] (через узел [CollisionShape], созданный, например. с помощью опции [i]Create Trimesh Collision Sibling[/i] в меню [i]Mesh[/i], которое появляется при выборе узла [MeshInstance]) может привести к неожиданным результатам: при использовании Godot Physics область будет обнаруживать столкновения только с гранями треугольника в [ConcavePolygonShape] (а не с любой "внутренней" частью формы, например), а при использовании Bullet Physics область вообще не будет обнаруживать столкновений с вогнутой формой (это известная ошибка).

en: Concave polygon 2D shape resource for physics. It is made out of segments and is optimal for complex polygonal concave collisions. However, it is not advised to use for [RigidBody2D] nodes. A CollisionPolygon2D in convex decomposition mode (solids) or several convex objects are advised for that instead. Otherwise, a concave polygon 2D shape is better for static collisions.
    The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection.
    [b]Warning:[/b] Using this shape for an [Area2D] (via a [CollisionShape2D] node) may give unexpected results: the area will only detect collisions with the segments in the [ConcavePolygonShape2D] (and not with any "inside" of the shape, for example).
ru: Ресурс вогнутой многоугольной 2D формы для физики. Он состоит из сегментов и оптимален для сложных полигональных вогнутых столкновений. Однако его не рекомендуется использовать для узлов [RigidBody2D]. Вместо него рекомендуется использовать CollisionPolygon2D в режиме выпуклого разложения (твердые тела) или несколько выпуклых объектов. В противном случае для статических столкновений лучше использовать вогнутую полигональную 2D-форму.
    Основное различие между [ConvexPolygonShape2D] и [ConcavePolygonShape2D] заключается в том, что вогнутый полигон предполагает, что он вогнутый и использует более сложный метод обнаружения столкновений, а выпуклый заставляет себя быть выпуклым, чтобы ускорить обнаружение столкновений.
    [b]Предупреждение:[/b] Использование этой фигуры для [Area2D] (через узел [CollisionShape2D]) может дать неожиданные результаты: область будет обнаруживать столкновения только с сегментами в [ConcavePolygonShape2D] (а не с любой "внутренней" частью фигуры, например).

en: Loads the config file specified as a parameter. The file's contents are parsed and loaded in the [ConfigFile] object which the method was called on.
    Returns one of the [enum Error] code constants ([code]OK[/code] on success).
ru: Загружает файл конфигурации, указанный в качестве параметра. Содержимое файла разбирается и загружается в объект [ConfigFile], для которого был вызван метод.
    Возвращает одну из констант кода [enum Error] ([code]OK[/code] при успехе).

en: Loads the encrypted config file specified as a parameter, using the provided [code]key[/code] to decrypt it. The file's contents are parsed and loaded in the [ConfigFile] object which the method was called on.
    Returns one of the [enum Error] code constants ([code]OK[/code] on success).
ru: Загружает зашифрованный файл конфигурации, указанный в качестве параметра, используя предоставленный [code]ключ[/code] для его расшифровки. Содержимое файла разбирается и загружается в объект [ConfigFile], для которого был вызван метод.
    Возвращает одну из констант кода [enum Error] ([code]OK[/code] при успехе).

en: Loads the encrypted config file specified as a parameter, using the provided [code]password[/code] to decrypt it. The file's contents are parsed and loaded in the [ConfigFile] object which the method was called on.
    Returns one of the [enum Error] code constants ([code]OK[/code] on success).
ru: Загружает зашифрованный файл конфигурации, указанный в качестве параметра, используя предоставленный [code]пароль[/code] для его расшифровки. Содержимое файла разбирается и загружается в объект [ConfigFile], для которого был вызван метод.
    Возвращает одну из констант кода [enum Error] ([code]OK[/code] при успехе).

en: Saves the contents of the [ConfigFile] object to the file specified as a parameter. The output file uses an INI-style structure.
    Returns one of the [enum Error] code constants ([code]OK[/code] on success).
ru: Сохраняет содержимое объекта [ConfigFile] в файл, указанный в качестве параметра. Выходной файл использует структуру в стиле INI.
    Возвращает одну из констант кода [enum Error] ([code]OK[/code] при успехе).

en: Saves the contents of the [ConfigFile] object to the AES-256 encrypted file specified as a parameter, using the provided [code]key[/code] to encrypt it. The output file uses an INI-style structure.
    Returns one of the [enum Error] code constants ([code]OK[/code] on success).
ru: Сохраняет содержимое объекта [ConfigFile] в зашифрованный AES-256 файл, указанный в качестве параметра, используя для шифрования предоставленный [code]ключ[/code]. Выходной файл использует структуру в стиле INI.
    Возвращает одну из констант кода [enum Error] ([code]OK[/code] при успехе).

en: Saves the contents of the [ConfigFile] object to the AES-256 encrypted file specified as a parameter, using the provided [code]password[/code] to encrypt it. The output file uses an INI-style structure.
    Returns one of the [enum Error] code constants ([code]OK[/code] on success).
ru: Сохраняет содержимое объекта [ConfigFile] в зашифрованный AES-256 файл, указанный в качестве параметра, используя для шифрования предоставленный [code]пароль[/code]. Выходной файл использует структуру в стиле INI.
    Возвращает одну из констант кода [enum Error] ([code]OK[/code] при успехе).

en: All user interface nodes inherit from Control. A control's anchors and margins adapt its position and size relative to its parent.
ru: Все элементы пользовательского интерфейса наследуются от Control. Свойства Anchors (якоря) и Margins (поля) регулируют положение и размер элемента управления относительно родительского узла.

en: Virtual method to be implemented by the user. Use this method to process and accept inputs on UI elements. See [method accept_event].
    Example: clicking a control.
    [codeblock]
    func _gui_input(event):
        if event is InputEventMouseButton:
            if event.button_index == BUTTON_LEFT and event.pressed:
                print("I've been clicked D:")
    [/codeblock]
    The event won't trigger if:
    * clicking outside the control (see [method has_point]);
    * control has [member mouse_filter] set to [constant MOUSE_FILTER_IGNORE];
    * control is obstructed by another [Control] on top of it, which doesn't have [member mouse_filter] set to [constant MOUSE_FILTER_IGNORE];
    * control's parent has [member mouse_filter] set to [constant MOUSE_FILTER_STOP] or has accepted the event;
    * it happens outside the parent's rectangle and the parent has either [member rect_clip_content] or [method _clips_input] enabled.
    [b]Note:[/b] Event position is relative to the control origin.
ru: Виртуальный метод, который должен быть реализован пользователем. Используйте этот метод для обработки и приема входных данных на элементах пользовательского интерфейса. См. [method accept_event].
    Пример: щелчок по элементу управления.
    [codeblock].
    func _gui_input(event):
    	if event is InputEventMouseButton:
    		if event.button_index == BUTTON_LEFT and event.pressed:
    			print("На меня нажали D:")
    [/codeblock].
    Событие не сработает, если:
    * щелчок вне элемента управления (см. [method has_point]);
    * у элемента управления [member mouse_filter] установлено значение [constant MOUSE_FILTER_IGNORE];
    * элемент управления загорожен другим [Control] сверху, у которого [member mouse_filter] не установлен на [constant MOUSE_FILTER_IGNORE];
    * родитель элемента управления имеет [member mouse_filter], установленный на [constant MOUSE_FILTER_STOP] или принял событие;
    * событие происходит вне прямоугольника родителя, и у родителя включен [member rect_clip_content] или [method _clips_input].
    [b]Примечание:[/b] Положение события относительно начала элемента управления.

en: Creates a local override for a theme [StyleBox] with the specified [code]name[/code]. Local overrides always take precedence when fetching theme items for the control.
    [b]Note:[/b] An override can be removed by assigning it a [code]null[/code] value. This behavior is deprecated and will be removed in 4.0, use [method remove_stylebox_override] instead.
    See also [method get_stylebox].
    [b]Example of modifying a property in a StyleBox by duplicating it:[/b]
    [codeblock]
    # The snippet below assumes the child node MyButton has a StyleBoxFlat assigned.
    # Resources are shared across instances, so we need to duplicate it
    # to avoid modifying the appearance of all other buttons.
    var new_stylebox_normal = $MyButton.get_stylebox("normal").duplicate()
    new_stylebox_normal.border_width_top = 3
    new_stylebox_normal.border_color = Color(0, 1, 0.5)
    $MyButton.add_stylebox_override("normal", new_stylebox_normal)
    # Remove the stylebox override.
    $MyButton.add_stylebox_override("normal", null)
    [/codeblock]
ru: Создает локальное переопределение для темы [StyleBox] с указанным [code]именем[/code] . Локальные переопределения всегда имеют приоритет при получении элементов темы для элемента управления.
    [b]Примечание:[/b] Переопределение можно удалить, присвоив ему значение [code]null[/code]. Это поведение устарело и будет удалено в версии 4.0, используйте [method remove_stylebox_override] вместо этого.
    См. также [метод get_stylebox].
    [b]Пример изменения свойства в StyleBox путем его дублирования:[/b]
    [codeblock]
    # В приведенном ниже фрагменте предполагается, что дочернему узлу MyButton назначен StyleBoxFlat.
    # Ресурсы разделяются между экземплярами, поэтому нам нужно продублировать его.
    # чтобы избежать изменения внешнего вида всех остальных кнопок.
    var new_stylebox_normal = $MyButton.get_stylebox("normal").duplicate()
    new_stylebox_normal.border_width_top = 3
    new_stylebox_normal.border_color = Color(0, 1, 0.5)
    $MyButton.add_stylebox_override("normal", new_stylebox_normal)
    # Удалите переопределение стилей.
    $MyButton.add_stylebox_override("normal", null)
    [/codeblock]

en: Changes the tooltip text. The tooltip appears when the user's mouse cursor stays idle over this control for a few moments, provided that the [member mouse_filter] property is not [constant MOUSE_FILTER_IGNORE]. You can change the time required for the tooltip to appear with [code]gui/timers/tooltip_delay_sec[/code] option in Project Settings.
    The tooltip popup will use either a default implementation, or a custom one that you can provide by overriding [method _make_custom_tooltip]. The default tooltip includes a [PopupPanel] and [Label] whose theme properties can be customized using [Theme] methods with the [code]"TooltipPanel"[/code] and [code]"TooltipLabel"[/code] respectively. For example:
    [codeblock]
    var style_box = StyleBoxFlat.new()
    style_box.set_bg_color(Color(1, 1, 0))
    style_box.set_border_width_all(2)
    # We assume here that the `theme` property has been assigned a custom Theme beforehand.
    theme.set_stylebox("panel", "TooltipPanel", style_box)
    theme.set_color("font_color", "TooltipLabel", Color(0, 1, 1))
    [/codeblock]
ru: Изменяет текст всплывающей подсказки. Подсказка появляется, когда курсор мыши пользователя простаивает над этим элементом управления в течение нескольких мгновений, при условии, что свойство [member mouse_filter] не является [constant MOUSE_FILTER_IGNORE]. Вы можете изменить время, необходимое для появления всплывающей подсказки с помощью опции [code]gui/timers/tooltip_delay_sec[/code] в Настройках проекта.
    Всплывающая подсказка будет использовать либо реализацию по умолчанию, либо пользовательскую, которую вы можете создать, переопределив [method _make_custom_tooltip]. Всплывающая подсказка по умолчанию включает [PopupPanel] и [Label], свойства темы которых можно настроить с помощью методов [Theme] с [code]"TooltipPanel"[/code] и [code]"TooltipLabel"[/code] соответственно. Например:
    [codeblock]
    var style_box = StyleBoxFlat.new()
    style_box.set_bg_color(Color(1, 1, 0))
    style_box.set_border_width_all(2)
    # Здесь мы предполагаем, что свойству `theme` была предварительно назначена пользовательская тема.
    theme.set_stylebox("panel", "TooltipPanel", style_box)
    theme.set_color("font_color", "TooltipLabel", Color(0, 1, 1))
    [/codeblock]

en: The node's scale, relative to its [member rect_size]. Change this property to scale the node around its [member rect_pivot_offset]. The Control's [member hint_tooltip] will also scale according to this value.
    [b]Note:[/b] This property is mainly intended to be used for animation purposes. Text inside the Control will look pixelated or blurry when the Control is scaled. To support multiple resolutions in your project, use an appropriate viewport stretch mode as described in the [url=$DOCS_URL/tutorials/rendering/multiple_resolutions.html]documentation[/url] instead of scaling Controls individually.
    [b]Note:[/b] If the Control node is a child of a [Container] node, the scale will be reset to [code]Vector2(1, 1)[/code] when the scene is instanced. To set the Control's scale when it's instanced, wait for one frame using [code]yield(get_tree(), "idle_frame")[/code] then set its [member rect_scale] property.
ru: Масштаб узла относительно его [member rect_size]. Измените это свойство, чтобы изменить масштаб узла относительно его [член rect_pivot_offset]. Масштаб [member hint_tooltip] элемента управления также будет изменяться в соответствии с этим значением.
    [b]Примечание:[/b] Это свойство в основном предназначено для использования в целях анимации. Текст внутри элемента управления будет выглядеть пикселированным или размытым при масштабировании элемента управления. Для поддержки нескольких разрешений в вашем проекте используйте соответствующий режим растяжения видового экрана, как описано в [url=$DOCS_URL/tutorials/rendering/multiple_resolutions.html]документации[/url] вместо масштабирования Controls по отдельности.
    [b]Примечание:[/b] Если узел Control является дочерним узлом узла [Container], масштаб будет сброшен на [code]Vector2(1, 1)[/code] при инстансировании сцены. Чтобы установить масштаб элемента управления при его инстанцировании, подождите один кадр, используя [code]yield(get_tree(), "idle_frame")[/code], а затем установите его свойство [member rect_scale].

en: The Crypto class allows you to access some more advanced cryptographic functionalities in Godot.
    For now, this includes generating cryptographically secure random bytes, RSA keys and self-signed X509 certificates generation, asymmetric key encryption/decryption, and signing/verification.
    [codeblock]
    extends Node
    
    var crypto = Crypto.new()
    var key = CryptoKey.new()
    var cert = X509Certificate.new()
    
    func _ready():
        # Generate new RSA key.
        key = crypto.generate_rsa(4096)
        # Generate new self-signed certificate with the given key.
        cert = crypto.generate_self_signed_certificate(key, "CN=mydomain.com,O=My Game Company,C=IT")
        # Save key and certificate in the user folder.
        key.save("user://generated.key")
        cert.save("user://generated.crt")
        # Encryption
        var data = "Some data"
        var encrypted = crypto.encrypt(key, data.to_utf8())
        # Decryption
        var decrypted = crypto.decrypt(key, encrypted)
        # Signing
        var signature = crypto.sign(HashingContext.HASH_SHA256, data.sha256_buffer(), key)
        # Verifying
        var verified = crypto.verify(HashingContext.HASH_SHA256, data.sha256_buffer(), signature, key)
        # Checks
        assert(verified)
        assert(data.to_utf8() == decrypted)
    [/codeblock]
    [b]Note:[/b] Not available in HTML5 exports.
ru: Класс Crypto позволяет вам получить доступ к некоторым более продвинутым криптографическим функциям в Godot.
    На данный момент это генерация криптографически безопасных случайных байтов, генерация RSA-ключей и самоподписанных сертификатов X509, шифрование/дешифрование асимметричных ключей, а также подписание/верификация.
    [codeblock].
    расширяет Node
    
    var crypto = Crypto.new()
    var key = CryptoKey.new()
    var cert = X509Certificate.new()
    
    func _ready():
        # Генерируем новый RSA-ключ.
        key = crypto.generate_rsa(4096)
        # Генерируем новый самоподписанный сертификат с заданным ключом.
        cert = crypto.generate_self_signed_certificate(key, "CN=mydomain.com,O=My Game Company,C=IT")
        # Сохраните ключ и сертификат в папке пользователя.
        key.save("user://generated.key")
        cert.save("user://generated.crt")
        # Шифрование
        var data = "Некоторые данные"
        var encrypted = crypto.encrypt(key, data.to_utf8())
        # Расшифровка
        var decrypted = crypto.decrypt(key, encrypted)
        # Подписание
        var signature = crypto.sign(HashingContext.HASH_SHA256, data.sha256_buffer(), key)
        # Проверка
        verified = crypto.verify(HashingContext.HASH_SHA256, data.sha256_buffer(), signature, key)
        # Проверяет
        assert(verified)
        assert(data.to_utf8() == decrypted)
    [/codeblock].
    [b]Примечание:[/b] Недоступно в экспорте HTML5.

en: Prototyping levels with CSG
ru: Прототипирование уровней с помощью CSG

en: For complex arrangements of shapes, it is sometimes needed to add structure to your CSG nodes. The CSGCombiner node allows you to create this structure. The node encapsulates the result of the CSG operations of its children. In this way, it is possible to do operations on one set of shapes that are children of one CSGCombiner node, and a set of separate operations on a second set of shapes that are children of a second CSGCombiner node, and then do an operation that takes the two end results as its input to create the final shape.
    [b]Note:[/b] CSG nodes are intended to be used for level prototyping. Creating CSG nodes has a significant CPU cost compared to creating a [MeshInstance] with a [PrimitiveMesh]. Moving a CSG node within another CSG node also has a significant CPU cost, so it should be avoided during gameplay.
ru: Для сложного расположения фигур иногда требуется добавить структуру в узлы CSG. Узел CSGCombiner позволяет создать такую структуру. Узел инкапсулирует результат операций CSG своих дочерних узлов. Таким образом, можно выполнить операции над одним набором фигур, которые являются дочерними элементами одного узла CSGCombiner, и ряд отдельных операций над вторым набором фигур, которые являются дочерними элементами второго узла CSGCombiner, а затем выполнить операцию, которая использует эти два конечных результата в качестве входных данных для создания окончательной фигуры.
    [b]Примечание:[/b] CSG-узлы предназначены для использования при создании прототипов уровней. Создание CSG-узлов требует значительных затрат процессора по сравнению с созданием [MeshInstance] с [PrimitiveMesh]. Перемещение узла CSG внутри другого узла CSG также требует значительных затрат процессора, поэтому этого следует избегать во время игрового процесса.

en: The cylinder's height.
ru: Высота цилиндра.

en: The cylinder's radius.
ru: Радиус цилиндра.

en: Dictionary type.
ru: Тип словаря.

en: Erase a dictionary key/value pair by key. Returns [code]true[/code] if the given key was present in the dictionary, [code]false[/code] otherwise.
    [b]Note:[/b] Don't erase elements while iterating over the dictionary. You can iterate over the [method keys] array instead.
ru: Удаляет в словаре пару ключ/значение по ключу. Возвращает [code]true[/code] если ключ присутствовал в словаре, иначе возвращает [code]false[/code].
    [b]Примечание:[/b] Не удаляйте элементы словаря во время перебора. Вместо этого, можете перебирать массив [method keys].

en: Override this method to provide a state data you want to be saved, like view position, grid settings, folding, etc. This is used when saving the scene (so state is kept when opening it again) and for switching tabs (so state can be restored when the tab returns). This data is automatically saved for each scene in an [code]editstate[/code] file in the editor metadata folder. If you want to store global (scene-independent) editor data for your plugin, you can use [method get_window_layout] instead.
    Use [method set_state] to restore your saved state.
    [b]Note:[/b] This method should not be used to save important settings that should persist with the project.
    [b]Note:[/b] You must implement [method get_plugin_name] for the state to be stored and restored correctly.
    [codeblock]
    func get_state():
        var state = {"zoom": zoom, "preferred_color": my_color}
        return state
    [/codeblock]
ru: Переопределите этот метод, чтобы предоставить данные состояния, которые вы хотите сохранить, например, положение вида, настройки сетки, сворачивание и т.д. Эти данные используются при сохранении сцены (чтобы состояние сохранялось при ее повторном открытии) и при переключении вкладок (чтобы состояние можно было восстановить при возврате на вкладку). Эти данные автоматически сохраняются для каждой сцены в файле [code]editstate[/code] в папке метаданных редактора. Если вы хотите сохранить глобальные (независимые от сцены) данные редактора для вашего плагина, вы можете использовать [method get_window_layout] вместо этого.
    Используйте [method set_state] для восстановления сохраненного состояния.
    [b]Примечание:[/b] Этот метод не следует использовать для сохранения важных настроек, которые должны сохраняться в проекте.
    [b]Примечание:[/b] Для корректного сохранения и восстановления состояния необходимо реализовать [method get_plugin_name].
    [codeblock].
    func get_state():
    	var state = {"zoom": zoom, "preferred_color": my_color}
    	return state
    [/codeblock]

en: This is an FBX 3D asset importer with full support for most FBX features.
    If exporting a FBX scene from Autodesk Maya, use these FBX export settings:
    [codeblock]
    - Smoothing Groups
    - Smooth Mesh
    - Triangluate (for meshes with blend shapes)
    - Bake Animation
    - Resample All
    - Deformed Models
    - Skins
    - Blend Shapes
    - Curve Filters
    - Constant Key Reducer
    - Auto Tangents Only
    - *Do not check* Constraints (as it will break the file)
    - Can check Embed Media (embeds textures into the exported FBX file)
      - Note that when importing embedded media, the texture and mesh will be a single immutable file.
      - You will have to re-export then re-import the FBX if the texture has changed.
    - Units: Centimeters
    - Up Axis: Y
    - Binary format in FBX 2017
    [/codeblock]
ru: Это импортер 3D-активов FBX с полной поддержкой большинства функций FBX.
    При экспорте FBX-сцены из Autodesk Maya используйте эти настройки экспорта FBX:
    [codeblock]
    - Группы сглаживания
    - Сгладить сетку
    - Triangluate (для сеток с формами смешения)
    - Запечь анимацию
    - Повторная выборка
    - Деформированные модели
    - Скины
    - Фигуры наложения
    - Фильтры кривых
    - Уменьшитель постоянного ключа
    - Только автоматические касательные
    - Не отмечайте *Не отмечайте* Constraints (так как это приведет к поломке файла)
    - Можно установить флажок Embed Media (встраивает текстуры в экспортируемый FBX-файл).
      - Обратите внимание, что при импорте встроенной среды текстура и сетка будут одним неизменяемым файлом.
      - Вам придется повторно экспортировать и повторно импортировать FBX, если текстура изменилась.
    - Единицы измерения: Сантиметры
    - Ось вверх: Y
    - Двоичный формат в FBX 2017
    [/codeblock].

en: Resource for environment nodes (like [WorldEnvironment]) that define multiple environment operations (such as background [Sky] or [Color], ambient light, fog, depth-of-field...). These parameters affect the final render of the scene. The order of these operations is:
    - Depth of Field Blur
    - Glow
    - Tonemap (Auto Exposure)
    - Adjustments
    If the target [Viewport] is set to "2D Without Sampling", all post-processing effects will be unavailable. With "3D Without Effects", the following options will be unavailable:
    - Ssao
    - Ss Reflections
    This can be configured for the root Viewport with [member ProjectSettings.rendering/quality/intended_usage/framebuffer_allocation], or for specific Viewports via the [member Viewport.usage] property.
    Note that [member ProjectSettings.rendering/quality/intended_usage/framebuffer_allocation] has a mobile platform override to use "3D Without Effects" by default. It improves the performance on mobile devices, but at the same time affects the screen display on mobile devices.
ru: Ресурс для узлов окружения (например, [WorldEnvironment]), которые определяют несколько операций с окружением (например, фон [Sky] или [Color], окружающий свет, туман, глубина резкости...). Эти параметры влияют на конечный рендеринг сцены. Порядок этих операций следующий:
    - Размытие глубины резкости
    - Свечение
    - Тоновая карта (автоэкспозиция)
    - Корректировки
    Если для целевого [Viewport] установлено значение "2D без выборки", все эффекты постобработки будут недоступны. При установке "3D без эффектов" следующие опции будут недоступны:
    - Ssao
    - Ss Reflections
    Это можно настроить для корневого вьюпорта с помощью [member ProjectSettings.rendering/quality/intended_usage/framebuffer_allocation] или для определенных вьюпортов с помощью свойства [member Viewport.usage].
    Обратите внимание, что [member ProjectSettings.rendering/quality/intended_usage/framebuffer_allocation] имеет переопределение для мобильных платформ, чтобы использовать "3D без эффектов" по умолчанию. Это улучшает производительность на мобильных устройствах, но в то же время влияет на отображение экрана на мобильных устройствах.

en: The [float] built-in type is a 64-bit double-precision floating-point number, equivalent to [code]double[/code] in C++. This type has 14 reliable decimal digits of precision. The [float] type can be stored in [Variant], which is the generic type used by the engine. The maximum value of [float] is approximately [code]1.79769e308[/code], and the minimum is approximately [code]-1.79769e308[/code].
    Most methods and properties in the engine use 32-bit single-precision floating-point numbers instead, equivalent to [code]float[/code] in C++, which have 6 reliable decimal digits of precision. For data structures such as [Vector2] and [Vector3], Godot uses 32-bit floating-point numbers.
    Math done using the [float] type is not guaranteed to be exact or deterministic, and will often result in small errors. You should usually use the [method @GDScript.is_equal_approx] and [method @GDScript.is_zero_approx] methods instead of [code]==[/code] to compare [float] values for equality.
ru: Встроенный тип [float] - это 64-битное число с плавающей точкой двойной точности, эквивалентное [code]double[/code] в C++. Этот тип имеет 14 надежных десятичных цифр точности. Тип [float] может храниться в [Variant], который является общим типом, используемым движком. Максимальное значение [float] приблизительно равно [code]1.79769e308[/code], а минимальное - приблизительно [code]-1.79769e308[/code].
    Большинство методов и свойств в движке используют 32-битные числа с плавающей точкой одинарной точности, эквивалентные [code]float[/code] в C++, которые имеют 6 надежных десятичных цифр точности. Для структур данных, таких как [Vector2] и [Vector3], Godot использует 32-битные числа с плавающей точкой.
    Математика, выполняемая с использованием типа [float], не гарантирует точности или детерминированности, и часто будет приводить к небольшим ошибкам. Обычно для сравнения значений [float] на равенство следует использовать методы [method @GDScript.is_equal_approx] и [method @GDScript.is_zero_approx] вместо [code]==[/code].

en: Font contains a Unicode-compatible character set, as well as the ability to draw it with variable width, ascent, descent and kerning. For creating fonts from TTF files (or other font formats), see the editor support for fonts.
    [b]Note:[/b] If a [DynamicFont] doesn't contain a character used in a string, the character in question will be replaced with codepoint [code]0xfffd[/code] if it's available in the [DynamicFont]. If this replacement character isn't available in the DynamicFont, the character will be hidden without displaying any replacement character in the string.
    [b]Note:[/b] If a [BitmapFont] doesn't contain a character used in a string, the character in question will be hidden without displaying any replacement character in the string.
    [b]Note:[/b] Unicode characters after [code]0xffff[/code] (such as most emoji) are [i]not[/i] supported on Windows. They will display as unknown characters instead. This will be resolved in Godot 4.0.
ru: Шрифт содержит набор символов, совместимый с Unicode, а также возможность рисовать его с переменной шириной, подъемом, спуском и кернингом. О создании шрифтов из файлов TTF (или других форматов шрифтов) см. раздел "Поддержка шрифтов редактором".
    [b]Примечание:[/b] Если [DynamicFont] не содержит символ, используемый в строке, то данный символ будет заменен кодовой точкой [code]0xfffd[/code], если она доступна в [DynamicFont]. Если этот заменяющий символ недоступен в DynamicFont, символ будет скрыт без отображения заменяющего символа в строке.
    [b]Примечание:[/b] Если [BitmapFont] не содержит символ, используемый в строке, то данный символ будет скрыт без отображения заменяющего символа в строке.
    [b]Примечание:[/b] Символы Юникода после [code]0xffff[/code] (например, большинство эмодзи) [i]не[/i] поддерживаются в Windows. Вместо этого они будут отображаться как неизвестные символы. Эта проблема будет решена в версии Godot 4.0.

en: This resource in INI-style [ConfigFile] format, as in [code].gdnlib[/code] files.
ru: Этот ресурс в формате [ConfigFile] в стиле INI, как в файлах [code].gdnlib[/code].

en: Inflates or deflates [code]polygon[/code] by [code]delta[/code] units (pixels). If [code]delta[/code] is positive, makes the polygon grow outward. If [code]delta[/code] is negative, shrinks the polygon inward. Returns an array of polygons because inflating/deflating may result in multiple discrete polygons. Returns an empty array if [code]delta[/code] is negative and the absolute value of it approximately exceeds the minimum bounding rectangle dimensions of the polygon.
    Each polygon's vertices will be rounded as determined by [code]join_type[/code], see [enum PolyJoinType].
    The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distinguished by calling [method is_polygon_clockwise].
    [b]Note:[/b] To translate the polygon's vertices specifically, use the [method Transform2D.xform] method:
    [codeblock]
    var polygon = PoolVector2Array([Vector2(0, 0), Vector2(100, 0), Vector2(100, 100), Vector2(0, 100)])
    var offset = Vector2(50, 50)
    polygon = Transform2D(0, offset).xform(polygon)
    print(polygon) # prints [Vector2(50, 50), Vector2(150, 50), Vector2(150, 150), Vector2(50, 150)]
    [/codeblock]
ru: Раздувает или сдувает [code]многоугольник[/code] на [code]дельту[/code] единиц (пикселей). Если [code]дельта[/code] положительна, полигон увеличивается наружу. Если [code]дельта[/code] отрицательна, полигон уменьшается внутрь. Возвращает массив полигонов, так как при раздувании/сжатии может получиться несколько дискретных полигонов. Возвращает пустой массив, если [code]delta[/code] отрицательна и ее абсолютное значение приблизительно превышает минимальные размеры ограничивающего прямоугольника многоугольника.
    Вершины каждого многоугольника будут округлены в соответствии с типом [code]join_type[/code], см. [enum PolyJoinType].
    В результате операции может быть получен внешний многоугольник (граница) и внутренний многоугольник (отверстие), которые можно отличить, вызвав [method is_polygon_clockwise].
    [b]Примечание:[/b] Для специального перевода вершин многоугольника используйте метод [method Transform2D.xform]:
    [codeblock].
    var polygon = PoolVector2Array([Vector2(0, 0), Vector2(100, 0), Vector2(100, 100), Vector2(0, 100)])
    var offset = Vector2(50, 50)
    polygon = Transform2D(0, offset).xform(polygon)
    print(polygon) # печатает [Vector2(50, 50), Vector2(150, 50), Vector2(150, 150), Vector2(50, 150)]
    [/codeblock]

en: Bakes the effect from all [GeometryInstance]s marked with [member GeometryInstance.use_in_baked_light] and [Light]s marked with either [constant Light.BAKE_INDIRECT] or [constant Light.BAKE_ALL]. If [code]create_visual_debug[/code] is [code]true[/code], after baking the light, this will generate a [MultiMesh] that has a cube representing each solid cell with each cube colored to the cell's albedo color. This can be used to visualize the [GIProbe]'s data and debug any issues that may be occurring.
    [b]Note:[/b] [method bake] works from the editor and in exported projects. This makes it suitable for procedurally generated or user-built levels. Baking a [GIProbe] generally takes from 5 to 20 seconds in most scenes. Reducing [member subdiv] can speed up baking.
    [b]Note:[/b] [GeometryInstance]s and [Light]s must be fully ready before [method bake] is called. If you are procedurally creating those and some meshes or lights are missing from your baked [GIProbe], use [code]call_deferred("bake")[/code] instead of calling [method bake] directly.
ru: Запекает эффект из всех [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] и отладки любых проблем, которые могут возникнуть.
    [b]Примечание:[/b] [method bake] работает как в редакторе, так и в экспортированных проектах. Это делает его подходящим для процедурно генерируемых или пользовательских уровней. Запекание [GIProbe] обычно занимает от 5 до 20 секунд в большинстве сцен. Уменьшение [member subdiv] может ускорить запекание.
    [b]Примечание:[/b] [GeometryInstance]ы и [Light]ы должны быть полностью готовы до вызова [method bake]. Если вы создаете их процедурно и некоторые сетки или освещение отсутствуют в вашем запекаемом [GIProbe], используйте [code]call_deferred("bake")[/code] вместо прямого вызова [method bake].

en: Gradient-filled texture.
ru: Текстура с градиентным заполнением.

en: GridMap lets you place meshes on a grid interactively. It works both from the editor and from scripts, which can help you create in-game level editors.
    GridMaps use a [MeshLibrary] which contains a list of tiles. Each tile is a mesh with materials plus optional collision and navigation shapes.
    A GridMap contains a collection of cells. Each grid cell refers to a tile in the [MeshLibrary]. All cells in the map have the same dimensions.
    Internally, a GridMap is split into a sparse collection of octants for efficient rendering and physics processing. Every octant has the same dimensions and can contain several cells.
    [b]Note:[/b] GridMap doesn't extend [VisualInstance] and therefore can't be hidden or cull masked based on [member VisualInstance.layers]. If you make a light not affect the first layer, the whole GridMap won't be lit by the light in question.
ru: GridMap позволяет размещать сетки на сетке в интерактивном режиме. Она работает как из редактора, так и из скриптов, что может помочь вам создать внутриигровые редакторы уровней.
    GridMap использует [MeshLibrary], которая содержит список плиток. Каждая плитка - это сетка с материалами и дополнительными фигурами столкновений и навигации.
    GridMap содержит коллекцию ячеек. Каждая ячейка сетки ссылается на тайл в [MeshLibrary]. Все ячейки в карте имеют одинаковые размеры.
    Внутри карта GridMap разбивается на разреженную коллекцию октантов для эффективного рендеринга и обработки физики. Каждый октант имеет одинаковые размеры и может содержать несколько ячеек.
    [b]Примечание:[/b] GridMap не расширяет [VisualInstance] и поэтому не может быть скрыт или замаскирован на основе [member VisualInstance.layers]. Если сделать так, чтобы свет не влиял на первый слой, то вся GridMap не будет освещена данным светом.

en: The HashingContext class provides an interface for computing cryptographic hashes over multiple iterations. This is useful for example when computing hashes of big files (so you don't have to load them all in memory), network streams, and data streams in general (so you don't have to hold buffers).
    The [enum HashType] enum shows the supported hashing algorithms.
    [codeblock]
    const CHUNK_SIZE = 1024
    
    func hash_file(path):
        var ctx = HashingContext.new()
        var file = File.new()
        # Start a SHA-256 context.
        ctx.start(HashingContext.HASH_SHA256)
        # Check that file exists.
        if not file.file_exists(path):
            return
        # Open the file to hash.
        file.open(path, File.READ)
        # Update the context after reading each chunk.
        while not file.eof_reached():
            ctx.update(file.get_buffer(CHUNK_SIZE))
        # Get the computed hash.
        var res = ctx.finish()
        # Print the result as hex string and array.
        printt(res.hex_encode(), Array(res))
    [/codeblock]
ru: Класс HashingContext предоставляет интерфейс для вычисления криптографических хэшей за несколько итераций. Это полезно, например, при вычислении хэшей больших файлов (чтобы не загружать их все в память), сетевых потоков и потоков данных в целом (чтобы не держать буферы).
    Перечисление [enum HashType] показывает поддерживаемые алгоритмы хэширования.
    [codeblock]
    const CHUNK_SIZE = 1024
    
    func hash_file(path):
        var ctx = HashingContext.new()
        var file = File.new()
        # Запустите контекст SHA-256.
        ctx.start(HashingContext.HASH_SHA256)
        # Проверьте, существует ли файл.
        if not file.file_exists(path):
            return
        # Открываем файл для хэширования.
        file.open(path, File.READ)
        # Обновляем контекст после чтения каждого чанка.
        while not file.eof_reached():
            ctx.update(file.get_buffer(CHUNK_SIZE))
        # Получение вычисленного хэша.
        var res = ctx.finish()
        # Выведите результат в виде шестнадцатеричной строки и массива.
        printt(res.hex_encode(), Array(res))
    [/codeblock].

en: Horizontal separator.
ru: Горизонтальный разделитель.

en: Horizontal slider.
ru: Горизонтальный слайдер.

en: Creates request on the underlying [HTTPClient]. If there is no configuration errors, it tries to connect using [method HTTPClient.connect_to_host] and passes parameters onto [method HTTPClient.request].
    Returns [constant OK] if request is successfully created. (Does not imply that the server has responded), [constant ERR_UNCONFIGURED] if not in the tree, [constant ERR_BUSY] if still processing previous request, [constant ERR_INVALID_PARAMETER] if given string is not a valid URL format, or [constant ERR_CANT_CONNECT] if not using thread and the [HTTPClient] cannot connect to host.
    [b]Note:[/b] When [code]method[/code] is [constant HTTPClient.METHOD_GET], the payload sent via [code]request_data[/code] might be ignored by the server or even cause the server to reject the request (check [url=https://datatracker.ietf.org/doc/html/rfc7231#section-4.3.1]RFC 7231 section 4.3.1[/url] for more details). As a workaround, you can send data as a query string in the URL. See [method String.http_escape] for an example.
ru: Создает запрос на базовом [HTTPClient]. Если нет ошибок конфигурации, пытается подключиться, используя [method HTTPClient.connect_to_host] и передает параметры в [method HTTPClient.request].
    Возвращает [constant OK], если запрос успешно создан. (Это не означает, что сервер ответил), [constant ERR_UNCONFIGURED], если не находится в дереве, [constant ERR_BUSY], если все еще обрабатывает предыдущий запрос, [constant ERR_INVALID_PARAMETER], если заданная строка не является правильным форматом URL, или [constant ERR_CANT_CONNECT], если не используется поток и [HTTPClient] не может соединиться с хостом.
    [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].

en: Request successful.
ru: Запрос успешен.

en: Image datatype.
ru: Тип данных изображения.

en: If [code]true[/code], similar input events sent by the operating system are accumulated. When input accumulation is enabled, all input events generated during a frame will be merged and emitted when the frame is done rendering. Therefore, this limits the number of input method calls per second to the rendering FPS.
    Input accumulation can be disabled to get slightly more precise/reactive input at the cost of increased CPU usage. In applications where drawing freehand lines is required, input accumulation should generally be disabled while the user is drawing the line to get results that closely follow the actual input.
    [b]Note:[/b] Input accumulation is [i]enabled[/i] by default. It is recommended to keep it enabled for games which don't require very reactive input, as this will decrease CPU usage.
ru: Если [code]true[/code], аналогичные входные события, посылаемые операционной системой, накапливаются. Когда накопление входных данных включено, все входные события, генерируемые в течение кадра, будут объединены и выданы после завершения рендеринга кадра. Таким образом, это ограничивает количество вызовов метода ввода в секунду до FPS рендеринга.
    Накопление ввода можно отключить, чтобы получить немного более точный/реактивный ввод ценой увеличения загрузки процессора. В приложениях, где требуется рисовать линии от руки, накопление ввода обычно отключается на время рисования линии пользователем, чтобы получить результаты, точно соответствующие реальному вводу.
    [b]Примечание:[/b] Накопление ввода [i]включено[/i] по умолчанию. Рекомендуется держать его включенным в играх, которые не требуют очень реактивного ввода, так как это снизит нагрузку на процессор.

en: Signed 64-bit integer type.
    It can take values in the interval [code][-2^63, 2^63 - 1][/code], i.e. [code][-9223372036854775808, 9223372036854775807][/code]. Exceeding those bounds will wrap around.
    [int] is a [Variant] type, and will thus be used when assigning an integer value to a [Variant]. It can also be enforced with the [code]: int[/code] type hint.
    [codeblock]
    var my_variant = 0 # int, value 0.
    my_variant += 4.2 # float, value 4.2.
    var my_int: int = 1 # int, value 1.
    my_int = 4.2 # int, value 4, the right value is implicitly cast to int.
    my_int = int("6.7") # int, value 6, the String is explicitly cast with int.
    
    var max_int = 9223372036854775807
    print(max_int) # 9223372036854775807, OK.
    max_int += 1
    print(max_int) # -9223372036854775808, we overflowed and wrapped around.
    [/codeblock]
ru: Знаковый 64-битный целочисленный тип.
    Он может принимать значения в интервале [code][-2^63, 2^63 - 1][/code], т.е. [code][-9223372036854775808, 9223372036854775807][/code]. Превышение этих границ будет обернуто.
    [int] является типом [Variant], и поэтому будет использоваться при присвоении целочисленного значения [Variant]. Он также может быть применен с помощью подсказки типа [code]: int[/code].
    [codeblock].
    var my_variant = 0 # int, значение 0.
    my_variant += 4.2 # float, значение 4.2.
    var my_int: int = 1 # int, значение 1.
    my_int = 4.2 # int, значение 4, правое значение неявно приводится к int.
    my_int = int("6.7") # int, значение 6, строка явно приводится к int.
    
    var max_int = 9223372036854775807
    print(max_int) # 9223372036854775807, OK.
    max_int += 1
    print(max_int) # -9223372036854775808, мы переполнились и обернулись.
    [/codeblock]

en: JavaScriptObject is used to interact with JavaScript objects retrieved or created via [method JavaScript.get_interface], [method JavaScript.create_object], or [method JavaScript.create_callback].
    Example:
    [codeblock]
    extends Node
    
    var _my_js_callback = JavaScript.create_callback(self, "myCallback") # This reference must be kept
    var console = JavaScript.get_interface("console")
    
    func _init():
        var buf = JavaScript.create_object("ArrayBuffer", 10) # new ArrayBuffer(10)
        print(buf) # prints [JavaScriptObject:OBJECT_ID]
        var uint8arr = JavaScript.create_object("Uint8Array", buf) # new Uint8Array(buf)
        uint8arr[1] = 255
        prints(uint8arr[1], uint8arr.byteLength) # prints 255 10
        console.log(uint8arr) # prints in browser console "Uint8Array(10) [ 0, 255, 0, 0, 0, 0, 0, 0, 0, 0 ]"
    
        # Equivalent of JavaScript: Array.from(uint8arr).forEach(myCallback)
        JavaScript.get_interface("Array").from(uint8arr).forEach(_my_js_callback)
    
    func myCallback(args):
        # Will be called with the parameters passed to the "forEach" callback
        # [0, 0, [JavaScriptObject:1173]]
        # [255, 1, [JavaScriptObject:1173]]
        # ...
        # [0, 9, [JavaScriptObject:1180]]
        print(args)
    [/codeblock]
    [b]Note:[/b] Only available in the HTML5 platform.
ru: JavaScriptObject используется для взаимодействия с объектами JavaScript, полученными или созданными с помощью [method JavaScript.get_interface], [method JavaScript.create_object] или [method JavaScript.create_callback].
    Пример:
    [codeblock]
    extends Node
    
    var _my_js_callback = JavaScript.create_callback(self, "myCallback") # Эта ссылка должна быть сохранена
    var console = JavaScript.get_interface("console")
    
    func _init():
    	var buf = JavaScript.create_object("ArrayBuffer", 10) # новый ArrayBuffer(10)
    	print(buf) # печатает [JavaScriptObject:OBJECT_ID]
    	var uint8arr = JavaScript.create_object("Uint8Array", buf) # новый Uint8Array(buf)
    	uint8arr[1] = 255
    	prints(uint8arr[1], uint8arr.byteLength) # печатает 255 10
    	console.log(uint8arr) # печатает в консоли браузера "Uint8Array(10) [ 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]"
    
    	# Эквивалент JavaScript: Array.from(uint8arr).forEach(myCallback)
    	JavaScript.get_interface("Array").from(uint8arr).forEach(_my_js_callback)
    
    func myCallback(args):
    	# Будет вызван с параметрами, переданными в обратный вызов "forEach".
    	# [0, 0, [JavaScriptObject:1173]]
    	# [255, 1, [JavaScriptObject:1173]]
    	# ...
    	# [0, 9, [JavaScriptObject:1180]]
    	print(args)
    [/codeblock].
    [b]Примечание:[/b] Доступно только в платформе HTML5.

en: 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 the JSON source starts with curly braces ([code]{}[/code]), a [Dictionary] will be returned. If the JSON source starts with brackets ([code][][/code]), an [Array] will be returned.
    [b]Note:[/b] The JSON specification does not define integer or float types, but only a [i]number[/i] type. Therefore, parsing a JSON text will convert all numerical values to [float] types.
    [b]Note:[/b] JSON objects do not preserve key order like Godot dictionaries, thus, you should not rely on keys being in a certain order if a dictionary is constructed from JSON. In contrast, JSON arrays retain the order of their elements:
    [codeblock]
    var p = JSON.parse('["hello", "world", "!"]')
    if typeof(p.result) == TYPE_ARRAY:
        print(p.result[0]) # Prints "hello"
    else:
        push_error("Unexpected results.")
    [/codeblock]
ru: Вариант [Variant], содержащий разобранный JSON. Используйте [method @GDScript.typeof] или ключевое слово [code]is[/code], чтобы проверить, является ли это тем, что вы ожидаете. Например, если источник JSON начинается с фигурных скобок ([code]{}[/code]), будет возвращен [Словарь]. Если источник JSON начинается со скобок ([code][][/code]), будет возвращен [Массив].
    [b]Примечание:[/b] В спецификации JSON не определены типы integer или float, а только тип [i]number[/i]. Поэтому при разборе текста JSON все числовые значения будут преобразованы в типы [float].
    [b]Примечание:[/b] Объекты JSON не сохраняют порядок ключей, как словари Godot, поэтому не следует полагаться на то, что ключи будут расположены в определенном порядке, если словарь построен из JSON. Напротив, массивы JSON сохраняют порядок своих элементов:
    [codeblock].
    var p = JSON.parse('["hello", "world", "!"]')
    if typeof(p.result) == TYPE_ARRAY:
        print(p.result[0]) # Печатает "hello".
    else:
        push_error("Неожиданные результаты.")
    [/codeblock]

en: Kinematic bodies are special types of bodies that are meant to be user-controlled. They are not affected by physics at all; to other types of bodies, such as a character or a rigid body, these are the same as a static body. However, they have two main uses:
    [b]Simulated motion:[/b] When these bodies are moved manually, either from code or from an [AnimationPlayer] (with [member AnimationPlayer.playback_process_mode] set to "physics"), the physics will automatically compute an estimate of their linear and angular velocity. This makes them very useful for moving platforms or other AnimationPlayer-controlled objects (like a door, a bridge that opens, etc).
    [b]Kinematic characters:[/b] KinematicBody also has an API for moving objects (the [method move_and_collide] and [method move_and_slide] methods) while performing collision tests. This makes them really useful to implement characters that collide against a world, but don't require advanced physics.
ru: Кинематические тела - это особые типы тел, которые предназначены для управления пользователем. На них вообще не влияет физика; для других типов тел, таких как персонаж или жесткое тело, это то же самое, что и статическое тело. Однако у них есть два основных применения:
    [b]Имитация движения:[/b] Когда эти тела перемещаются вручную, либо из кода, либо из [AnimationPlayer] (с [member AnimationPlayer.playback_process_mode], установленным на "physics"), физика автоматически вычисляет оценку их линейной и угловой скорости. Это делает их очень полезными для движущихся платформ или других объектов, управляемых AnimationPlayer (например, дверь, открывающийся мост и т.д.).
    [b]Кинематические персонажи:[/b] KinematicBody также имеет API для перемещения объектов (методы [method move_and_collide] и [method move_and_slide]) при выполнении тестов на столкновения. Это делает их действительно полезными для реализации персонажей, которые сталкиваются с миром, но не требуют продвинутой физики.

en: Kinematic bodies are special types of bodies that are meant to be user-controlled. They are not affected by physics at all; to other types of bodies, such as a character or a rigid body, these are the same as a static body. However, they have two main uses:
    [b]Simulated motion:[/b] When these bodies are moved manually, either from code or from an [AnimationPlayer] (with [member AnimationPlayer.playback_process_mode] set to "physics"), the physics will automatically compute an estimate of their linear and angular velocity. This makes them very useful for moving platforms or other AnimationPlayer-controlled objects (like a door, a bridge that opens, etc).
    [b]Kinematic characters:[/b] KinematicBody2D also has an API for moving objects (the [method move_and_collide] and [method move_and_slide] methods) while performing collision tests. This makes them really useful to implement characters that collide against a world, but don't require advanced physics.
ru: Кинематические тела - это особые типы тел, которые предназначены для управления пользователем. На них вообще не влияет физика; для других типов тел, таких как персонаж или жесткое тело, это то же самое, что и статическое тело. Однако у них есть два основных применения:
    [b]Имитация движения:[/b] Когда эти тела перемещаются вручную, либо из кода, либо из [AnimationPlayer] (с [member AnimationPlayer.playback_process_mode], установленным на "physics"), физика автоматически вычисляет оценку их линейной и угловой скорости. Это делает их очень полезными для движущихся платформ или других объектов, управляемых AnimationPlayer (например, дверь, открывающийся мост и т.д.).
    [b]Кинематические персонажи:[/b] KinematicBody2D также имеет API для перемещения объектов (методы [method move_and_collide] и [method move_and_slide]) при выполнении тестов на столкновения. Это делает их действительно полезными для реализации персонажей, которые сталкиваются с миром, но не требуют продвинутой физики.

en: Label3D displays plain text in a 3D world. It gives you control over the horizontal and vertical alignment.
ru: Label3D отображает простой текст в трёхмерном мире. Это дает вам контроль над горизонтальным и вертикальным выравниванием.

en: Vertical space between lines in multiline [Label3D].
ru: Вертикальное расстояние между строками в многострочном режиме [Label3D].

en: Text width (in pixels), used for autowrap and fill alignment.
ru: Ширина текста (в пикселях), используемая для автоматического переноса и выравнивания заливки.

en: Array of colors.
ru: Массив цветов.

en: Array of indices.
ru: Массив индексов.

en: Returns the normal for the point returned by [method map_get_closest_point].
ru: Возвращает нормаль для точки, возвращенной [method map_get_closest_point].

en: Returns the closest point between the navigation surface and the segment.
ru: Возвращает ближайшую точку между навигационной поверхностью и сегментом.

en: The compression method used for network packets. These have different tradeoffs of compression speed versus bandwidth, you may need to test which one works best for your use case if you use compression at all.
    [b]Note:[/b] Most games' network design involve sending many small packets frequently (smaller than 4 KB each). If in doubt, it is recommended to keep the default compression algorithm as it works best on these small packets.
    [b]Note:[/b] [member compression_mode] must be set to the same value on both the server and all its clients. Clients will fail to connect if the [member compression_mode] set on the client differs from the one set on the server. Prior to Godot 3.4, the default [member compression_mode] was [constant COMPRESS_NONE]. Nonetheless, mixing engine versions between clients and server is not recommended and not officially supported.
ru: Метод сжатия, используемый для сетевых пакетов. Они имеют различные компромиссы между скоростью сжатия и пропускной способностью, вам может потребоваться проверить, какой из них лучше всего подходит для вашего случая, если вы вообще используете сжатие.
    [b]Примечание:[/b] Сетевой дизайн большинства игр предполагает частую отправку множества небольших пакетов (размером менее 4 КБ каждый). Если есть сомнения, рекомендуется оставить алгоритм сжатия по умолчанию, так как он лучше всего работает с такими маленькими пакетами.
    [b]Примечание:[/b] [member compression_mode] должен быть установлен на одно и то же значение как на сервере, так и на всех его клиентах. Клиенты не смогут подключиться, если значение [member compression_mode], установленное на клиенте, отличается от установленного на сервере. До Godot 3.4 по умолчанию [member compression_mode] был [constant COMPRESS_NONE]. Тем не менее, смешивать версии движка между клиентами и сервером не рекомендуется и официально не поддерживается.

en: [url=https://facebook.github.io/zstd/]Zstandard[/url] compression.
ru: [url=https://facebook.github.io/zstd/]Zstandard[/url] cжатие.

en: Nodes and Scenes
ru: Узлы и Сцены

en: Called when the node is "ready", i.e. when both the node and its children have entered the scene tree. If the node has children, their [method _ready] callbacks get triggered first, and the parent node will receive the ready notification afterwards.
    Corresponds to the [constant NOTIFICATION_READY] notification in [method Object._notification]. See also the [code]onready[/code] keyword for variables.
    Usually used for initialization. For even earlier initialization, [method Object._init] may be used. See also [method _enter_tree].
    [b]Note:[/b] [method _ready] may be called only once for each node. After removing a node from the scene tree and adding it again, [code]_ready[/code] will not be called a second time. This can be bypassed by requesting another call with [method request_ready], which may be called anywhere before adding the node again.
ru: Вызывается, когда узел "готов", т.е. когда и узел, и его дочерние элементы вошли в дерево сцены. Если узел имеет дочерние узлы, то сначала срабатывают их обратные вызовы [метода _ready], а затем родительский узел получает уведомление о готовности.
    Соответствует уведомлению [constant NOTIFICATION_READY] в [method Object._notification]. См. также ключевое слово [code]onready[/code] для переменных.
    Обычно используется для инициализации. Для еще более ранней инициализации можно использовать [метод Object._init]. См. также [метод _enter_tree].
    [b]Примечание:[/b] [метод _ready] может быть вызван только один раз для каждого узла. После удаления узла из дерева сцены и добавления его снова, [code]_ready[/code] не будет вызван второй раз. Это можно обойти, запросив повторный вызов с помощью [метода request_ready], который может быть вызван в любом месте перед повторным добавлением узла.

en: Finds a descendant of this node whose name matches [code]mask[/code] as in [method String.match] (i.e. case-sensitive, but [code]"*"[/code] matches zero or more characters and [code]"?"[/code] matches any single character except [code]"."[/code]). Returns [code]null[/code] if no matching [Node] is found.
    [b]Note:[/b] It does not match against the full path, just against individual node names.
    If [code]owned[/code] is [code]true[/code], this method only finds nodes whose owner is this node. This is especially important for scenes instantiated through a script, because those scenes don't have an owner.
    [b]Note:[/b] As this method walks through all the descendants of the node, it is the slowest way to get a reference to another node. Whenever possible, consider using [method get_node] instead. To avoid using [method find_node] too often, consider caching the node reference into a variable.
ru: Находит потомка этого узла, имя которого соответствует [code]маске[/code] как в [методе String.match] (т.е. чувствительно к регистру, но [code]"*"[/code] соответствует нулю или более символов, а [code]"?"[/code] соответствует любому одиночному символу, кроме [code]"."[/code]). Возвращает [code]null[/code], если не найдено ни одного подходящего [узла].
    [b]Примечание:[/b] Не ищет совпадения по полному пути, только по именам отдельных узлов.
    Если [code]owned[/code] is [code]true[/code], этот метод находит только узлы, владельцем которых является этот узел. Это особенно важно для сцен, созданных через сценарий, поскольку у таких сцен нет владельца.
    [b]Примечание:[/b] Поскольку этот метод проходит по всем потомкам узла, это самый медленный способ получить ссылку на другой узел. По возможности используйте вместо него [method get_node]. Чтобы не использовать [метод find_node] слишком часто, подумайте о кэшировании ссылки на узел в переменной.

en: Sends a remote procedure call request for the given [code]method[/code] to peers on the network (and locally), optionally sending all additional arguments as arguments to the method called by the RPC. The call request will only be received by nodes with the same [NodePath], including the exact same node name. Behaviour depends on the RPC configuration for the given method, see [method rpc_config]. Methods are not exposed to RPCs by default. See also [method rset] and [method rset_config] for properties. Returns [code]null[/code].
    [b]Note:[/b] You can only safely use RPCs on clients after you received the [code]connected_to_server[/code] signal from the [SceneTree]. You also need to keep track of the connection state, either by the [SceneTree] signals like [code]server_disconnected[/code] or by checking [code]SceneTree.network_peer.get_connection_status() == CONNECTION_CONNECTED[/code].
ru: Отправляет запрос на вызов удаленной процедуры для заданного [code]метода[/code] равным узлам в сети (и локально), по желанию отправляя все дополнительные аргументы в качестве аргументов метода, вызываемого RPC. Запрос вызова будет получен только узлами с одинаковым [NodePath], включая точно такое же имя узла. Поведение зависит от конфигурации RPC для данного метода, см. [method rpc_config]. По умолчанию методы не открыты для RPC. См. также [method rset] и [method rset_config] для свойств. Возвращает [code]null[/code].
    [b]Примечание:[/b] Вы можете безопасно использовать RPC на клиентах только после получения сигнала [code]connected_to_server[/code] от [SceneTree]. Вам также необходимо отслеживать состояние соединения, либо по сигналам [SceneTree], таким как [code]server_disconnected[/code], либо проверяя [code]SceneTree.network_peer.get_connection_status() == CONNECTION_CONNECTED[/code].

en: A 2D game object, inherited by all 2D-related nodes. Has a position, rotation, scale, and Z index.
ru: Объект для 2D-игр, наследуемый всеми узлами, предназначенными для 2D-сцен. Имеет положение, поворот и масштаб в двух измерениях, а также Z-индекс.

en: Global position.
ru: Глобальная позиция.

en: Global scale.
ru: Глобальный масштаб.

en: Global [Transform2D].
ru: Глобальный [Transform2D].

en: Local [Transform2D].
ru: Локальный [Transform2D].

en: Operating System functions.
ru: Функции операционной системы.

en: Operating System functions. OS wraps the most common functionality to communicate with the host operating system, such as the clipboard, video driver, date and time, timers, environment variables, execution of binaries, command line, etc.
ru: Функции операционной системы. OS включает в себя наиболее распространенные функции для взаимодействия с операционной системой хоста, такими как буфер обмена, видеодрайвер, дата и время, таймеры, переменные среды, выполнение двоичных файлов, командная строка и т.д.

en: Delays execution of the current thread by [code]msec[/code] milliseconds. [code]msec[/code] must be greater than or equal to [code]0[/code]. Otherwise, [method delay_msec] will do nothing and will print an error message.
    [b]Note:[/b] [method delay_msec] is a [i]blocking[/i] way to delay code execution. To delay code execution in a non-blocking way, see [method SceneTree.create_timer]. Yielding with [method SceneTree.create_timer] will delay the execution of code placed below the [code]yield[/code] without affecting the rest of the project (or editor, for [EditorPlugin]s and [EditorScript]s).
    [b]Note:[/b] When [method delay_msec] is called on the main thread, it will freeze the project and will prevent it from redrawing and registering input until the delay has passed. When using [method delay_msec] as part of an [EditorPlugin] or [EditorScript], it will freeze the editor but won't freeze the project if it is currently running (since the project is an independent child process).
ru: Задерживает выполнение текущего потока на [code]мсек[/code] миллисекунд. [code]мсек[/code] должно быть больше или равно [code]0[/code]. В противном случае [метод delay_msec] ничего не сделает и выведет сообщение об ошибке.
    [b]Примечание:[/b] [method delay_msec] - это [i]блокирующий[/i] способ задержки выполнения кода. Чтобы задержать выполнение кода неблокирующим способом, смотрите [method SceneTree.create_timer]. Выдача с помощью [method SceneTree.create_timer] задержит выполнение кода, размещенного ниже [code]выдачи[/code] без влияния на остальную часть проекта (или редактора, для [EditorPlugin]ов и [EditorScript]ов).
    [b]Примечание:[/b] Если [метод delay_msec] вызывается в главном потоке, он замораживает проект и не позволяет ему перерисовывать и регистрировать ввод, пока не пройдет задержка. При использовании [method delay_msec] как части [EditorPlugin] или [EditorScript], он заморозит редактор, но не заморозит проект, если он запущен (поскольку проект является независимым дочерним процессом).

en: Delays execution of the current thread by [code]usec[/code] microseconds. [code]usec[/code] must be greater than or equal to [code]0[/code]. Otherwise, [method delay_usec] will do nothing and will print an error message.
    [b]Note:[/b] [method delay_usec] is a [i]blocking[/i] way to delay code execution. To delay code execution in a non-blocking way, see [method SceneTree.create_timer]. Yielding with [method SceneTree.create_timer] will delay the execution of code placed below the [code]yield[/code] without affecting the rest of the project (or editor, for [EditorPlugin]s and [EditorScript]s).
    [b]Note:[/b] When [method delay_usec] is called on the main thread, it will freeze the project and will prevent it from redrawing and registering input until the delay has passed. When using [method delay_usec] as part of an [EditorPlugin] or [EditorScript], it will freeze the editor but won't freeze the project if it is currently running (since the project is an independent child process).
ru: Задерживает выполнение текущего потока на [code]usec[/code] микросекунд. [code]usec[/code] должно быть больше или равно [code]0[/code]. В противном случае [метод delay_usec] ничего не сделает и выведет сообщение об ошибке.
    [b]Примечание:[/b] [method delay_usec] - это [i]блокирующий[/i] способ задержки выполнения кода. Чтобы задержать выполнение кода неблокирующим способом, смотрите [method SceneTree.create_timer]. Выдача с помощью [method SceneTree.create_timer] задержит выполнение кода, размещенного ниже [code]выдачи[/code] без влияния на остальную часть проекта (или редактора, для [EditorPlugin]ов и [EditorScript]ов).
    [b]Примечание:[/b] Если [метод delay_usec] вызывается в главном потоке, он замораживает проект и не позволяет ему перерисовывать и регистрировать ввод, пока не пройдет задержка. При использовании [method delay_usec] как части [EditorPlugin] или [EditorScript], он заморозит редактор, но не заморозит проект, если он запущен (поскольку проект является независимым дочерним процессом).

en: Returns the command-line arguments passed to the engine.
    Command-line arguments can be written in any form, including both [code]--key value[/code] and [code]--key=value[/code] forms so they can be properly parsed, as long as custom command-line arguments do not conflict with engine arguments.
    You can also incorporate environment variables using the [method get_environment] method.
    You can set [member ProjectSettings.editor/main_run_args] to define command-line arguments to be passed by the editor when running the project.
    Here's a minimal example on how to parse command-line arguments into a dictionary using the [code]--key=value[/code] form for arguments:
    [codeblock]
    var arguments = {}
    for argument in OS.get_cmdline_args():
        if argument.find("=") > -1:
            var key_value = argument.split("=")
            arguments[key_value[0].lstrip("--")] = key_value[1]
        else:
            # Options without an argument will be present in the dictionary,
            # with the value set to an empty string.
            arguments[argument.lstrip("--")] = ""
    [/codeblock]
ru: Возвращает аргументы командной строки, переданные движку.
    Аргументы командной строки могут быть записаны в любой форме, включая формы [code]--key value[/code] и [code]--key=value[/code], чтобы они могли быть правильно разобраны, при условии, что пользовательские аргументы командной строки не конфликтуют с аргументами движка.
    Вы также можете включить переменные окружения, используя метод [method get_environment].
    Вы можете установить [member ProjectSettings.editor/main_run_args] для определения аргументов командной строки, которые будут передаваться редактором при запуске проекта.
    Вот минимальный пример того, как разобрать аргументы командной строки в словарь, используя форму [code]--key=value[/code] для аргументов:
    [codeblock].
    var arguments = {}
    for argument in OS.get_cmdline_args():
        if argument.find("=") > -1:
            var key_value = argument.split("=")
            arguments[key_value[0].lstrip("--")] = key_value[1]
        else:
            # Опции без аргумента будут присутствовать в словаре,
            # со значением, установленным в пустую строку.
            arguments[argument.lstrip("--")] = ""
    [/codeblock]

en: Sunday.
ru: Воскресенье.

en: Monday.
ru: Понедельник.

en: Tuesday.
ru: Вторник.

en: Wednesday.
ru: Среда.

en: Thursday.
ru: Четверг.

en: Friday.
ru: Пятница.

en: Saturday.
ru: Суббота.

en: January.
ru: Январь.

en: February.
ru: Февраль.

en: March.
ru: Март.

en: April.
ru: Апрель.

en: May.
ru: Май.

en: June.
ru: Июнь.

en: July.
ru: Июль.

en: August.
ru: Август.

en: September.
ru: Сентябрь.

en: October.
ru: Октябрь.

en: November.
ru: Ноябрь.

en: December.
ru: Декабрь.

en: Landscape screen orientation.
ru: Альбомная ориентация экрана.

en: Portrait screen orientation.
ru: Книжная ориентация экрана.

en: Unknown powerstate.
ru: Неизвестное состояние питания.

en: Optimized translation.
ru: Оптимизированный перевод.

en: Ray-casting
ru: Трассировка лучей

en: Checks the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. If it collides with more than one shape, the nearest one is selected. If the shape did not intersect anything, then an empty dictionary is returned instead.
    [b]Note:[/b] This method does not take into account the [code]motion[/code] property of the object. The returned object is a dictionary containing the following fields:
    [code]collider_id[/code]: The colliding object's ID.
    [code]linear_velocity[/code]: The colliding object's velocity [Vector2]. If the object is an [Area2D], the result is [code](0, 0)[/code].
    [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data].
    [code]normal[/code]: The object's surface normal at the intersection point.
    [code]point[/code]: The intersection point.
    [code]rid[/code]: The intersecting object's [RID].
    [code]shape[/code]: The shape index of the colliding shape.
ru: Проверяет пересечения фигуры, заданной через объект [Physics2DShapeQueryParameters], с пространством. Если она пересекается с более чем одной фигурой, выбирается ближайшая. Если фигура ни с чем не пересекается, то возвращается пустой словарь.
    [b]Примечание:[/b] Этот метод не учитывает свойство [code]движения[/code] объекта. Возвращаемый объект представляет собой словарь, содержащий следующие поля:
    [code]collider_id[/code]: ID сталкивающегося объекта.
    [code]linear_velocity[/code]: Скорость объекта столкновения [Vector2]. Если объект является [Area2D], то результатом будет [code](0, 0)[/code].
    [code]метаданные[/code]: Метаданные пересекающейся фигуры. Эти метаданные отличаются от [метод Object.get_meta], и устанавливаются с помощью [метод Physics2DServer.shape_set_data].
    [code]normal[/code]: Нормаль поверхности объекта в точке пересечения.
    [code]точка[/code]: Точка пересечения.
    [code]rid[/code]: [RID] пересекающегося объекта.
    [code]shape[/code]: Индекс формы сталкивающейся фигуры.

en: Checks whether a point is inside any solid shape. The shapes the point is inside of are returned in an array containing dictionaries with the following fields:
    [code]collider[/code]: The colliding object.
    [code]collider_id[/code]: The colliding object's ID.
    [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data].
    [code]rid[/code]: The intersecting object's [RID].
    [code]shape[/code]: The shape index of the colliding shape.
    The number of intersections can be limited with the [code]max_results[/code] parameter, to reduce the processing time.
    Additionally, the method can take an [code]exclude[/code] array of objects or [RID]s that are to be excluded from collisions, a [code]collision_mask[/code] bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with [PhysicsBody2D]s or [Area2D]s, respectively.
    [b]Note:[/b] [ConcavePolygonShape2D]s and [CollisionPolygon2D]s in [code]Segments[/code] build mode are not solid shapes. Therefore, they will not be detected.
ru: Проверяет, находится ли точка внутри какой-либо твердой фигуры. Фигуры, внутри которых находится точка, возвращаются в виде массива, содержащего словари со следующими полями:
    [code]collider[/code]: Объект столкновения.
    [code]collider_id[/code]: ID объекта столкновения.
    [code]metadata[/code]: Метаданные пересекающейся фигуры. Эти метаданные отличаются от [метод Object.get_meta], и устанавливаются с помощью [метод Physics2DServer.shape_set_data].
    [code]rid[/code]: [RID] пересекающегося объекта.
    [code]shape[/code]: Индекс формы сталкивающейся фигуры.
    Количество пересечений может быть ограничено с помощью параметра [code]max_results[/code], чтобы уменьшить время обработки.
    Кроме того, метод может принимать [code]exclude[/code] массив объектов или [RID]ов, которые должны быть исключены из столкновений, [code]collision_mask[/code] битовую маску, представляющую физические слои для проверки, или булевы для определения того, должен ли луч столкнуться с [PhysicsBody2D]s или [Area2D]s, соответственно.
    [b]Примечание:[/b] [ConcavePolygonShape2D]s и [CollisionPolygon2D]s в режиме построения [code]Segments[/code] не являются твердыми фигурами. Поэтому они не будут обнаружены.

en: Intersects a ray in a given space. The returned object is a dictionary with the following fields:
    [code]collider[/code]: The colliding object.
    [code]collider_id[/code]: The colliding object's ID.
    [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data].
    [code]normal[/code]: The object's surface normal at the intersection point.
    [code]position[/code]: The intersection point.
    [code]rid[/code]: The intersecting object's [RID].
    [code]shape[/code]: The shape index of the colliding shape.
    If the ray did not intersect anything, then an empty dictionary is returned instead.
    Additionally, the method can take an [code]exclude[/code] array of objects or [RID]s that are to be excluded from collisions, a [code]collision_mask[/code] bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with [PhysicsBody2D]s or [Area2D]s, respectively.
ru: Пересекает луч в заданном пространстве. Возвращаемый объект представляет собой словарь со следующими полями:
    [code]collider[/code]: Объект столкновения.
    [code]collider_id[/code]: Идентификатор объекта столкновения.
    [code]metadata[/code]: Метаданные пересекающейся фигуры. Эти метаданные отличаются от [метод Object.get_meta], и устанавливаются с помощью [метод Physics2DServer.shape_set_data].
    [code]normal[/code]: Нормаль поверхности объекта в точке пересечения.
    [code]position[/code]: Точка пересечения.
    [code]rid[/code]: [RID] пересекающегося объекта.
    [code]shape[/code]: Индекс формы пересекающегося объекта.
    Если луч ни с чем не пересекается, то вместо него возвращается пустой словарь.
    Кроме того, метод может принимать [code]exclude[/code] массив объектов или [RID], которые должны быть исключены из столкновений, [code]collision_mask[/code] битовую маску, представляющую физические слои для проверки, или булевы для определения того, должен ли луч столкнуться с [PhysicsBody2D]s или [Area2D]s, соответственно.

en: Returns a new [PoolByteArray] with the data decompressed. Set the compression mode using one of [enum File.CompressionMode]'s constants. [b]This method only accepts gzip and deflate compression modes.[/b]
    This method is potentially slower than [code]decompress[/code], as it may have to re-allocate its output buffer multiple times while decompressing, where as [code]decompress[/code] knows its output buffer size from the beginning.
    
    GZIP has a maximal compression ratio of 1032:1, meaning it's very possible for a small compressed payload to decompress to a potentially very large output. To guard against this, you may provide a maximum size this function is allowed to allocate in bytes via [code]max_output_size[/code]. Passing -1 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.
ru: Возвращает новый [PoolByteArray] с распакованными данными. Установите режим сжатия, используя одну из констант [enum File.CompressionMode]. [b]Этот метод принимает только режимы сжатия gzip и deflate.[/b]
    Этот метод потенциально медленнее, чем [code]decompress[/code], так как ему может потребоваться многократное перераспределение выходного буфера во время декомпрессии, в то время как [code]decompress[/code] знает размер своего выходного буфера с самого начала.
    
    GZIP имеет максимальный коэффициент сжатия 1032:1, что означает, что очень возможно, что небольшая сжатая полезная нагрузка распакуется в потенциально очень большой выходной файл. Чтобы защититься от этого, вы можете указать максимальный размер, который этой функции разрешено выделять в байтах через [code]max_output_size[/code]. Если передать значение -1, то можно выводить неограниченное количество данных. Если передано любое положительное значение, и распаковка превышает этот размер в байтах, то будет возвращена ошибка.

en: Appends an element at the end of the array.
ru: Добавляет элемент в конец массива.

en: Removes an element from the array by index.
ru: Удаляет элемент из массива по индексу.

en: [Portal]s are a special type of [MeshInstance] that allow the portal culling system to 'see' from one room to the next. They often correspond to doors and windows in level geometry. By only allowing [Camera]s to see through portals, this allows the system to cull out all the objects in rooms that cannot be seen through portals. This is a form of [b]occlusion culling[/b], and can greatly increase performance.
    There are some limitations to the form of portals:
    They must be single sided convex polygons, and usually you would orientate their front faces [b]outward[/b] from the [Room] they are placed in. The vertices should be positioned on a single plane (although their positioning does not have to be perfect).
    There is no need to place an opposite portal in an adjacent room, links are made two-way automatically.
ru: [Порталы - это особый тип [MeshInstance], который позволяет системе отбора порталов "видеть" из одной комнаты в другую. Они часто соответствуют дверям и окнам в геометрии уровня. Позволяя [Camera]s видеть только через порталы, это позволяет системе отсеивать все объекты в комнатах, которые не видны через порталы. Это одна из форм окклюзионной выборки [b][/b] , которая может значительно повысить производительность.
    Существуют некоторые ограничения на форму порталов:
    Они должны быть односторонними выпуклыми многоугольниками, и обычно вы должны ориентировать их передние грани [b]наружу[/b] от [Комнаты], в которой они расположены. Вершины должны располагаться в одной плоскости (хотя их расположение не обязательно должно быть идеальным).
    Нет необходимости размещать противоположный портал в соседней комнате, связи делаются двусторонними автоматически.

en: If [code]true[/code], flushes the standard output stream every time a line is printed. This affects both terminal logging and file logging.
    When running a project, this setting must be enabled if you want logs to be collected by service managers such as systemd/journalctl. This setting is disabled by default on release builds, since flushing on every printed line will negatively affect performance if lots of lines are printed in a rapid succession. Also, if this setting is enabled, logged files will still be written successfully if the application crashes or is otherwise killed by the user (without being closed "normally").
    [b]Note:[/b] Regardless of this setting, the standard error stream ([code]stderr[/code]) is always flushed when a line is printed to it.
    Changes to this setting will only be applied upon restarting the application.
ru: Если [code]true[/code], то поток стандартного вывода очищается каждый раз, когда печатается строка. Это влияет как на ведение журналов в терминале, так и на ведение журналов в файлах.
    При запуске проекта этот параметр должен быть включен, если вы хотите, чтобы журналы собирались менеджерами служб, такими как systemd/journalctl. Эта настройка отключена по умолчанию в сборках релизов, поскольку промывка каждой напечатанной строки негативно скажется на производительности, если много строк печатается в быстрой последовательности. Кроме того, если эта настройка включена, файлы журналов будут успешно записаны, если приложение аварийно завершено или иным образом убито пользователем (не будучи закрытым "нормально").
    [b]Примечание:[/b] Независимо от этой настройки, стандартный поток ошибок ([code]stderr[/code]) всегда промывается, когда в него печатается строка.
    Изменения в этой настройке будут применены только после перезапуска приложения.

en: Controls how much physics ticks are synchronized with real time. For 0 or less, the ticks are synchronized. Such values are recommended for network games, where clock synchronization matters. Higher values cause higher deviation of in-game clock and real clock, but allows smoothing out framerate jitters. The default value of 0.5 should be fine for most; values above 2 could cause the game to react to dropped frames with a noticeable delay and are not recommended.
    [b]Note:[/b] For best results, when using a custom physics interpolation solution, the physics jitter fix should be disabled by setting [member physics/common/physics_jitter_fix] to [code]0[/code].
    [b]Note:[/b] Jitter fix is automatically disabled at runtime when [member physics/common/physics_interpolation] is enabled.
    [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.
ru: Управляет тем, насколько тики физики синхронизированы с реальным временем. При значении 0 или меньше тики синхронизируются. Такие значения рекомендуются для сетевых игр, где синхронизация часов имеет значение. Большие значения приводят к большему отклонению внутриигровых часов от реальных, но позволяют сгладить дрожание кадров. Значение по умолчанию 0,5 должно устраивать большинство; значения выше 2 могут привести к тому, что игра будет реагировать на выпадение кадров с заметной задержкой, поэтому не рекомендуется.
    [b]Примечание:[/b] Для достижения наилучших результатов при использовании пользовательского решения интерполяции физики, исправление джиттера физики следует отключить, установив [member physics/common/physics_jitter_fix] на [code]0[/code].
    [b]Примечание:[/b] Фиксация джиттера автоматически отключается во время выполнения, если включен [member physics/common/physics_interpolation].
    [b]Примечание:[/b] Это свойство считывается только при запуске проекта. Чтобы изменить значение во время выполнения, установите [member Engine.physics_jitter_fix] вместо этого.

en: Maximum anisotropic filter level used for textures with anisotropy enabled. Higher values will result in sharper textures when viewed from oblique angles, at the cost of performance. With the exception of [code]1[/code], only power-of-two values are valid ([code]2[/code], [code]4[/code], [code]8[/code], [code]16[/code]). A value of [code]1[/code] forcibly disables anisotropic filtering, even on textures where it is enabled.
    [b]Note:[/b] For performance reasons, anisotropic filtering [i]is not enabled by default[/i] on textures. For this setting to have an effect, anisotropic texture filtering can be enabled by selecting a texture in the FileSystem dock, going to the Import dock, checking the [b]Anisotropic[/b] checkbox then clicking [b]Reimport[/b]. However, anisotropic filtering is rarely useful in 2D, so only enable it for textures in 2D if it makes a meaningful visual difference.
    [b]Note:[/b] This property is only read when the project starts. There is currently no way to change this setting at run-time.
ru: Максимальный уровень анизотропного фильтра, используемый для текстур с включенной анизотропией. Более высокие значения приводят к более четким текстурам при просмотре под косыми углами, но за счет снижения производительности. За исключением [code]1[/code], допустимы только значения, равные двум целым ([code]2[/code], [code]4[/code], [code]8[/code], [code]16[/code]). Значение [code]1[/code] принудительно отключает анизотропную фильтрацию, даже на тех текстурах, где она включена.
    [b]Примечание:[/b] По причинам производительности анизотропная фильтрация [i]не включена по умолчанию[/i] на текстурах. Чтобы эта настройка имела эффект, анизотропную фильтрацию текстуры можно включить, выбрав текстуру в доке FileSystem, перейдя в док Import, установив флажок [b]Anisotropic[/b] и нажав [b]Reimport[/b]. Однако анизотропная фильтрация редко бывает полезной в 2D, поэтому включайте ее для текстур в 2D, только если это дает значимую визуальную разницу.
    [b]Примечание:[/b] Это свойство считывается только при запуске проекта. В настоящее время не существует способа изменить этот параметр во время выполнения проекта.

en: Quaternion.
ru: Кватернион.

en: A class for generating pseudo-random numbers.
ru: Класс для генерации псевдо-случайных чисел.

en: Generates a pseudo-random float between [code]0.0[/code] and [code]1.0[/code] (inclusive).
ru: Генерирует псевдо-случайное число с плавающей точкой между [code]0.0[/code] и [code]1.0[/code] (включительно).

en: Generates a pseudo-random float between [code]from[/code] and [code]to[/code] (inclusive).
ru: Генерирует псевдо-случайное число с плавающей точкой между [code]from[/code] и [code]to[/code] (включительно).

en: Generates a [url=https://en.wikipedia.org/wiki/Normal_distribution]normally-distributed[/url] pseudo-random number, using Box-Muller transform with the specified [code]mean[/code] and a standard [code]deviation[/code]. This is also called Gaussian distribution.
ru: Генерирует псевдо-случайное число с плавающей точкой методом [url=https://en.wikipedia.org/wiki/Normal_distribution]нормального[/url] распределения, используя преобразование Бокса-Мюллера с указанным [code]mean[/code] и стандартным [code]deviation[/code]. Это также называется Гауссовым распределением.

en: Generates a pseudo-random 32-bit unsigned integer between [code]0[/code] and [code]4294967295[/code] (inclusive).
ru: Генерирует псевдо-случайное 32-битное без-знаковое целочисленное число между [code]0[/code] и [code]4294967295[/code] (включительно).

en: Generates a pseudo-random 32-bit signed integer between [code]from[/code] and [code]to[/code] (inclusive).
ru: Генерирует псевдо-случайное 32-битное знаковое целочисленное число между [code]from[/code] и [code]to[/code] (включительно).

en: Setups a time-based seed to generator.
ru: Устанавливает основанное на времени зерно генератора.

en: Initializes the random number generator state based on the given seed value. A given seed will give a reproducible sequence of pseudo-random numbers.
    [b]Note:[/b] The RNG does not have an avalanche effect, and can output similar random streams given similar seeds. Consider using a hash function to improve your seed quality if they're sourced externally.
    [b]Note:[/b] Setting this property produces a side effect of changing the internal [member state], so make sure to initialize the seed [i]before[/i] modifying the [member state]:
    [codeblock]
    var rng = RandomNumberGenerator.new()
    rng.seed = hash("Godot")
    rng.state = 100 # Restore to some previously saved state.
    [/codeblock]
    [b]Warning:[/b] the getter of this property returns the previous [member state], and not the initial seed value, which is going to be fixed in Godot 4.0.
ru: Инициализирует состояние генератора случайных чисел на основе заданного значения seed. Заданное значение семени дает воспроизводимую последовательность псевдослучайных чисел.
    [b]Примечание:[/b] RNG не обладает лавинным эффектом и может выдавать похожие случайные потоки при одинаковых семенах. Рассмотрите возможность использования хэш-функции для улучшения качества семян, если они получены извне.
    [b]Примечание:[/b] Установка этого свойства приводит к побочному эффекту изменения внутреннего [member state], поэтому убедитесь, что семя инициализировано [i], прежде чем[/i] изменять [member state]:
    [блок кода]
    var rng = RandomNumberGenerator.new()
    rng.seed = hash("Godot")
    rng.state = 100 # Восстановление к некоторому ранее сохраненному состоянию.
    [/codeblock].
    [b]Предупреждение:[/b] геттер этого свойства возвращает предыдущее состояние [member state], а не начальное значение seed, что будет исправлено в Godot 4.0.

en: Abstract base class for range-based controls.
ru: Абстрактный базовый класс для элементов управления на основе диапазона.

en: A RayCast represents a line from its origin to its destination position, [code]cast_to[/code]. It is used to query the 3D space in order to find the closest object along the path of the ray.
    RayCast can ignore some objects by adding them to the exception list via [code]add_exception[/code] or by setting proper filtering with collision layers and masks.
    RayCast can be configured to report collisions with [Area]s ([member collide_with_areas]) and/or [PhysicsBody]s ([member collide_with_bodies]).
    Only enabled raycasts will be able to query the space and report collisions.
    RayCast calculates intersection every physics frame (see [Node]), and the result is cached so it can be used later until the next frame. If multiple queries are required between physics frames (or during the same frame), use [method force_raycast_update] after adjusting the raycast.
ru: RayCast представляет собой линию от начала координат до места назначения, [code]cast_to[/code]. Он используется для запроса трехмерного пространства, чтобы найти ближайший объект на пути луча.
    RayCast может игнорировать некоторые объекты, добавляя их в список исключений через [code]add_exception[/code] или устанавливая надлежащую фильтрацию с помощью слоев столкновений и масок.
    RayCast может быть настроен на сообщение о столкновениях с [Area]s ([member collide_with_areas]) и/или [PhysicsBody]s ([member collide_with_bodies]).
    Только включенные лучевые передачи смогут запрашивать пространство и сообщать о столкновениях.
    RayCast вычисляет пересечение каждый кадр физики (см. [Node]), и результат кэшируется, чтобы его можно было использовать позже, до следующего кадра. Если требуется несколько запросов между кадрами физики (или в течение одного кадра), используйте [метод force_raycast_update] после настройки рэйкаста.

en: A RayCast represents a line from its origin to its destination position, [code]cast_to[/code]. It is used to query the 2D space in order to find the closest object along the path of the ray.
    RayCast2D can ignore some objects by adding them to the exception list via [code]add_exception[/code], by setting proper filtering with collision layers, or by filtering object types with type masks.
    RayCast2D can be configured to report collisions with [Area2D]s ([member collide_with_areas]) and/or [PhysicsBody2D]s ([member collide_with_bodies]).
    Only enabled raycasts will be able to query the space and report collisions.
    RayCast2D calculates intersection every physics frame (see [Node]), and the result is cached so it can be used later until the next frame. If multiple queries are required between physics frames (or during the same frame) use [method force_raycast_update] after adjusting the raycast.
ru: RayCast представляет собой линию от начала координат до места назначения, [code]cast_to[/code]. Он используется для запроса двумерного пространства с целью найти ближайший объект на пути луча.
    RayCast2D может игнорировать некоторые объекты, добавляя их в список исключений через [code]add_exception[/code], устанавливая правильную фильтрацию с помощью слоев столкновений или фильтруя типы объектов с помощью масок типов.
    RayCast2D может быть настроен на сообщение о столкновениях с [Area2D]s ([member collide_with_areas]) и/или [PhysicsBody2D]s ([member collide_with_bodies]).
    Только включенные лучевые передачи смогут запрашивать пространство и сообщать о столкновениях.
    RayCast2D вычисляет пересечение каждый кадр физики (см. [Node]), и результат кэшируется, чтобы его можно было использовать позже, до следующего кадра. Если требуется несколько запросов между кадрами физики (или в течение одного кадра), используйте [метод force_raycast_update] после настройки рэйкаста.

en: Base class for any object that keeps a reference count. [Resource] and many other helper objects inherit this class.
    Unlike other [Object] types, References keep an internal reference counter so that they are automatically released when no longer in use, and only then. References therefore do not need to be freed manually with [method Object.free].
    In the vast majority of use cases, instantiating and using [Reference]-derived types is all you need to do. The methods provided in this class are only for advanced users, and can cause issues if misused.
    [b]Note:[/b] In C#, references will not be freed instantly after they are no longer in use. Instead, garbage collection will run periodically and will free references that are no longer in use. This means that unused references will linger on for a while before being removed.
ru: Базовый класс для любого объекта, который ведет подсчет ссылок. [Resource] и многие другие вспомогательные объекты наследуют этот класс.
    В отличие от других типов [Object], ссылки ведут внутренний счетчик ссылок, поэтому они автоматически освобождаются, когда больше не используются, и только тогда. Поэтому ссылки не нужно освобождать вручную с помощью [метода Object.free].
    В подавляющем большинстве случаев инстанцирование и использование [Reference]-производных типов - это все, что вам нужно сделать. Методы, предоставляемые в этом классе, предназначены только для опытных пользователей и могут вызвать проблемы при неправильном использовании.
    [b]Примечание:[/b] В C# ссылки не освобождаются мгновенно после того, как они перестают использоваться. Вместо этого сборка мусора будет выполняться периодически и освобождать ссылки, которые больше не используются. Это означает, что неиспользуемые ссылки будут существовать некоторое время, прежде чем будут удалены.

en: Resource is the base class for all Godot-specific resource types, serving primarily as data containers. Since they inherit from [Reference], resources are reference-counted and freed when no longer in use. They are also cached once loaded from disk, so that any further attempts to load a resource from a given path will return the same reference (all this in contrast to a [Node], which is not reference-counted and can be instanced from disk as many times as desired). Resources can be saved externally on disk or bundled into another object, such as a [Node] or another resource.
    [b]Note:[/b] In C#, resources will not be freed instantly after they are no longer in use. Instead, garbage collection will run periodically and will free resources that are no longer in use. This means that unused resources will linger on for a while before being removed.
ru: Resource - это базовый класс для всех специфических для Godot типов ресурсов, служащих в основном в качестве контейнеров данных. Поскольку они наследуются от [Reference], ресурсы учитываются по ссылкам и освобождаются, когда больше не используются. Они также кэшируются после загрузки с диска, так что все последующие попытки загрузить ресурс по заданному пути будут возвращать ту же ссылку (в отличие от [Node], который не учитывается по ссылкам и может инстанцироваться с диска сколько угодно раз). Ресурсы могут быть сохранены на внешнем диске или вложены в другой объект, например, [Node] или другой ресурс.
    [b]Примечание:[/b] В C# ресурсы не будут освобождаться мгновенно после того, как они перестанут использоваться. Вместо этого сборка мусора будет выполняться периодически и освобождать ресурсы, которые больше не используются. Это означает, что неиспользуемые ресурсы будут существовать некоторое время, прежде чем будут удалены.

en: Resources
ru: Ресурсы

en: Loads a resource at the given [code]path[/code], caching the result for further access.
    The registered [ResourceFormatLoader]s are queried sequentially to find the first one which can handle the file's extension, and then attempt loading. If loading fails, the remaining ResourceFormatLoaders are also attempted.
    An optional [code]type_hint[/code] can be used to further specify the [Resource] type that should be handled by the [ResourceFormatLoader]. Anything that inherits from [Resource] can be used as a type hint, for example [Image].
    If [code]no_cache[/code] is [code]true[/code], the resource cache will be bypassed and the resource will be loaded anew. Otherwise, the cached resource will be returned if it exists.
    Returns an empty resource if no [ResourceFormatLoader] could handle the file.
    GDScript has a simplified [method @GDScript.load] built-in method which can be used in most situations, leaving the use of [ResourceLoader] for more advanced scenarios.
ru: Загружает ресурс по заданному [code]пути[/code] , кэшируя результат для последующего доступа.
    Зарегистрированные [ResourceFormatLoader]ы последовательно запрашиваются, чтобы найти первый, который может обрабатывать расширение файла, и затем выполняется попытка загрузки. Если загрузка не удалась, остальные ResourceFormatLoader'ы также будут опрошены.
    Необязательный [code]type_hint[/code] может быть использован для дальнейшего указания типа [Resource], который должен обрабатываться [ResourceFormatLoader]. В качестве подсказки типа можно использовать все, что наследуется от [Resource], например [Image].
    Если [code]no_cache[/code] is [code]true[/code], кэш ресурса будет обойден и ресурс будет загружен заново. В противном случае будет возвращен кэшированный ресурс, если он существует.
    Возвращает пустой ресурс, если ни один [ResourceFormatLoader] не смог обработать файл.
    GDScript имеет упрощенный встроенный метод [method @GDScript.load], который можно использовать в большинстве ситуаций, оставляя использование [ResourceLoader] для более сложных сценариев.

en: Emitted when one of this RigidBody's [Shape]s collides with another [PhysicsBody] or [GridMap]'s [Shape]s. Requires [member contact_monitor] to be set to [code]true[/code] and [member contacts_reported] to be set high enough to detect all the collisions. [GridMap]s are detected if the [MeshLibrary] has Collision [Shape]s.
    [code]body_rid[/code] the [RID] of the other [PhysicsBody] or [MeshLibrary]'s [CollisionObject] used by the [PhysicsServer].
    [code]body[/code] the [Node], if it exists in the tree, of the other [PhysicsBody] or [GridMap].
    [code]body_shape_index[/code] the index of the [Shape] of the other [PhysicsBody] or [GridMap] used by the [PhysicsServer]. Get the [CollisionShape] node with [code]body.shape_owner_get_owner(body_shape_index)[/code].
    [code]local_shape_index[/code] the index of the [Shape] of this RigidBody used by the [PhysicsServer]. Get the [CollisionShape] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
    [b]Note:[/b] Bullet physics cannot identify the shape index when using a [ConcavePolygonShape]. Don't use multiple [CollisionShape]s when using a [ConcavePolygonShape] with Bullet physics if you need shape indices.
ru: Выдается при столкновении одного из [Shape] этого RigidBody с другим [PhysicsBody] или [GridMap] [Shape]. Требуется, чтобы [member contact_monitor] был установлен в [code]true[/code] и [member contacts_reported] был установлен достаточно высоким, чтобы обнаружить все столкновения. [GridMap]ы обнаруживаются, если в [MeshLibrary] есть [Shape]ы столкновений.
    [code]body_rid[/code] [RID] другого [PhysicsBody] или [MeshLibrary] [CollisionObject], используемого [PhysicsServer].
    [code]body[/code] [Узел], если он существует в дереве, другого [PhysicsBody] или [GridMap].
    [code]body_shape_index[/code] индекс [Shape] другого [PhysicsBody] или [GridMap], используемого [PhysicsServer]. Получите узел [CollisionShape] с помощью [code]body.shape_owner_get_owner(body_shape_index)[/code].
    [code]local_shape_index[/code] индекс [Shape] этого RigidBody, используемый [PhysicsServer]. Получите узел [CollisionShape] с помощью [code]self.shape_owner_get_owner(local_shape_index)[/code].
    [b]Примечание:[/b] Физика пули не может определить индекс формы при использовании [ConcavePolygonShape]. Не используйте несколько [CollisionShape] при использовании [ConcavePolygonShape] с физикой Bullet, если вам нужны индексы формы.

en: In order to reduce processing for roaming objects, an expansion is applied to their AABB as they move. This expanded volume is used to calculate which rooms the roaming object is within. If the object's exact AABB is still within this expanded volume on the next move, there is no need to reprocess the object, which can save considerable CPU.
    The downside is that if the expansion is too much, the object may end up unexpectedly sprawling into neighbouring rooms and showing up where it might otherwise be culled.
    In order to balance roaming performance against culling accuracy, this expansion margin can be customized by the user. It will typically depend on your room and object sizes, and movement speeds. The default value should work reasonably in most circumstances.
ru: Чтобы уменьшить обработку данных для перемещаемых объектов, к их AABB применяется расширение по мере их перемещения. Этот расширенный объем используется для расчета комнат, в которых находится перемещаемый объект. Если точный AABB объекта все еще находится в пределах этого расширенного объема при следующем перемещении, нет необходимости повторно обрабатывать объект, что может сэкономить значительное количество CPU.
    Недостатком является то, что если расширение слишком велико, объект может неожиданно распространиться в соседние комнаты и появиться там, где в противном случае он мог бы быть удален.
    Чтобы сбалансировать производительность роуминга и точность выбраковки, этот запас расширения может быть настроен пользователем. Обычно он зависит от размеров комнат и объектов, а также от скорости передвижения. Значение по умолчанию должно работать разумно в большинстве случаев.

en: [i]Root motion[/i] refers to an animation technique where a mesh's skeleton is used to give impulse to a character. When working with 3D animations, a popular technique is for animators to use the root skeleton bone to give motion to the rest of the skeleton. This allows animating characters in a way where steps actually match the floor below. It also allows precise interaction with objects during cinematics. See also [AnimationTree].
    [b]Note:[/b] [RootMotionView] is only visible in the editor. It will be hidden automatically in the running project, and will also be converted to a plain [Node] in the running project. This means a script attached to a [RootMotionView] node [i]must[/i] have [code]extends Node[/code] instead of [code]extends RootMotionView[/code]. Additionally, it must not be a [code]tool[/code] script.
ru: [i]Корневое движение[/i] относится к технике анимации, когда скелет сетки используется для придания импульса персонажу. При работе с 3D-анимацией популярной техникой является использование аниматорами корневой кости скелета для придания движения остальным частям скелета. Это позволяет анимировать персонажей таким образом, что шаги фактически соответствуют полу под ними. Это также позволяет точно взаимодействовать с объектами во время кинематографа. См. также [AnimationTree].
    [b]Примечание:[/b] [RootMotionView] виден только в редакторе. Он будет автоматически скрыт в работающем проекте, а также будет преобразован в обычный [Node] в работающем проекте. Это означает, что скрипт, прикрепленный к узлу [RootMotionView] [i]должен[/i] иметь [code]extends Node[/code] вместо [code]extends RootMotionView[/code]. Кроме того, он не должен быть скриптом [code]инструмента[/code].

en: No stretching.
ru: Не растягивать.

en: One-shot timer.
ru: Таймер на один снимок.

en: This method can be used for manual interpolation of a value, when you don't want [SceneTreeTween] to do animating for you. It's similar to [method @GDScript.lerp], but with support for custom transition and easing.
    [code]initial_value[/code] is the starting value of the interpolation.
    [code]delta_value[/code] is the change of the value in the interpolation, i.e. it's equal to [code]final_value - initial_value[/code].
    [code]elapsed_time[/code] is the time in seconds that passed after the interpolation started and it's used to control the position of the interpolation. E.g. when it's equal to half of the [code]duration[/code], the interpolated value will be halfway between initial and final values. This value can also be greater than [code]duration[/code] or lower than 0, which will extrapolate the value.
    [code]duration[/code] is the total time of the interpolation.
    [b]Note:[/b] If [code]duration[/code] is equal to [code]0[/code], the method will always return the final value, regardless of [code]elapsed_time[/code] provided.
ru: Этот метод можно использовать для ручной интерполяции значения, когда вы не хотите, чтобы [SceneTreeTween] выполнял анимацию за вас. Он похож на [method @GDScript.lerp], но с поддержкой пользовательского перехода и смягчения.
    [code]initial_value[/code] - начальное значение интерполяции.
    [code]delta_value[/code] - это изменение значения в интерполяции, т.е. оно равно [code]final_value - initial_value[/code].
    [code]elapsed_time[/code] - это время в секундах, прошедшее после начала интерполяции, которое используется для контроля положения интерполяции. Например, если оно равно половине длительности [code][/code] , интерполированное значение будет находиться на полпути между начальным и конечным значениями. Это значение также может быть больше, чем [code]duration[/code] или меньше, чем 0, что приведет к экстраполяции значения.
    [code]duration[/code] - общее время интерполяции.
    [b]Примечание:[/b] Если [code]duration[/code] равно [code]0[/code], метод всегда будет возвращать конечное значение, независимо от [code]elapsed_time[/code] предоставленного значения.

en: Returns a list of contact point pairs where this shape would touch another, if a given movement was applied.
    If there would be no collisions, the returned list is empty. Otherwise, the returned list contains contact points arranged in pairs, with entries alternating between points on the boundary of this shape and points on the boundary of [code]with_shape[/code].
    A collision pair A, B can be used to calculate the collision normal with [code](B - A).normalized()[/code], and the collision depth with [code](B - A).length()[/code]. This information is typically used to separate shapes, particularly in collision solvers.
    This method needs the transformation matrix for this shape ([code]local_xform[/code]), the movement to test on this shape ([code]local_motion[/code]), the shape to check collisions with ([code]with_shape[/code]), the transformation matrix of that shape ([code]shape_xform[/code]), and the movement to test onto the other object ([code]shape_motion[/code]).
ru: Возвращает список пар точек соприкосновения, где данная фигура могла бы коснуться другой, если бы было применено заданное движение.
    Если столкновений не будет, возвращаемый список пуст. В противном случае, возвращаемый список содержит попарно расположенные точки контакта, в которых чередуются точки на границе данной фигуры и точки на границе [code]with_shape[/code].
    Пара столкновений A, B может быть использована для вычисления нормали столкновения с помощью [code](B - A).normalized()[/code], и глубины столкновения с помощью [code](B - A).length()[/code]. Эта информация обычно используется для разделения фигур, особенно в решателях столкновений.
    Этому методу нужна матрица трансформации для данной фигуры ([code]local_xform[/code]), движение для проверки этой фигуры ([code]local_motion[/code]), фигура для проверки столкновений с ней ([code]with_shape[/code]), матрица трансформации этой фигуры ([code]shape_xform[/code]) и движение для проверки на другом объекте ([code]shape_motion[/code]).

en: [i]Deprecated soon.[/i]
ru: [i]Скоро будет устаревшим.[/i]

en: Most basic 3D game object, parent of all 3D-related nodes.
ru: Базовый объект для 3D-игр, наследуемый всеми узлами, предназначенными для 3D-сцен.

en: Sprite is scaled by depth so that it always appears the same size on screen.
ru: Спрайт масштабируется по глубине, чтобы он всегда отображался на экране одинакового размера.

en: Performs a case-sensitive comparison to another string. Returns [code]-1[/code] if less than, [code]1[/code] if greater than, or [code]0[/code] if equal. "less than" or "greater than" are determined by the [url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode code points[/url] of each string, which roughly matches the alphabetical order.
    [b]Behavior with different string lengths:[/b] Returns [code]1[/code] if the "base" string is longer than the [code]to[/code] string or [code]-1[/code] if the "base" string is shorter than the [code]to[/code] string. Keep in mind this length is determined by the number of Unicode codepoints, [i]not[/i] the actual visible characters.
    [b]Behavior with empty strings:[/b] Returns [code]-1[/code] if the "base" string is empty, [code]1[/code] if the [code]to[/code] string is empty or [code]0[/code] if both strings are empty.
    To get a boolean result from a string comparison, use the [code]==[/code] operator instead. See also [method nocasecmp_to].
ru: Выполняет сравнение с другой строкой с учетом регистра. Возвращает [code]-1[/code], если меньше, [code]1[/code], если больше, или [code]0[/code], если равно. "Меньше" или "больше" определяются [url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]кодовыми точками Unicode[/url] каждой строки, что примерно соответствует алфавитному порядку.
    [b]Поведение при различной длине строки:[/b] Возвращает [code]1[/code], если "базовая" строка длиннее строк [code]-[/code] или [code]-1[/code], если "базовая" строка короче строк [code]-[/code]. Следует помнить, что длина определяется количеством кодовых точек Юникода, [i]а не[/i] реально видимых символов.
    [b]Поведение с пустыми строками:[/b] Возвращает [code]-1[/code], если "базовая" строка пуста, [code]1[/code], если строки [code]-[/code] пусты, или [code]0[/code], если обе строки пусты.
    Чтобы получить булев результат сравнения строк, используйте вместо этого оператор [code]==[/code]. См. также [метод nocasecmp_to].

en: Performs a case-insensitive comparison to another string. Returns [code]-1[/code] if less than, [code]1[/code] if greater than, or [code]0[/code] if equal. "less than" or "greater than" are determined by the [url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode code points[/url] of each string, which roughly matches the alphabetical order. Internally, lowercase characters will be converted to uppercase during the comparison.
    [b]Behavior with different string lengths:[/b] Returns [code]1[/code] if the "base" string is longer than the [code]to[/code] string or [code]-1[/code] if the "base" string is shorter than the [code]to[/code] string. Keep in mind this length is determined by the number of Unicode codepoints, [i]not[/i] the actual visible characters.
    [b]Behavior with empty strings:[/b] Returns [code]-1[/code] if the "base" string is empty, [code]1[/code] if the [code]to[/code] string is empty or [code]0[/code] if both strings are empty.
    To get a boolean result from a string comparison, use the [code]==[/code] operator instead. See also [method casecmp_to].
ru: Выполняет сравнение с другой строкой без учета регистра. Возвращает [code]-1[/code], если меньше, [code]1[/code], если больше, или [code]0[/code], если равно. "Меньше" или "больше" определяется [url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]кодовыми точками Unicode[/url] каждой строки, что примерно соответствует алфавитному порядку. При сравнении символы нижнего регистра преобразуются в верхний регистр.
    [b]Поведение при различной длине строки:[/b] Возвращает [code]1[/code], если "базовая" строка длиннее, чем строки [code]-[/code] или [code]-1[/code], если "базовая" строка короче, чем строки [code]-[/code]. Следует помнить, что длина определяется количеством кодовых точек Юникода, [i]а не[/i] реально видимых символов.
    [b]Поведение с пустыми строками:[/b] Возвращает [code]-1[/code], если "базовая" строка пуста, [code]1[/code], если строки [code]-[/code] пусты, или [code]0[/code], если обе строки пусты.
    Чтобы получить булев результат сравнения строк, используйте вместо этого оператор [code]==[/code]. См. также [метод casecmp_to].

en: Splits the string by a [code]delimiter[/code] string and returns an array of the substrings, starting from right.
    The splits in the returned array are sorted in the same order as the original string, from left to right.
    If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent delimiters in the string, it will add an empty string to the array of substrings at this position.
    If [code]maxsplit[/code] is specified, it defines the number of splits to do from the right up to [code]maxsplit[/code]. The default value of 0 means that all items are split, thus giving the same result as [method split].
    Example:
    [codeblock]
    var some_string = "One,Two,Three,Four"
    var some_array = some_string.rsplit(",", true, 1)
    print(some_array.size()) # Prints 2
    print(some_array[0]) # Prints "One,Two,Three"
    print(some_array[1]) # Prints "Four"
    [/codeblock]
ru: Разделяет строку по [code]разделителю[/code] и возвращает массив подстрок, начиная справа.
    Разделители в возвращаемом массиве сортируются в том же порядке, что и исходная строка, слева направо.
    Если [code]allow_empty[/code] равен [code]true[/code], и в строке есть два соседних разделителя, то в массив подстрок в этой позиции будет добавлена пустая строка.
    Если указано [code]maxsplit[/code], то это определяет количество разбиений справа до [code]maxsplit[/code]. Значение по умолчанию 0 означает, что все элементы разделяются, что дает тот же результат, что и [method split].
    Пример:
    [codeblock].
    var some_string = "One,Two,Three,Four"
    var some_array = some_string.rsplit(",", true, 1)
    print(some_array.size()) # Печатает 2
    print(some_array[0]) # Печатает "Один, два, три"
    print(some_array[1]) # Печатает "Four"
    [/codeblock]

en: Splits the string by a [code]delimiter[/code] string and returns an array of the substrings. The [code]delimiter[/code] can be of any length.
    If [code]allow_empty[/code] is [code]true[/code], and there are two adjacent delimiters in the string, it will add an empty string to the array of substrings at this position.
    If [code]maxsplit[/code] is specified, it defines the number of splits to do from the left up to [code]maxsplit[/code]. The default value of [code]0[/code] means that all items are split.
    If you need only one element from the array at a specific index, [method get_slice] is a more performant option.
    Example:
    [codeblock]
    var some_string = "One,Two,Three,Four"
    var some_array = some_string.split(",", true, 1)
    print(some_array.size()) # Prints 2
    print(some_array[0]) # Prints "One"
    print(some_array[1]) # Prints "Two,Three,Four"
    [/codeblock]
    If you need to split strings with more complex rules, use the [RegEx] class instead.
ru: Разделяет строку по разделителю [code][/code] и возвращает массив подстрок. Разделитель [code][/code] может быть любой длины.
    Если [code]allow_empty[/code] равно [code]true[/code], и в строке есть два соседних разделителя, то в массив подстрок в этой позиции будет добавлена пустая строка.
    Если указано [code]maxsplit[/code], то это определяет количество разбиений слева до [code]maxsplit[/code]. Значение по умолчанию [code]0[/code] означает, что все элементы разделяются.
    Если вам нужен только один элемент из массива по определенному индексу, [метод get_slice] является более производительным вариантом.
    Пример:
    [codeblock].
    var some_string = "One,Two,Three,Four"
    var some_array = some_string.split(",", true, 1)
    print(some_array.size()) # Печатает 2
    print(some_array[0]) # Печатает "Один"
    print(some_array[1]) # Печатает "Два, три, четыре"
    [/codeblock].
    Если вам нужно разделить строки по более сложным правилам, используйте класс [RegEx].

en: Tabbed container.
ru: Контейнер с вкладками.

en: Tabs control.
ru: Управление вкладками.

en: Stops listening.
ru: Перестает слушать.

en: Step (in pixels) used to approximate Bézier curves.
ru: Шаг (в пикселях), используемый для аппроксимации кривых Безье.

en: The size of one pixel's width on the text to scale it in 3D.
ru: Размер ширины одного пикселя текста для его масштабирования в 3D.

en: The text to generate mesh from.
ru: Текст, из которого создается сетка.

en: Always visible.
ru: Всегда видно.

en: Language Translation.
ru: Языковой перевод.

en: Inconsistent parameters.
ru: Несоответствующие параметры.

en: Invalid gateway.
ru: Неверный шлюз.

en: Invalid port.
ru: Неверный порт.

en: Invalid protocol.
ru: Неверный протокол.

en: Invalid duration.
ru: Неверная продолжительность.

en: Invalid arguments.
ru: Недопустимые аргументы.

en: Invalid response.
ru: Неверный ответ.

en: Invalid parameter.
ru: Недопустимый параметр.

en: HTTP error.
ru: Ошибка HTTP.

en: Socket error.
ru: Ошибка сокета.

en: Unknown error.
ru: Неизвестная ошибка.

en: Service type.
ru: Тип услуг.

en: Disconnected.
ru: Отключен.

en: Unknown device.
ru: Неизвестное устройство.

en: Invalid control.
ru: Неверный контроль.

en: Returns a new vector with all components in absolute values (i.e. positive).
ru: Возвращает новый вектор в котором все компоненты будут абсолютными значениями (т.е положительными).

en: Returns the vector "bounced off" from a plane defined by the given normal.
ru: Возвращает вектор "отскока" от плоскости определённой заданной нормалью.

en: Returns the squared distance between this vector and [code]b[/code].
    This method runs faster than [method distance_to], so prefer it if you need to compare vectors or need the squared distance for some formula.
ru: Возвращает расстояние в квадрате между данным вектором и [code]b[/code].
    Данный метод выполняется быстрее, чем [method distance_to], так то он предпочтительнее, если вам нужно сравнить векторы или нужно расстояние в квадрате для какой-либо формулы.

en: Returns [code]true[/code] if this vector and [code]v[/code] are approximately equal, by running [method @GDScript.is_equal_approx] on each component.
ru: Возвращает [code]true[/code] если этот вектор и [code]v[/code] приблизительно равны, запуская [method @GDScript.is_equal_approx] для каждого компонента.

en: Returns the squared length (squared magnitude) of this vector.
    This method runs faster than [method length], so prefer it if you need to compare vectors or need the squared distance for some formula.
ru: Возвращает длину данного вектора в квадрате.
    Этот метод выполняется быстрее, чем [method length], поэтому он предпочтительнее если вам нужно сравнить векторы или нужно расстояние в квадрате для какой-либо формулы.

en: Returns the vector scaled to unit length. Equivalent to [code]v / v.length()[/code].
ru: Возвращает вектор уменьшенный до единичной длины. Эквивалентно [code]v / v.length()[/code].

en: Returns this vector with each component snapped to the nearest multiple of [code]step[/code]. This can also be used to round to an arbitrary number of decimals.
ru: Возвращает вектор, в котором каждый компонент привязан к ближайшему числу, кратному [code]step[/code]. Метод также может быть использован для округления с произвольным числом знаков после запятой.

en: The vector's X component. Also accessible by using the index position [code][0][/code].
ru: X компонент вектора. Может быть доступен через индекс [code][0][/code].

en: The vector's Y component. Also accessible by using the index position [code][1][/code].
ru: Y компонент вектора. Может быть доступен через индекс [code][1][/code].

en: Enumerated value for the X axis.
ru: Значение оси X.

en: Enumerated value for the Y axis.
ru: Значение оси Y.

en: Zero vector, a vector with all components set to [code]0[/code].
ru: Нулевой вектор — вектор у которого все координаты равны [code]0[/code].

en: One vector, a vector with all components set to [code]1[/code].
ru: Вектор-единица — вектор у которого все координаты равны [code]1[/code].

en: Returns the inverse of the vector. This is the same as [code]Vector3( 1.0 / v.x, 1.0 / v.y, 1.0 / v.z )[/code].
ru: Возвращает инвертированный вектор. Это тоже самое что и [code]Vector3( 1.0 / v.x, 1.0 / v.y, 1.0 / v.z )[/code].

en: Returns the outer product with [code]b[/code].
ru: Возвращает внешнее произведение с [code]b[/code].

en: The vector's Z component. Also accessible by using the index position [code][2][/code].
ru: Z компонент вектора. Также может быть доступен по индексу [code][2][/code].

en: Enumerated value for the X axis. Returned by [method max_axis] and [method min_axis].
ru: Значение оси X. Возвращается [method max_axis] и [method min_axis].

en: Enumerated value for the Y axis. Returned by [method max_axis] and [method min_axis].
ru: Значение оси Y. Возвращается [method max_axis] и [method min_axis].

en: Enumerated value for the Z axis. Returned by [method max_axis] and [method min_axis].
ru: Значение оси Z. Возвращается [method max_axis] и [method min_axis].

en: Up unit vector.
ru: Верхний единичный вектор.

en: Down unit vector.
ru: Нижний единичный вектор.

en: Audio volume in dB.
ru: Громкость звука в дБ.

en: Unity: [code]1[/code].
ru: Единство: [code]1[/code].

en: Pi: [code]3.141593[/code].
ru: Пи: [code]3.141593[/code].

en: Tau: [code]6.283185[/code].
ru: Тау: [code]6.283185[/code].

en: Infinity: [code]inf[/code].
ru: Бесконечность: [code]inf[/code].

en: Node reference.
ru: Ссылка на узел.

en: Conditional loop.
ru: Условный цикл.

en: Synchronizes threads.
ru: Синхронизирует потоки.

en: Copies viewport to a region of the screen specified by [code]rect[/code]. If [member Viewport.render_direct_to_screen] is [code]true[/code], then viewport does not use a framebuffer and the contents of the viewport are rendered directly to screen. However, note that the root viewport is drawn last, therefore it will draw over the screen. Accordingly, you must set the root viewport to an area that does not cover the area that you have attached this viewport to.
    For example, you can set the root viewport to not render at all with the following code:
    [codeblock]
    func _ready():
        get_viewport().set_attach_to_screen_rect(Rect2())
        $Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600))
    [/codeblock]
    Using this can result in significant optimization, especially on lower-end devices. However, it comes at the cost of having to manage your viewports manually. For further optimization, see [method viewport_set_render_direct_to_screen].
ru: Копирует видовой экран в область экрана, указанную [code]rect[/code]. Если [member Viewport.render_direct_to_screen] равен [code]true[/code], то вьюпорт не использует фреймбуфер и содержимое вьюпорта выводится непосредственно на экран. Однако обратите внимание, что корневой видовой экран рисуется последним, поэтому он будет рисоваться поверх экрана. Соответственно, вы должны установить корневой видовой экран на область, которая не покрывает область, к которой вы прикрепили этот видовой экран.
    Например, вы можете установить корневой видовой экран так, чтобы он вообще не отрисовывался, используя следующий код:
    [codeblock].
    func _ready():
    	get_viewport().set_attach_to_screen_rect(Rect2())
    	$Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600))
    [/codeblock].
    Использование этого метода может привести к значительной оптимизации, особенно на устройствах низкого класса. Однако за это приходится расплачиваться необходимостью управлять видовыми экранами вручную. Для дальнейшей оптимизации смотрите [method viewport_set_render_direct_to_screen].

en: If [code]true[/code], render the contents of the viewport directly to screen. This allows a low-level optimization where you can skip drawing a viewport to the root viewport. While this optimization can result in a significant increase in speed (especially on older devices), it comes at a cost of usability. When this is enabled, you cannot read from the viewport or from the [code]SCREEN_TEXTURE[/code]. You also lose the benefit of certain window settings, such as the various stretch modes. Another consequence to be aware of is that in 2D the rendering happens in window coordinates, so if you have a viewport that is double the size of the window, and you set this, then only the portion that fits within the window will be drawn, no automatic scaling is possible, even if your game scene is significantly larger than the window size.
ru: Если [code]true[/code], выведите содержимое видового экрана непосредственно на экран. Это позволяет выполнить низкоуровневую оптимизацию, при которой можно пропустить отрисовку видового экрана в корневой видовой экран. Хотя эта оптимизация может привести к значительному увеличению скорости (особенно на старых устройствах), она обходится недешево. Когда эта функция включена, вы не можете читать из области просмотра или из [code]SCREEN_TEXTURE[/code]. Вы также теряете преимущества некоторых настроек окна, таких как различные режимы растяжения. Еще одно последствие, о котором следует знать, это то, что в 2D рендеринг происходит в координатах окна, поэтому если у вас есть область просмотра, которая в два раза больше окна, и вы установите это, то будет отрисована только та часть, которая помещается в окно, автоматическое масштабирование невозможно, даже если ваша игровая сцена значительно больше, чем размер окна.

en: The instance is a particle emitter.
ru: Данный экземпляр - источник частиц.

en: The instance is a reflection probe.
ru: Данный экземпляр - проба отражения.

en: Disable shadows from this instance.
ru: Отключает тени в данном экземпляре.

en: The amount of surface changes in the frame.
ru: Количество изменений поверхности в кадр.

en: The amount of draw calls in frame.
ru: Количество вызовов отрисовки в кадр.

en: The amount of 2d draw calls in frame.
ru: Количество вызовов отрисовки 2d в кадре.

en: Returns falloff based on the dot product of surface normal and view direction of camera (pass associated inputs to it).
ru: Возвращает падение на основе точечного произведения нормальной поверхности и направления обзора камеры (пропустите соответствующие входы к ней).

en: Returns the opposite value of the parameter.
ru: Возвращает значение, противоположное параметру.

en: Returns [code]1/vector[/code].
ru: Возвращает [code]1/вектор[/code].

en: Converts RGB vector to HSV equivalent.
ru: Конвертирует вектор RGB в HSV эквивалент.

en: Converts HSV vector to RGB equivalent.
ru: Конвертирует вектор HSV в RGB эквивалент.

en: Returns the absolute value of the parameter.
ru: Возвращает абсолютное значение параметра.

en: Returns the arc-cosine of the parameter.
ru: Возвращает арккосинус параметра.

en: Returns the inverse hyperbolic cosine of the parameter.
ru: Возвращает обратный гиперболический косинус параметра.

en: Returns the arc-sine of the parameter.
ru: Возвращает арксинус параметра.

en: Returns the inverse hyperbolic sine of the parameter.
ru: Возвращает обратный гиперболический синус параметра.

en: Returns the arc-tangent of the parameter.
ru: Возвращает арктангенс параметра.

en: Returns the inverse hyperbolic tangent of the parameter.
ru: Возвращает обратный гиперболический тангенс параметра.

en: Finds the nearest integer that is greater than or equal to the parameter.
ru: Находит ближайшее целое, которое больше или равно параметра.

en: Returns the cosine of the parameter.
ru: Возвращает косинус параметра.

en: Returns the hyperbolic cosine of the parameter.
ru: Возвращает гиперболический косинус параметра.

en: Converts a quantity in radians to degrees.
ru: Переводит значение из радиан в градусы.

en: Base-e Exponential.
ru: Экспонента с основанием e.

en: Base-2 Exponential.
ru: Экспонента с основанием 2.

en: Finds the nearest integer less than or equal to the parameter.
ru: Находит ближайшее целое, меньшее или равное аргументу.

en: Computes the fractional part of the argument.
ru: Вычисляет дробную часть аргумента.

en: Returns the inverse of the square root of the parameter.
ru: Возвращает обратный квадратный корень из аргумента.

en: Natural logarithm.
ru: Натуральный логарифм.

en: Base-2 logarithm.
ru: Логарифм по основанию 2.

en: Converts a quantity in degrees to radians.
ru: Переводит значение из градусов в радианы.

en: Finds the nearest integer to the parameter.
ru: Находит ближайшее к параметру целое число.

en: Finds the nearest even integer to the parameter.
ru: Находит ближайшее чётное число к параметру.

en: Returns the sine of the parameter.
ru: Возвращает синус параметра.

en: Returns the hyperbolic sine of the parameter.
ru: Возвращает гиперболический синус параметра.

en: Returns the square root of the parameter.
ru: Возвращает квадратный корень из параметра.

en: Returns the tangent of the parameter.
ru: Возвращает тангенс параметра.

en: Returns the hyperbolic tangent of the parameter.
ru: Возвращает гиперболический тангенс параметра.

en: Adds two vectors.
ru: Складывает два вектора.

en: Subtracts a vector from a vector.
ru: Вычитает из вектора вектор.

en: Multiplies two vectors.
ru: Перемножает два вектора.

en: Divides vector by vector.
ru: Делит вектор на вектор.

en: Returns the remainder of the two vectors.
ru: Возвращает остаток от двух векторов.

en: Returns the value of the first parameter raised to the power of the second, for each component of the vectors.
ru: Возвращает значение первого параметра, возведенного в степень второго, для каждого компонента векторов.

en: Returns the greater of two values, for each component of the vectors.
ru: Возвращает наибольшее из двух значений, для каждого компонента векторов.

en: Returns the lesser of two values, for each component of the vectors.
ru: Возвращает наименьшее из двух значений, для каждого компонента векторов.

en: Calculates the cross product of two vectors.
ru: Вычисляет векторное произведение двух векторов.

en: Returns the arc-tangent of the parameters.
ru: Возвращает арктангенс параметров.

en: Vertical scroll bar.
ru: Вертикальная полоса прокрутки.

en: Vertical slider.
ru: Вертикальный слайдер.

en: Reserved, but not used for now.
ru: Зарезервировано, в данный момент не используется.

en: The World's [Environment].
ru: [Environment] мира.

en: The World's physics space.
ru: Физическое пространство мира.

en: Default environment properties for the entire scene (post-processing effects, lighting and background settings).
ru: Свойства среды по умолчанию для всей сцены (эффекты постобработки, настройки освещения и фона).

en: The [Environment] resource used by this [WorldEnvironment], defining the default properties.
ru: Ресурс [Environment], используемый этим [WorldEnvironment], определяющий свойства по умолчанию.

en: An X509 certificate (e.g. for SSL).
ru: Сертификат X509 (например, для SSL).

en: Loads a certificate from [code]path[/code] ("*.crt" file).
ru: Загружает сертификат из [code]пути[/code] (файл "*.crt").

en: Saves a certificate to the given [code]path[/code] (should be a "*.crt" file).
ru: Сохраняет сертификат по заданному [code]пути[/code] (должно быть "*.crt" файлом).

en: Low-level class for creating parsers for [url=https://en.wikipedia.org/wiki/XML]XML[/url] files.
ru: Низкоуровневый класс для создания парсеров для [url=https://ru.wikipedia.org/wiki/XML]XML[/url] файлов.

en: Gets the amount of attributes in the current element.
ru: Получает количество атрибутов в текущем элементе.

en: Gets the current line in the parsed file (currently not implemented).
ru: Получает текущую строку в проанализированном файле (в настоящее время не реализовано).

en: Gets the value of a certain attribute of the current element by name. This will raise an error if the element has no such attribute.
ru: Получает значение определенного атрибута текущего элемента по имени. Это приведет к ошибке, если элемент не имеет такого атрибута.

en: Gets the value of a certain attribute of the current element by name. This will return an empty [String] if the attribute is not found.
ru: Получает значение определенного атрибута текущего элемента по имени. Это вернет пустой [String], если атрибут не найден.

en: Gets the contents of a text node. This will raise an error in any other type of node.
ru: Получает содержимое из текстового узла. Это вызовет ошибку в любом другом типе узла.

en: Check whether the current element has a certain attribute.
ru: Проверяет, имеет ли текущий элемент определенный атрибут.

en: Check whether the current element is empty (this only works for completely empty tags, e.g. [code]<element \>[/code]).
ru: Проверяет, является ли текущий элемент пустым (это работает только для полностью пустых тегов, например, [code]<element \>[/code]).

en: Skips the current section. If the node contains other elements, they will be ignored and the cursor will go to the closing of the current element.
ru: Пропускает текущий раздел. Если узел содержит другие элементы, они будут проигнорированы и курсор перейдёт на закрытие текущего элемента.

en: There's no node (no file or buffer opened).
ru: Нет узла (файл или буфер не открыты).

en: Element (tag).
ru: Элемент (ярлык).

en: End of element.
ru: Конец элемента.

en: Text node.
ru: Текстовый узел.

en: Comment node.
ru: Узел комментирования.

en: CDATA content.
ru: Содержимое CDATA.

en: Unknown node.
ru: Неизвестный узел.

en: Sort all child nodes based on their Y positions.
ru: Сортировка всех дочерних узлов по позиции Y.

en: Sort all child nodes based on their Y positions. The child node must inherit from [CanvasItem] for it to be sorted. Nodes that have a higher Y position will be drawn later, so they will appear on top of nodes that have a lower Y position.
    Nesting of YSort nodes is possible. Children YSort nodes will be sorted in the same space as the parent YSort, allowing to better organize a scene or divide it in multiple ones, yet keep the unique sorting.
ru: Сортировка всех дочерних узлов на основе их положения по оси Y. Для сортировки дочерний узел должен наследоваться от [CanvasItem]. Узлы, имеющие более высокую позицию по Y, будут отрисованы позже, поэтому они появятся поверх узлов, имеющих более низкую позицию по Y.
    Вложенность узлов YSort возможна. Дочерние узлы YSort будут отсортированы в том же пространстве, что и родительский YSort, что позволяет лучше организовать сцену или разделить ее на несколько, сохраняя при этом уникальную сортировку.

en: If [code]true[/code], child nodes are sorted, otherwise sorting is disabled.
ru: Если [code]true[/code], дочерние узлы будут отсортированы, иначе сортировка будет отключена.
