当你修改源文本时,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" }未变化的键会被完全跳过——只有修改过的键才会发送到翻译后端。
哪些情况会触发重新翻译#
| 变更 | 会重新翻译吗? |
|---|---|
| 源文本已修改 | 会 |
| 源文本未变化 | 不会 |
| 键名变了,但内容未变 | 不会——译文会被沿用 |
| 键已从源文件中删除 | 目标文件中的译文会被移除 |
| 源文件中新增键 | 会按新内容翻译 |
覆盖与自动重新翻译#
如果你曾手动覆盖某条译文,那么当源文本发生变化时,自动重新翻译会替换掉你的覆盖内容。这是有意如此——源文本一旦变化,就意味着含义已经改变,因此需要新的译文。
如果你是因为其他原因需要重新翻译内容(例如模型变更、提示词更新),请参阅 Retranslation。
