@translatehub/vite-plugin
v1.0.1
Published
Vite plugin — downloads translations from TranslateHub at build time and generates TypeScript types
Maintainers
Readme
@translatehub/vite-plugin
Vite-плагин для TranslateHub — генерирует TypeScript-типы ключей переводов при сборке.
Установка
npm install -D @translatehub/vite-pluginИспользование
// vite.config.ts
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { translateHub } from '@translatehub/vite-plugin';
export default defineConfig({
plugins: [
react(),
translateHub({
apiKey: process.env.TRANSLATEHUB_API_KEY!,
languages: ['ru', 'en'],
}),
],
});Что делает плагин
При каждом vite dev / vite build плагин:
- Загружает ключи переводов из TranslateHub API
- Генерирует
src/types/translations.d.tsс union-типом всех ключей
// Пример сгенерированного файла
export type TranslationKey =
| 'nav.home'
| 'nav.about'
| 'checkout.button.submit'
| 'cart.empty.message';После этого t('nav.home') проверяется TypeScript — опечатки сразу видны в IDE.
Важно: переводы в runtime загружает
@translatehub/coreнапрямую через API. Изменение перевода появится в продакшне через TTL кэша (5 минут) — без пересборки.
Опции
| Параметр | Тип | По умолчанию | Описание |
|----------|-----|-------------|----------|
| apiKey | string | — | API-ключ проекта |
| languages | string[] | — | Список языков для генерации типов |
| generateTypes | boolean | true | Генерировать translations.d.ts |
| typesOutputPath | string | 'src/types/translations.d.ts' | Путь для файла с типами |
| downloadTranslations | boolean | false | Скачивать JSON-файлы в public/locales/ |
| outputDir | string | 'public/locales' | Папка для JSON-файлов |
Лицензия
MIT
