翻訳プロバイダー

更新日:2 か月前 · 読了目安 1分

アルファ

Lingo.dev Compiler は現在アルファ版です。動作は不安定で、本番環境での利用は推奨されません。また、API はリリースごとに変更される可能性があります。

Lingo.dev Compiler は、マネージドな Lingo.dev ローカライゼーションエンジンから LLM プロバイダーへの直接接続、ローカルモデルまで、複数の翻訳プロバイダーに対応しています。プロバイダーは models オプションで設定でき、単一のプロバイダー文字列、またはロケールペアごとに利用するプロバイダーを指定するオブジェクトのいずれかを渡せます。

Lingo.dev エンジン(推奨)#

Lingo.dev のローカライゼーションエンジンはデフォルトのプロバイダーです。動的なモデル選択、自動フォールバック、glossary の適用、ブランドボイスプロファイルを備えたマネージドパイプラインを通じて翻訳を処理します。

ts
{
  models: "lingo.dev",
}

CLI で認証します。

bash
npx @lingo.dev/cli login

または、.env に API キーを設定します。

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

すべてのロケールで単一プロバイダーを使う#

すべてのロケールペアで 1 つのプロバイダーを使う場合は、文字列を設定します。

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

Ollama(ローカルモデル)#

Ollama なら、API キーなしでモデルをローカル実行できます。Ollama をインストールし、モデルを pull して、次のように設定します。

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

ローカルモデルは、オフラインでの開発や、コンテンツを外部 API に送信できないチームに適しています。翻訳品質はモデルサイズによって異なり、一般的にモデルが大きいほど精度も高くなります。

ロケールペアのマッピング#

models オプションでは、特定のロケールペアを異なるプロバイダーに振り分けるためのオブジェクトを指定できます。キーは source:target 形式で、ワイルドカード(*)にも対応しています。

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

ターゲットのワイルドカード

*:ja は、日本語に翻訳する任意のソース言語に一致します。

3

完全ワイルドカード

*:* は、より具体的な一致がないすべてのペアでフォールバックとして使われます。

このマッピングを使えば、コストと品質のバランスを最適化できます。たとえば、ヨーロッパ言語には高速なモデルを使い、東アジアのロケールには 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 ダッシュボードで rules と ブランドボイス を設定してください。

次のステップ#