Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Translation
Наследует: Resource < RefCounted < Object
Наследуется от: OptimizedTranslation
Перевод языка, который сопоставляет набор строк с их индивидуальными переводами.
Описание
Translation сопоставляет набор строк с их индивидуальными переводами, а также предоставляет удобные методы для образования множественного числа.
Translation состоит из сообщений. Сообщение идентифицируется по его контексту и непереведенной строке. В отличие от gettext, использование пустой контекстной строки в Godot означает отсутствие использования какого-либо контекста.
Обучающие материалы
Свойства
|
||
|
Методы
_get_message(src_message: StringName, context: StringName) virtual const |
|
_get_plural_message(src_message: StringName, src_plural_message: StringName, n: int, context: StringName) virtual const |
|
void |
add_message(src_message: StringName, xlated_message: StringName, context: StringName = &"") |
void |
add_plural_message(src_message: StringName, xlated_messages: PackedStringArray, context: StringName = &"") |
void |
erase_message(src_message: StringName, context: StringName = &"") |
get_message(src_message: StringName, context: StringName = &"") const |
|
get_message_count() const |
|
get_message_list() const |
|
get_plural_message(src_message: StringName, src_plural_message: StringName, n: int, context: StringName = &"") const |
|
get_translated_message_list() const |
Описания свойств
Локаль перевода.
String plural_rules_override = "" 🔗
Строка правил множественного числа для применения. См. GNU gettext для примеров и дополнительной информации.
Если строка пустая или недействительная, используются правила множественного числа по умолчанию из TranslationServer.get_plural_rules(). В качестве запасного варианта используются правила множественного числа английского языка.
Описания метода
StringName _get_message(src_message: StringName, context: StringName) virtual const 🔗
Виртуальный метод для переопределения get_message().
StringName _get_plural_message(src_message: StringName, src_plural_message: StringName, n: int, context: StringName) virtual const 🔗
Виртуальный метод для переопределения get_plural_message().
void add_message(src_message: StringName, xlated_message: StringName, context: StringName = &"") 🔗
Добавляет сообщение, если оно отсутствует, а затем его перевод.
Дополнительный контекст может использоваться для указания контекста перевода или дифференциации многозначных слов.
void add_plural_message(src_message: StringName, xlated_messages: PackedStringArray, context: StringName = &"") 🔗
Добавляет сообщение, содержащее перевод во множественном числе, если он отсутствует, а затем его перевод.
Дополнительный контекст может использоваться для указания контекста перевода или различения многозначных слов.
void erase_message(src_message: StringName, context: StringName = &"") 🔗
Стереть сообщение.
StringName get_message(src_message: StringName, context: StringName = &"") const 🔗
Возвращает перевод сообщения.
int get_message_count() const 🔗
Возвращает количество существующих сообщений.
PackedStringArray get_message_list() const 🔗
Возвращает ключи всех сообщений, то есть контекст и непереведенные строки каждого сообщения.
Примечание: Если сообщение не использует контекст, соответствующим элементом является непереведенная строка. В противном случае соответствующим элементом является контекст и непереведенная строка, разделенные символом EOT (U+0004). Это сделано в целях совместимости.
for key in translation.get_message_list():
var p = key.find("\u0004")
if p == -1:
var untranslated = key
print("Message %s" % untranslated)
else:
var context = key.substr(0, p)
var untranslated = key.substr(p + 1)
print("Message %s with context %s" % [untranslated, context])
StringName get_plural_message(src_message: StringName, src_plural_message: StringName, n: int, context: StringName = &"") const 🔗
Возвращает перевод сообщения, содержащего формы множественного числа.
Число n — это количество объектов множественного числа. Оно будет использоваться системой перевода для выбора правильной формы множественного числа для выбранного языка.
Примечание: Множественное число поддерживается только в переводах на основе GetText (PO), но не в CSV-файлах.
PackedStringArray get_translated_message_list() const 🔗
Возвращает все переведенные строки.