reckfellENGINE

TranslationServer

Управляет локалью игры и поиском сообщений в зарегистрированных переводах.

На этой странице
class TranslationServerReckfellSharp

Выбирает сообщения из зарегистрированных ресурсов Translation с учётом текущей и резервной локали. Translate возвращает исходный ключ, если перевод не найден; ключ и контекст должны совпадать. TranslatePlural выбирает форму числа, но не форматирует заполнители.

SetLocale меняет активную локаль и отправляет уведомление о смене перевода. Самостоятельно рассчитанный текст нужно пересчитать в обработчике этого уведомления. Метод не сохраняет настройку игрока. Загрузка ресурса отдельно от AddTranslation или регистрации в проекте не включает его в поиск.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Свойства2

PseudolocalizationEnabledСвойство
# PseudolocalizationEnabled
C#
public static bool PseudolocalizationEnabled { get; set; }

Состояние автоматической псевдолокализации основного домена, не именованных доменов. Setter обновляет remap-ресурсы и отправляет уведомление о смене перевода даже при том же значении. В текущей реализации преобразует Translate, но не TranslatePlural. Прямой Pseudolocalize работает независимо от флага.

SingletonСвойство
# Singleton
C#
public static TranslationServerInstance Singleton { get; }

Заимствованный экземпляр сервиса движка, общий со статическими методами. Обычно используйте статические вызовы TranslationServer. Не создавайте замену, не вызывайте Free/Dispose у этого экземпляра.

Методы35

AddTranslationvoid
# AddTranslation
C#
public static void AddTranslation(Translation translation);

Добавляет общий ресурс Translation в основной домен сервера. Повтор того же объекта не дублирует его; другой объект той же локали допустим, но порядок равных кандидатов не гарантирован. Не отправляет уведомление об обновлении существующего текста UI и не добавляет ресурс в именованные домены.

Параметры
ИмяТипПо умолчанию
translationTranslation—
translation

Ненулевой общий ресурс Translation; регистрация и удаление сравнивают объект, не только Locale.

Clearvoid
# Clear
C#
public static void Clear();

Очищает только набор каталогов основного домена. Не сбрасывает активную локаль, параметры псевдолокализации или именованные домены и не очищает сами Translation. Это глобальное действие для текущего проекта: для своего дополнения удаляйте только принадлежащие ему ресурсы/домен.

CompareLocalesint
# CompareLocales
C#
public static int CompareLocales(string localeA, string localeB);

Сравнивает локали: 10 для точного или нормализованного совпадения, положительная оценка для одного языка, 0 для разных языков. Это оценка сходства, а не проверка наличия перевода.

Параметры
ИмяТипПо умолчанию
localeAstring—
localeBstring—
localeA

Первая локаль в канонической записи, например ru_RU.

localeB

Вторая сравниваемая локаль, например ru.

Возвращает int

Оценка от 0 до 10; положительная оценка не доказывает наличие ресурсов или совпадение всех требований к письменности.

FindTranslationsReckfell.Collections.Array<Translation>
# FindTranslations
C#
public static Reckfell.Collections.Array<Translation> FindTranslations(string locale, bool exact);

Возвращает отдельный контейнер Array<Translation> совпадающих каталогов основного домена. exact=true сравнивает Locale буквально без нормализации; false выбирает все CompareLocales>0. Не сортирует по точности, не проверяет сообщение и не включает именованные домены. Элементы — общие ресурсы.

Параметры
ИмяТипПо умолчанию
localestring—
exactbool—
locale

Идентификатор локали, например ru_RU. SetLocale и числовые методы требуют непустое значение; exact-поиск и числовые методы не нормализуют ввод автоматически.

exact

true — буквальное сравнение Locale; false — все положительные CompareLocales.

Возвращает Reckfell.Collections.Array<Translation>

Новый контейнер всех подходящих общих каталогов основного домена, без гарантии порядка.

FormatNumberstring
# FormatNumber
C#
public static string FormatNumber(string number, string locale);

Преобразует символы числовой строки для числовой системы locale. Ключ locale ищется буквально; сначала стандартизуйте его сами. Для поддерживаемых систем заменяет цифры, e/E и оба символа точки/запятой на разделитель. Не форматирует числовое значение, не группирует разряды, не проверяет строку и не использует формат C# по культуре. При отсутствии числовой системы возвращает ввод как есть. Например ar: 12.5 → ١٢٫٥.

