reckfellENGINE

Translation

Ресурс сообщений одной локали с контекстом и множественными формами.

На этой странице
class TranslationReckfellSharpНаследует Resource

Хранит переводы для локали, указанной в Locale. Сообщения различаются исходным ключом и контекстом; множественные формы выбираются по правилам локали или PluralRulesOverride. Выбор формы не подставляет число в текст.

Загрузка Translation не подключает его к общему поиску. Зарегистрируйте ресурс в настройках переводов проекта или через TranslationServer.AddTranslation. Для поиска с текущей и резервной локалью используйте TranslationServer.Translate или TranslatePlural; прямой GetMessage обращается к этому ресурсу.

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

Конструкторы1

TranslationКонструктор
# Translation
C#
public Translation();

Создаёт собственный пустой каталог: Locale="en", PluralRulesOverride пуст. Не регистрирует его в TranslationServer и не меняет язык проекта. Dispose ресурс после использования.

Свойства3

LocaleСвойство
# Locale
C#
public string Locale { get; set; }

Локаль ресурса, default en. Setter стандартизует идентификатор; при отсутствии явного override сбрасывает кеш правил. Не переключает глобальный язык, не переводит существующий текст интерфейса автоматически и не испускает Changed.

MessagesСвойство
# Messages
C#
public Reckfell.Collections.Dictionary Messages { get; set; }

Внутренний Dictionary-снимок хранения: ключ Array [context, srcMessage], значение непустой Array строк форм. Getter создаёт отдельные контейнеры. Setter сначала очищает всю карту, затем копирует записи; также принимает строковый ключ с одним строковым значением без контекста. Это не merge и не полный формат ресурса. Не подавайте непроверенные массивы: длина ключа 2 не проверяется полностью. Не испускает Changed; Dispose собственный Dictionary после чтения.

PluralRulesOverrideСвойство
# PluralRulesOverride
C#
public string PluralRulesOverride { get; set; }

Явные правила вида nplurals=2; plural=(n != 1);. Пустая строка выбирает правила Locale, затем английский fallback. Setter сбрасывает кеш, но не меняет сохранённые формы и не испускает Changed. Некорректный override может дать диагностику перед fallback; это не успешная валидация. Держите число и порядок форм согласованными с правилами.

Методы15

AddMessagevoid
# AddMessage
C#
public void AddMessage(StringName srcMessage, StringName xlatedMessage, StringName context = null);

Назначает одну строку точной паре (context, srcMessage). Заменяет существующий перевод и все его множественные формы, а не только добавляет отсутствующую запись. Пустое значение допустимо, но результат поиска тогда неотличим от отсутствия. Не испускает Resource.Changed.

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

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

xlatedMessage

Переведённая строка; может быть пустой. Плейсхолдеры и числа автоматически не подставляются.

context

Точный контекст; null/default означает пустой. Для _GetMessage/_GetPluralMessage передаётся полученное значение без автоматического поиска других контекстов.

AddPluralMessage2 перегрузки
# AddPluralMessage · 1/2
C#
public void AddPluralMessage(StringName srcMessage, ReadOnlySpan<string> xlatedMessages, StringName context);

Заменяет запись точной пары (context, srcMessage) непустым массивом множественных форм. Порядок форм должен соответствовать правилам Locale или PluralRulesOverride; метод не определяет его по строкам и не вставляет число. Пустой массив вызывает диагностику; число форм проверяется при выборе индекса. Не испускает Changed.

Параметры
ИмяТипПо умолчанию
srcMessageStringName—
xlatedMessagesReadOnlySpan<string>—
contextStringName—
srcMessage

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

xlatedMessages

Непустой массив/ReadOnlySpan форм в порядке правил локали или override. Должен содержать каждый выбираемый правилами индекс. Данные копируются в ресурс.

context

Точный контекст; null/default означает пустой. Для _GetMessage/_GetPluralMessage передаётся полученное значение без автоматического поиска других контекстов.

# AddPluralMessage · 2/2
C#
public void AddPluralMessage(StringName srcMessage, string[] xlatedMessages, StringName context = null);

Заменяет запись точной пары (context, srcMessage) непустым массивом множественных форм. Порядок форм должен соответствовать правилам Locale или PluralRulesOverride; метод не определяет его по строкам и не вставляет число. Пустой массив вызывает диагностику; число форм проверяется при выборе индекса. Не испускает Changed.

Параметры
ИмяТипПо умолчанию
srcMessageStringName—
xlatedMessagesstring[]—
contextStringNamenull
srcMessage

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

xlatedMessages

Непустой массив/ReadOnlySpan форм в порядке правил локали или override. Должен содержать каждый выбираемый правилами индекс. Данные копируются в ресурс.

context

Точный контекст; null/default означает пустой. Для _GetMessage/_GetPluralMessage передаётся полученное значение без автоматического поиска других контекстов.

EraseMessagevoid
# EraseMessage
C#
public void EraseMessage(StringName srcMessage, StringName context = null);

Удаляет только точную пару (context, srcMessage), включая все её формы. Отсутствующий ключ — бездействие; записи того же исходного текста с другим контекстом сохраняются. Не испускает Changed.

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

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

context

Точный контекст; null/default означает пустой. Для _GetMessage/_GetPluralMessage передаётся полученное значение без автоматического поиска других контекстов.

GetLocalestring
# GetLocale
C#
public string GetLocale();

Читает стандартизованную локаль этого ресурса. Не текущую локаль TranslationServer.

Возвращает string

Стандартизованная локаль этого ресурса.

GetMessageStringName
# GetMessage
C#
public StringName GetMessage(StringName srcMessage, StringName context = null);

