TranslationDomain
Набор каталогов с отдельным выбором локали и настройками псевдолокализации.
RefCounted-объект, не Resource и не Entity. Новый домен включён, пуст и не подключается автоматически к TranslationServer или интерфейсу. AddTranslation хранит ссылки на ресурсы: повтор того же объекта не дублирует его, разные ресурсы одной локали допустимы. GetTranslations возвращает отдельный контейнер с теми же объектами; не освобождайте полученные элементы как новые ресурсы. Dispose собственный домен после использования.
Translate ищет непустой перевод по локали override либо текущей локали сервера, затем по резервной локали сервера, используя каталоги этого домена. Более точная локаль предпочтительна для конкретного сообщения, но отсутствующая запись позволяет использовать менее точный подходящий каталог. Порядок равных кандидатов не гарантирован: задавайте непересекающиеся ключи вместо зависимости от порядка AddTranslation. Пустой перевод считается отсутствующим.
Нет перевода — Translate возвращает исходный ключ; TranslatePlural выбирает исходный singular только при n==1, иначе plural. При Enabled=false каталоги и автоматическая псевдолокализация обходятся. В SDK 1.0.0 автоматическая псевдолокализация применяется только Translate: TranslatePlural её не применяет даже к найденному переводу. При необходимости явно обработайте возвращённую строку через Pseudolocalize.
FindTranslations и HasTranslationForLocale при exact=true сравнивают локаль буквально: ru-RU не равно сохранённому ru_RU. exact=false использует CompareLocales и возвращает все подходящие каталоги, не только лучший. Настройки домена не пересоздают существующий текст UI автоматически. Windows headless-проверка покрыла поиск, fallback, ссылки, копии контейнеров и преобразования строк; реальные RTL-вёрстка, обновление UI, все языки и приоритет равных кандидатов не проверены.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
TranslationDomainКонструктор
public TranslationDomain();Создаёт собственный включённый домен без каталогов и override локали. Псевдолокализация автоматически выключена, акценты и пропуск плейсхолдеров включены, prefix/suffix — квадратные скобки, ratio=0. Не регистрирует домен в сервере или UI. Dispose после использования.
Свойства10
EnabledСвойство
public bool Enabled { get; set; }Включает поиск Translate/TranslatePlural, default true. false возвращает исходный ключ или singular/plural по n==1, обходя каталоги и автоматическую псевдолокализацию. Не блокирует прямой Pseudolocalize и не очищает ресурсы.
PseudolocalizationAccentsEnabledСвойство
public bool PseudolocalizationAccentsEnabled { get; set; }Заменяет ASCII-буквы по встроенной таблице акцентированных вариантов, default true. Это не перевод языка; некоторые замены содержат несколько кодовых точек. Этап выполняется после удвоения гласных, перед fake bidi и обрамлением. UI автоматически не обновляется.
PseudolocalizationDoubleVowelsEnabledСвойство
public bool PseudolocalizationDoubleVowelsEnabled { get; set; }Удваивает ASCII a/e/i/o/u в обоих регистрах, default false. Не удваивает все гласные всех языков. Выполняется перед акцентированием; распознанные плейсхолдеры могут быть пропущены. Не обновляет существующие надписи.
PseudolocalizationEnabledСвойство
public bool PseudolocalizationEnabled { get; set; }Автоматически преобразует результат Translate, default false. В текущей реализации не влияет на TranslatePlural. Прямой Pseudolocalize работает независимо от этого флага. Изменение не обновляет уже назначенный текст UI.
PseudolocalizationExpansionRatioСвойство
public float PseudolocalizationExpansionRatio { get; set; }Доля добавочного подчёркивания, default 0. На каждой стороне добавляется целая часть originalLength*ratio/2: короткая строка может не вырасти. Используется исходная длина до преобразований, не ширина текста в пикселях. Setter не ограничивает значение; передавайте конечное неотрицательное разумно ограниченное число.
PseudolocalizationFakeBidiEnabledСвойство
public bool PseudolocalizationFakeBidiEnabled { get; set; }Добавляет управляющие U+202E/U+202C вокруг текста и отдельных строк, default false; распознанные плейсхолдеры выводятся вне этих участков. Диагностическое преобразование, не настоящий RTL-перевод и не автоматическое зеркалирование UI. Проверяйте форму и вёрстку на реальном языке отдельно.
PseudolocalizationOverrideEnabledСвойство
public bool PseudolocalizationOverrideEnabled { get; set; }Заменяет кодовые точки звёздочками, default false, кроме распознанных пропускаемых плейсхолдеров. Выполняется до удвоения гласных и акцентирования. Помогает искать строки, не проходящие локализацию; не является маскированием секретных данных.
PseudolocalizationPrefixСвойство
public string PseudolocalizationPrefix { get; set; }Буквальная строка перед преобразованным непустым текстом и левым padding, default [. Не ищется в каталогах и не дополняется именем локали. Для пустого входа обрамление не добавляется.
PseudolocalizationSkipPlaceholdersEnabledСвойство
public bool PseudolocalizationSkipPlaceholdersEnabled { get; set; }Сохраняет распознаваемые двухсимвольные заполнители %s, %c, %d, %o, %x, %X, %f при преобразованиях домена. Не защищает C# {0} или спецификатор ширины %02d.
PseudolocalizationSuffixСвойство
public string PseudolocalizationSuffix { get; set; }Буквальная строка после преобразованного непустого текста и правого padding, default ]. Не ищется в каталогах. Для пустого входа обрамление не добавляется.
Методы33
AddTranslationvoid
public void AddTranslation(Translation translation);Добавляет Translation в этот домен. Не добавляет её автоматически в основной домен игры и не назначает домен дочерним UI-объектам.
| Имя | Тип | По умолчанию |
|---|---|---|
translation | Translation | — |
translationНепустой Translation с правильной Locale и сообщениями. В примере добавлены отдельные en и ru.
Clearvoid
public void Clear();Удаляет все ссылки домена на каталоги. Сохраняет Enabled, override локали и все настройки псевдолокализации; не очищает сообщения самих ресурсов.
FindTranslationsReckfell.Collections.Array<Translation>
public Reckfell.Collections.Array<Translation> FindTranslations(string locale, bool exact);Возвращает отдельный Array<Translation> всех совпадающих ресурсов. exact=true сравнивает locale буквально без стандартизации; false выбирает все CompareLocales>0. Не сортирует по точности, не ищет конкретное сообщение и не добавляет серверную резервную локаль. Элементы — общие ресурсы, не копии.
| Имя | Тип | По умолчанию |
|---|---|---|
locale | string | — |
exact | bool | — |
localeЛокаль, например ru_RU. Для exact=true сначала стандартизуйте сами; SetLocaleOverride нормализует непустой ввод, пустым очищает override.
exacttrue — буквальное равенство Locale; false — любое положительное CompareLocales, не только лучший кандидат.
Reckfell.Collections.Array<Translation>Новый контейнер общих Translation; пустой при отсутствии совпадений.
GetLocaleOverridestring
public string GetLocaleOverride();Читает локаль, явно выбранную для домена. Она позволяет перевести инструмент на язык редактора, не меняя глобальную локаль проекта.
stringНепустая строка переопределения либо пустая строка для следования общей локали TranslationServer.
GetPseudolocalizationExpansionRatiofloat
public float GetPseudolocalizationExpansionRatio();Читает PseudolocalizationExpansionRatio. Доля добавочного подчёркивания, default 0. На каждой стороне добавляется целая часть originalLength*ratio/2: короткая строка может не вырасти. Используется исходная длина до преобразований, не ширина текста в пикселях. Setter не ограничивает значение; передавайте конечное неотрицательное разумно ограниченное число.
floatСохранённое значение PseudolocalizationExpansionRatio, а не подтверждение обновлённой вёрстки.
GetPseudolocalizationPrefixstring
public string GetPseudolocalizationPrefix();Читает PseudolocalizationPrefix. Буквальная строка перед преобразованным непустым текстом и левым padding, default [. Не ищется в каталогах и не дополняется именем локали. Для пустого входа обрамление не добавляется.
stringСохранённое значение PseudolocalizationPrefix, а не подтверждение обновлённой вёрстки.
GetPseudolocalizationSuffixstring
public string GetPseudolocalizationSuffix();Читает PseudolocalizationSuffix. Буквальная строка после преобразованного непустого текста и правого padding, default ]. Не ищется в каталогах. Для пустого входа обрамление не добавляется.
stringСохранённое значение PseudolocalizationSuffix, а не подтверждение обновлённой вёрстки.
GetTranslationObjectTranslation · Устарело
public Translation GetTranslationObject(string locale);Устаревший метод SDK: возвращает один лучше совпавший ресурс либо null; при равных оценках порядок не гарантирован. Не ищет наличие конкретного сообщения и не обещает ресурс резервной локали. Для списка используйте FindTranslations с явным exact; для перевода — Translate/TranslatePlural. Полученный ресурс общий.
| Имя | Тип | По умолчанию |
|---|---|---|
locale | string | — |
localeЛокаль, например ru_RU. Для exact=true сначала стандартизуйте сами; SetLocaleOverride нормализует непустой ввод, пустым очищает override.
TranslationОдин общий ресурс либо null; устаревший API без гарантии выбора при равных оценках.
GetTranslationsReckfell.Collections.Array<Translation>
public Reckfell.Collections.Array<Translation> GetTranslations();Возвращает отдельный контейнер Array<Translation> всех добавленных ресурсов без гарантии порядка. Очистка массива не меняет домен; редактирование элемента меняет общий ресурс. Не освобождайте элементы как новые объекты.
Reckfell.Collections.Array<Translation>Новый контейнер общих ресурсов без гарантии сортировки или приоритета.
HasTranslationbool
public bool HasTranslation(Translation translation);Проверяет наличие того же объекта Translation, а не совпадение Locale или содержимого. Пустой каталог тоже может быть зарегистрирован.
| Имя | Тип | По умолчанию |
|---|---|---|
translation | Translation | — |
translationНенулевой объект Translation; сравнение принадлежности/удаление выполняется по объекту.
booltrue только при наличии того же объекта.
HasTranslationForLocalebool
public bool HasTranslationForLocale(string locale, bool exact);Проверяет наличие хотя бы одного каталога указанной локали. exact=true — буквальное сравнение; false — CompareLocales>0. Не проверяет наличие переводимого ключа, заполненность каталога или fallback.
| Имя | Тип | По умолчанию |
|---|---|---|
locale | string | — |
exact | bool | — |
localeЛокаль, например ru_RU. Для exact=true сначала стандартизуйте сами; SetLocaleOverride нормализует непустой ввод, пустым очищает override.
exacttrue — буквальное равенство Locale; false — любое положительное CompareLocales, не только лучший кандидат.
booltrue при наличии подходящей локали, даже без нужного сообщения.
IsEnabledbool
public bool IsEnabled();Читает Enabled. Включает поиск Translate/TranslatePlural, default true. false возвращает исходный ключ или singular/plural по n==1, обходя каталоги и автоматическую псевдолокализацию. Не блокирует прямой Pseudolocalize и не очищает ресурсы.
boolСохранённое значение Enabled, а не подтверждение обновлённой вёрстки.
IsPseudolocalizationAccentsEnabledbool
public bool IsPseudolocalizationAccentsEnabled();Читает PseudolocalizationAccentsEnabled. Заменяет ASCII-буквы по встроенной таблице акцентированных вариантов, default true. Это не перевод языка; некоторые замены содержат несколько кодовых точек. Этап выполняется после удвоения гласных, перед fake bidi и обрамлением. UI автоматически не обновляется.
boolСохранённое значение PseudolocalizationAccentsEnabled, а не подтверждение обновлённой вёрстки.
IsPseudolocalizationDoubleVowelsEnabledbool
public bool IsPseudolocalizationDoubleVowelsEnabled();Читает PseudolocalizationDoubleVowelsEnabled. Удваивает ASCII a/e/i/o/u в обоих регистрах, default false. Не удваивает все гласные всех языков. Выполняется перед акцентированием; распознанные плейсхолдеры могут быть пропущены. Не обновляет существующие надписи.
boolСохранённое значение PseudolocalizationDoubleVowelsEnabled, а не подтверждение обновлённой вёрстки.
IsPseudolocalizationEnabledbool
public bool IsPseudolocalizationEnabled();Читает PseudolocalizationEnabled. Автоматически преобразует результат Translate, default false. В текущей реализации не влияет на TranslatePlural. Прямой Pseudolocalize работает независимо от этого флага. Изменение не обновляет уже назначенный текст UI.
boolСохранённое значение PseudolocalizationEnabled, а не подтверждение обновлённой вёрстки.
IsPseudolocalizationFakeBidiEnabledbool
public bool IsPseudolocalizationFakeBidiEnabled();Читает PseudolocalizationFakeBidiEnabled. Добавляет управляющие U+202E/U+202C вокруг текста и отдельных строк, default false; распознанные плейсхолдеры выводятся вне этих участков. Диагностическое преобразование, не настоящий RTL-перевод и не автоматическое зеркалирование UI. Проверяйте форму и вёрстку на реальном языке отдельно.
boolСохранённое значение PseudolocalizationFakeBidiEnabled, а не подтверждение обновлённой вёрстки.
IsPseudolocalizationOverrideEnabledbool
public bool IsPseudolocalizationOverrideEnabled();Читает PseudolocalizationOverrideEnabled. Заменяет кодовые точки звёздочками, default false, кроме распознанных пропускаемых плейсхолдеров. Выполняется до удвоения гласных и акцентирования. Помогает искать строки, не проходящие локализацию; не является маскированием секретных данных.
boolСохранённое значение PseudolocalizationOverrideEnabled, а не подтверждение обновлённой вёрстки.
IsPseudolocalizationSkipPlaceholdersEnabledbool
public bool IsPseudolocalizationSkipPlaceholdersEnabled();Читает PseudolocalizationSkipPlaceholdersEnabled. Сохраняет двухсимвольные %s/%c/%d/%o/%x/%X/%f при преобразованиях, default true. Не защищает C# {0}, именованные или расширенные printf-плейсхолдеры вроде %02d.
boolСохранённое значение PseudolocalizationSkipPlaceholdersEnabled, а не подтверждение обновлённой вёрстки.
PseudolocalizeStringName
public StringName Pseudolocalize(StringName message);Явно преобразует переданную строку по настройкам псевдолокализации этого домена. Работает даже при выключенном PseudolocalizationEnabled. Не выполняет поиск перевода; защита заполнителей не распознаёт составной формат C# {0}.
| Имя | Тип | По умолчанию |
|---|---|---|
message | StringName | — |
messageТекст для преобразования; если нужен перевод, сначала найдите его.
StringNameПреобразованный текст с настроенными обрамлением и заполнением; пустой ввод остаётся пустым.
RemoveTranslationvoid
public void RemoveTranslation(Translation translation);Удаляет конкретный объект Translation из домена, не все каталоги той же локали. Повторное удаление — бездействие; внешние ссылки на ресурс сохраняются.
| Имя | Тип | По умолчанию |
|---|---|---|
translation | Translation | — |
translationНенулевой объект Translation; сравнение принадлежности/удаление выполняется по объекту.
SetEnabledvoid
public void SetEnabled(bool enabled);Устанавливает Enabled. Включает поиск Translate/TranslatePlural, default true. false возвращает исходный ключ или singular/plural по n==1, обходя каталоги и автоматическую псевдолокализацию. Не блокирует прямой Pseudolocalize и не очищает ресурсы.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
enabledНовое значение Enabled. Не является командой обновления уже назначенного UI-текста.
SetLocaleOverridevoid
public void SetLocaleOverride(string locale);Выбирает локаль этого домена и стандартизует непустое значение. Не меняет глобальную локаль проекта и не обещает самостоятельно пересоздать все уже вычисленные заголовки UI.
| Имя | Тип | По умолчанию |
|---|---|---|
locale | string | — |
localeЛокаль, например ru или en; пустая строка снимает переопределение. Для плагина пример передаёт GetEditorLanguage при включении.
SetPseudolocalizationAccentsEnabledvoid
public void SetPseudolocalizationAccentsEnabled(bool enabled);Устанавливает PseudolocalizationAccentsEnabled. Заменяет ASCII-буквы по встроенной таблице акцентированных вариантов, default true. Это не перевод языка; некоторые замены содержат несколько кодовых точек. Этап выполняется после удвоения гласных, перед fake bidi и обрамлением. UI автоматически не обновляется.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
enabledНовое значение PseudolocalizationAccentsEnabled. Не является командой обновления уже назначенного UI-текста.
SetPseudolocalizationDoubleVowelsEnabledvoid
public void SetPseudolocalizationDoubleVowelsEnabled(bool enabled);Устанавливает PseudolocalizationDoubleVowelsEnabled. Удваивает ASCII a/e/i/o/u в обоих регистрах, default false. Не удваивает все гласные всех языков. Выполняется перед акцентированием; распознанные плейсхолдеры могут быть пропущены. Не обновляет существующие надписи.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
enabledНовое значение PseudolocalizationDoubleVowelsEnabled. Не является командой обновления уже назначенного UI-текста.
SetPseudolocalizationEnabledvoid
public void SetPseudolocalizationEnabled(bool enabled);Устанавливает PseudolocalizationEnabled. Автоматически преобразует результат Translate, default false. В текущей реализации не влияет на TranslatePlural. Прямой Pseudolocalize работает независимо от этого флага. Изменение не обновляет уже назначенный текст UI.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
enabledНовое значение PseudolocalizationEnabled. Не является командой обновления уже назначенного UI-текста.
SetPseudolocalizationExpansionRatiovoid
public void SetPseudolocalizationExpansionRatio(float ratio);Устанавливает PseudolocalizationExpansionRatio. Доля добавочного подчёркивания, default 0. На каждой стороне добавляется целая часть originalLength*ratio/2: короткая строка может не вырасти. Используется исходная длина до преобразований, не ширина текста в пикселях. Setter не ограничивает значение; передавайте конечное неотрицательное разумно ограниченное число.
| Имя | Тип | По умолчанию |
|---|---|---|
ratio | float | — |
ratioКонечная неотрицательная ограниченная доля padding, например 0.3; setter не ограничивает значение.
SetPseudolocalizationFakeBidiEnabledvoid
public void SetPseudolocalizationFakeBidiEnabled(bool enabled);Устанавливает PseudolocalizationFakeBidiEnabled. Добавляет управляющие U+202E/U+202C вокруг текста и отдельных строк, default false; распознанные плейсхолдеры выводятся вне этих участков. Диагностическое преобразование, не настоящий RTL-перевод и не автоматическое зеркалирование UI. Проверяйте форму и вёрстку на реальном языке отдельно.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
enabledНовое значение PseudolocalizationFakeBidiEnabled. Не является командой обновления уже назначенного UI-текста.
SetPseudolocalizationOverrideEnabledvoid
public void SetPseudolocalizationOverrideEnabled(bool enabled);Устанавливает PseudolocalizationOverrideEnabled. Заменяет кодовые точки звёздочками, default false, кроме распознанных пропускаемых плейсхолдеров. Выполняется до удвоения гласных и акцентирования. Помогает искать строки, не проходящие локализацию; не является маскированием секретных данных.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
enabledНовое значение PseudolocalizationOverrideEnabled. Не является командой обновления уже назначенного UI-текста.
SetPseudolocalizationPrefixvoid
public void SetPseudolocalizationPrefix(string prefix);Устанавливает PseudolocalizationPrefix. Буквальная строка перед преобразованным непустым текстом и левым padding, default [. Не ищется в каталогах и не дополняется именем локали. Для пустого входа обрамление не добавляется.
| Имя | Тип | По умолчанию |
|---|---|---|
prefix | string | — |
prefixБуквальное обрамление, допускается пустая строка; не ключ перевода.
SetPseudolocalizationSkipPlaceholdersEnabledvoid
public void SetPseudolocalizationSkipPlaceholdersEnabled(bool enabled);Устанавливает PseudolocalizationSkipPlaceholdersEnabled. Сохраняет двухсимвольные %s/%c/%d/%o/%x/%X/%f при преобразованиях, default true. Не защищает C# {0}, именованные или расширенные printf-плейсхолдеры вроде %02d.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
enabledНовое значение PseudolocalizationSkipPlaceholdersEnabled. Не является командой обновления уже назначенного UI-текста.
SetPseudolocalizationSuffixvoid
public void SetPseudolocalizationSuffix(string suffix);Устанавливает PseudolocalizationSuffix. Буквальная строка после преобразованного непустого текста и правого padding, default ]. Не ищется в каталогах. Для пустого входа обрамление не добавляется.
| Имя | Тип | По умолчанию |
|---|---|---|
suffix | string | — |
suffixБуквальное обрамление, допускается пустая строка; не ключ перевода.
TranslateStringName
public StringName Translate(StringName message, StringName context = null);Ищет сообщение в словарях домена по его локали или общей локали проекта, затем учитывает fallback. Это lookup текста, не установка Label.Text и не проверка отображённых пикселей.
| Имя | Тип | По умолчанию |
|---|---|---|
message | StringName | — |
context | StringName | null |
messageИсходный ключ сообщения. В примере Inspect settings переводится в Проверить настройки для ru.
contextНеобязательный контекст для различения одинаковых ключей с разным смыслом; по умолчанию пустой.
StringNameПереведённый StringName; без перевода возвращается исходный ключ. При включённой псевдолокализации результат дополнительно преобразуется.
TranslatePluralStringName
public StringName TranslatePlural(StringName message, StringName messagePlural, int n, StringName context = null);Ищет форму в подходящем каталоге, затем по резервной локали сервера. Правила берутся из найденного Translation. При отсутствии или Enabled=false возвращает message только для n==1, иначе messagePlural. В текущей реализации не применяет псевдолокализацию; при необходимости вызовите Pseudolocalize явно. Не вставляет число в строку.
| Имя | Тип | По умолчанию |
|---|---|---|
message | StringName | — |
messagePlural | StringName | — |
n | int | — |
context | StringName | null |
messageИсходный ключ для поиска; в Pseudolocalize — уже выбранный текст для преобразования.
messagePluralИсходная множественная форма для fallback при n!=1; не отдельный ключ базовой карты Translation.
nНеотрицательное количество для выбора формы; при исходном fallback singular используется только при 1. Число не вставляется в текст.
contextТочный контекст сообщения; null/default означает пустой.
StringNameНайденная форма либо исходный singular/plural, без автоматической псевдолокализации.