Параметры
ИмяТипПо умолчанию
numberstring—
localestring—
number

Строка, а не числовой объект. Метод заменяет символы и не проверяет корректность числа; результат проверяйте отдельно.

locale

Идентификатор локали, например ru_RU. SetLocale и числовые методы требуют непустое значение; exact-поиск и числовые методы не нормализуют ввод автоматически.

Возвращает string

Строка с заменёнными символами либо исходный ввод для неподдерживаемого ключа.

GetAllCountriesstring[]
# GetAllCountries
C#
public static string[] GetAllCountries();

Возвращает новый string[] кодов стран/регионов встроенной таблицы, не текущую страну пользователя. Порядок не гарантирован; названия получайте через GetCountryName.

Возвращает string[]

Новый массив кодов без гарантии сортировки; не меняет исходную таблицу.

GetAllLanguagesstring[]
# GetAllLanguages
C#
public static string[] GetAllLanguages();

Возвращает новый string[] кодов из встроенной таблицы языков. Список не зависит от загруженных переводов и не гарантирует сортировку или полный перевод проекта на эти языки. Для интерфейса сопоставляйте код через GetLanguageName и сортируйте отдельно.

Возвращает string[]

Новый массив кодов без гарантии сортировки; не меняет исходную таблицу.

GetAllScriptsstring[]
# GetAllScripts
C#
public static string[] GetAllScripts();

Возвращает новый string[] кодов письменностей встроенной таблицы, например Latn. Это не языки программирования и не перечень установленных шрифтов; порядок не гарантирован.

Возвращает string[]

Новый массив кодов без гарантии сортировки; не меняет исходную таблицу.

GetCountryNamestring
# GetCountryName
C#
public static string GetCountryName(string country);

Находит название страны/региона по точному коду таблицы, например US. Неизвестный код возвращает без изменений; автоматической нормализации регистра или перевода названий по активной локали нет.

Параметры
ИмяТипПо умолчанию
countrystring—
country

Точный код встроенной таблицы; неизвестное значение возвращается без изменений.

Возвращает string

Имя из таблицы либо исходный неизвестный код.

GetLanguageNamestring
# GetLanguageName
C#
public static string GetLanguageName(string language);

Находит имя языка по точному коду таблицы, например en. Неизвестный код возвращается как есть. Названия берутся из встроенной таблицы и не переводятся автоматически при SetLocale; не передавайте полный ru_RU вместо кода ru.

Параметры
ИмяТипПо умолчанию
languagestring—
language

Точный код встроенной таблицы; неизвестное значение возвращается без изменений.

Возвращает string

Имя из таблицы либо исходный неизвестный код.

GetLoadedLocalesstring[]
# GetLoadedLocales
C#
public static string[] GetLoadedLocales();

Возвращает локали ресурсов, зарегистрированных в основном домене переводов. Не возвращает все известные движку языки и не проверяет полноту перевода сообщений.

Возвращает string[]

Массив подключённых локалей; может быть пустым. Для каталога известных языковых кодов используйте GetAllLanguages.

GetLocalestring
# GetLocale
C#
public static string GetLocale();

Читает активную локаль сервера. Это не обязательно исходная локаль ОС, не список загруженных языков и не Locale отдельного Translation или override домена.

Возвращает string

Активный идентификатор локали сервера.

GetLocaleNamestring
# GetLocaleName
C#
public static string GetLocaleName(string locale);

Стандартизует locale и составляет отображаемое имя из встроенных названий языка, письменности и страны, если компоненты присутствуют. Это подпись для человека, не стабильный идентификатор и не автоматически локализованный текст интерфейса.

Параметры
ИмяТипПо умолчанию
localestring—
locale

Идентификатор локали, например ru_RU. SetLocale и числовые методы требуют непустое значение; exact-поиск и числовые методы не нормализуют ввод автоматически.

Возвращает string

Составленное отображаемое имя из встроенной таблицы, не ключ локали.

GetOrAddDomainTranslationDomain
# GetOrAddDomain
C#
public static TranslationDomain GetOrAddDomain(StringName domain);

Возвращает существующий именованный домен или создаёт пустой. Для дополнения используйте уникальное имя, например его путь addons; один домен не должен без согласования удаляться несколькими владельцами.

