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

    Обзор

    Роль Intlayer заключается в интерпретации файлов декларации содержимого JavaScript в словари.

    Для этого Intlayer проходит через несколько этапов:

    1. Декларация файлов содержимого

      • Файлы содержимого могут определяться в различных форматах, таких как TypeScript, ECMAScript, CommonJS или JSON.
      • Файлы содержимого могут быть определены в любом месте проекта, что позволяет обеспечить лучшую поддержку и масштабируемость. Важно соблюдать соглашения об именах файлов для файлов содержимого. Это расширение по умолчанию *.content.{js|cjs|mjs|ts|tsx|json}, но его можно изменить в конфигурационном файле.
    2. Генерация словарей

      • Словари генерируются из файлов содержимого. По умолчанию словари Intlayer создаются в директории .intlayer/dictionary проекта.
      • Могут быть сгенерированы две категории словарей: словари Intlayer и словари i18n (beta).
    3. Генерация типов словарей

      • Типы словарей генерируются из словарей Intlayer. По умолчанию типы словарей Intlayer создаются в директории .intlayer/types проекта.
    4. Генерация дополнений модуля Intlayer

      • Дополнения модуля Intlayer module augmentation — это функция TypeScript, которая позволяет определять дополнительные типы для Intlayer. Это облегчает опыт разработки, предлагая доступные аргументы или необходимые аргументы. Среди сгенерированных типов типы словарей Intlayer или даже типы конфигурации языка добавляются в файл types/intlayer.d.ts и используются другими пакетами. Для этого необходимо, чтобы файл tsconfig.json был настроен для включения директории .intlayer/types проекта.
    5. Мониторинг файлов содержимого

      • Файлы содержимого отслеживаются, чтобы быть сгенерированными каждый раз, когда они изменяются.
    6. Интерпретация словарей

      • Словари в конечном итоге интерпретируются для использования в приложениях.

    Пакеты

    Intlayer состоит из нескольких пакетов, каждый из которых выполняет определенную роль в процессе перевода. Вот графическое представление структуры этого пакета:

    пакеты intlayer

    intlayer

    Пакет intlayer используется в приложениях для объявления содержимого в файлах содержимого.

    react-intlayer

    Пакет react-intlayer используется для интерпретации словарей intlayer и их использования в приложениях React.

    next-intlayer

    Пакет next-intlayer используется как слой поверх react-intlayer, чтобы сделать словари intlayer доступными в приложениях Next.js. Он интегрирует основные функции, чтобы сделать Intlayer работающим в среде Next.js, такие как промежуточное программное обеспечение для перевода, маршрутизация или конфигурация файла next.config.js.

    intlayer-editor

    Пакет intlayer-editor используется для возможности использования визуального редактора. Этот пакет, необязательный, можно установить в приложения, и он будет использоваться пакетом react-intlayer. Он состоит из двух частей: сервера и клиента.

    Клиент содержит элементы пользовательского интерфейса, которые будут использоваться пакетом react-intlayer.

    Сервер, основанный на Express, используется для получения визуальных запросов редактора и управления или изменения файлов содержимого.

    intlayer-cli

    Пакет intlayer-cli можно использовать для генерации словарей с помощью команды npx intlayer build. Если intlayer уже установлен, cli автоматически устанавливается, и этот пакет не требуется.

    @intlayer/core

    Пакет @intlayer/core является основным пакетом Intlayer. Он содержит функции управления переводом и словарями. @intlayer/core мультиплатформен и используется другими пакетами для выполнения интерпретации словарей.

    @intlayer/config

    Пакет @intlayer/config используется для настройки параметров Intlayer, таких как доступные языки, параметры промежуточного программного обеспечения Next.js или настройки интегрированного редактора.

    @intlayer/webpack

    Пакет @intlayer/webpack используется для добавления плагинов компиляции в Next.js и React.

    @intlayer/cli

    Пакет @intlayer/cli используется для обеспечения единообразия всех команд CLI intlayer.

    @intlayer/dictionaries-entry

    Пакет @intlayer/dictionaries-entry — это пакет, который только возвращает путь входа словарей intlayer. Поскольку поиск файловой системы невозможен из браузера, использование сборщиков, таких как Webpack или Rollup, для получения пути входа словарей невозможно. Этот пакет предназначен для алиасов.

    @intlayer/chokidar

    Пакет @intlayer/chokidar используется для мониторинга файлов содержимого и регенерации измененного словаря при каждом изменении.

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

    Ссылка на документацию GitHub