Ищет точную пару (context, srcMessage) в этом ресурсе. Возвращает первую сохранённую форму; отсутствие даёт пустой StringName, а не исходный текст. Сначала вызывает переопределённый _GetMessage; пустой результат callback не запускает поиск в базовой карте. Не применяет резервную локаль сервера.

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

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

context

Точный контекст; null/default означает пустой. Для _GetMessage/_GetPluralMessage передаётся полученное значение без автоматического поиска других контекстов.

Возвращает StringName

Первая форма или пустой StringName; не глобальный fallback.

GetMessageCountint
# GetMessageCount
C#
public int GetMessageCount();

Количество пар (context, srcMessage), а не количество строк всех множественных форм. У OptimizedTranslation переопределено: 0 с предупреждением, не показатель наличия сжатых переводов.

Возвращает int

Количество пар ключ/контекст; у OptimizedTranslation 0 с предупреждением.

GetMessageListstring[]
# GetMessageList
C#
public string[] GetMessageList();

Возвращает независимый string[] исходных ключей: без контекста srcMessage, с контекстом context+U+0004+srcMessage. Не сортированный список и не список переводов; не используйте U+0004 внутри новых ключей. У OptimizedTranslation исходные ключи отсутствуют: пустой массив с предупреждением.

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

Новый массив исходных ключей, с контекстом через U+0004.

GetPluralMessageStringName
# GetPluralMessage
C#
public StringName GetPluralMessage(StringName srcMessage, StringName srcPluralMessage, int n, StringName context = null);

Для неотрицательного n выбирает форму записи (context, srcMessage) по правилам ресурса. srcPluralMessage не участвует в поиске базовой карты, но передаётся _GetPluralMessage. Нет записи — пустой StringName; отрицательный n или недостающая форма вызывают диагностику. Не подставляет число и не использует глобальную резервную локаль. У OptimizedTranslation выбора форм нет.

Параметры
ИмяТипПо умолчанию
srcMessageStringName—
srcPluralMessageStringName—
nint—
contextStringNamenull
srcMessage

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

srcPluralMessage

Исходный текст множественного числа для контракта callback; базовая карта Translation по нему не индексируется.

n

Неотрицательное число для базового выбора формы; не подставляется в результат. Собственный callback должен валидировать свой контракт.

context

Точный контекст; null/default означает пустой. Для _GetMessage/_GetPluralMessage передаётся полученное значение без автоматического поиска других контекстов.

Возвращает StringName

Выбранная форма или пустой StringName при отсутствии/диагностике.

GetPluralRulesOverridestring
# GetPluralRulesOverride
C#
public string GetPluralRulesOverride();

Читает сохранённую строку override, а не вычисленные действующие правила локали. Пустая строка означает отсутствие явного override.

Возвращает string

Сохранённая строка override; пустая — нет явного override.

GetTranslatedMessageListstring[]
# GetTranslatedMessageList
C#
public string[] GetTranslatedMessageList();

Возвращает независимый string[] всех сохранённых переводов, включая каждую множественную форму и пустые значения. Индексы не соответствуют GetMessageList при нескольких формах; порядок не сортируется. Для OptimizedTranslation перечисляет сжатые значения без ключей.

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

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

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

Устанавливает Locale с нормализацией идентификатора. Не меняет глобальную локаль, сообщения или явный PluralRulesOverride и не испускает Changed.

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

Идентификатор локали ресурса, например ru или ru_RU; setter стандартизует написание.

SetPluralRulesOverridevoid
# SetPluralRulesOverride
C#
public void SetPluralRulesOverride(string rules);

Назначает строку PluralRulesOverride и сбрасывает кеш. Пустая строка возвращает выбор правил по Locale. Не преобразует существующие формы; не испускает Changed.

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

Корректная строка nplurals=<N>; plural=<expression>; либо пустая строка для правил Locale. Это не массив переведённых строк.

_GetMessageStringName
# _GetMessage
C#
public virtual StringName _GetMessage(StringName srcMessage, StringName context);

Переопределите в собственном C# классе Translation для прямого поиска. GetMessage передаёт точный ключ и контекст; callback полностью определяет результат, включая отсутствие. C# base._GetMessage — пустая заглушка, а не доступ к нативной карте. AddMessage и счётчики всё ещё работают с базовыми сохранёнными записями.

Параметры
ИмяТипПо умолчанию
srcMessageStringName—
contextStringName—
srcMessage

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

context

Точный контекст; null/default означает пустой. Для _GetMessage/_GetPluralMessage передаётся полученное значение без автоматического поиска других контекстов.

Возвращает StringName

Результат собственного поиска; пустое значение обозначает отсутствие без базового fallback.

_GetPluralMessageStringName
# _GetPluralMessage
C#
public virtual StringName _GetPluralMessage(StringName srcMessage, StringName srcPluralMessage, int n, StringName context);

Переопределите выбор формы в собственном Translation. Получает оба исходных текста, n и контекст до базовой проверки n. Самостоятельно задайте допустимый ввод и отсутствие; пустой результат не включает базовый fallback. C# base._GetPluralMessage — пустая заглушка.

Параметры
ИмяТипПо умолчанию
srcMessageStringName—
srcPluralMessageStringName—
nint—
contextStringName—
srcMessage

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

srcPluralMessage

Исходный текст множественного числа для контракта callback; базовая карта Translation по нему не индексируется.

n

Неотрицательное число для базового выбора формы; не подставляется в результат. Собственный callback должен валидировать свой контракт.

context

Точный контекст; null/default означает пустой. Для _GetMessage/_GetPluralMessage передаётся полученное значение без автоматического поиска других контекстов.

Возвращает StringName

Результат собственной логики выбора формы; вызывающий код числа не подставляет.

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

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

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

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