アルファ
Lingo.dev Compiler はアルファ版です。動作は不安定で、本番環境での利用は推奨されません。API はリリースごとに変更される可能性があります。
data-lingo-override 属性を使うと、特定の翻訳を細かくコントロールできます。ブランド名、法務文言、マーケティング見出しなど、厳密な訳文が必要な場合は、この属性を任意の JSX 要素に追加してください。すると Compiler は AI で翻訳を生成する代わりに、指定した翻訳をそのまま使用します。
基本的な使い方#
ロケールコードと翻訳を対応づけたオブジェクトを渡します。
<h1 data-lingo-override={{ es: "Bienvenido", de: "Willkommen", fr: "Bienvenue" }}>
Welcome
</h1>Compiler は、指定された各ロケールに対してオーバーライド値を使用します。オーバーライドオブジェクトに含まれていないロケールは、通常どおり翻訳が生成されます。
オーバーライドの仕組み#
Compiler が data-lingo-override を含む JSX 要素を検出
AST 解析フェーズで、Compiler は要素上の data-lingo-override 属性を検出します。
オーバーライド値を抽出
ロケールごとの翻訳マッピングを、属性値から読み取ります。
オーバーライドが優先される
オーバーライドオブジェクトに含まれる各ロケールでは、Compiler は指定された翻訳を使用します。これらのロケールでは AI 翻訳はスキップされます。オーバーライドに含まれないロケールは通常どおり翻訳されます。
ユースケース#
| ユースケース | オーバーライドする理由 | 例 |
|---|---|---|
| ブランド名 | 言語をまたいで統一すべき名称を、AI がローカライズしてしまう可能性があるため | data-lingo-override={{ es: "Lingo.dev", de: "Lingo.dev" }} |
| マーケティングコピー | コピーライターが練り上げた特定の言い回しを守りたいため | data-lingo-override={{ es: "Tu motor de localizacion" }} |
| 法的文言 | 規制要件により、文言の正確さが求められるため | data-lingo-override={{ de: "Datenschutzerklarung" }} |
| 慣用句や言葉遊び | 人の創造性が欠かせない表現のため | data-lingo-override={{ fr: "C'est la vie" }} |
| 文字数制限が厳しい UI | AI 翻訳では表示スペースの制約を超えてしまう可能性があるため | data-lingo-override={{ ja: "OK" }} |
例#
段落テキスト#
<p data-lingo-override={{ es: "Crea un motor de localizacion en Lingo.dev" }}>
Create a localization engine on Lingo.dev
</p>属性#
オーバーライドが適用されるのは、その要素のテキストコンテンツです。placeholder、alt、aria-label のような翻訳可能な属性は、Compiler が標準の属性翻訳パイプラインで個別に処理します。
部分的なオーバーライド#
すべての対象ロケールにオーバーライドを指定する必要はありません。手動で制御したいロケールだけ指定すれば十分です。
<h2 data-lingo-override={{ ja: "はじめに" }}>
Getting Started
</h2>この例では、日本語にはオーバーライドが適用され、それ以外の対象ロケールには AI 生成の翻訳が使われます。
オーバーライドと他の方法の使い分け#
| 方法 | 使う場面 |
|---|---|
data-lingo-override | 正確な翻訳が決まっている特定の要素。 |
| Glossary (Lingo.dev エンジン) | アプリ全体で一貫して訳したい用語。 |
| ブランドボイス (Lingo.dev エンジン) | すべての翻訳に共通して適用したいトーンやスタイルの設定。 |
| カスタムプロンプト | すべてのコンテンツに共通する翻訳指示。 |
オーバーライドは、単一の要素に適用できる最も細かい制御方法です。プロジェクト全体で一貫性を保ちたい場合は、代わりに Lingo.dev のローカライゼーションエンジンで Glossary や ブランドボイス を使用してください。
