现有翻译

更新时间:上季度 · 预计阅读 1 分钟

已弃用

这些文档介绍的是旧版 CLI(v0)。当前 CLI 版本为 v1。 查看当前 CLI 文档

Lingo.dev CLI 可无缝接入已包含翻译文件的项目。它会比对源语言键和现有目标语言文件,只生成缺失的翻译,不改动你已有的内容。

工作方式#

当你在一个已有部分翻译的项目中运行 CLI 时,它会先进行缺口分析:

json
// locales/en.json (source - 4 keys)
{
  "welcome": "Welcome to our app",
  "button.save": "Save",
  "button.cancel": "Cancel",
  "error.network": "Network error"
}

// locales/es.json (existing - 2 keys translated)
{
  "welcome": "Bienvenido a nuestra aplicación",
  "button.save": "Guardar"
}

运行 npx lingo.dev@latest run 后,只会补齐缺失的键:

json
// locales/es.json (after run - all 4 keys present)
{
  "welcome": "Bienvenido a nuestra aplicación",
  "button.save": "Guardar",
  "button.cancel": "Cancelar",
  "error.network": "Error de red"
}

现有的 welcome 和 button.save 翻译内容都会保持不变。

首次运行#

首次运行时,CLI 会根据你当前的状态创建一个 i18n.lock 文件。这个锁文件会记录所有源内容的指纹,确保后续运行时不会重新生成已有翻译——即使这些翻译最初是由其他工具创建的。

请确保目标语言文件中不包含源语言内容。若目标文件里混有未翻译的源文本,可能会影响缺口检测。

从其他工具迁移#

CLI 支持处理由任意工具生成的翻译文件,只要它们符合支持的格式(JSON、YAML、PO 等):

1

配置 i18n.json

设置与现有文件路径匹配的 bucket 模式。

2

运行翻译

CLI 会在保留现有翻译的同时,补齐缺失的键。

3

检查并提交

只补齐缺失部分,你现有的翻译保持不变。

刷新翻译#

如果现有翻译质量不理想,你可以有选择地重新翻译:

bash
# Retranslate all Spanish content
npx lingo.dev@latest run --force --target-locale es

# Retranslate a specific key across all languages
npx lingo.dev@latest run --force --key error.network

如需更多选项,请参阅 Retranslation。

后续步骤#