Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Історія версій
- "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
Вміст цієї сторінки перекладено за допомогою штучного інтелекту.
Переглянути останню версію оригінального вмісту англійськоюЯкщо у вас є ідея щодо покращення цієї документації, будь ласка, долучіться, надіславши pull request на 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-словники потребує модифікації майже кожного файлу компонента. Це призводить до гігантських Git-diffs, ризиків конфліктів злиття та можливих регресій у верстці.
- Накладні витрати на керування ключами: Вигадування ключів на кшталт
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, яка підключається до обраного постачальника ШІ (OpenAI, Anthropic, Mistral, DeepSeek) для генерації контекстних перекладів для всіх налаштованих мов.
Так. Intlayer надає адаптери сумісності для react-i18next та react-intl, а також плагіни для автоматичної синхронізації наявних JSON-файлів перекладу (sync-json).
Коментарі
Поки що немає коментарів. Будьте першим, хто поділиться своїми думками.
