Lingo.dev CLI には、処理中の各翻訳キーの挙動を決める4つのキー単位の制御があります。それぞれ役割が異なります。
| 制御 | 設定フィールド | 動作 |
|---|---|---|
| キーロック | lockedKeys | 翻訳せず、ソースの値をすべてのターゲットにそのままコピーします。ターゲットファイルには同一の値を持つキーとして出力されます。 |
| キーの無視 | ignoredKeys | キーを処理対象から完全に除外します。ターゲットファイルには出力されません。 |
| キーの保持 | preservedKeys | 最初に一度だけソースからキーを初期化し、その後は自動更新の対象外にします。手動翻訳が必要なコンテンツ向けです。 |
| キーのリネーム | 自動 | キー名の変更を検出し、既存の翻訳をそのまま引き継ぎます。設定は不要です。 |
使い分け#
値をすべての言語で同一に保つ必要がある場合は、キーをロックします。ブランド名、技術識別子、設定値などです。
json
{ "lockedKeys": ["brand/name", "config/apiUrl"] }ターゲットファイルに含めるべきでない場合は、キーを無視します。デバッグ文字列、内部フラグ、テストデータなどです。
json
{ "ignoredKeys": ["internal/debug", "dev/testData"] }手動翻訳が必要な場合は、キーを保持します。法務テキスト、コンプライアンス関連のコンテンツ、人によるレビューが必要なマーケティングコピーなどです。
json
{ "preservedKeys": ["legal/privacy", "legal/terms"] }リネームは自動です。CLI は、キーが変わっても内容が同じであればそれを検出し、再翻訳せずに既存の翻訳を引き継ぎます。
キーパス記法#
すべてのキー配列では、ネストされたパスにスラッシュ (/) 記法、ワイルドカードにアスタリスク (*) を使用します。
json
{
"lockedKeys": ["brand/name"],
"ignoredKeys": ["internal/*"],
"preservedKeys": ["legal/privacy/full"]
}名前にドットを含むキーもそのまま自然に扱えます。スラッシュは階層レベルの区切りに使われるため、modules/ai.translation は "modules" オブジェクト内のキー "ai.translation" を正しく指定できます。
