Skip to content

Локализация

Все пользовательские строки компонентов берутся из единого словаря. Локаль и переопределения задаются один раз — централизованно.

Выбор локали

Дефолтная локаль — английская. Русская (ru) встроена и включается при регистрации плагина:

js
// app.js
import StartupUI from 'startup-ui';

app.use(StartupUI, { locale: 'ru' });

Если не используете глобальный плагин (импортируете компоненты по отдельности), настройте локализацию напрямую:

js
import { configureStartupUi } from 'startup-ui';

configureStartupUi({ locale: 'ru' });

Переопределение строк

messages сливаются (deep-merge) поверх встроенных словарей — переопределять можно точечно, по отдельным ключам:

js
app.use(StartupUI, {
    locale: 'en',
    messages: {
        en: {
            confirm: { accept: 'Confirm', cancel: 'Dismiss' },
            pagination: { perPage: 'Show {n}' },
        },
    },
});

Своя локаль

Можно добавить произвольную локаль целиком, передав полный словарь и выбрав её:

js
import { configureStartupUi } from 'startup-ui';
import de from './locales/startup-ui.de';

configureStartupUi({ locale: 'de', messages: { de } });

Смена локали в рантайме

js
import { setLocale } from 'startup-ui';

setLocale('en'); // все компоненты реактивно перерисуются

Региональные локали

Коды с региональным субтегом резолвятся с фолбэком по базовому языку: en-USen, ru-RUru (и в конце — en). Поэтому можно безопасно передавать navigator.language.

Встроенная локаль en-US отличается от en первым днём недели — воскресеньеen/ru неделя начинается с понедельника) — и 12-часовым форматом времени с AM/PM в SDatePicker:

js
configureStartupUi({ locale: 'en-US' }); // SDatePicker: неделя с воскресенья, время в формате AM/PM

Первый день недели можно задать и точечно — пропом first-day у SDatePicker (0 — вс, 1 — пн).

Доступные ключи

ГруппаКлючи
confirmtitle, accept, cancel
paginationshown, of, perPage (плейсхолдер {n})
selectnoData
tablenoData
canvassidebarMobileTitle
uploadselectFile, selectFiles
copyTextcopy
columnSettingsconfigure, reset, resetTo ({title}), resetChanges
dropdownMenuplaceholder
datePickerweekDays[], months[], notSelected, firstDay (0 — вс, 1 — пн), hour12 (12-часовой формат с AM/PM), am, pm
htmlEditorlanguage, blocks.*

Точечные пропы компонентов (например sidebar-mobile-title у SCanvas, nodata у STable) по-прежнему имеют приоритет над словарём.