Параметры
ИмяТипПо умолчанию
domainStringName—
domain

Имя домена. Пустое имя обозначает основной домен проекта, а не новый частный домен.

Возвращает TranslationDomain

TranslationDomain для данного имени. Получение само по себе не загружает словари и не назначает домен Control.

GetPercentSignstring
# GetPercentSign
C#
public static string GetPercentSign(string locale);

Возвращает знак процента числовой системы по точному непустому ключу locale; если записи нет, %. Не умножает значение на 100, не форматирует число и не выбирает расположение знака.

Параметры
ИмяТипПо умолчанию
localestring—
locale

Идентификатор локали, например ru_RU. SetLocale и числовые методы требуют непустое значение; exact-поиск и числовые методы не нормализуют ввод автоматически.

Возвращает string

Знак системы счисления либо %, без числа.

GetPluralRulesstring
# GetPluralRules
C#
public static string GetPluralRules(string locale);

Ищет строку правил: сначала точный ключ таблицы, затем язык+страна и язык после разбора locale. При отсутствии возвращает пустую строку; английский fallback выбирает Translation, а не этот метод. Не проверяет полноту форм в каталоге и не вставляет число в текст.

Параметры
ИмяТипПо умолчанию
localestring—
locale

Идентификатор локали, например ru_RU. SetLocale и числовые методы требуют непустое значение; exact-поиск и числовые методы не нормализуют ввод автоматически.

Возвращает string

Строка правил gettext либо пустая строка при отсутствии.

GetScriptNamestring
# GetScriptName
C#
public static string GetScriptName(string script);

Находит название письменности по точному коду, например Latn. Неизвестное значение возвращается как есть. Это не название C#-скрипта и не проверка поддержки письменности шрифтом.

Параметры
ИмяТипПо умолчанию
scriptstring—
script

Точный код встроенной таблицы; неизвестное значение возвращается без изменений.

Возвращает string

Имя из таблицы либо исходный неизвестный код.

GetToolLocalestring
# GetToolLocale
C#
public static string GetToolLocale();

В editor/project-manager режиме TOOLS_ENABLED использует локаль каталога редактора с точным совпадением либо en. При обычном запуске выбирает подходящую локаль основного домена, иначе fallback сервера. Это не универсальный способ прочитать настройку языка UI редактора из любой игры; поведение редактора проверено только по исходникам.

Возвращает string

Выбранная tool/runtime локаль либо fallback; зависит от режима процесса.

GetTranslationObjectTranslation · Устарело
# GetTranslationObject
C#
public static Translation GetTranslationObject(string locale);

Устаревший SDK-метод: возвращает один лучше совпавший общий ресурс основного домена либо null. Не гарантирует выбор при равных оценках и наличие нужного сообщения. Для списка используйте FindTranslations с явным exact; для текста — Translate/TranslatePlural.

Параметры
ИмяТипПо умолчанию
localestring—
locale

Идентификатор локали, например ru_RU. SetLocale и числовые методы требуют непустое значение; exact-поиск и числовые методы не нормализуют ввод автоматически.

Возвращает Translation

Один общий ресурс либо null; устаревший API.

GetTranslationsReckfell.Collections.Array<Translation>
# GetTranslations
C#
public static Reckfell.Collections.Array<Translation> GetTranslations();

Возвращает отдельный Array<Translation> всех каталогов основного домена без гарантии порядка. Изменение контейнера не меняет регистрацию; редактирование элемента меняет общий ресурс. Не освобождайте элементы как новые ресурсы.

Возвращает Reckfell.Collections.Array<Translation>

Новый контейнер общих каталогов основного домена.

HasDomainbool
# HasDomain
C#
public static bool HasDomain(StringName domain);

Проверяет запись домена в реестре, не наличие конкретного языка или переведённого ключа. В проверке частный домен исчез после отключения плагина.

Параметры
ИмяТипПо умолчанию
domainStringName—
domain

Имя проверяемого домена; основной домен с пустым именем всегда существует.

Возвращает bool

true при существующем домене. Не подтверждает загрузку нужного словаря.

HasTranslationbool
# HasTranslation
C#
public static bool HasTranslation(Translation translation);

Проверяет регистрацию того же объекта Translation в основном домене. Совпадение Locale или содержимого недостаточно; содержимое каталога может быть пустым.

