你无需从空白项目起步。如果项目里已经有翻译文件,CLI 可以直接配合现有内容工作:自动补齐缺失项,同时保留你已有的翻译。
让配置指向现有内容#
设置源语言、目标语言和文件匹配规则,对应到你当前存放翻译文件的位置:
json
{
"sourceLocale": "en",
"targetLocales": ["de", "fr"],
"files": [{ "pattern": "locales/en.json" }]
}如果 locales/de.json 和 locales/fr.json 已经存在,就会原样保留。
补齐缺失项#
bash
lingo push --backfill-missing--backfill-missing 只会生成缺失的目标内容——比如某个语言环境还没有对应文件,或者(首次运行后)某些键尚未被引擎翻译。你已有的文件不会被覆盖。
text
✓ Run lfr_a8c...: localized 1 target file(s), 2 already up-to-date.锁定特定值#
如果某些现有翻译已经过人工审核,之后绝不能改动,可以将它们标记为 preservedKeys,这样后续任何一次运行都不会触碰这些内容:
json
{ "pattern": "locales/en.json", "preservedKeys": ["legal.terms"] }lockfile 的初始化方式#
首次 push 会在 .lingo/lock.json 中记录每个源文件的哈希值。此后,普通的 lingo push 只会发送发生变更的源文件——除非你修改了源文件或主动强制执行,否则现有翻译不会被重复发送。请将 lockfile 与翻译文件一并提交。参见 Configuration。
有意覆盖
--backfill-missing 从不会覆盖已有内容。如果你想有意重新生成现有翻译(例如模型或指令变更后),请使用限定范围的 --force push。
