Получайте уведомления о предстоящих релизах Intlayer
    Создание:2025-09-22Последнее обновление:2025-09-22

    Новый Intlayer v6 - Что нового?

    Добро пожаловать в Intlayer v6! Этот релиз сосредоточен на производительности, опыте разработчика и надежности. Ниже приведены основные моменты, а также заметки по миграции и примеры для копирования.

    Основные моменты

    • Новая команда: npx intlayer content test для обнаружения отсутствующих переводов
    • Новая глобальная опция autoFill для автоматической генерации отсутствующих переводов
    • Команда fill по умолчанию пропускает существующие переводы: npx intlayer fill
    • Расширение VS Code: новая панель активности Intlayer (Поиск и Словари), действия на панели инструментов/контекстные действия, автоматическое раскрытие, команды Fill/Test
    • Сборки стали в 10 раз быстрее благодаря параллелизации промисов
    • Кэширование удалённых словарей для избежания повторного запроса при запуске приложения
    • Улучшенное логирование: установите log.mode: 'verbose' для детального анализа поведения
    • Усиленная валидация для предотвращения сбоев приложения из-за проблем со словарём
    • Живые обновления с CMS с использованием build.importMode = 'live' и pnpm intlayer live
    • Исправления: интеграция с Vue.js, адаптер Lynx, Визуальный редактор на Windows

    Новое: Тестирование отсутствующих переводов

    Быстро проверьте ваш проект, чтобы найти отсутствующие ключи/локали.

    bash
    npx intlayer content test

    Output:

    bash
    pnpm intlayer content testОтсутствующие переводы: - blog-data       - Японский (ja), Корейский (ko), Китайский (zh), Немецкий (de), Итальянский (it) - src/components/BlogPage/blogData.content.ts - demo-page       - Французский (fr), Итальянский (it)                                         - src/components/DemoPage/demo.content.ts - locale-switcher - Итальянский (it), Португальский (pt)                                       - src/components/LocaleSwitcher/localeSwitcher.content.tsЛокали: Английский (en), Русский (ru), Японский (ja), Французский (fr), Корейский (ko), Китайский (zh), Испанский (es), Немецкий (de), Арабский (ar), Итальянский (it), Британский английский (en-GB), Португальский (pt), Хинди (hi)Обязательные локали: Английский (en)Отсутствующие локали: Японский (ja), Корейский (ko), Китайский (zh), Немецкий (de), Итальянский (it), Французский (fr), Португальский (pt)Отсутствующие обязательные локали: -Всего отсутствующих локалей: 7Всего отсутствующих обязательных локалей: 0

    См. больше опций в документации CLI: Справочник CLI → "Проверка отсутствующих переводов". А также руководство Тестирование.


    Новинка: Глобальный autoFill для автоматического заполнения отсутствующих переводов

    Теперь вы можете включить авто-заполнение глобально, чтобы любой словарь с отсутствующими переводами автоматически дополнялся.

    intlayer.config.ts
    import { type IntlayerConfig, Locales } from "intlayer";const config: IntlayerConfig = {  internationalization: {    locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],    defaultLocale: Locales.ENGLISH,    requiredLocales: [Locales.ENGLISH, Locales.FRENCH],  },  content: {    // Автоматически генерировать отсутствующие переводы для всех словарей    autoFill: "./{{fileName}}.content.ts",    //    // autoFill: "/messages/{{locale}}/{{key}}/{{fileName}}.content.json",    //    // autoFill: true, // автоматически генерировать отсутствующие переводы для всех словарей, используя "./{{fileName}}.content.json"    //    // autoFill: {    //   en: "./{{fileName}}.en.content.json",    //   fr: "./{{fileName}}.fr.content.json",    //   es: "./{{fileName}}.es.content.json",    // },  },};export default config;

    Вы все еще можете тонко настраивать каждый словарь, используя поле autoFill в файлах контента. Полную справку смотрите в doc/autoFill и doc/dictionary/content_file.


    Команда fill: более безопасные настройки по умолчанию

    Команда fill теперь по умолчанию заполняет только отсутствующие переводы и пропускает уже существующий контент.

    bash
    npx intlayer fill
    bash
    Затронутые ключи словарей для обработки: access-key-creation-form-schema, doc-search-metadata, doc-search-page  - [access-key-creation-form-schema]      У словаря нет пути к файлу. Пропуск.  - [access-key-creation-form-schema]      Обработка декларации контента: src/components/Dashboard/ProjectForm/AccessKey/useAccessKeyCreationFormSchema.content.ts  - [access-key-creation-form-schema]      Нет локалей для заполнения - пропуск словаря  - [doc-search-metadata]                  Словарь не имеет пути к файлу. Пропуск.  - [doc-search-metadata]                  Обработка объявления контента: src/app/[locale]/(docs)/doc/search/metadata.content.ts  - [doc-search-metadata]                  Нет локалей для заполнения - пропуск словаря  - [doc-search-page]                      Словарь не имеет пути к файлу. Пропуск.  - [doc-search-page]                      Обработка объявления контента: src/app/[locale]/(docs)/doc/search/page.content.ts  - [doc-search-page]                     [Русский (ru)]                   Подготовка перевода словаря с английского (en) на русский (ru)[intlayer]  Применено форматирование Prettier к src/app/[locale]/(docs)/doc/search/page.content.ts  - [doc-search-page]                      Объявление контента записано в src/app/[locale]/(docs)/doc/search/page.content.ts

    Примеры CI доступны в разделе CI/CD.


    Обновленное расширение VS Code

    Теперь расширение включает выделенную вкладку Intlayer в панели активности и несколько улучшений рабочего процесса:

    • Панель активности Intlayer с двумя представлениями:
      • Веб-просмотр поиска (intlayer.searchBar) для живого поиска по словарю/контенту
      • Дерево словарей (intlayer.dictionaries), отображающее окружения, словари и участвующие файлы
    • Панель инструментов в представлении словарей: Build, Pull, Push, Fill, Refresh, Test, Create Dictionary File
    • Контекстные меню: Pull/Push для словарей; Fill для файлов

    • Автоматическое выделение: текущий файл редактора подсвечивается в дереве словарей, если применимо
    • Новые команды доступны из Палитры команд: Заполнить словари и Тестировать словари

    Подробности смотрите в документации Официальное расширение VS Code.


    Производительность: в 10 раз быстрее

    • Параллельное разрешение локальных и удалённых словарей
    • Удалённые словари кэшируются, чтобы избежать повторного запроса при запуске приложения
    bash
    npx intlayer build

    Вывод:

    bash
    [intlayer]  Подготовка Intlayer (v6.0.1)[intlayer]  Словари:[intlayer]  ✓ Локальный контент: 163/163[intlayer]  ✓ Удалённый контент: 100/100[intlayer]   - access-key-creation-form             [local: ✔ построен] [distant: ✔ импортирован][intlayer]   - access-key-creation-form-schema      [local: ✔ построено] [distant: ✔ импортировано][intlayer]   - access-key-form                      [local: ✔ построено] [distant: ✔ импортировано][intlayer]   - ai-ab-testing-section                                 [distant: ✔ импортировано][intlayer]   - application-not-running-view         [local: ✔ построено] [distant: ✔ импортировано][intlayer]   - application-template-message         [local: ✔ построено] [distant: ✔ получено][intlayer]   - aside-navigation                     [local: ✔ построено] [distant: ✔ импортировано][intlayer]   - ask-reset-password                   [local: ✔ построено] [distant: ✔ импортировано][intlayer]   - ask-reset-password-schema            [local: ✔ построено] [distant: ✔ импортировано][intlayer]   - autocompletion-section               [local: ✔ построено] [distant: ✔ получено][intlayer]   - available-techno-section             [local: ✔ построено] [distant: ✔ импортировано][intlayer]   - blog-data                            [local: ✔ построено][intlayer]   - blog-metadata                        [local: ✔ построено][intlayer]   - blog-nav-list                        [local: ✔ построено] [distant: ✔ импортировано][intlayer]   - blog-page                                             [distant: ✔ получено][intlayer]   - blog-search-metadata                 [local: ✔ построено] [distant: ✔ импортировано][intlayer]   - blog-search-page                     [local: ✔ построено] [distant: ✔ импортировано]...[intlayer]  Контент загружен  (Всего: 8401мс - Локально: 4050мс - Удаленно: 4222мс)

    Улучшения логирования

    Система логирования была улучшена для предоставления более подробной информации о том, что происходит во время сборки и выполнения трансформаций.

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

    intlayer.config.ts
    export default {  log: {    mode: "verbose", // опции: "default" | "verbose" | "disabled"  },};

    Смотрите Конфигурация для всех опций логирования.


    Усиленная валидация

    Обработка словарей теперь выполняет более надежную валидацию. Когда словарь не удается обработать, Intlayer предотвращает сбой вашего приложения и выводит понятные ошибки.


    Живые обновления с CMS (безопасно для продакшена)

    Обеспечьте обновление контента в реальном времени (например, редакционные обновления) в продакшене без необходимости пересобирать приложение.

    1. Включите режим живого импорта:
    intlayer.config.ts
    import { type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  build: {    importMode: "live", // "static" | "dynamic" | "live"  },  editor: {    liveSync: true, // включить живую синхронизацию на стороне сервера  },};export default config;
    1. Запустите приложение и процесс живого обновления параллельно:
    bash
    npx intlayer live --process 'vite preview'

    Примечания:

    • Только словари, помеченные для использования живого режима, будут загружаться в реальном времени. Остальные оптимизированы для производительности.
    • При недоступности живого API происходит возврат к динамическому импорту.

    См. CMS и Live Sync и Конфигурация для полного руководства.


    Заметки по миграции

    • Удалено: dictionaryOutput (ранее i18next или next-intl). Это вернется в виде подключаемых адаптеров в будущих версиях. Удалите это поле из вашей конфигурации.
    • Связанное удаление: i18nextResourcesDir (см. журнал изменений doc/configuration).
    • Предпочитайте новую глобальную опцию content.autoFill для массовой генерации отсутствующих переводов.
    • Используйте npx intlayer content test для проверки PR на наличие отсутствующих переводов.
    • Для подробной диагностики установите log.mode = 'verbose'.

    Исправления

    • Стабильность интеграции с Vue.js
    • Улучшения адаптера Lynx
    • Визуальный редактор в Windows

    Полезные ссылки

    Получайте уведомления о предстоящих релизах Intlayer