Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
Интеграция сервера MCP Intlayer в ваш любимый AI-ассистент позволяет получать все документы непосредственно из ChatGPT, DeepSeek, Cursor, VSCode и т.д.
Просмотр документации сервера MCPИстория версий
- Добавлен плагин loadJSONv7.0.601.11.2025
- Переход на плагин syncJSON и полное переписываниеv7.0.029.10.2025
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомЕсли у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHubКопировать Markdown документа в буфер обмена
Интернационализация Vue.js (i18n) с vue-i18n и Intlayer
Содержание
Что такое Intlayer?
Intlayer — это инновационная, с открытым исходным кодом библиотека интернационализации, разработанная для устранения недостатков традиционных решений i18n. Она предлагает современный подход к управлению контентом в приложениях Vue.js и Nuxt.
Смотрите конкретное сравнение с vue-i18n в нашем блоге vue-i18n vs. Intlayer.
Почему стоит сочетать Intlayer с vue-i18n?
Хотя Intlayer предоставляет отличное самостоятельное решение i18n (см. наше руководство по интеграции с Vue.js), вы можете захотеть сочетать его с vue-i18n по нескольким причинам:
- Существующая кодовая база: У вас уже есть реализованная система vue-i18n, и вы хотите постепенно перейти на улучшенный опыт разработки с Intlayer.
- Требования наследия: Ваш проект требует совместимости с существующими плагинами или рабочими процессами vue-i18n.
- Знакомство команды: Ваша команда привыкла к vue-i18n, но хочет улучшить управление контентом.
- Использование возможностей Intlayer: Вы хотите использовать функции Intlayer, такие как декларация контента, автоматизация перевода, тестирование переводов и многое другое.
Для этого Intlayer может быть реализован как адаптер для vue-i18n, чтобы помочь автоматизировать ваши JSON-переводы в CLI или CI/CD пайплайнах, тестировать переводы и многое другое.
Это руководство показывает, как использовать превосходную систему декларации контента Intlayer, сохраняя при этом совместимость с vue-i18n.
Пошаговое руководство по настройке Intlayer с vue-i18n
Шаг 1: Установка зависимостей
Установите необходимые пакеты с помощью предпочитаемого менеджера пакетов:
npm install intlayer @intlayer/sync-json-pluginОбъяснение пакетов:
- intlayer: Основная библиотека для декларации и управления контентом
- @intlayer/sync-json-plugin: Плагин для синхронизации деклараций контента Intlayer с форматом JSON vue-i18n
Шаг 2: Реализация плагина Intlayer для обёртки JSON
Создайте файл конфигурации Intlayer для определения поддерживаемых локалей:
Если вы также хотите экспортировать JSON-словарь для vue-i18n, добавьте плагин syncJSON:
Копировать код в буфер обмена
import { Locales, type IntlayerConfig } from "intlayer";import { syncJSON } from "@intlayer/sync-json-plugin";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], defaultLocale: Locales.ENGLISH, }, plugins: [ syncJSON({ source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`, }), ],};export default config;Плагин syncJSON автоматически обернет JSON. Он будет читать и записывать JSON-файлы без изменения архитектуры содержимого.
Если вы хотите, чтобы JSON сосуществовал с файлами деклараций контента Intlayer (.content файлы), Intlayer будет работать следующим образом:
1. загрузит как JSON, так и файлы деклараций контента и преобразует их в словарь Intlayer.2. если возникнут конфликты между JSON и файлами деклараций контента, Intlayer выполнит слияние всех словарей. В зависимости от приоритета плагинов и файлов деклараций контента (все настраивается).Если изменения вносятся с помощью CLI для перевода JSON или через CMS, Intlayer обновит JSON-файл с новыми переводами.
Чтобы узнать больше подробностей о плагине syncJSON, пожалуйста, обратитесь к документации плагина syncJSON.
(Необязательно) Шаг 3: Реализация переводов JSON по компонентам
По умолчанию Intlayer загружает, объединяет и синхронизирует как JSON, так и файлы деклараций контента. Подробнее смотрите в документации по декларации контента. Но если вы предпочитаете, используя плагин Intlayer, вы также можете реализовать управление локализованным JSON по компонентам в любом месте вашего кода.
Для этого вы можете использовать плагин loadJSON.
Копировать код в буфер обмена
import { Locales, type IntlayerConfig } from "intlayer";import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], defaultLocale: Locales.ENGLISH, }, // Синхронизируйте ваши текущие JSON-файлы с словарями Intlayer plugins: [ /** * Загрузит все JSON-файлы в src, которые соответствуют шаблону {key}.i18n.json */ loadJSON({ source: ({ key }) => `./src/**/${key}.i18n.json`, locale: Locales.ENGLISH, priority: 1, // Обеспечивает приоритет этих JSON-файлов над файлами в `./locales/en/${key}.json` }), /** * Загрузит, а также запишет результат и переводы обратно в JSON-файлы в директории locales */ syncJSON({ source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`, priority: 0, }), ],};export default config;Это загрузит все JSON-файлы в каталоге src, которые соответствуют шаблону {key}.i18n.json, и загрузит их как словари Intlayer.
Конфигурация Git
Исключите сгенерированные файлы из системы контроля версий:
Копировать код в буфер обмена
# Игнорировать файлы, сгенерированные Intlayer.intlayerintlЭти файлы автоматически пересоздаются в процессе сборки и не требуют добавления в ваш репозиторий.
Расширение VS Code
Для улучшения опыта разработчика установите официальное расширение Intlayer для VS Code: