保持されたキーは、最初にソースの値で初期化されたあと、自動更新から保護されます。CLI がそれらを上書きすることはありません。法務文書、コンプライアンス関連のコピー、マーケティングのタグラインなど、手動翻訳が必要なコンテンツのプレースホルダーとして機能します。
設定#
バケット内のi18n.jsonに preservedKeys を追加します。
json
{
"buckets": {
"json": {
"include": ["locales/[locale].json"],
"preservedKeys": ["legal/privacy", "legal/terms"]
}
}
}仕組み#
次のソースファイルを例に見てみましょう。
json
{
"welcome": "Welcome to our platform",
"legal": {
"privacy": "We respect your privacy and protect your data.",
"terms": "By using this service, you agree to our terms."
}
}最初の実行では、CLI は保持されたキーをそのままコピーし、それ以外はすべて翻訳します。
json
// locales/es.json (first run)
{
"welcome": "Bienvenido a nuestra plataforma",
"legal": {
"privacy": "We respect your privacy and protect your data.",
"terms": "By using this service, you agree to our terms."
}
}法務セクションを手動で翻訳したあとは、その後 CLI を実行しても翻訳内容はそのまま維持されます。
キー保持とキー固定の違い#
| キー保持 | キー固定 | |
|---|---|---|
| 初期値 | プレースホルダーとしてソース値を使用 | 常にソース値 |
| 手動編集 | 永続的に保持 | 実行のたびにソースで上書き |
| ユースケース | 法務、コンプライアンス、手動翻訳 | ブランド名、技術ID |
キーパス記法#
ネストされたキーにはスラッシュ(/)、ワイルドカードにはアスタリスク(*)を使います。
json
{ "preservedKeys": ["legal/*", "marketing/tagline"] }