Карта локалей (внутренности редактора)
vueI18nMapPlugin — Vite-плагин, который записывает на диск карту локалей при запуске Vite в режиме --mode i18n-dump, а затем сразу завершает процесс. Он существует, чтобы снабжать данными UI редактора локалей — обычно вы никогда не вызываете его напрямую. vue-i18n-kit init и vue-i18n-kit auto-config сами вставляют его в vite.config.ts/nuxt.config.ts.
// vite.config.ts
import { vueI18nMapPlugin } from 'vue-i18n-kit/vite'
export default defineConfig({
plugins: [
vueI18nMapPlugin({
locales: {
en: { path: 'src/locales/en.json', meta: { display: 'English', flag: '🇬🇧' } },
ru: { path: 'src/locales/ru.json', meta: { display: 'Русский', flag: '🇷🇺' } },
},
}),
],
})// package.json
{
"scripts": {
"i18n:ui": "vite --mode i18n-dump && vue-i18n-kit ui"
}
}Карта перегенерируется каждый раз перед запуском редактора. Сгенерированные файлы можно добавить в .gitignore.
Опции
locales
Record<string, string | { path, meta? }>, обязательна. Соответствие кодов локалей их путям к файлам и опциональным метаданным. Принимает либо строку-путь, либо объект { path, meta }.
output
string · по умолчанию: 'i18n-tools/locales.config.json'. Путь для сгенерированной карты локалей относительно корня проекта.
Что записывается
Когда Vite запускается с --mode i18n-dump, плагин записывает два файла во время configResolved, а затем завершает процесс:
<output>(locales.config.jsonпо умолчанию) —{ root, generatedAt, locales: [{ code, path, meta? }] }, по одной записи на каждую настроенную локаль.locales.entries.json(в той же директории, что и<output>) — карта записей по результатам сканирования исходников, построенная тем же способом, что иvue-i18n-kit stats/prune, используется картой использования редактора и обнаружением неиспользуемых/фантомных ключей.
Оба файла читаются src/ui-server/server.ts при запуске редактора — это механизм, который позволяет редактору узнать, какие файлы локалей существуют и какие исходные файлы ссылаются на какие ключи, без повторного сканирования всего проекта при каждом запросе.