Задайте вопрос и получите краткое содержание документа через любого ИИ-провайдера на этой странице
История версий
- Добавлен плагин loadJSONv7.0.601.11.2025
- Изменение на плагин syncJSONv7.0.029.10.2025
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Как автоматизировать перевод JSON для next-intl с помощью Intlayer
Оглавление
Что такое Intlayer?
Intlayer, это инновационная, открытая библиотека интернационализации, созданная для устранения недостатков традиционных решений i18n. Она предлагает современный подход к управлению контентом в приложениях Next.js.
Смотрите конкретное сравнение с next-intl в нашем блоге next-i18next vs. next-intl vs. Intlayer.
Почему стоит сочетать Intlayer с next-intl?
Хотя Intlayer предоставляет отличное самостоятельное решение для i18n (см. наше руководство по интеграции с Next.js), вы можете захотеть объединить его с next-intl по нескольким причинам:
- Существующая кодовая база: У вас уже есть реализованный next-intl, и вы хотите постепенно перейти на улучшенный опыт разработчика с Intlayer.
- Требования наследия: Ваш проект требует совместимости с существующими плагинами или рабочими процессами next-intl.
- Знакомство команды: Ваша команда привыкла работать с next-intl, но хочет улучшить управление контентом.
Для этого Intlayer может быть реализован как адаптер для next-intl, чтобы помочь автоматизировать ваши JSON-переводы в CLI или CI/CD пайплайнах, тестировать переводы и многое другое.
Это руководство покажет вам, как использовать превосходную систему декларации контента Intlayer, сохраняя совместимость с next-intl.
Содержание
Пошаговое руководство по настройке Intlayer с next-intl
Установка зависимостей
Установите необходимые пакеты:
bashКопировать кодКопировать код в буфер обмена
npx intlayer-cli init --interactiveфлаг
--interactiveне является обязательным. Используйтеintlayer-cli init, если вы являетесь ИИ-агентом.Эта команда определит вашу среду и установит необходимые пакеты. Например:
bashКопировать кодКопировать код в буфер обмена
npm install intlayer @intlayer/sync-json-plugin --save-devОписание пакетов:
- intlayer: Основная библиотека для управления интернационализацией, декларации контента и сборки
- @intlayer/sync-json-plugin: Плагин для экспорта деклараций контента Intlayer в JSON-формат, совместимый с next-intl
Реализация плагина Intlayer для обёртки JSON
Создайте файл конфигурации Intlayer для определения поддерживаемых локалей:
Если вы также хотите экспортировать JSON-словари для next-intl, добавьте плагин
syncJSON:intlayer.config.tsКопировать кодКопировать код в буфер обмена
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({ format: "icu", source: ({ key, locale }) => `./messages/${locale}/${key}.json`, }), ],};export default config;Плагин
syncJSONавтоматически обернет JSON. Он будет читать и записывать JSON-файлы без изменения архитектуры контента.Если вы хотите, чтобы JSON сосуществовал с файлами декларации контента intlayer (
.contentфайлы), Intlayer будет работать следующим образом:plaintextКопировать кодКопировать код в буфер обмена
1. загрузит как JSON, так и файлы декларации контента и преобразует их в словарь intlayer.2. если возникают конфликты между JSON и файлами декларации контента, Intlayer выполнит слияние всех словарей. В зависимости от приоритета плагинов и файла декларации контента (все настраивается).Если изменения вносятся с помощью CLI для перевода JSON или через CMS, Intlayer обновит JSON-файл с новыми переводами.
Для получения дополнительной информации о плагине
syncJSONобратитесь к документации плагина syncJSON.
Конфигурация Git
Рекомендуется игнорировать автоматически сгенерированные файлы Intlayer:
Копировать код в буфер обмена
# Игнорировать файлы, сгенерированные Intlayer.intlayerЭти файлы могут быть восстановлены во время процесса сборки и не требуют добавления в систему контроля версий.
Расширение VS Code
Для улучшения опыта разработчика установите официальное расширение Intlayer для VS Code:
Комментарии
Пока нет комментариев. Будьте первым, кто поделится своими мыслями.