Lingo.dev CLI は、ソーステキストを変更するとコンテンツを自動で再翻訳します。lockfile には各ソース文字列のフィンガープリントが保存されており、そのフィンガープリントが変わると、CLI は更新されたコンテンツを翻訳パイプラインに送信し、すべてのターゲットファイル内の既存の翻訳を置き換えます。
仕組み#
json
// locales/en.json (original)
{ "button.save": "Save changes" }
// locales/es.json (generated)
{ "button.save": "Guardar cambios" }ソースを編集した後:
json
// locales/en.json (updated)
{ "button.save": "Save all changes" }npx lingo.dev@latest run を実行すると、新しいフィンガープリントが検出され、再翻訳が実行されます:
json
// locales/es.json (updated automatically)
{ "button.save": "Guardar todos los cambios" }変更のないキーは完全にスキップされ、変更されたキーだけが翻訳バックエンドに送信されます。
再翻訳が実行される条件#
| 変更内容 | 再翻訳されるか |
|---|---|
| ソーステキストが変更された | はい |
| ソーステキストに変更がない | いいえ |
| キー名のみ変更、内容はそのまま | いいえ - 翻訳は引き継がれます |
| ソースからキーが削除された | ターゲットから翻訳が削除される |
| ソースに新しいキーが追加された | 新しいコンテンツとして翻訳される |
オーバーライドと自動再翻訳#
翻訳を手動でオーバーライドしている場合でも、ソースが変更されると自動再翻訳によってそのオーバーライドは置き換えられます。これは意図された動作です。ソースの変更は意味が変わったことを示すため、新しい翻訳が必要になります。
別の理由(モデルの変更やプロンプトの更新)でコンテンツを再翻訳したい場合は、再翻訳 を参照してください。
