用語集を使うと、ローカライゼーションエンジンで特定の用語を厳密に制御できます。特定の訳語を必ず使わせることも、まったく翻訳しないようにすることも可能です。用語集ルールはモデル自身の判断より優先されるため、エンジンはあらゆるリクエストで一貫して適用します。
仕組み#
各用語集項目は1つのローカライゼーションエンジンに属し、ソースロケールとターゲットロケールの組み合わせ(または任意のロケールを表す *)に対してマッチします。エンジンが翻訳リクエストを処理する際は、意味検索を使って関連する用語集項目を取得します。つまり、保存された用語と入力テキストを単なる文字列の完全一致ではなく、意味にもとづいて照合します。
| 項目 | 説明 |
|---|---|
| ソースロケール | ソーステキストのロケール、または任意のソースを表す * |
| ターゲットロケール | ターゲットテキストのロケール、または任意のターゲットを表す * |
| ソーステキスト | ソース言語の用語 |
| ターゲットテキスト | 必須の訳語(または、非翻訳対象なら同じ用語) |
| タイプ | custom_translation または non_translatable |
| ヒント | 用語の意味を明確にするための任意のコンテキスト(例: "名詞、製品機能") |
用語集の種類#
カスタム翻訳#
用語に対して特定の訳語を強制できます。エンジンは常に、モデルの判断ではなく、指定した訳語を使います。
| ソーステキスト | ターゲットテキスト | ソースロケール | ターゲットロケール |
|---|---|---|---|
| Deploy | Bereitstellen | en | de |
| 911 | 112 | en | de |
| workspace | espace de travail | en | fr |
カスタム翻訳の使用例:
- 定訳がある製品用語
- 文化的な調整が必要な表現(緊急通報番号、計量単位など)
- モデルが一貫して誤った同義語を選んでしまう用語
非翻訳対象#
用語が翻訳されないようにします。エンジンはソーステキストをそのまま保持します。
| ソーステキスト | ターゲットテキスト | タイプ |
|---|---|---|
| Lingo.dev | Lingo.dev | non_translatable |
| OAuth | OAuth | non_translatable |
| GraphQL | GraphQL | non_translatable |
非翻訳対象の使用例:
- ブランド名や製品名
- 技術プロトコルや標準規格
- ソース言語のまま残すべき固有名詞
意味ベースのマッチング#
用語集項目は、文字列の完全一致ではなく意味にもとづいてマッチします。エンジンが翻訳リクエストを受け取ると、入力テキストの埋め込みを生成し、意味的に近いソース用語を持つ用語集項目を見つけます。
つまり、"Deploy" の用語集エントリがあれば、"Deploying"、"deployment"、"deploy your application" にもマッチします。変化形ごとに個別のエントリを作る必要はありません。
ヒント項目
複数の意味を持つ用語を区別するには、ヒント項目を使います。たとえば、"bank" にヒントとして "financial institution" を付けた用語集エントリは、入力テキスト内の "river bank" にはマッチしません。
ワイルドカードロケール#
ソースまたはターゲットのロケールを * に設定すると、すべてのロケールの組み合わせでその用語集項目を適用できます。
一般的なパターン:
| ソーステキスト | ソースロケール | ターゲットロケール | ユースケース |
|---|---|---|---|
| Lingo.dev | * | * | どの言語でもブランド名を翻訳しない |
| API | en | * | すべてのターゲットロケールで "API" を翻訳せずに使う |
| Deploy | en | de | この英語の用語には特定のドイツ語訳を使う |
ワイルドカード項目とロケール固有の項目は組み合わせて使われ、互いを上書きすることはありません。
ロケールのマッチング#
用語集項目は、完全に一致するロケールコードだけでなく、地域バリアントをまたいでマッチします。de のエントリは de-DE に適用され、de-DE のエントリはロケール指定のない de リクエストに適用されます。de-DE と de-AT のような兄弟関係のロケール同士でエントリが共有されることはありません。複数がマッチした場合は、CLDR のデフォルト地域が優先されます。同じルールは、ブランドボイス、指示、モデル設定にも適用されます。カスタム翻訳のスクリプト安全性ルールを含む完全な挙動については、Locale Resolution を参照してください。
用語集 vs. 指示 vs. ブランドボイス#
それぞれ、エンジン設定の中で異なる役割を担います:
| 用語集 | 指示 | ブランドボイス | |
|---|---|---|---|
| 制御対象 | 個別の用語 | 言語ルール | 全体のトーンとスタイル |
| 粒度 | 用語単位 | ルール単位 | ロケール単位 |
| 一致方法 | 意味ベース(意味による) | そのロケールに含まれるものをすべて適用 | そのロケールに含まれるものをすべて適用 |
| 優先順位 | 最優先 - モデルの判断を上書き | 中 - モデルを導く | 最低 - コンテキストを設定 |
| 例 | "Deploy" → "Bereitstellen" | "Straße を Str. に省略する" | "くだけた du を使い、技術的なトーンにする" |
ルールの優先順位
用語集の用語は、エンジンのルール階層の中で最も高い優先順位を持ちます。用語集項目が指示と競合した場合は、用語集が優先されます。指示は用語集を重複させるのではなく、補完するように設計してください。
APIで用語集を使う#
localize endpoint を呼び出すと、用語集項目は自動的に適用されます。エンジンはソースロケールとターゲットロケールの組み合わせに対して意味的に関連する項目を取得し、プロンプトに含めます。
追加のパラメータは不要です。取得と注入はエンジンが処理します。
MCP経由で用語集を管理する#
Lingo.dev MCP server を使用している場合、AIコーディングアシスタントが用語集項目を直接管理できます:
"Add a glossary entry: translate 'workspace' to 'espace de travail'
for English to French.""Mark 'GraphQL' as non-translatable for all locales."