TranslationServer

Наследует: Object

Сервер, отвечающий за языковые переводы.

Описание

Сервер переводов — это API-бэкэнд, который управляет всеми языковыми переводами.

Переводы хранятся в TranslationDomain, к которым можно получить доступ по имени. Наиболее часто используемый домен перевода — это основной домен перевода. Он всегда существует и к нему можно получить доступ с помощью пустого StringName. Сервер переводов предоставляет методы-обертки для прямого доступа к основному домену перевода без необходимости предварительного извлечения домена перевода. Пользовательские домены перевода в основном предназначены для расширенных применений, таких как плагины редактора. Имена, начинающиеся с godot., зарезервированы для внутренних компонентов движка.

Обучающие материалы

Свойства

bool

pseudolocalization_enabled

false

Методы

void

add_translation(translation: Translation)

void

clear()

int

compare_locales(locale_a: String, locale_b: String) const

Array[Translation]

find_translations(locale: String, exact: bool) const

String

format_number(number: String, locale: String) const

PackedStringArray

get_all_countries() const

PackedStringArray

get_all_languages() const

PackedStringArray

get_all_scripts() const

String

get_country_name(country: String) const

String

get_language_name(language: String) const

PackedStringArray

get_loaded_locales() const

String

get_locale() const

String

get_locale_name(locale: String) const

TranslationDomain

get_or_add_domain(domain: StringName)

String

get_percent_sign(locale: String) const

String

get_plural_rules(locale: String) const

String

get_script_name(script: String) const

String

get_tool_locale()

Translation

get_translation_object(locale: String)

Array[Translation]

get_translations() const

bool

has_domain(domain: StringName) const

bool

has_translation(translation: Translation) const

bool

has_translation_for_locale(locale: String, exact: bool) const

String

parse_number(number: String, locale: String) const

StringName

pseudolocalize(message: StringName) const

void

reload_pseudolocalization()

void

remove_domain(domain: StringName)

void

remove_translation(translation: Translation)

void

set_locale(locale: String)

String

standardize_locale(locale: String, add_defaults: bool = false) const

StringName

translate(message: StringName, context: StringName = &"") const

StringName

translate_plural(message: StringName, plural_message: StringName, n: int, context: StringName = &"") const


Описания свойств

bool pseudolocalization_enabled = false 🔗

  • void set_pseudolocalization_enabled(value: bool)

  • bool is_pseudolocalization_enabled()

Если true, включает использование псевдолокализации на основном домене перевода. Подробности см. в ProjectSettings.internationalization/pseudolocalization/use_pseudolocalization.


Описания метода

void add_translation(translation: Translation) 🔗

Добавляет перевод в основной домен перевода.


void clear() 🔗

Удаляет все переводы из основного домена перевода.


int compare_locales(locale_a: String, locale_b: String) const 🔗

Сравнивает две локализации и возвращает оценку сходства между 0 (нет совпадения) и 10 (полное совпадение).


Array[Translation] find_translations(locale: String, exact: bool) const 🔗

Возвращает экземпляры Translation в основной области перевода, которые соответствуют locale (см. compare_locales()). Если exact равно true, будут возвращены только экземпляры, локаль которых точно совпадает с locale.


String format_number(number: String, locale: String) const 🔗

Преобразует число из западного арабского (0..9) в систему счисления, используемую в заданной locale.


PackedStringArray get_all_countries() const 🔗

Возвращает массив известных кодов стран.


PackedStringArray get_all_languages() const 🔗

Возвращает массив известных кодов языков.


PackedStringArray get_all_scripts() const 🔗

Возвращает массив известных кодов скриптов.


String get_country_name(country: String) const 🔗

Возвращает читаемое название страны для кода country.


String get_language_name(language: String) const 🔗

Возвращает читаемое название языка для кода language.


PackedStringArray get_loaded_locales() const 🔗

Возвращает массив всех загруженных локалей проекта.


String get_locale() const 🔗

Возвращает текущую локаль проекта.

См. также OS.get_locale() и OF.get_locale language() для запроса локали пользовательской системы.


String get_locale_name(locale: String) const 🔗

Возвращает язык локали и его вариант (например, "en_US" вернет "Английский (США)").


TranslationDomain get_or_add_domain(domain: StringName) 🔗

Возвращает домен перевода с указанным именем. Пустой домен перевода будет создан и добавлен, если он не существует.


String get_percent_sign(locale: String) const 🔗

Возвращает знак процента, используемый в заданной локали locale.


String get_plural_rules(locale: String) const 🔗

Возвращает правила множественного числа по умолчанию для locale.


String get_script_name(script: String) const 🔗

Возвращает читаемое имя скрипта для кода script.


String get_tool_locale() 🔗

Возвращает текущую локаль редактора.

Примечание: При вызове из экспортированного проекта возвращает то же значение, что и get_locale().


Translation get_translation_object(locale: String) 🔗

Устарело: Use find_translations() instead.

Возвращает экземпляр Translation, который лучше всего соответствует locale в основном домене перевода. Возвращает null, если совпадений нет.


Array[Translation] get_translations() const 🔗

Возвращает все доступные экземпляры Translation в основной области перевода, добавленные методом add_translation().


bool has_domain(domain: StringName) const 🔗

Возвращает true, если домен перевода с указанным именем существует.


bool has_translation(translation: Translation) const 🔗

Возвращает true, если основной домен перевода содержит заданный translation.


bool has_translation_for_locale(locale: String, exact: bool) const 🔗

Возвращает true, если в основной области перевода есть экземпляры Translation, соответствующие locale (см. compare_locales()). Если exact равно true, рассматриваются только экземпляры, локаль которых точно равна locale.


String parse_number(number: String, locale: String) const 🔗

Преобразует number из системы счисления, используемой в заданной locale, в западный арабский язык (0..9).


StringName pseudolocalize(message: StringName) const 🔗

Возвращает псевдолокализованную строку на основе переданного message.

Примечание: Этот метод всегда использует основной домен перевода.


void reload_pseudolocalization() 🔗

Повторно анализирует параметры псевдолокализации и перезагружает перевод для основного домена перевода.


void remove_domain(domain: StringName) 🔗

Удаляет домен перевода с указанным именем.

Примечание: Попытка удалить основной домен перевода является ошибкой.


void remove_translation(translation: Translation) 🔗

Удаляет указанный перевод из основного домена перевода.


void set_locale(locale: String) 🔗

Устанавливает локаль проекта. Строка locale будет стандартизирована для соответствия известным локалям (например, en-US будет соответствовать en_US).

Если переводы были загружены заранее для новой локали, они будут применены.


String standardize_locale(locale: String, add_defaults: bool = false) const 🔗

Возвращает строку locale, стандартизированную для соответствия известным локалям (например, en-US будет соответствовать en_US). Если add_defaults равно true, локаль может иметь добавленный сценарий или страну по умолчанию.


StringName translate(message: StringName, context: StringName = &"") const 🔗

Возвращает перевод текущего языка для указанного сообщения и контекста.

Примечание: Этот метод всегда использует основной домен перевода.


StringName translate_plural(message: StringName, plural_message: StringName, n: int, context: StringName = &"") const 🔗

Возвращает перевод текущего языка для указанного сообщения, сообщения во множественном числе и контекста.

Число n — это число или количество объектов во множественном числе. Оно будет использоваться для того, чтобы система перевода выбрала правильную форму множественного числа для выбранного языка.

Примечание: Этот метод всегда использует основной домен перевода.