---
createdAt: 2025-09-22
updatedAt: 2025-09-22
title: Новый Intlayer v6 - Что нового?
description: Узнайте, что нового в Intlayer v6. Значительные улучшения в производительности, опыте разработчика и новые функции для улучшения вашего процесса интернационализации.
keywords:
  - Intlayer
  - Локализация
  - Разработка
  - Производительность
  - Опыт разработчика
  - Функции
  - React
  - Next.js
  - JavaScript
  - TypeScript
slugs:
  - doc
  - releases
  - v6
---

# Новый 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 packageManager="npm"
npx intlayer content test
```

```bash packageManager="yarn"
yarn intlayer content test
```

```bash packageManager="pnpm"
pnpm intlayer content test
```

```bash packageManager="bun"
bun x 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](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/index.md) → "Проверка отсутствующих переводов". А также руководство [Тестирование](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/testing.md).

---

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

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

```ts fileName="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 packageManager="npm"
npx intlayer fill
```

```bash packageManager="yarn"
yarn intlayer fill
```

```bash packageManager="pnpm"
pnpm intlayer fill
```

```bash packageManager="bun"
bun x 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](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/CI_CD.md).

---

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

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

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

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

Подробности смотрите в документации [Официальное расширение VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/vs_code_extension.md).

---

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

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

```bash packageManager="npm"
npx intlayer build
```

```bash packageManager="yarn"
yarn intlayer build
```

```bash packageManager="pnpm"
pnpm intlayer build
```

```bash packageManager="bun"
bun x 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мс)
```

---

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

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

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

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

Смотрите [Конфигурация](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/configuration.md) для всех опций логирования.

---

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

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

---

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

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

1. Включите режим живого импорта:

```ts fileName="intlayer.config.ts"
import { type IntlayerConfig } from "intlayer";

const config: IntlayerConfig = {
  build: {
    importMode: "live", // "static" | "dynamic" | "live"
  },
  editor: {
    liveSync: true, // включить живую синхронизацию на стороне сервера
  },
};

export default config;
```

2. Запустите приложение и процесс живого обновления параллельно:

```bash packageManager="npm"
npx intlayer live --with 'vite preview'
```

```bash packageManager="yarn"
yarn intlayer live --with 'vite preview'
```

```bash packageManager="pnpm"
pnpm intlayer live --with 'vite preview'
```

```bash packageManager="bun"
bun x intlayer live --with 'vite preview'
```

Примечания:

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

См. [CMS и Live Sync](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_CMS.md) и [Конфигурация](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/configuration.md) для полного руководства.

---

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

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

---

## Исправления

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

---

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

- [Справочник CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/index.md)
- [Автозаполнение](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/autoFill.md)
- [Конфигурация](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/configuration.md)
- [Справочник по файлам контента](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/dictionary/content_file.md)
- [Официальное расширение для VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/vs_code_extension.md)
- [CMS и синхронизация в реальном времени](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_CMS.md)
