Расширенная конфигурация
Компилятор Lingo.dev предоставляет обширные возможности настройки для кастомизации поведения перевода и оптимизации вашего рабочего процесса локализации.
Настройки конфигурации
При внедрении компилятора в ваш проект вы можете передать объект настроек с следующими параметрами:
// Конфигурация по умолчанию
const compilerConfig = {
sourceRoot: "src",
lingoDir: "lingo",
sourceLocale: "en",
targetLocales: ["es"],
rsc: false,
debug: false,
models: {
// Кастомная конфигурация модели
"*:fr": "qwen/qwen3-32b",
"en:es": "meta-llama/llama-4-maverick-17b-128e-instruct",
"*:*": "qwen/qwen3-32b",
},
prompt:
"Вы — AI переводчик. Вы переводите с {SOURCE_LOCALE} на {TARGET_LOCALE}.",
};
// Next.js
lingoCompiler.next(compilerConfig)(nextConfig);
// Vite/React Router
lingoCompiler.vite(compilerConfig)(viteConfig);
Параметры конфигурации
sourceRoot- Путь к вашему исходному каталогу, где будет храниться директорияlingo/lingoDir- Название директории, содержащей файлы перевода (по умолчанию:"lingo")sourceLocale- Исходный язык вашего приложения (по умолчанию:"en")targetLocales- Массив целевых языков для переводаrsc- Включить поддержку React Server Components (по умолчанию:false)debug- Включить ведение журнала отладки для устранения неполадок (по умолчанию:false)models- Кастомная конфигурация AI моделей для определённых языковых пар (опционально)prompt- Кастомная подсказка для перевода с заполнителями (опционально)
Рекомендуемые модели Groq
Для достижения наилучших результатов мы протестировали и подтвердили качество следующих моделей GROQ для определённых локалей:
qwen/qwen3-32b
- ar - Арабский
- de - Немецкий
- fr - Французский
- pt-BR - Португальский (Бразилия)
meta-llama/llama-4-maverick-17b-128e-instruct
- es - Испанский
- ja - Японский
- ko - Корейский
- ru - Русский
- zh - Китайский
Вы также можете использовать модели от других поставщиков LLM.
Кастомная конфигурация модели
Вы можете настроить модели ИИ и подсказки прямо в конфигурации вашего компилятора:
const compilerConfig = {
sourceLocale: "en",
targetLocales: ["es", "fr", "de"],
models: {
"*:fr": "qwen/qwen3-32b",
"en:es": "meta-llama/llama-4-maverick-17b-128e-instruct",
"es:fr": "meta-llama/llama-4-maverick-17b-128e-instruct",
"*:*": "qwen/qwen3-32b",
},
prompt:
"Вы профессиональный переводчик, специализирующийся на технической документации. Переведите с {SOURCE_LOCALE} на {TARGET_LOCALE}, сохраняя техническую точность.",
};
Конфигурация модели
- Определите пары локалей как
source-locale:target-locale - Используйте
*как подстановочный знак для любой локали - Используйте
*:*как резервный вариант для всех переводов - Ознакомьтесь с альтернативными поставщиками LLM для всех доступных опций
Пользовательские подсказки
Вы можете задать пользовательские подсказки для перевода с заполнителями:
{SOURCE_LOCALE}- Код исходного языка{TARGET_LOCALE}- Код целевого языка
Для создания пользовательских глоссариев включите терминологию в вашу подсказку. Ознакомьтесь с подсказкой компилятора по умолчанию для лучших практик.
Нормализация сборки
Всегда выполняйте локальную сборку для продакшена перед фиксацией изменений:
npm run build
Это гарантирует, что файлы meta.json и dictionary.js в директории lingo/ содержат только строки, присутствующие в вашем приложении, и имеют правильный формат.
Настройка pre-commit hook
Настройте автоматическую нормализацию с использованием husky:
# Установите husky
npm install --save-dev husky
# Добавьте pre-commit hook
npx husky add .husky/pre-commit "npm run build"
Конфигурация для конкретной среды
Разработка
const isDev = process.env.NODE_ENV === "development";
const compilerConfig = {
debug: isDev,
targetLocales: isDev ? ["es"] : ["es", "fr", "de", "ja"],
};
Интеграция CI/CD
Для автоматизированных сборок убедитесь, что ваша среда CI имеет доступ к API-ключу для Lingo.dev или вашего настроенного поставщика LLM. Например, для Groq:
# GitHub Actions
GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}
# Vercel
GROQ_API_KEY=gsk_...
# Netlify
GROQ_API_KEY=gsk_...
Оптимизация производительности
Инкрементальная сборка
Компилятор автоматически:
- Отслеживает изменения контента с помощью создания отпечатков файлов
- Переводит только новый или изменённый контент
- Повторно использует существующие переводы для неизменённого контента
Оптимизация пакетов
- Пакеты для каждой локали - Загружаются только переводы для активной локали
- Tree shaking - Удаление неиспользуемых переводов из сборок для продакшена
- Разделение кода - Загрузка переводов по запросу для приложений с маршрутизацией
Устранение неполадок
Режим отладки
Включите ведение журнала отладки для устранения проблем:
const compilerConfig = {
debug: true,
// ... другие параметры
};
Распространённые проблемы
Отсутствующие переводы: Убедитесь, что вы выполнили команду npm run build локально и закоммитили директорию lingo/. Если вы используете NextJS, возможно, потребуется удалить директорию .next/, чтобы все файлы были пересобраны.
Ошибки сборки: Проверьте, что ваш ключ API для настроенного LLM-провайдера правильно установлен в переменных окружения.
Проблемы с производительностью: Включите режим отладки, чтобы выявить узкие места в процессе компиляции.
Следующие шаги
- FAQ: Часто задаваемые вопросы и устранение неполадок
- Руководства по фреймворкам: Next.js, React Router, Vite
- Как это работает: Понимание процесса сборки