Параметры
ИмяТипПо умолчанию
translationTranslation—
translation

Ненулевой общий ресурс Translation; регистрация и удаление сравнивают объект, не только Locale.

Возвращает bool

true при регистрации того же объекта в основном домене.

HasTranslationForLocalebool
# HasTranslationForLocale
C#
public static bool HasTranslationForLocale(string locale, bool exact);

Проверяет локаль каталогов основного домена: exact=true — буквальное равенство, false — CompareLocales>0. Не проверяет наличие конкретного ключа, fallback и именованные домены.

Параметры
ИмяТипПо умолчанию
localestring—
exactbool—
locale

Идентификатор локали, например ru_RU. SetLocale и числовые методы требуют непустое значение; exact-поиск и числовые методы не нормализуют ввод автоматически.

exact

true — буквальное сравнение Locale; false — все положительные CompareLocales.

Возвращает bool

true при подходящей локали, независимо от наличия нужного сообщения.

IsPseudolocalizationEnabledbool
# IsPseudolocalizationEnabled
C#
public static bool IsPseudolocalizationEnabled();

Читает флаг автоматического преобразования основного домена. Это не проверка всех именованных доменов и не подтверждение визуально обновлённого интерфейса.

Возвращает bool

Текущее состояние основного домена, не результат проверки UI.

ParseNumberstring
# ParseNumber
C#
public static string ParseNumber(string number, string locale);

Преобразует известные цифры, разделитель и экспоненту выбранной числовой системы обратно в строку с ASCII-цифрами. Не возвращает число и не проверяет синтаксис: несколько разделителей могут остаться. Для неподдерживаемого ключа locale ввод не меняется. Не гарантирует точный обратный ход FormatNumber: регистр экспоненты и исходная запятая могут потеряться.

Параметры
ИмяТипПо умолчанию
numberstring—
localestring—
number

Строка, а не числовой объект. Метод заменяет символы и не проверяет корректность числа; результат проверяйте отдельно.

locale

Идентификатор локали, например ru_RU. SetLocale и числовые методы требуют непустое значение; exact-поиск и числовые методы не нормализуют ввод автоматически.

Возвращает string

Строка, не double/decimal и не подтверждение корректного числа.

PseudolocalizeStringName
# Pseudolocalize
C#
public static StringName Pseudolocalize(StringName message);

Явно преобразует переданную строку по настройкам псевдолокализации основного домена. Работает даже при выключенном PseudolocalizationEnabled. Не выполняет поиск перевода; защита заполнителей не распознаёт составной формат C# {0}.

Параметры
ИмяТипПо умолчанию
messageStringName—
message

Текст для преобразования; если нужен перевод, сначала найдите его.

Возвращает StringName

Преобразованный текст с настроенными обрамлением и заполнением; пустой ввод остаётся пустым.

ReloadPseudolocalizationvoid
# ReloadPseudolocalization
C#
public static void ReloadPseudolocalization();

Перечитывает параметры преобразования из internationalization/pseudolocalization/ для основного домена и отправляет уведомление о смене перевода. Не переключает активное состояние по use_pseudolocalization: задайте PseudolocalizationEnabled отдельно. Не сохраняет ProjectSettings на диск.

RemoveDomainvoid
# RemoveDomain
C#
public static void RemoveDomain(StringName domain);

Удаляет именованный домен из реестра. Делайте это после удаления его UI и только при владении доменом. Уже полученные ссылки могут оставаться живыми; повторный GetOrAddDomain создаст новую регистрацию.

Параметры
ИмяТипПо умолчанию
domainStringName—
domain

Непустое имя принадлежащего вам домена. Удаление основного домена отклоняется.

RemoveTranslationvoid
# RemoveTranslation
C#
public static void RemoveTranslation(Translation translation);

Удаляет конкретный ресурс из основного домена по объекту, не все переводы той же локали. Повторное удаление — бездействие. Не меняет регистрацию этого ресурса в других доменах и не отправляет уведомление о смене перевода.

Параметры
ИмяТипПо умолчанию
translationTranslation—
translation

Ненулевой общий ресурс Translation; регистрация и удаление сравнивают объект, не только Locale.

SetLocalevoid
# SetLocale
C#
public static void SetLocale(string locale);

