Провайдеры перевода

Обновлено: в прошлом месяце · 3 мин чтения

Альфа

Compiler от Lingo.dev находится в альфе. Он нестабилен, не рекомендуется для использования в production, а API могут меняться от релиза к релизу.

Compiler от Lingo.dev поддерживает несколько провайдеров перевода: от управляемого движка локализации Lingo.dev до прямых подключений к LLM-провайдерам и локальных моделей. Провайдеры настраиваются через опцию models, которая принимает либо строку с одним провайдером, либо объект, сопоставляющий пары локалей с конкретными провайдерами.

Движок Lingo.dev (рекомендуется)#

Движок локализации Lingo.dev — провайдер по умолчанию. Он отправляет переводы через управляемый пайплайн с динамическим выбором модели, автоматическими fallback-сценариями, применением глоссария и профилями тональности бренда.

ts
{
  models: "lingo.dev",
}

Пройдите аутентификацию через CLI:

bash
npx @lingo.dev/cli login

Или задайте API-ключ в .env:

bash
LINGODOTDEV_API_KEY=your_key_here

Почему стоит использовать движок Lingo.dev

Движок локализации подбирает оптимальную модель для каждой пары локалей, применяет ваши правила glossary и тональность бренда, а если провайдер недоступен — переключается на альтернативные модели. Прямые LLM-провайдеры этих возможностей не дают.

Прямые LLM-провайдеры#

Подключитесь напрямую к любому поддерживаемому LLM-провайдеру, указав строку provider:model:

ПровайдерФормат моделиПеременная окруженияПример
OpenAIopenai:<model>OPENAI_API_KEYopenai:gpt-4o
Anthropicanthropic:<model>ANTHROPIC_API_KEYanthropic:claude-3-5-sonnet
Googlegoogle:<model>GOOGLE_API_KEYgoogle:gemini-2.0-flash
Groqgroq:<model>GROQ_API_KEYgroq:llama-3.3-70b-versatile
Mistralmistral:<model>MISTRAL_API_KEYmistral:mistral-large
OpenRouteropenrouter:<model>OPENROUTER_API_KEYopenrouter:anthropic/claude-3.5-sonnet
Ollamaollama:<model>Нет (локально)ollama:llama3.2

Один провайдер для всех локалей#

Укажите строку, чтобы использовать один провайдер для всех пар локалей:

ts
{
  models: "openai:gpt-4o",
}

Ollama (локальные модели)#

Ollama запускает модели локально и не требует API-ключа. Установите Ollama, загрузите модель и выполните настройку:

ts
{
  models: "ollama:llama3.2",
}

Локальные модели удобны для офлайн-разработки и для команд, которым нельзя отправлять контент во внешние API. Качество перевода зависит от размера модели: более крупные модели обычно дают более точный результат.

Сопоставление пар локалей#

Опция models принимает объект, который позволяет направлять определённые пары локалей к разным провайдерам. Ключи используют формат source:target с поддержкой wildcard (*):

ts
{
  models: {
    "*:*": "lingo.dev",                          // Default for all pairs
    "*:ja": "anthropic:claude-3-5-sonnet",       // Japanese via Anthropic
    "*:zh-Hans": "anthropic:claude-3-5-sonnet",  // Simplified Chinese via Anthropic
    "en:de": "openai:gpt-4o",                    // English-to-German via OpenAI
  },
}

Compiler сопоставляет пары локалей от наиболее конкретных к наименее конкретным:

1

Точное совпадение

en:de соответствует только переводам с английского на немецкий.

2

Wildcard для целевой локали

*:ja соответствует любому исходному языку при переводе на японский.

3

Полный wildcard

*:* используется как вариант по умолчанию для любой пары, если нет более точного совпадения.

Такое сопоставление помогает оптимизировать затраты и качество. Например, можно использовать быструю модель для европейских языков и модель с более сильной поддержкой CJK для восточноазиатских локалей.

Пользовательские промпты#

Опция prompt задаёт системный промпт для LLM, выполняющей перевод. Используйте {SOURCE_LOCALE} и {TARGET_LOCALE} как плейсхолдеры — compiler подставит вместо них фактические коды локалей во время перевода:

ts
{
  prompt: "You are translating a SaaS application UI from {SOURCE_LOCALE} to {TARGET_LOCALE}. Keep translations concise. Preserve technical terms in English. Use formal register.",
}

Пользовательские инструкции работают только с прямыми LLM-провайдерами. При использовании движка локализации Lingo.dev настройте правила и тональность бренда в панели управления Lingo.dev.

Что дальше#