TranslationDomain

Успадковує: RefCounted < Object

Окрема колекція ресурсів Translation.

Опис

TranslationDomain — це самостійна колекція ресурсів Translation. Переклади можна додати або видалити з нього.

Якщо ви працюєте з основним доменом перекладу, зручніше використовувати методи обтікання на TranslationServer.

Властивості

bool

enabled

true

bool

pseudolocalization_accents_enabled

true

bool

pseudolocalization_double_vowels_enabled

false

bool

pseudolocalization_enabled

false

float

pseudolocalization_expansion_ratio

0.0

bool

pseudolocalization_fake_bidi_enabled

false

bool

pseudolocalization_override_enabled

false

String

pseudolocalization_prefix

"["

bool

pseudolocalization_skip_placeholders_enabled

true

String

pseudolocalization_suffix

"]"

Методи

void

add_translation(translation: Translation)

void

clear()

String

get_locale_override() const

Translation

get_translation_object(locale: String) const

StringName

pseudolocalize(message: StringName) const

void

remove_translation(translation: Translation)

void

set_locale_override(locale: String)

StringName

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

StringName

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


Описи властивостей

bool enabled = true 🔗

  • void set_enabled(value: bool)

  • bool is_enabled()

Якщо true, переклад увімкнено. В іншому випадку, translate() та translate_plural() повернуть вхідне повідомлення без змін незалежно від поточної локалізації.


bool pseudolocalization_accents_enabled = true 🔗

  • void set_pseudolocalization_accents_enabled(value: bool)

  • bool is_pseudolocalization_accents_enabled()

Під час псевдолокалізації замінити всі символи їх акцентованими варіантами.

Примітка: Оновлення цієї властивості не оновлює автоматично тексти в дереві сцени. Будь ласка, поширте сповіщення MainLoop.NOTIFICATION_TRANSLATION_CHANGED вручну після того, як ви закінчите змінювати параметри, пов’язані з псевдолокалізацією.


bool pseudolocalization_double_vowels_enabled = false 🔗

  • void set_pseudolocalization_double_vowels_enabled(value: bool)

  • bool is_pseudolocalization_double_vowels_enabled()

Подвійні голосні в рядках під час псевдолокалізації для імітації подовження тексту через локалізацію.

Примітка: Оновлення цієї властивості не оновлює автоматично тексти в дереві сцени. Будь ласка, поширте сповіщення MainLoop.NOTIFICATION_TRANSLATION_CHANGED вручну після того, як ви закінчите змінювати параметри, пов’язані з псевдолокалізацією.


bool pseudolocalization_enabled = false 🔗

  • void set_pseudolocalization_enabled(value: bool)

  • bool is_pseudolocalization_enabled()

Якщо true, вмикає псевдолокалізацію для проекту. Це можна використовувати для виявлення неперекладних рядків або проблем з макетом, які можуть виникнути після локалізації проекту на мови, які мають довші рядки, ніж вихідна мова.

Примітка: Оновлення цієї властивості не оновлює автоматично тексти в дереві сцени. Будь ласка, поширте сповіщення MainLoop.NOTIFICATION_TRANSLATION_CHANGED вручну після того, як ви закінчите змінювати параметри, пов’язані з псевдолокалізацією.


float pseudolocalization_expansion_ratio = 0.0 🔗

  • void set_pseudolocalization_expansion_ratio(value: float)

  • float get_pseudolocalization_expansion_ratio()

Коефіцієнт розширення для використання під час псевдолокалізації. Значення 0,3 є достатнім для більшості практичних цілей і збільшить довжину кожного рядка на 30%.

Примітка: Оновлення цієї властивості не оновлює автоматично тексти в дереві сцени. Будь ласка, поширте сповіщення MainLoop.NOTIFICATION_TRANSLATION_CHANGED вручну після того, як ви закінчите змінювати параметри, пов’язані з псевдолокалізацією.


bool pseudolocalization_fake_bidi_enabled = false 🔗

  • void set_pseudolocalization_fake_bidi_enabled(value: bool)

  • bool is_pseudolocalization_fake_bidi_enabled()

