Локализация

Интеграционные аддоны работают в изолированном воркере и не должны использовать языковую систему приложения StreamKit+ (src/shared/lang/). Не используйте ключи переводов, не импортируйте языковые файлы приложения и не копируйте из них строки.

Локаль UI приложения (LANG)

Песочница предоставляет доступ только для чтения к локали UI пользователя в настройках:

Член Описание
LANG.current 'en', 'ru' или 'uk' — соответствует языку приложения
LANG.onChangeLanguage(cb) Вызывается при смене языка; возвращает { Destroy } для отписки

Разрешение не требуется. Используйте LANG.current, чтобы выбрать нужную строку из собственных объектов по локалям (см. ниже). Это не даёт доступа к ключам переводов или JSON-файлам приложения.

const labels = {
  en: 'Connected',
  ru: 'Подключено',
  uk: 'Підключено',
};

status.Update({ current: 'online', message: { [LANG.current]: labels[LANG.current] } });

const sub = LANG.onChangeLanguage((lang) => {
  console.log('UI locale:', lang);
});
// позже: sub.Destroy();

Объекты по локалям

Пользовательский текст передавайте объектами с ключами локали:

{
  en: 'Connected',
  ru: 'Подключено',
  uk: 'Підключено',
}

en обязателен там, где API ожидает DashboardLocalizedText. UI подставляет en, если локаль пользователя отсутствует.

Где это применяется

API Локализуемые поля
manifest.name / description en, ru, uk
GenerateConfiglabel, description, placeholder в editor en, ru, uk
status.Update({ message }) en, ru, uk
notify.Send({ title, message }) по локалям или обычная строка
dashboard.registerPlatform({ name }) по локалям
dashboard.addRecord({ message }) строка, объект по локалям или кортеж LangData приложения*
dashboard.addChatMessage({ content }) как у message
подписи dashboard.registerTriggers по локалям

* Кортежи LangData в сообщениях дашборда разрешаются UI приложения, а не файлами переводов аддона. В сторонних аддонах предпочтительны явные объекты { en, ru?, uk? } для самодостаточной локализации.

Обычные строки

Многие API также принимают простую string, если несколько локалей не нужны.