Устанавливает непустую активную локаль с нормализацией. Если нормализованное значение изменилось, инициирует перезагрузку remap-ресурсов и отправляет MainLoop.NotificationTranslationChanged в главный цикл. Повтор того же значения — бездействие. Не загружает произвольные каталоги и не сохраняет предпочтение игрока на диск. Самостоятельно вычисленный текст пересчитывайте в обработчике уведомления.

Параметры
ИмяТипПо умолчанию
localestring—
locale

Идентификатор локали, например ru_RU. SetLocale и числовые методы требуют непустое значение; exact-поиск и числовые методы не нормализуют ввод автоматически.

SetPseudolocalizationEnabledvoid
# SetPseudolocalizationEnabled
C#
public static void SetPseudolocalizationEnabled(bool enabled);

Назначает PseudolocalizationEnabled основного домена и инициирует обновление remap-ресурсов и уведомление главного цикла. Даже повтор того же bool отправляет уведомление. Не сохраняет ProjectSettings и не включает преобразование TranslatePlural.

Параметры
ИмяТипПо умолчанию
enabledbool—
enabled

Новый bool основного домена; повторное назначение также вызывает уведомление.

StandardizeLocale2 перегрузки
# StandardizeLocale · 1/2
C#
public static string StandardizeLocale(string locale);

Нормализует обозначение локали, например ru-RU в ru_RU. Не служит проверкой наличия каталога или универсальным исправлением регистра и некорректного ввода. Эта перегрузка не добавляет значения по умолчанию.

Параметры
ИмяТипПо умолчанию
localestring—
locale

Обозначение локали с каноническим регистром; поддерживаются разделители вроде дефиса в ru-RU.

Возвращает string

Нормализованное обозначение. Результат не подтверждает наличие перевода или правильность любого исходного ввода.

# StandardizeLocale · 2/2
C#
public static string StandardizeLocale(string locale, bool addDefaults = false);

Нормализует обозначение локали, например ru-RU в ru_RU. Не служит проверкой наличия каталога или универсальным исправлением регистра и некорректного ввода. При addDefaults=true может добавить письменность или страну для некоторых неоднозначных локалей.

Параметры
ИмяТипПо умолчанию
localestring—
addDefaultsboolfalse
locale

Обозначение локали с каноническим регистром; поддерживаются разделители вроде дефиса в ru-RU.

addDefaults

Разрешить добавление известных значений для неоднозначной локали: например zh становится zh_Hans_CN. Не выбирает язык, который входит в игру.

Возвращает string

Нормализованное обозначение. Результат не подтверждает наличие перевода или правильность любого исходного ввода.

TranslateStringName
# Translate
C#
public static StringName Translate(StringName message, StringName context = null);

Выполняет поиск основного домена по активной и резервной локали. Пустой результат считается отсутствующим; при необходимости возвращает исходный ключ и применяет включённую псевдолокализацию. Не ищет произвольно во всех именованных доменах.

Параметры
ИмяТипПо умолчанию
messageStringName—
contextStringNamenull
message

Исходный ключ поиска; в Pseudolocalize — выбранный текст для преобразования.

context

Точный контекст сообщения; null/default означает пустой.

Возвращает StringName

Найденный текст либо исходный ключ с применимой псевдолокализацией.

TranslatePluralStringName
# TranslatePlural
C#
public static StringName TranslatePlural(StringName message, StringName pluralMessage, int n, StringName context = null);

Ищет форму в основном домене по активной, затем резервной локали. Правила определяет выбранный Translation. При отсутствии возвращает message только при n==1, иначе pluralMessage. Не подставляет число и в SDK 1.0.0 не применяет автоматическую псевдолокализацию; при необходимости явно обработайте результат через Pseudolocalize.

Параметры
ИмяТипПо умолчанию
messageStringName—
pluralMessageStringName—
nint—
contextStringNamenull
message

Исходный ключ поиска; в Pseudolocalize — выбранный текст для преобразования.

pluralMessage

Исходная множественная форма для fallback; не отдельный ключ карты Translation.

n

Неотрицательное количество для правил Translation; fallback использует singular только при 1. Не вставляется в результат.

context

Точный контекст сообщения; null/default означает пустой.

Возвращает StringName

Найденная форма либо исходный singular/plural, без автоматической псевдолокализации.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.