Якщо true, емулювати двонаправлений текст (справа наліво), коли ввімкнено псевдолокалізацію. Це можна використовувати для виявлення проблем із макетом RTL і віддзеркаленням інтерфейсу користувача, які виникнуть, якщо проект локалізовано на такі мови RTL, як арабська чи іврит.

Примітка: Оновлення цієї властивості не оновлює автоматично тексти в дереві сцени. Будь ласка, поширте сповіщення MainLoop.NOTIFICATION_TRANSLATION_CHANGED вручну після того, як ви закінчите змінювати параметри, пов’язані з псевдолокалізацією.


bool pseudolocalization_override_enabled = false 🔗

  • void set_pseudolocalization_override_enabled(value: bool)

  • bool is_pseudolocalization_override_enabled()

Замініть усі символи в рядку на *. Корисно для пошуку нелокалізованих рядків.

Примітка: Оновлення цієї властивості не оновлює автоматично тексти в дереві сцени. Будь ласка, поширте сповіщення MainLoop.NOTIFICATION_TRANSLATION_CHANGED вручну після того, як ви закінчите змінювати параметри, пов’язані з псевдолокалізацією.


String pseudolocalization_prefix = "[" 🔗

  • void set_pseudolocalization_prefix(value: String)

  • String get_pseudolocalization_prefix()

Префікс, який буде додано до псевдолокалізованого рядка.

Примітка: Оновлення цієї властивості не оновлює автоматично тексти в дереві сцени. Будь ласка, поширте сповіщення MainLoop.NOTIFICATION_TRANSLATION_CHANGED вручну після того, як ви закінчите змінювати параметри, пов’язані з псевдолокалізацією.


bool pseudolocalization_skip_placeholders_enabled = true 🔗

  • void set_pseudolocalization_skip_placeholders_enabled(value: bool)

  • bool is_pseudolocalization_skip_placeholders_enabled()

Пропустіть заповнювачі для форматування рядків, наприклад %s або %f під час псевдолокалізації. Корисно для визначення рядків, які потребують додаткових контрольних символів для правильного відображення.

Примітка: Оновлення цієї властивості не оновлює автоматично тексти в дереві сцени. Будь ласка, поширте сповіщення MainLoop.NOTIFICATION_TRANSLATION_CHANGED вручну після того, як ви закінчите змінювати параметри, пов’язані з псевдолокалізацією.


String pseudolocalization_suffix = "]" 🔗

  • void set_pseudolocalization_suffix(value: String)

  • String get_pseudolocalization_suffix()

Суфікс, який буде додано до псевдолокалізованого рядка.

Примітка: Оновлення цієї властивості не оновлює автоматично тексти в дереві сцени. Будь ласка, поширте сповіщення MainLoop.NOTIFICATION_TRANSLATION_CHANGED вручну після того, як ви закінчите змінювати параметри, пов’язані з псевдолокалізацією.


Описи методів

void add_translation(translation: Translation) 🔗

Додає переклад.


void clear() 🔗

Видаляє всі переклади.


String get_locale_override() const 🔗

Повертає зміну локалі для домену. Повертає порожній рядок, якщо зміну локалі вимкнено.


Translation get_translation_object(locale: String) const 🔗

Повертає екземпляр Translation, який найкраще відповідає locale. Повертає null, якщо немає збігів.


StringName pseudolocalize(message: StringName) const 🔗

Повертає псевдокальизований рядок на основі message.


void remove_translation(translation: Translation) 🔗

Видаляє поданий переклад.


void set_locale_override(locale: String) 🔗

Встановлює перевизначення локалі для домену.

Якщо locale – порожній рядок, перевизначення локалі вимкнено. В іншому випадку, locale буде стандартизовано для відповідності відомим локалям (наприклад, en-US буде відповідати en_US).

Примітка: Виклик цього методу не оновлює тексти в дереві сцени автоматично. Будь ласка, поширте сигнал MainLoop.NOTIFICATION_TRANSLATION_CHANGED вручну.


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

Повертає переклад поточної мови для даного повідомлення та контексту.


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

Повертає переклад поточної мови для даного повідомлення, повідомлення у множині та контексту.

Число n — це число або кількість об’єкта множини. Він використовуватиметься, щоб керувати системою перекладу для отримання правильної форми множини для вибраної мови.