重新翻译

Lingo.dev CLI 会在源文本发生更改时自动重新翻译内容,并在您需要因其他原因刷新翻译时提供手动重新翻译选项。

CLI 的内容指纹系统确保翻译与源内容的更改保持同步,同时避免对未更改内容进行不必要的重新翻译。

自动重新翻译

当您修改源内容时,Lingo.dev CLI 通过内容指纹检测到更改,并在下次运行时重新翻译受影响的键。

示例工作流程:

// locales/en.json (原始文件)
{
  "button.save": "Save changes"
}

// locales/es.json (生成的文件)
{
  "button.save": "Guardar cambios"
}

更新源内容后:

// locales/en.json (修改后的文件)
{
  "button.save": "Save all changes"
}

运行 npx lingo.dev@latest i18n 会重新翻译西班牙语版本:

// locales/es.json (更新后的文件)
{
  "button.save": "Guardar todos los cambios"
}

CLI 将新的内容指纹与 i18n.lock 进行比较,识别需要更新的翻译。

手动重新翻译

有时即使源内容没有更改,您也需要重新翻译内容。这种情况可能发生在您更新 AI 模型、更改翻译提示或希望通过改进的上下文刷新翻译时。

完全重新翻译

强制完全重新翻译:

npx lingo.dev@latest i18n --force

此命令会绕过锁文件并重新翻译所有内容,从头开始重新创建 i18n.lock 文件。

定向重新翻译

定向特定语言:

npx lingo.dev@latest i18n --locale es

仅重新翻译西班牙语内容,同时保留其他语言。

定向特定文件类型:

npx lingo.dev@latest i18n --bucket json

仅重新翻译 JSON 文件,这在不同文件类型的更新频率不同的情况下非常有用。

定向特定翻译键:

npx lingo.dev@latest i18n --key welcome.title

重新翻译所有目标语言中的单个键。对于嵌套键,使用点符号表示法:

npx lingo.dev@latest i18n --key header.navigation.about

定向特定文件:

npx lingo.dev@latest i18n --file blog.[locale].json

重新翻译存储桶中的特定文件。您可以定向多个文件:

npx lingo.dev@latest i18n --file landing.[locale].json --file pricing.[locale].json

组合选项

您可以组合定位选项以实现精确控制:

npx lingo.dev@latest i18n --force --bucket json --locale es

这将重新翻译所有 JSON 内容,但仅限于西班牙语。

翻译上下文更新

当您修改 AI 翻译设置时,现有翻译不会自动更新。您需要手动重新翻译,以将新的提示或模型应用于之前翻译的内容。

需要重新翻译的常见场景:

  • 从一个 AI 模型切换到另一个
  • 更新翻译提示以获得更好的上下文
  • 从原始 LLM API 切换到 Lingo.dev 引擎
  • 在使用原始 LLM API 时提高现有翻译中的术语一致性

锁文件集成

重新翻译会使用新的内容指纹更新 i18n.lock 文件。这确保了未来的运行能够正确跟踪哪些内容已根据当前翻译设置处理。

锁文件可以防止重新翻译循环,并在手动重新翻译操作后保持增量翻译的性能优势。