Поставщики переводов

@lingo.dev/compiler поддерживает несколько поставщиков переводов — используйте движок Lingo.dev для лучшего опыта или подключайтесь напрямую к LLM-провайдерам.

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

Движок Lingo.dev — это самый простой и мощный способ перевести ваше приложение. Он предлагает:

  • Динамический выбор модели — автоматически выбирает лучшую модель для каждой языковой пары
  • Автоматические резервные варианты — переключается на запасные модели, если основная не сработала
  • Память переводов — учитывает предыдущие переводы для согласованности
  • Поддержка глоссария — сохраняет терминологию для вашей области
  • Оптимизация затрат — использует эффективные модели, когда это уместно

Настройка

  1. Зарегистрируйтесь на lingo.dev

  2. Пройдите аутентификацию:

    npx lingo.dev@latest login
    
  3. Настройте:

    {
      models: "lingo.dev"
    }
    

Тарифы: Бесплатный тариф Hobby доступен. Подходит для большинства проектов.

Ручной API-ключ

Если аутентификация в браузере не работает (например, Brave блокирует), добавьте API-ключ в .env:

LINGODOTDEV_API_KEY=your_key_here

API-ключ можно найти в настройках проекта на lingo.dev.

Прямое подключение к LLM-провайдерам

Подключайтесь напрямую к LLM-провайдерам, чтобы полностью контролировать выбор моделей и расходы.

Поддерживаемые провайдеры

ПровайдерФормат строки моделиПеременная окруженияПолучить API-ключ
OpenAIopenai:gpt-4oOPENAI_API_KEYplatform.openai.com
Anthropicanthropic:claude-3-5-sonnetANTHROPIC_API_KEYconsole.anthropic.com
Googlegoogle:gemini-2.0-flashGOOGLE_API_KEYai.google.dev
Groqgroq:llama-3.3-70b-versatileGROQ_API_KEYconsole.groq.com
Mistralmistral:mistral-largeMISTRAL_API_KEYconsole.mistral.ai
OpenRouteropenrouter:anthropic/claude-3.5-sonnetOPENROUTER_API_KEYopenrouter.ai
Ollamaollama:llama3.2(нет)ollama.com (локально)

Простая конфигурация

Используйте одного провайдера для всех переводов:

{
  models: {
    "*:*": "groq:llama-3.3-70b-versatile"
  }
}

Сопоставление языковых пар

Используйте разных провайдеров для разных языковых пар:

{
  models: {
    // Specific pairs
    "en:es": "groq:llama-3.3-70b-versatile",    // Fast & cheap for Spanish
    "en:de": "google:gemini-2.0-flash",         // Good quality for German
    "en:ja": "openai:gpt-4o",                   // High quality for Japanese

    // Wildcards
    "*:fr": "anthropic:claude-3-5-sonnet",      // All sources → French
    "en:*": "google:gemini-2.0-flash",          // English → all targets

    // Fallback
    "*:*": "lingo.dev",                         // Everything else
  }
}

Приоритет сопоставления по шаблону:

  1. Точное совпадение ("en:es")
  2. Подстановочный знак для исходного языка ("*:es")
  3. Подстановочный знак для целевого языка ("en:*")
  4. Глобальный подстановочный знак ("*:*")

Настройка API-ключа

Добавьте API-ключи провайдеров в .env:

# Lingo.dev Engine
LINGODOTDEV_API_KEY=your_key

# OpenAI
OPENAI_API_KEY=sk-...

# Anthropic
ANTHROPIC_API_KEY=sk-ant-...

# Google
GOOGLE_API_KEY=...

# Groq
GROQ_API_KEY=gsk_...

# Mistral
MISTRAL_API_KEY=...

# OpenRouter
OPENROUTER_API_KEY=sk-or-...

Никогда не коммитьте файлы .env — добавьте их в .gitignore.

Гайд по выбору модели

Для разработки

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

{
  dev: {
    usePseudotranslator: true,
  }
}

Для проектов с ограниченным бюджетом

Groq — Быстрый вывод, щедрый бесплатный тариф:

{
  models: {
    "*:*": "groq:llama-3.3-70b-versatile",
  }
}

Google Gemini — Конкурентные цены, хорошее качество:

{
  models: {
    "*:*": "google:gemini-2.0-flash",
  }
}

Для высокого качества

OpenAI GPT-4 — Лучшее общее качество:

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

Anthropic Claude — Отлично подходит для нюансированных переводов:

{
  models: {
    "*:*": "anthropic:claude-3-5-sonnet",
  }
}

Для локального/офлайн использования

Ollama — запуск моделей локально:

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

Установите Ollama и загрузите модель:

curl -fsSL https://ollama.com/install.sh | sh
ollama pull llama3.2

Смешанная стратегия (рекомендуется)

Оптимизируйте расходы, используя разные модели для разных языков:

