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 🔗
Повертає всі перекладені рядки.