Автор:
    Дата створення:2025-08-23Останнє оновлення:2025-09-23

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

    youtube.com

    Intlayer Visual Editor, це інструмент, який обгортає ваш вебсайт для взаємодії з файлами декларації контенту за допомогою візуального редактора.

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

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

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

    Intlayer Visual editor, це інструмент, який дозволяє керувати вашим контентом у візуальному редакторі для локальних словників. Після внесення зміни вміст буде замінено в code-base. Це означає, що застосунок буде перебудований, а сторінка перезавантажена для відображення нового контенту.

    На відміну від цього, Intlayer CMS, це інструмент, який дозволяє керувати вашим контентом у візуальному редакторі для віддалених словників. Після внесення змін, контент не впливає на ваш code-base. А вебсайт автоматично відобразить змінений контент.

    Інтегруйте Intlayer у ваш застосунок

    Для детальнішої інформації про те, як інтегрувати intlayer, див. відповідний розділ нижче:

    Інтеграція з Next.js

    Для інтеграції з Next.js зверніться до інструкції з налаштування.

    Інтеграція з Create React App

    Для інтеграції з Create React App зверніться до керівництва з налаштування.

    Інтеграція з Vite + React

    Для інтеграції з Vite + React зверніться до керівництва з налаштування.

    Як працює Intlayer Editor

    Візуальний редактор у застосунку складається з двох частин:

    • Фронтенд-додаток, який відображає ваш вебсайт у iframe. Якщо ваш сайт використовує Intlayer, візуальний редактор автоматично виявить ваш контент і дозволить взаємодіяти з ним. Після внесення змін ви зможете завантажити свої зміни.

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

    Зауважте, що Intlayer Editor запише ваші файли декларацій вмісту як JSON, якщо розширення файлу, .json. Якщо розширення файлу, .ts, .tsx, .js, .jsx, .mjs, .cjs, він запише файл як JavaScript-файл, використовуючи babel-трансформер.

    Встановлення

    Після того як 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`, редактор неактивний і до нього неможливо отримати доступ.
         * Може використовуватися для відключення редактора в певних середовищах з міркувань безпеки, таких як production.
         */
        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 натомість.
    2. Потім відкрийте вказаний URL. За замовчуванням, http://localhost:8000.

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

      Наведіть курсор на вміст

    3. Якщо ваш контент має контур, ви можете натиснути і утримувати його, щоб відобразити панель редагування.

    Конфігурація середовища

    Редактор можна налаштувати на використання конкретного файлу середовища. Це корисно, коли ви хочете використовувати той самий файл конфігурації для development та production.

    Щоб використовувати конкретний файл середовища, ви можете вказати прапорець --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 за замовчуванням). Перевірте консоль редактора на наявність помилок.

    Часто задавані запитання

    Візуальний редактор змінює локальні словники і записує зміни безпосередньо у файли коду, тому вони проходять стандартну процедуру Git. CMS зберігає тексти на віддаленому сервері для миттєвої публікації без нового білду.

    Значно менше, ніж рішення на основі просторів імен (namespaces), оскільки сторінка ніколи не завантажує каталог, який вона не рендерить. Розмітка, що рендериться на сервері, отримує свій контент безпосередньо на сервері, а компілятор під час збирання замінює виклики useIntlayer точними записами словника, які використовує компонент, тому невикористані ключі та мови видаляються. Динамічні словники розділяють залишок за окремими локалями. У порівнянні зі звичними альтернативами Intlayer зменшує розмір бандла та сторінки до 50%. Див. оптимізацію бандла та бенчмарк.

    Так, і для цього є два шляхи. Ви можете переносити контент поступово, користуючись посібником з міграції з i18next або посібником з міграції з next-intl. Або ви можете повністю зберегти свій поточний API: адаптери сумісності надають абсолютно той самий інтерфейс, що й i18next, react-i18next, next-intl, next-i18next, react-intl, use-intl, vue-i18n та Lingui, але дані беруться зі словників Intlayer, завдяки чому змінюються лише імпорти, а код компонентів залишається незмінним.

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

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

    Для повністю автоматизованого робочого процесу Intlayer Compiler робить те саме під час збирання у коді 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.
    • Навички агента (Agent skills): спеціалізовані навички intlayer-config, intlayer-cli та intlayer-content.
    • Плагін ESLint: правило no-raw-text відстежує жорстко закодовані рядки.