重新翻译
Lingo.dev CLI 会在源文本发生更改时自动重新翻译内容,并在你需要因其他原因刷新翻译时,提供手动重新翻译选项。
CLI 的内容指纹系统确保翻译与源内容变更保持同步,同时避免对未变更内容进行不必要的重新翻译。
自动重新翻译
当你修改源内容时,Lingo.dev CLI 会通过内容指纹检测到更改,并在下次运行时重新翻译受影响的键。
示例工作流程:
// locales/en.json (original)
{
"button.save": "Save changes"
}
// locales/es.json (generated)
{
"button.save": "Guardar cambios"
}
更新源内容后:
// locales/en.json (modified)
{
"button.save": "Save all changes"
}
运行 npx lingo.dev@latest run 会重新翻译西班牙语版本:
// locales/es.json (updated)
{
"button.save": "Guardar todos los cambios"
}
CLI 会将新的内容指纹与 i18n.lock 进行比对,识别需要更新的翻译。
手动重新翻译
有时即使源内容未变更,你也需要重新翻译内容。这通常发生在你更新 AI 模型、更改翻译提示,或希望通过改进的上下文刷新翻译时。
全量重新翻译
强制全量重新翻译:
npx lingo.dev@latest run --force
此操作会跳过 lockfile,重新翻译所有内容,并从头生成 i18n.lock 文件。
定向重新翻译
定向特定语言:
npx lingo.dev@latest run --target-locale es
仅重新翻译西班牙语内容,其他语言保持不变。
定向特定文件类型:
npx lingo.dev@latest run --bucket json
仅重新翻译 JSON 文件,当不同文件类型的更新频率不同步时非常有用。
定向特定翻译键:
npx lingo.dev@latest run --key welcome.title
可在所有目标语言中重新翻译单个键。对于嵌套键,请使用点号表示法:
npx lingo.dev@latest run --key header.navigation.about
定向特定文件:
npx lingo.dev@latest run --file blog.[locale].json
可在您的 bucket 中重新翻译指定文件。支持同时定向多个文件:
npx lingo.dev@latest run --file landing.[locale].json --file pricing.[locale].json
组合选项
您可以组合定向选项,实现精确控制:
npx lingo.dev@latest run --force --bucket json --target-locale es
这会重新翻译所有 JSON 内容,但仅限于西班牙语。
翻译上下文更新
当您修改 AI 翻译设置时,现有翻译不会自动更新。需要手动重新翻译,才能将新提示词或模型应用于已翻译内容。
常见需要重新翻译的场景:
- 从一个 AI 模型切换到另一个
- 更新翻译提示词以获得更好上下文
- 从原始 LLM API 迁移到 Lingo.dev Engine
- 使用原始 LLM API 时提升现有翻译的术语一致性
Lockfile 集成
重新翻译会用新内容指纹更新 i18n.lock 文件。这确保后续运行能正确追踪哪些内容已在当前翻译设置下处理。
lockfile 可防止重复翻译循环,并在手动重新翻译后依然保持增量翻译的性能优势。