{
  models: {
    // Fast & cheap for Romance languages
    "en:es": "groq:llama-3.3-70b-versatile",
    "en:fr": "groq:llama-3.3-70b-versatile",
    "en:pt": "groq:llama-3.3-70b-versatile",

    // Higher quality for complex languages
    "en:ja": "openai:gpt-4o",
    "en:zh": "openai:gpt-4o",
    "en:ar": "openai:gpt-4o",

    // Good balance for European languages
    "en:de": "google:gemini-2.0-flash",
    "en:nl": "google:gemini-2.0-flash",

    // Fallback
    "*:*": "lingo.dev",
  }
}

Кастомные промпты для перевода

Настройте инструкцию для перевода, отправляемую LLM:

{
  models: "lingo.dev",
  prompt: `Translate from {SOURCE_LOCALE} to {TARGET_LOCALE}.

Guidelines:
- Use a professional tone
- Preserve all technical terms
- Do not translate brand names
- Maintain formatting (bold, italic, etc.)
- Use gender-neutral language where possible`
}

Доступные плейсхолдеры:

  • {SOURCE_LOCALE}: код исходной локали (например, "en")
  • {TARGET_LOCALE}: код целевой локали (например, "es")

Компилятор автоматически добавляет контекст о переводимом тексте (файл, компонент, окружающие элементы).

Модели, зависящие от провайдера

OpenAI

"openai:gpt-4o"              // Best quality
"openai:gpt-4o-mini"         // Faster, cheaper
"openai:gpt-4-turbo"         // Previous generation

Anthropic

"anthropic:claude-3-5-sonnet"  // Best quality
"anthropic:claude-3-haiku"     // Faster, cheaper
"anthropic:claude-3-opus"      // Highest quality (expensive)

Google

"google:gemini-2.0-flash"      // Fast, efficient
"google:gemini-1.5-pro"        // Higher quality

Groq

"groq:llama-3.3-70b-versatile"  // Fast inference
"groq:mixtral-8x7b-32768"       // Good quality

Mistral

"mistral:mistral-large"         // Best quality
"mistral:mistral-small"         // Faster, cheaper

OpenRouter

OpenRouter даёт доступ к 100+ моделям. Используйте идентификаторы моделей с openrouter.ai/models:

"openrouter:anthropic/claude-3.5-sonnet"
"openrouter:google/gemini-2.0-flash"
"openrouter:meta-llama/llama-3.3-70b"

Ollama

Используйте любую модель Ollama:

"ollama:llama3.2"
"ollama:mistral"
"ollama:qwen2.5"

Список доступных моделей: ollama list

Провайдеры, совместимые с OpenAI

Вы можете использовать любой API, совместимый с OpenAI, указав OPENAI_BASE_URL на endpoint выбранного провайдера. Это работает с такими провайдерами, как Nebius, Together AI, Anyscale и Fireworks.

Примечание Nebius — единственный OpenAI-совместимый провайдер, официально протестированный с компилятором Lingo.dev. Остальные провайдеры ниже предоставляют OpenAI-совместимые API, но официально не тестировались.

Настройка

  1. Задайте переменные окружения:
OPENAI_API_KEY=<your-provider-api-key>
OPENAI_BASE_URL=<provider-api-endpoint>
  1. Используйте префикс openai: с ID модели провайдера:
{
  models: {
    "*:*": "openai:provider-model-id"
  }
}

Поддерживаемые провайдеры

ПровайдерБазовый URLПример модели
Nebiushttps://api.tokenfactory.nebius.com/v1google/gemma-2-9b-it-fast
Together AIhttps://api.together.xyz/v1meta-llama/Llama-3-70b-chat-hf
Anyscalehttps://api.endpoints.anyscale.com/v1meta-llama/Llama-2-70b-chat-hf
Fireworkshttps://api.fireworks.ai/inference/v1accounts/fireworks/models/llama-v3-70b-instruct
Примеры моделей приведены для иллюстрации. Доступность и ID моделей могут меняться со временем. Всегда проверяйте актуальный список моделей через API провайдера.

Частые вопросы

Какого провайдера выбрать? Для простоты начните с Lingo.dev Engine. Для полного контроля и оптимизации расходов используйте сопоставление языковых пар с разными провайдерами.

Нужны ли API-ключи в продакшене? Нет. В продакшене используйте buildMode: "cache-only" — переводы генерируются заранее. Подробнее см. Режимы сборки.

Можно ли смешивать провайдеров? Да, используйте сопоставление языковых пар, чтобы направлять разные пары к разным провайдерам.

Что если мой API-ключ невалидный? Компилятор выдаст понятную ошибку. Проверьте свой файл .env и убедитесь, что API-ключ корректен для выбранного провайдера.

Можно ли использовать свои модели? OpenRouter поддерживает более 100 моделей. Ollama работает с любыми локально установленными моделями. У других провайдеров — только из их каталога.

Как протестировать без API-запросов? Включите псевдопереводчик в режиме разработки:

{
  dev: { usePseudotranslator: true }
}

В чём разница в стоимости между провайдерами? Может сильно отличаться. Groq предлагает щедрый бесплатный тариф. OpenAI GPT-4 — премиум-цена. Google Gemini — конкурентоспособная стоимость. Смотрите страницу цен каждого провайдера.

Дальнейшие шаги