Словарь перевода в Nuxt
Тексты интерфейса хранят в словарях -
обычных JSON-файлах с парами ключ
и строка. Модуль @nuxtjs/i18n
подгружает их по имени из поля file
в записи локали. Каталог задаётся
ключом langDir в блоке i18n;
по умолчанию файлы лежат в i18n/locales,
а в конфиге пишут locales.
Структура для нашего примера:
- /i18n/
- /locales/
- en.json
- ru.json
- /locales/
Дополним конфиг списком языков и каталогом словарей:
export default defineNuxtConfig({
modules: ['@nuxtjs/i18n'],
i18n: {
locales: [
{ code: 'en', name: 'English', file: 'en.json' },
{ code: 'ru', name: 'Russian', file: 'ru.json' },
],
langDir: 'locales',
},
});
Создадим английский словарь с ключом приветствия:
{
"welcome": "Welcome"
}
Для второй локали тот же ключ получит другую английскую строку, чтобы переключение языка было заметно на экране:
{
"welcome": "Welcome friend"
}
Добавьте в оба словаря ключ
shopTitle со строками
Shop и Shop corner
на английском для разных локалей.
Заведите ключ staffHeading
в словарях страницы сотрудников
с разными английскими подписями
для английской и русской локали.