ГлавнаяПесочницаВитринаПриложениеДокументБлог
    • 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+←
    Почему Intlayer?
    Начать
    Концепция
    • Как работает Intlayer
    • Конфигурация
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • Визуальный редактор
    • CMS
    • Интеграция CI/CD
    • ПереводМножественное числоПеречислениеУсловиеПолВставкаФайлВложенностьMarkdownHTMLПолучение функции
    • Файл для каждой локали
    • Компилятор
    • Автозаполнение
    • Тестирование
    • Оптимизация пакета
    Окружающая среда
    • Next.js 14 и App Router
      Next.js 15
      Next.js без locale URL
      Next.js и Page Router
      Compiler
    • Tanstack Start Solid
    • Astro и React
      Astro и Svelte
      Astro и Vue
      Astro и Solid
      Astro и Preact
      Astro и Lit
      Astro и Vanilla JS
    • React Router v7
      React Router v7 (fs-routes)
      Compiler
    • Nuxt и Vue
    • Vite и Solid
    • SvelteKit
    • Vite и Preact
    • Vite и Vanilla JS
    • Vite и Lit
    • Angular 19 (Webpack)
      Analog
    • React CRA
    • React Native и Expo
    • Express.js
      NestJS
      Fastify
      Hono
      Adonis
    • Lynx и React
    Plugins
    • JSON
    • gettext (.po)
    Расширение VS Code
    Агент
    • Сервер MCP
    • Навики агента
    Релизы
    • v8
    • v7
    • v6
    Бенчмарк
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    Блог
    Задать вопрос
    1. Documentation
    2. Релизы
    3. v6
    Создание:2025-09-22Последнее обновление:2025-09-22
    Ссылайтесь на этот документ на ваш любимый ассистент AI
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

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

    Этот документ устарел, базовая версия была обновлена 23 сентября 2025 г..

    Перейти к английской документации

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

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

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

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

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

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

      Новый 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 --with '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

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

      • Справочник CLI
      • Автозаполнение
      • Конфигурация
      • Справочник по файлам контента
      • Официальное расширение для VS Code
      • CMS и синхронизация в реальном времени
      v7
      Бенчмарк
      Alt+→

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

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

        npx intlayer content test
        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
        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;
        npx intlayer fill
        Затронутые ключи словарей для обработки: 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
        npx intlayer build
        [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мс)
        export default {  log: {    mode: "verbose", // опции: "default" | "verbose" | "disabled"  },};
        import { type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  build: {    importMode: "live", // "static" | "dynamic" | "live"  },  editor: {    liveSync: true, // включить живую синхронизацию на стороне сервера  },};export default config;
        npx intlayer live --with 'vite preview'