Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
История версий
- "Update Solid useIntlayer API usage to direct property access"v8.9.004.05.2026
- "Update compiler options, add FilePathPattern support"v8.2.009.03.2026
- "Initial release"v8.1.623.02.2026
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомЕсли у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHubКопировать Markdown документа в буфер обмена
Как постфактум сделать существующее приложение Vite и React многоязычным (i18n руководство 2026)
Добавить интернационализацию (i18n) в проект Vite и React с самого начала относительно просто. Но что делать, если у вас уже есть готовое production-приложение на одном языке, и вам нужно сделать его мультиязычным постфактум?
С традиционными библиотеками вроде react-i18next или react-intl это превращается в кошмар:
- Поиск захардкоженных строк в сотнях файлов JSX и TSX.
- Создание вложенных JSON-словарей и придумывание произвольных ключей перевода (
components.header.titleи т. д.). - Замена текста интерфейса на громоздкие вызовы хуков (
t('...')). - Переработка клиентской маршрутизации, управления состоянием и логики переключения языков.
В 2026 году вам больше не нужно переписывать свой проект. С Intlayer вы можете локализовать существующее приложение Vite и React за считанные минуты благодаря автоматическому извлечению, переводу с помощью ИИ и бесшовной интеграции.
Ищете подробное пошаговое техническое руководство для Vite и React? Ознакомьтесь с документацией: Локализация Vite и React с Intlayer.
Содержание
Дилемма доработки: почему локализация готового приложения трудна
Разработчики сталкиваются с тремя сложностями при локализации существующего приложения Vite и React:
- Разрушение структуры кодовой базы: Ручное извлечение строк в файлы JSON требует изменения почти каждого компонента. Это приводит к огромным diff в git, конфликтам слияния и потенциальным визуальным регрессиям.
- Сложность управления ключами: Выдумывание ключей вроде
dashboard.hero.ctaButtonдля каждой фразы замедляет разработку и создает когнитивную нагрузку при каждом изменении текстов. - Рутинный перевод: После извлечения строк их перевод на 5, 10 или 20 языков требует бесконечного копирования или дорогостоящих внешних сервисов локализации.
Intlayer решает эти проблемы на уровне архитектуры с помощью извлечения на базе компилятора, декларативных словарей на уровне компонентов и нативной интеграции с Vite.
Автоматизированное извлечение контента (без ручного поиска строк)
Вместо того чтобы вручную извлекать каждую строку из вашего JSX, Intlayer предлагает два удобных пути:
Вариант A: CLI-инструмент извлечения (npx intlayer extract)
Вы можете запустить утилиту извлечения Intlayer прямо в вашей кодовой базе:
Копировать код в буфер обмена
Эта команда сканирует компоненты React, находит отображаемый текст и автоматически создает файлы декларации контента (.content.ts) рядом с соответствующими компонентами. Ваш код остается декларативным, понятным и строго типизированным без ручного ввода ключей.
Вариант B: Компилятор Intlayer (Извлечение во время сборки)
При включенном компиляторе Intlayer вы можете продолжать писать компоненты с обычным текстом на вашем языке по умолчанию. Во время сборки компилятор извлекает строки и внедряет локализованный контент автоматически:
Копировать код в буфер обмена
Под капотом Intlayer формирует словарь и связывает компонент с локализованными данными, полностью избавляя от необходимости ручного рефакторинга.
В этом случае генерируется файл src/App.content.ts со следующей структурой:
Копировать код в буфер обмена
Перевод с помощью ИИ и вашей любимой LLM
После извлечения контента его перевод на десятки языков не должен занимать дни. Intlayer предоставляет встроенный CLI для перевода через OpenAI, Anthropic, DeepSeek или Mistral с использованием ваших собственных API-ключей:
Копировать код в буфер обмена
Настройте список языков и ИИ-провайдера в intlayer.config.ts:
Копировать код в буфер обмена
Вызов npx intlayer fill заполняет декларации точными переводами для всех настроенных языков:
Копировать код в буфер обмена
Благодаря тому, что Intlayer передает контекст приложения applicationContext в модель, переводы сохраняют техническую терминологию, корпоративный стиль и грамматические нюансы гораздо лучше традиционных средств перевода.
Для проверки отсутствия непереведенных строк перед деплоем:
Копировать код в буфер обмена
Интеграция с Vite и настройка Provider
Интеграция Intlayer в Vite требует лишь подключения плагина в vite.config.ts и оборачивания корневого компонента в IntlayerProvider:
Копировать код в буфер обмена
Начиная с Intlayer v9, компилятор включен непосредственно в плагинintlayer()и активируется автоматически при настройкеcompiler.enabledвintlayer.config.ts.
Оберните приложение компонентом IntlayerProvider:
Копировать код в буфер обмена
Динамическое переключение языка
Меняйте язык в любой части приложения с помощью хука useLocale:
Копировать код в буфер обмена
Многоязычное SEO (Sitemap и Robots.txt)
Intlayer включает утилиты вроде generateSitemap и getMultilingualUrls, которые генерируют файлы sitemap.xml и robots.txt для статических сборок Vite:
Копировать код в буфер обмена
Добавьте команду prebuild в ваш package.json, чтобы запускать скрипт перед vite build:
Копировать код в буфер обмена
Подробное руководство: Готовы к пошаговой настройке?
Этот материал дал концептуальное представление о том, как добавить интернационализацию в существующий проект Vite и React в 2026 году без лишних сложностей.
Если вы хотите детально настроить каждый элемент приложения, включая строгую типизацию TypeScript, динамические словари и визуальный редактор, перейдите к подробному руководству:
👉 Полное руководство по переводу Vite и React с Intlayer
Часто задаваемые вопросы (FAQ)
Да. Вы можете использовать npx intlayer extract для автоматического нахождения и извлечения строк в локализованные файлы объявлений, либо использовать компилятор Intlayer, трансформирующий компоненты во время сборки, пока вы пишете стандартный JSX.
Intlayer распределяет словари по отдельным компонентам и использует макро-оптимизацию во время сборки. В бандл попадают только строки, нужные отображаемым компонентам, вместо загрузки гигантских JSON-файлов. Динамические словари также позволяют подгружать языки по мере необходимости.
Да. В CLI Intlayer есть команда npx intlayer fill, которая подключается к выбранной LLM (OpenAI, Anthropic, Mistral, DeepSeek) для генерации контекстных переводов по всем настроенным языкам.
Да. Intlayer предоставляет адаптеры совместимости для react-i18next и react-intl, а также плагины для автоматической синхронизации существующих JSON-словарей (sync-json).
Комментарии
Пока нет комментариев. Будьте первым, кто поделится своими мыслями.
