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 🔗
Возвращает все переведенные строки.