Автор:
    Создание:2025-08-23Последнее обновление:2026-08-30

    Документация по Intlayer Visual Editor

    www.youtube.com

    Intlayer Visual Editor - это инструмент, который оборачивает ваш веб-сайт для взаимодействия с файлами декларации контента с использованием визуального редактора.

    Интерфейс Intlayer Visual Editor

    Пакет intlayer-editor основан на Intlayer и доступен для JavaScript-приложений, таких как React (Create React App), Vite + React и Next.js.

    Визуальный редактор vs CMS

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

    В отличие от этого, Intlayer CMS - это инструмент, который позволяет управлять вашим контентом в визуальном редакторе для удалённых словарей. После внесения изменений контент не повлияет на вашу кодовую базу. И веб-сайт автоматически отобразит изменённый контент.

    Интеграция Intlayer в ваше приложение

    Для получения более подробной информации о том, как интегрировать Intlayer, см. соответствующий раздел ниже:

    Интеграция с Next.js

    Для интеграции с Next.js обратитесь к руководству по настройке.

    Интеграция с Create React App

    Для интеграции с Create React App обратитесь к руководству по настройке.

    Интеграция с Vite + React

    Для интеграции с Vite + React обратитесь к руководству по настройке.

    Как работает Intlayer Editor

    Визуальный редактор в приложении включает в себя две вещи:

    • Фронтенд-приложение, которое отображает ваш веб-сайт в iframe. Если ваш веб-сайт использует Intlayer, визуальный редактор автоматически обнаружит ваш контент и позволит вам взаимодействовать с ним. После внесения изменений вы сможете скачать изменения.

    • После нажатия кнопки загрузки визуальный редактор отправит запрос на сервер для замены ваших файлов декларации контента новым контентом (где бы эти файлы ни были объявлены в вашем проекте).

    Обратите внимание, что на данный момент Intlayer Editor записывает ваши файлы декларации контента в формате JSON.

    Установка

    После настройки Intlayer в вашем проекте просто установите intlayer-editor как зависимость для разработки:

    bash
    npm install intlayer-editor --save-dev
    

    С флагом --with вы можете запустить редактор параллельно с другой командой:

    package.json
    {
      "scripts": {
        "start:editor": "npx intlayer-editor start --with 'next dev --turbopack'",
      },
    }
    

    Конфигурация

    В вашем файле конфигурации Intlayer вы можете настроить параметры редактора:

    intlayer.config.ts
    import type { IntlayerConfig } from "intlayer";
    
    const config: IntlayerConfig = {
      // ... другие настройки конфигурации
      editor: {
        /**
         * Обязательно
         * URL приложения.
         * Это URL, на который нацелен визуальный редактор.
         * Пример: 'http://localhost:3000'
         */
        applicationURL: process.env.INTLAYER_APPLICATION_URL,
        /**
         * Необязательно
         * По умолчанию `true`. Если `false`, редактор неактивен и недоступен.
         * Может использоваться для отключения редактора в определённых средах по соображениям безопасности, например, в продакшене.
         */
        enabled: process.env.INTLAYER_ENABLED,
        /**
         * Необязательно
         * По умолчанию `8000`.
         * Порт сервера редактора.
         */
        port: process.env.INTLAYER_PORT,
        /**
         * Необязательно
         * По умолчанию "http://localhost:8000"
         * URL сервера редактора.
         */
        editorURL: process.env.INTLAYER_EDITOR_URL,
      },
    };
    
    export default config;
    
    Чтобы увидеть все доступные параметры, обратитесь к документации по конфигурации.

    Использование редактора

    1. После установки редактора вы можете запустить его с помощью следующей команды:

      bash
      npx intlayer-editor start
      
      Обратите внимание, что ваше приложение должно работать параллельно. URL приложения должен совпадать с тем, который вы указали в конфигурации редактора (applicationURL).
    Учтите, что команда переэкспортируется пакетом intlayer. Вместо этого вы можете использовать npx intlayer editor start.
    1. Затем откройте предоставленный URL. По умолчанию http://localhost:8000.

      Вы можете просмотреть каждое поле, индексированное Intlayer, наведя курсор на ваш контент.

      Наведение на контент

    2. Если ваш контент выделен, вы можете долго нажимать на него, чтобы отобразить панель редактирования.

    Конфигурация окружения

    Редактор можно настроить на использование конкретного файла окружения. Это полезно, когда вы хотите использовать один и тот же файл конфигурации для разработки и продакшена.

    Чтобы использовать конкретный файл окружения, вы можете использовать флаг --env-file или -f при запуске редактора:

    bash
    npx intlayer-editor start -f .env.development
    
    Обратите внимание, что файл окружения должен находиться в корневой директории вашего проекта.

    Или вы можете использовать флаг --env или -e, чтобы указать окружение:

    bash
    npx intlayer-editor start -e development
    

    Отладка

    Если вы столкнулись с какими-либо проблемами с визуальным редактором, проверьте следующее:

    • Визуальный редактор и приложение работают.

    • Конфигурация editor правильно настроена в вашем файле конфигурации Intlayer.

      • Обязательные поля:
        • URL приложения должен совпадать с тем, который вы указали в конфигурации редактора (applicationURL).
    • Визуальный редактор использует iframe для отображения вашего сайта. Убедитесь, что политика безопасности контента (Content Security Policy, CSP) вашего сайта разрешает URL CMS в качестве frame-ancestors (по умолчанию http://localhost:8000). Проверьте консоль редактора на наличие ошибок.

    Часто задаваемые вопросы

    Визуальный редактор редактирует локальные словари и записывает изменение обратно в вашу кодовую базу, поэтому оно проходит через ваш обычный процесс проверки и развёртывания. CMS редактирует удалённые словари, которые меняются на работающем сайте без развёртывания. Редактор подходит для контента, которым владеют разработчики; CMS подходит для контента, которым владеет маркетинговая команда.

    Гораздо меньше, чем при подходе на основе пространств имён, потому что страница никогда не загружает каталог, который не отображает. Разметка, отрендеренная на сервере, разрешает свой контент на сервере, и компилятор во время сборки заменяет вызовы useIntlayer точными записями словаря, которые использует компонент, поэтому неиспользуемые ключи и неиспользуемые языки отбрасываются. Динамические словари разделяют остальное по локалям. По сравнению с обычными альтернативами Intlayer сокращает размер бандла и страницы до 50%. См. оптимизацию бандла и бенчмарк.

    Да, и есть два пути. Вы можете мигрировать контент постепенно с помощью руководства по миграции с i18next или руководства по миграции с next-intl. Или вы можете полностью сохранить свой текущий API: адаптеры совместимости предоставляют точно такой же API, как i18next, react-i18next, next-intl, next-i18next, react-intl, use-intl, vue-i18n и Lingui, но обслуживаемый словарями Intlayer, поэтому меняются импорты, а код компонентов - нет.

    Да. Плагин синхронизации JSON сохраняет ваши файлы /messages/{locale}/{namespace}.json как источник истины и генерирует из них словари Intlayer, в обоих направлениях. Плагин синхронизации PO делает то же самое для каталогов gettext, а файлы по локали позволяют разделить контент по языкам вместо группировки локалей в одном файле.

    Нет. Запустите npx intlayer extract, и Intlayer прочитает ваши исходные файлы, извлечёт строки, видимые пользователю, и запишет файл .content рядом с каждым из них, так что вы просматриваете diff вместо копирования строк в каталог по одной. См. команду extract.

    Для полностью автоматизированного конвейера Компилятор Intlayer делает то же самое во время сборки на исходном коде JSX, TSX, Vue и Svelte, генерируя словари при каждом изменении, поэтому нет ключей, которые нужно поддерживать вручную. Он работает через статический анализ, поэтому строки, существующие только во время выполнения, остаются недоступными, и ему нужно несколько аннотаций, чтобы отличать текст, видимый пользователю, от логики приложения.

    Пять компонентов, все опциональные:

    • Расширение для VS Code: переход от ключа useIntlayer к файлу контента, который его объявляет, извлечение контента из компонента и запуск build, fill, test, push и pull из палитры команд или отдельной вкладки Intlayer.
    • LSP-сервер: та же осведомлённость в любом редакторе, который говорит на LSP, с переходом к определению, поиском всех ссылок, предпросмотром переведённого значения при наведении, автодополнением ключей и полей и предупреждением, когда ключ нигде не объявлен. Он также разрешает вызовы i18next, react-i18next, next-intl и use-intl, что помогает при миграции.
    • MCP-сервер: предоставляет документацию и CLI Intlayer для Cursor, VS Code, Claude Desktop, Claude Code и ChatGPT, чтобы ассистент отвечал по актуальной документации, а не гадал, и мог сам запускать команды вроде intlayer fill.
    • Навыки агентов: сфокусированные навыки, такие как intlayer-config, intlayer-cli и intlayer-content, плюс по одному на фреймворк, которые обучают агента вашей настройке маршрутизации и типам узлов контента.
    • Плагин ESLint: no-raw-text помечает жёстко закодированные строки, с дополнительными правилами для статических ключей словаря и неиспользуемого контента.