ガイド · ソース値
キーのソース値を更新する
create_key または create_keys_bulk でキーをシードすると、そのソース値は一度だけ設定されます。変更した source_value で再実行しても何も起こりません。これは設計上の仕様で、自動化されたシードがソーステキストを上書きしないためです。ここでは、キーが既に存在した後に、意図的にそのソースを変更する方法を説明します。
遭遇する no-op
create_key と create_keys_bulk は source_value を受け付けますが、実際にキーを作成するときにのみそれを反映します。既に存在するキーに対して再度呼び出すと、新しい source_value は無言のうちに破棄されます。呼び出し自体は成功し、キーは created: false で返り、ソーステキストは変更されません。
create_keys_bulk 1// create_keys_bulk — source_value on a key that ALREADY exists2{ "items": [3 { "namespace": "common", "name": "checkout.title",4 "source_value": "Checkout" }5] } 7// → no update_source: the existing source is left untouched8{ "results": [{ "index": 0, "status": "ok", "created": false }] } 解決策:update_source
キーに update_source: true を追加してください。これはキー単位のフィールドであり(create_key 上、または create_keys_bulk の各 items[] エントリー上)、グローバルなフラグではありません。これにより、既存のキーでもソース値が upsert されます(created は false のままです)。オプトイン方式なので、定常的な再シードがソーステキストを誤って変更することは決してありません。
create_keys_bulk 1// update_source is a PER-ITEM flag — never a global one2{ "items": [3 { "namespace": "common", "name": "checkout.title",4 "source_value": "Checkout", "update_source": true }5] } 7// → created:false (the key existed) but the source is now upserted8{ "results": [{ "index": 0, "status": "ok", "created": false }] } どちらも MCP サーフェス経由で動作し(mcp:* スコープのキー)、プロジェクトには既にソース言語が存在している必要があります。変更はバージョンがインクリメントされ、キーの履歴に記録されます。
またはソース言語を再インポートする
一括の i18next インポートもソース値を upsert します。ソース言語のファイルを再インポートすると、既存のすべてのソースが 1 回の呼び出しで更新されます。ソーステキストが既にリポジトリにある場合に便利です。
terminal 1# or re-import your source-language files — import upserts source values2sonenta import "./locales/en/**/*.json" # en = your source language 変わること
- バージョン管理され、監査されます。 新しいソースは通常のバージョン管理された編集で、あなたの API キーに帰属し、キーの履歴に表示されます。
- 欠落キーイベントが解決されます。 これらのキーについて開かれていた欠落キーイベントは、本物のソース値が届くと同時に自動的に解決されます。
- 設計上オプトインです。
update_sourceがなければ、既存のキーに対するsource_valueは無視されたままです。シードスクリプトを再実行しても、ソーステキストが誤って上書きされることは決してありません。