Расширенная конфигурация
Компилятор Lingo.dev предоставляет обширные возможности настройки для кастомизации поведения перевода и оптимизации вашего рабочего процесса локализации.
Настройки конфигурации
При внедрении компилятора в ваш проект вы можете передать объект настроек со следующими параметрами:
// Конфигурация по умолчанию
const compilerConfig = {
sourceRoot: "src",
lingoDir: "lingo",
sourceLocale: "en",
targetLocales: ["es"],
rsc: false,
debug: false,
models: {
// Настройка пользовательской модели
"*:fr": "mistral-saba-24b",
"en:es": "meta-llama/llama-4-maverick-17b-128e-instruct",
"*:*": "mistral-saba-24b",
},
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
- Настройка пользовательских моделей ИИ для определённых языковых пар (опционально)prompt
- Пользовательская подсказка для перевода с заполнителями (опционально)
Рекомендуемые модели Groq
Для достижения наилучших результатов мы протестировали и подтвердили качество следующих моделей GROQ для определённых локалей:
mistral-saba-24b
- ar - арабский
- de - немецкий
- fr - французский
- pt-BR - португальский (Бразилия)
meta-llama/llama-4-maverick-17b-128e-instruct
- es - испанский
- ja - японский
- ko - корейский
- ru - русский
- zh - китайский
Управление обработкой файлов
Пропуск переводов
Добавьте атрибут data-lingo-skip
к элементам, которые вы не хотите переводить:
<div data-lingo-skip>Этот контент не будет переведён</div>
Переопределение переводов
Переопределяйте переводы для определённых локалей с помощью атрибутов data-lingo-override-
:
<button data-lingo-override-es="¡Hola!" data-lingo-override-fr="Bonjour!">
Hello
</button>
Настройка пользовательских моделей
Вы можете настраивать AI модели и подсказки прямо в конфигурации компилятора:
const compilerConfig = {
sourceLocale: "en",
targetLocales: ["es", "fr", "de"],
models: {
"*:fr": "mistral-saba-24b",
"en:es": "meta-llama/llama-4-maverick-17b-128e-instruct",
"es:fr": "meta-llama/llama-4-maverick-17b-128e-instruct",
"*:*": "mistral-saba-24b",
},
prompt:
"Вы профессиональный переводчик, специализирующийся на технической документации. Переводите с {SOURCE_LOCALE} на {TARGET_LOCALE}, сохраняя техническую точность.",
};
Конфигурация моделей
- Определяйте пары локалей как
source-locale:target-locale
- Используйте
*
как подстановочный знак для любой локали - Используйте
*:*
как резервный вариант для всех переводов - Ознакомьтесь с моделями GROQ для доступных опций
Пользовательские подсказки
Вы можете задать пользовательские подсказки для перевода с заполнителями:
{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 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/
, чтобы все файлы были пересобраны.
Ошибки сборки: Проверьте, что ваш GROQ_API_KEY
правильно настроен в переменных окружения.
Проблемы с производительностью: Включите режим отладки, чтобы выявить узкие места в процессе компиляции.
Следующие шаги
- FAQ: Часто задаваемые вопросы и устранение неполадок
- Руководства по фреймворкам: Next.js, React Router, Vite
- Как это работает: Понимание процесса сборки