ГлавнаяПесочницаВитринаПриложениеДокументБлог
    • Englishанглийский
      EN
    • русскийрусский
      RU
    • 日本語японский
      JA
    • françaisфранцузский
      FR
    • 한국어корейский
      KO
    • 中文китайский
      ZH
    • españolиспанский
      ES
    • Deutschнемецкий
      DE
    • العربيةарабский
      AR
    • italianoитальянский
      IT
    • British Englishбританский английский
      EN-GB
    • portuguêsпортугальский
      PT
    • हिन्दीхинди
      HI
    • Türkçeтурецкий
      TR
    • polskiпольский
      PL
    • Indonesiaиндонезийский
      ID
    • Tiếng Việtвьетнамский
      VI
    • українськаукраинский
      UK
    /
    Alt+←
    Что такое интернационализация (i18n)?
    SEO и Интернационализация
    Руководство
    • i18n с помощью next-i18next
    • i18n с помощью next-intl
    Используйте Intlayer в вашем решении
    • Автоматизировать next-i18next
    • Автоматизировать react-i18next
    • Автоматизировать next-intl
    • Автоматизировать react-intl
    • Автоматизировать vue-i18n
    Сравнения
    • next-i18next vs next-intl vs Intlayer
    • react-i18next vs react-intl vs Intlayer
    Документация
    1. Blog
    2. Intlayer with next intl
    Создание:2025-01-02Последнее обновление:2025-10-29
    Посмотреть видео урок

    Для этой страницы доступен видео урок.

    Ссылайтесь на этот документ на ваш любимый ассистент AI
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI

    История версий

    1. Добавлен плагин loadJSON
      v7.0.601.11.2025
    2. Изменение на плагин syncJSON
      v7.0.029.10.2025

    Содержимое этой страницы было переведено с помощью ИИ.

    Смотреть последнюю версию оригинального контента на английском
    Изменить эту документацию

    Если у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.

    Ссылка на документацию GitHub
    Копировать

    Копировать Markdown документа в буфер обмена

    Как автоматизировать перевод JSON для next-intl с помощью Intlayer

    www.youtube.com

    Что такое Intlayer?

    Intlayer, это инновационная, открытая библиотека интернационализации, созданная для устранения недостатков традиционных решений i18n. Она предлагает современный подход к управлению контентом в приложениях Next.js.

    Смотрите конкретное сравнение с next-intl в нашем блоге next-i18next vs. next-intl vs. Intlayer.

    Почему стоит сочетать Intlayer с next-intl?

    Хотя Intlayer предоставляет отличное самостоятельное решение для i18n (см. наше руководство по интеграции с Next.js), вы можете захотеть объединить его с next-intl по нескольким причинам:

    1. Существующая кодовая база: У вас уже есть реализованный next-intl, и вы хотите постепенно перейти на улучшенный опыт разработчика с Intlayer.
    2. Требования наследия: Ваш проект требует совместимости с существующими плагинами или рабочими процессами next-intl.
    3. Знакомство команды: Ваша команда привыкла работать с next-intl, но хочет улучшить управление контентом.

    Для этого Intlayer может быть реализован как адаптер для next-intl, чтобы помочь автоматизировать ваши JSON-переводы в CLI или CI/CD пайплайнах, тестировать переводы и многое другое.

    Это руководство покажет вам, как использовать превосходную систему декларации контента Intlayer, сохраняя совместимость с next-intl.

    Содержание

    Пошаговое руководство по настройке Intlayer с next-intl

    Шаг 1: Установка зависимостей

    Установите необходимые пакеты:

    bash
    Копировать код

    Копировать код в буфер обмена

    npm install intlayer @intlayer/sync-json-plugin --save-devnpx intlayer init

    Описание пакетов:

    • intlayer: Основная библиотека для управления интернационализацией, декларации контента и сборки
    • @intlayer/sync-json-plugin: Плагин для экспорта деклараций контента Intlayer в JSON-формат, совместимый с next-intl

    Шаг 2: Реализация плагина 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:

    .gitignore
    Копировать код

    Копировать код в буфер обмена

    # Игнорировать файлы, сгенерированные Intlayer.intlayer

    Эти файлы могут быть восстановлены во время процесса сборки и не требуют добавления в систему контроля версий.

    Расширение VS Code

    Для улучшения опыта разработчика установите официальное расширение Intlayer для VS Code:

    Установить из VS Code Marketplace

    Автоматизировать react-i18next
    Автоматизировать react-intl
    Alt+→

    На этой странице

      Обсуждения анонимны и регулярно просматриваются для решения распространённых проблем. Не стесняйтесь делиться идеями функций, отзывами о документации или чем-либо, связанным с Intlayer, мы используем эту информацию для формирования нашей дорожной карты и улучшения продукта.

      npm install intlayer @intlayer/sync-json-plugin --save-devnpx intlayer init
      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;
      1. загрузит как JSON, так и файлы декларации контента и преобразует их в словарь intlayer.2. если возникают конфликты между JSON и файлами декларации контента, Intlayer выполнит слияние всех словарей. В зависимости от приоритета плагинов и файла декларации контента (все настраивается).
      # Игнорировать файлы, сгенерированные Intlayer.intlayer