Lingo.dev CLI は、ターゲットファイルへの手動編集を保持します。ターゲットファイルを直接編集して生成された翻訳をオーバーライドすると、ソースコンテンツが変更されない限り、以降の CLI 実行でもその変更が維持されます。
オーバーライドの仕組み#
CLI が追跡しているのは、ターゲットコンテンツではなくソースコンテンツのフィンガープリントです。ターゲットファイル内の翻訳を手動で編集しても、ソースのフィンガープリントは変わらないため、CLI はそのキーを翻訳済みと見なし、処理をスキップします。
1
CLI が翻訳を生成
json
// locales/es.json (generated)
{ "greeting": "Bienvenido a nuestra plataforma" }2
手動でオーバーライド
json
// locales/es.json (manually edited)
{ "greeting": "¡Bienvenido a nuestro espacio digital!" }3
以降の実行でもオーバーライドを保持
bash
npx lingo.dev@latest run
# Your custom translation remains unchangedオーバーライドが置き換わるケース#
ソースコンテンツが変更されると、CLI は新しいフィンガープリントを検出し、そのキーを再翻訳します。すると、手動のオーバーライドは置き換えられます。
json
// locales/en.json (source updated)
{ "greeting": "Welcome to our new platform" }新しいフィンガープリントが lockfile のエントリと一致しないため、CLI はこのキーに対して新しい翻訳を生成します。
キー名の変更#
CLI は、コンテンツが同じである限り、キー名が変わっても翻訳を保持します。lockfile はコンテンツとキーの両方のフィンガープリントを追跡しているため、翻訳作業を失うことなく キー名の変更 を行えます。
