ルールとは、ローカライゼーションエンジンが対象ロケールに適用する、名前付きの言語指示のことです。たとえば「住所では Straße を Str. に省略する」であり、「もっとカジュアルにする」のような曖昧な指示ではありません。ルールは ルールセット にまとめて管理します。ルールセットは組織所有のコンテナで、エンジンに紐づけることで適用されるため、1つのルール群で必要なすべてのエンジンを統一できます。
以前は instructions と呼ばれていました
ダッシュボードでは現在、これらをルールと呼び、ルールセットとしてまとめています。REST API では、個別のルールは引き続き /instructions で公開されており、フィールド名も変わっていません。変わったのは、ルールを記述する場所です。rulesetId が ownerEngineId に置き換わりました。
仕組み#
ルールセットはエンジンではなく、組織に属します。エンジンに紐づけることで、そのルールが適用されます。ルールがエンジン側にコピーされることはありません。
| オブジェクト | フィールド |
|---|---|
| ルールセット | 名前、説明。ルールは好きなだけ保持できます。 |
| ルール | 名前、対象ロケール(または *)、テキスト。 |
翻訳リクエストが届くと、エンジンは紐づけられているすべてのルールセットから、リクエストの targetLocale に一致する対象ロケールを持つルールをすべて集め、ブランドボイスや用語集とあわせて LLM プロンプトに含めます。ルール同士が競合することはありません。一致したルールはすべて含まれ、ロケールの一致度が高い順に並ぶため、より適切なガイダンスが先に効きます。
| フィールド | 説明 |
|---|---|
| 名前 | ルールを識別するための短いラベル(例: 「ドイツ語の敬称表現」) |
| 対象ロケール | このルールを適用するロケール、または全ロケールに適用する * |
| テキスト | 自然言語で記述する言語ルール |
1つのロケールに複数のルールを設定可能
1つのロケールに必要なだけルールを作成できます。各ルールは1つの論点だけを扱うようにしてください。そうすることで、個別にテストでき、rules AI評価 でスコア化しやすくなり、安心して削除できます。
ルールセットは組織所有です#
| 操作 | 効果 |
|---|---|
| ルールセットを作成する | 組織レベルに作成され、紐づけるまでは何にも適用されません |
| エンジンに紐づける | その中のすべてのルールが、そのエンジンの翻訳に適用されます |
| 複数のエンジンに紐づける | 同じルールがすべてのエンジンに適用されます。1回編集すれば、すべてのエンジンに反映されます |
| 1つのエンジンに複数のルールセットを紐づける | それぞれのルールがまとめて適用されます |
| エンジンから紐づけを外す | そのエンジンでは適用されなくなります。ルールセットとそのルール自体は保持されます。 |
| ルールセットを削除する | まだ適用中のエンジンがある間は削除できません。先に紐づけを外してください。削除すると、そのルールも一緒に削除されます。 |
| エンジンを削除する | ルールセットとルールは残ります。これらはエンジンではなく組織に属しているためです。 |
ルールセットは、組織サイドバーの Rules から管理できます。エンジンの Rules タブでは、そのエンジンに現在適用されている内容を確認でき、ルールセットの紐づけや解除も行えます。
定義済みルール#
Lingo.dev では、すぐに使えるルールのカタログを厳選して提供しています。多くの Team に必要なのに、意外と明文化されていないロケールごとの慣習をまとめたものです。エンジンの Rules タブから Predefined Instructions を開き、必要なものを選んでください。これらはルールセット経由ではなく、エンジンに直接紐づけられ、いつでも解除できます。
厳選されたルールは、あなた自身のルールより前にプロンプトへ配置されます。そのため、自分で書いたルールはベースラインとぶつかるのではなく、それを補足したり上書きしたりできます。
ルールとブランドボイスの違い#
どちらも翻訳結果を左右しますが、役割のレベルが異なります。
| ブランドボイス | ルール | |
|---|---|---|
| 範囲 | 全体のトーン、スタイル、丁寧さ | 特定の1つの言語ルール |
| ロケールごと | ロケールごとに1つのテキスト、各エンジンでロケールごとに1つのボイス | 1つのロケールに複数のルール |
| 適用 | 最も一致度の高い1つのテキスト | 一致するすべてのルールを組み合わせる |
| ワイルドカード | はい(* はデフォルトのボイスとして機能します) | はい(* はすべてのロケールに適用されます) |
| 例 | 「くだけた du を使い、技術的なトーンにする」 | 「住所では常に Straße を Str. に省略する」 |
ブランドボイスを使う と、その言語でプロダクトがどう話すかを定義できます。たとえば、丁寧さ、レジスター、文体などです。
ルールを使う と、略語、句読点、単位表記、ロケール固有の文法パターンなど、モデルが見落としがちな具体的な慣習をルール化できます。
両者は一緒に機能します。ブランドボイスが全体の話し方を決め、ルールが細かなケースを補います。
効果的なルールの書き方#
各ルールは、単一で曖昧さのない指示にしてください。エンジンはその全文を LLM プロンプトに含めるため、明確さが重要です。
良いルール#
Always use the Oxford comma in English lists.In Japanese, use full-width parentheses ()instead of half-width ().For German addresses, abbreviate "Straße" to "Str." and
"Nummer" to "Nr."When translating percentage values for French, add a
non-breaking space before the percent sign: 42 %.避けたいこと#
- ブランドボイスと重なる曖昧なガイダンス(「もっとカジュアルにする」など) - その場合は代わりにブランドボイスへ書いてください
- 1つのルールに複数の無関係な指示を詰め込むこと - それぞれ独立してテストできるように分けてください
- 用語集と矛盾するルール - エンジンの階層では用語集の用語が優先されます
ワイルドカードロケール#
対象ロケールを * に設定すると、すべてのロケールにルールを適用できます。言語に依存しない慣習に便利です。
Never translate product feature names: "Smart Compose",
"Quick Actions", "Flow Builder".Preserve Markdown formatting in all translated strings.
Keep bold (**), italic (*), and link syntax [text](url) intact.エンジンがリクエストを処理するときは、ロケール固有のルールとワイルドカードルールの両方が含まれます。どちらかが上書きされるのではなく、組み合わせて適用されます。
API でルールを使う#
localize endpoint を呼び出すと、ルールは自動的に適用されます。エンジンは、そのエンジンが適用しているルールセットから、リクエストの targetLocale に一致するすべてのルール(および * ルール)を収集します。追加のパラメータは必要ありません。
| 呼び出し | 目的 |
|---|---|
POST /rulesets | 組織用のルールセットを作成する |
GET /organizations/:id/rulesets | 組織のルールセットを、ルール数とエンジン数付きで一覧表示する |
GET /rulesets/:id/rules | ルールセット内のルールを一覧表示する |
POST /instructions with rulesetId | ルールセットにルールを追加する |
PUT /engines/:id/rulesets | エンジンが適用するルールセット一式を置き換える |
DELETE /engines/:id/rulesets/:rulesetId | エンジンへの1つのルールセットの適用を停止する |
GET /engines/:id/instructions | エンジンが現在適用しているすべてのルールを一覧表示する |
ownerEngineId の POST /instructions も引き続き利用できます。これはエンジン専用のルールセットに書き込み、エンジンにルールセットがなければ新しく作成します。基本的には rulesetId の利用をおすすめします。
アクセス#
org:ruleset:read と org:ruleset:edit はルールセットとその中のルールを管理する権限です。さらに、エンジンに紐づけるには、そのエンジンに対する engine:edit も必要です。ルールセット単位の権限付与を使えば、組織内のすべてのルールセットではなく、特定の1つのルールセットに対して読み取りと編集を許可できます。詳しくは Roles & Permissions を参照してください。
MCP 経由でルールを管理する#
Lingo.dev MCP server を使っている場合、AI コーディングアシスタントからルールやルールセットを直接作成、更新、削除できます。
"Create a ruleset called German conventions and apply it to
the marketing engine.""Add a rule to that ruleset: always abbreviate Straße to Str.
in addresses.""Add a wildcard rule: never translate the term Smart Compose."