Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
История версий
- "Обновлено использование API Solid useIntlayer для прямого доступа к свойствам"v8.9.004.05.2026
- "Релиз стабильной версии"v8.0.026.01.2026
- "Добавлена команда init"v8.0.030.12.2025
- "Первая запись"v5.5.1029.06.2025
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомЕсли у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHubКопировать Markdown документа в буфер обмена
Переведите ваш веб-сайт на Angular 21 (Vite) с помощью Intlayer | Интернационализация (i18n)
Оглавление
Почему Intlayer лучше альтернатив?
По сравнению с основными решениями, такими как ngx-translate или angular-l10n, Intlayer — это решение со встроенными оптимизациями, такими как:
Intlayer оптимизирован для идеальной работы с Angular, предлагая охват контента на уровне компонентов, отложенные переводы и все функции, необходимые для масштабирования интернационализации (i18n).
Вместо загрузки огромных файлов JSON на свои страницы загружайте только необходимый контент. Intlayer помогает уменьшить размер бандла и страниц до 50 %.
Определение области содержимого вашего приложения облегчает обслуживание крупномасштабных приложений. Вы можете дублировать или удалить отдельную папку функций, не утруждав себя мысленным бременем проверки всей кодовой базы контента. Кроме того, Intlayer полностью типизирован, что обеспечивает точность вашего контента.
Совместное размещение контента уменьшает контекст, необходимый для моделей большого языка (LLM). Intlayer также поставляется с набором инструментов, таких как CLI для проверки отсутствия переводов,LSP, MCP, и навыки агента, чтобы сделать работу разработчика (DX) еще более удобной для агентов ИИ.
Используйте автоматизацию для перевода в своем конвейере CI/CD, используя LLM по вашему выбору за счет вашего поставщика ИИ. Intlayer также предлагает компилятор для автоматизации извлечения контента, а также веб-платформу, которая помогает переводить в фоновом режиме.
Подключение больших файлов JSON к компонентам может привести к проблемам с производительностью и реактивностью. Intlayer оптимизирует загрузку контента во время сборки (build time).
Intlayer — это больше, чем просто решение i18n. Он предоставляет автономный визуальный редактор и полный CMS, чтобы помочь вам управлять многоязычным контентом в реальном времени, упрощая сотрудничество с переводчиками, копирайтерами и другими членами команды. Контент может храниться локально и/или удаленно.
Пошаговое руководство по настройке Intlayer в приложении Angular
Смотрите Шаблон Приложения на GitHub.
Установка зависимостей
Установите необходимые пакеты с помощью npm:
bashКопировать кодКопировать код в буфер обмена
intlayer
Основной пакет, предоставляющий инструменты интернационализации для управления конфигурацией, перевода, объявления контента, транспиляции и CLI-команд.
angular-intlayer Пакет, который интегрирует Intlayer с приложением Angular. Он предоставляет контекстные провайдеры и хуки для интернационализации Angular.
@angular-builders/custom-esbuild Необходим для настройки конфигурации esbuild в Angular CLI.
Настройка вашего проекта
Создайте конфигурационный файл для настройки языков вашего приложения:
intlayer.config.tsКопировать кодКопировать код в буфер обмена
import { Locales, type IntlayerConfig } from "intlayer"; const config: IntlayerConfig = { internationalization: { locales: [ Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH, // Другие языки ], defaultLocale: Locales.ENGLISH, }, }; export default config;Через этот конфигурационный файл вы можете настроить локализованные URL, редиректы, названия cookie, расположение и расширение файлов ваших деклараций контента, отключить логи Intlayer в консоли и многое другое. Полный список доступных параметров см. в документации по конфигурации.
Интеграция Intlayer в конфигурацию Angular
Чтобы интегрировать Intlayer с Angular CLI, вам необходимо использовать кастомный сборщик. В этом руководстве предполагается, что вы используете Vite/esbuild (по умолчанию для проектов Angular 21).
Сначала измените ваш
angular.jsonдля использования пользовательского esbuild. Обновите конфигурацииbuildиserve:angular.jsonКопировать кодКопировать код в буфер обмена
Не забудьте заменить
your-app-nameна фактическое название вашего проекта вangular.json.Далее создайте файл
esbuild.plugins.tsв корневом каталоге вашего проекта:esbuild.plugins.tsКопировать кодКопировать код в буфер обмена
Функция
intlayerEsbuildPluginконфигурирует esbuild с Intlayer. Она внедряет плагин для обработки файлов деклараций контента и устанавливает настройки для достижения максимальной производительности.Пользователи NX: Сборщики Angular в NX загружают файлы плагинов через собственное разрешение ESM в Node и не компилируют файлы плагинов TypeScript на лету. Используйте вместо этого файл
.mjsи соответствующим образом обновите ссылкуpluginsвangular.json:esbuild.plugins.mjsКопировать кодКопировать код в буфер обмена
Затем в
angular.jsonукажите"./esbuild.plugins.mjs"вместо"./esbuild.plugins.ts".Объявите свой контент
Создавайте и управляйте декларациями вашего контента для хранения переводов:
Ваши декларации контента могут быть определены в любом месте вашего приложения, при условии, что они находятся в каталоге
contentDir(по умолчанию./src). А также они должны соответствовать расширению файлов для деклараций контента (по умолчанию.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}).Подробнее см. в документации по декларации контента.
Использование Intlayer в вашем коде
Чтобы использовать функции интернационализации Intlayer во всем вашем приложении Angular, вам необходимо предоставить Intlayer в конфигурации приложения.
src/app/app.config.tsКопировать кодКопировать код в буфер обмена
После этого вы можете использовать функцию
useIntlayerвнутри любого компонента.src/app/app.component.tsКопировать кодКопировать код в буфер обмена
А в вашем шаблоне:
src/app/app.component.htmlКопировать кодКопировать код в буфер обмена
Контент Intlayer возвращается как сигнал (
Signal), поэтому вы обращаетесь к значениям, вызывая сигнал:content().title.Изменение языка контента
НеобязательноЧтобы изменить язык контента, вы можете использовать функцию
setLocale, предоставляемую функциейuseLocale. Это позволяет устанавливать локаль приложения и соответствующим образом обновлять контент.Создайте компонент для переключения между языками:
src/app/locale-switcher.component.tsКопировать кодКопировать код в буфер обмена
Затем используйте этот компонент в
app.component.ts:src/app/app.component.tsКопировать кодКопировать код в буфер обмена
Настройка TypeScript
Intlayer использует расширение модулей (Module Augmentation) для использования преимуществ TypeScript и создания более надежной кодовой базы.


Убедитесь, что ваша конфигурация TypeScript включает автосгенерированные типы.
Копировать код в буфер обмена
Конфигурация Git
Рекомендуется игнорировать файлы, сгенерированные Intlayer. Это позволит вам не коммитить их в ваш Git-репозиторий.
Для этого вы можете добавить следующие инструкции в файл .gitignore:
Копировать код в буфер обмена
Расширение для VS Code
Чтобы улучшить процесс разработки с Intlayer, вы можете установить официальное Расширение Intlayer для VS Code.
Установите из VS Code Marketplace
Это расширение предоставляет:
- Автодополнение для ключей перевода.
- Обнаружение ошибок в реальном времени для недостающих переводов.
- Встроенный предварительный просмотр переведенного контента.
- Быстрые действия для удобного создания и обновления переводов.
Подробнее о том, как использовать расширение, см. в документации к расширению Intlayer для VS Code.
Идти дальше
Чтобы пойти дальше, вы можете реализовать визуальный редактор или экстернализовать свой контент с помощью CMS.