ブランドボイスは、プロダクトがどう語るか――トーン、フォーマルさ、スタイル――を定義するものです。対象ロケールごとに1つのテキストを持ちます。これは組織が管理する、名前付きのコンテナです。対応する各ロケールにVariationを持ち、紐づけることでローカライゼーションエンジンに適用されます。
ひとつの声で、複数ロケールに対応
ブランドボイスは以前、1つのエンジンに紐づく単一ロケールのテキストでした。現在は、ロケールごとにテキストを持つひとつの声になっています。以前はロケールごとにボイスを持っていたエンジンも、今ではロケールごとの variation を持つ単一のボイスに統合されています。各ロケールも各テキストも、配置はそのまま変わりません。
仕組み#
| オブジェクト | フィールド |
|---|---|
| ブランドボイス | 名前、説明。対象ロケールごとに1つのテキストを保持します。 |
| Variation | 対象ロケール(または *)とボイステキスト。 |
エンジンが対象ロケールへのリクエストを処理すると、紐づいているすべてのボイスから最も適した variation を1つ選び、そのテキストを LLM のプロンプトに含めます。これにより、語彙の選び方、文の組み立て、文体のレジスターが決まります。
各リクエストに適用されるブランドボイスのテキストは、必ず1つだけです。ルールや用語集の用語は組み合わせられますが、ブランドボイス同士は組み合わされません。
| 項目 | 説明 |
|---|---|
| 対象ロケール | このテキストが適用されるロケール(例: de、fr-CA、ja)、または任意のロケールに適用する * |
| ボイステキスト | そのロケール向けのトーン、フォーマルさ、スタイルを説明する自由形式の指示 |
1つのエンジンで、各ロケールに1つの声#
エンジンは、1つのロケールに対して1つのブランドボイスだけを読み取ります。その状態を保つために、3つのガードがあります。
| 操作 | 結果 |
|---|---|
どちらも de 用テキストを持つ2つのボイスを紐づける | 拒否(400)。重複しているロケール名が表示されます |
同じエンジン上で、別のボイスがすでに de をカバーしている状態で、そのボイスに de のテキストを追加する | 拒否(409) |
同じボイスに2つ目の de テキストを追加する | 拒否(409)- 1つのボイスに持てるテキストは、ロケールごとに1つだけです |
* の variation は、専用テキストを持たないすべてのロケールに対するデフォルトです。ロケール固有のテキストがある場合は、常にそちらが優先されます。さらに、地域解決も通常どおり適用されるため、de-DE のテキストは、ロケール指定のない de リクエストにも使われます。詳しくは ロケール解決 をご覧ください。
ブランドボイスは組織で管理されます#
| 操作 | 効果 |
|---|---|
| ブランドボイスを作成する | 組織レベルに作成され、紐づけるまでは何にも適用されません |
| エンジンに紐づける | 各 variation が、そのエンジンで一致するロケールに適用されます |
| 複数のエンジンに紐づける | 同じボイスがすべてに適用されます。1回編集すれば、すべてのエンジンに反映されます |
| 1つのエンジンに複数のボイスを紐づける | どの2つも同じロケールをカバーしていなければ可能です |
| エンジンから紐づけを外す | エンジンでは適用されなくなります。ボイスとその variations は保持されます。 |
| ブランドボイスを削除する | いずれかのエンジンでまだ適用中の場合は拒否されます。先に紐づけを外してください。削除すると、その variations も一緒に削除されます。 |
| エンジンを削除する | ブランドボイスは残ります。属しているのはエンジンではなく、組織です。 |
ボイスは、組織サイドバーの Brand voices で管理できます。一覧には、各ボイスがカバーしているロケール数と、適用されているエンジン数が表示されます。各ボイスの詳細ページでは、ロケールごとのテキストを確認できます。エンジンの Brand Voice タブではロケールごとに1行ずつ表示され、ボイス単位で紐づけを外せます。
ブランドボイスのテキストを書く#
ボイステキストは、自由形式の自然言語で書けます。あなたのプロダクトを一度も扱ったことのない翻訳者に説明するつもりで書いてください。
効果的なブランドボイスに含める要素:
- 丁寧さのレベル - ドイツ語ならフォーマルな「Sie」かカジュアルな「du」か、フランス語なら「vous」か「tu」か
- トーン - プロフェッショナル、会話調、親しみやすい、技術的
- 対象読者 - 開発者、エンタープライズの購買担当者、一般消費者、社内チーム
- 表記ルール - 数字、日付、通貨、プロダクト固有の用語をどう扱うか
例#
開発者向けのドイツ語ロケールを対象にする場合:
Use informal "du" address. Keep a direct, technical tone - similar
to how Stripe or Vercel write their German documentation. Prefer
short sentences. Use active voice. When a German equivalent exists
for a technical term, use it (e.g., "Bereitstellung" for deployment),
but keep widely-adopted English terms as-is (e.g., API, CLI, Token).コンテナの name と description は、人が見るためのものとして残しておきましょう。組織一覧でボイスを見分けたり、用途を伝えたりするために使われます。モデルに渡るのは variation のテキストだけです。
APIでブランドボイスを使う#
ブランドボイスは、localize endpoint を呼び出すと自動で適用されます。エンジンはリクエストの targetLocale を、紐づいているすべてのボイスの variations と照合し、最も適したものをプロンプトに含めます。追加のパラメータは必要ありません。
{
"sourceLocale": "en",
"targetLocale": "de",
"data": {
"greeting": "Hey there! Ready to ship?",
"cta": "Get started"
}
}たとえば上記のドイツ語テキストがあれば、エンジンは汎用的でフォーマルな出力ではなく、カジュアルで技術寄りの翻訳を生成します。
| 呼び出し | 目的 |
|---|---|
POST /brand-voices | 組織用のボイスを作成する |
GET /organizations/:id/brand-voices | ロケール数とエンジン数付きで、組織のボイス一覧を表示する |
GET /brand-voices/:id/variations | ボイスのロケールごとのテキスト一覧を表示する |
POST /brand-voice-variations with brandVoiceId | 1つのロケール向けのテキストを追加する |
PUT /brand-voice-variations/:id | テキストを変更する、または別のロケールに移す |
PUT /engines/:id/brand-voices | エンジンに適用するボイスのセットを置き換える |
DELETE /engines/:id/brand-voices/:brandVoiceId | エンジンへの1つのボイスの適用を停止する |
GET /engines/:id/brand-voice-variations | エンジンが現在適用しているロケールごとのテキストを一覧表示する |
POST /brand-voices は引き続き targetLocale と text をまとめて受け付け、ボイスの最初の variation を初期設定します。また、ownerEngineId も引き続き、エンジンがすでに適用しているボイスを追加します。まだ何もなければ、作成して適用します。
アクセス#
org:brandvoice:read と org:brandvoice:edit は、ボイスとその variations の管理に関わります。さらに、ボイスをエンジンに紐づけるには、そのエンジンに対する engine:edit も必要です。ボイス単位の権限付与を使えば、組織内のすべてのボイスではなく、特定の1つのボイスだけに閲覧・編集権限を付与できます。詳しくは Roles & Permissions をご覧ください。
MCP経由でブランドボイスを管理する#
Lingo.dev MCP server を使用している場合、AIコーディングアシスタントが会話の中から直接ブランドボイスを作成・更新できます。
"Create a brand voice called Product voice and apply it to the
docs engine.""Set its German text to informal du, technical tone, short
sentences, active voice."