删除派生出的目标文件和/或锁定文件。这是破坏性操作——除非传入 --yes,否则默认只进行 dry-run。
text
lingo purge [--locale <code>...] [--file <substring>...] [--lockfile-only] [--yes]不带任何标志时,purge 会处理所有已配置目标语言环境的派生文件,以及 .lingo/lock.json。
标志#
| 标志 | 作用 |
|---|---|
--locale <code> | 仅处理列出的目标语言环境。可重复指定。 |
--file <substring> | 仅处理源路径中包含该子字符串的项。可重复指定。 |
--lockfile-only | 保留所有目标文件;仅删除 .lingo/lock.json。 |
--yes | 执行实际删除。不带此标志时,purge 只会打印将要删除的内容。 |
默认仅 dry-run#
bash
lingo purge --locale frtext
Would delete (dry run — pass --yes to apply):
content/fr/app.json
content/fr/guide.md
...添加 --yes 即可真正执行。
示例#
删除一个语言环境#
bash
lingo purge --locale ja --yes删除所有 ja 目标文件。也别忘了在 config 中,从 targetLocales 里移除 ja。
低成本的按语言环境重新翻译#
bash
lingo purge --locale fr --yes
lingo push --backfill-missing删除法语目标文件后,只重新生成缺失的内容。相比 --force 成本更低,因为其他所有语言环境都能继续命中缓存。参见 Retranslation。
缩小到特定文件#
bash
lingo purge --file marketing --locale de --yes删除源路径中包含 marketing 的德语目标文件。
仅重置锁定文件#
bash
lingo purge --lockfile-only --yes保留磁盘上的所有翻译,但删除 .lingo/lock.json。下一次运行 lingo push 时,会从头重新哈希所有源文件。适用于锁定文件与磁盘上的实际内容不同步时。
此操作无法撤销
purge --yes 会立即删除文件。如果你的翻译还没提交到 git,就会直接丢失。建议先在不带 --yes 的情况下运行,确认文件列表。
从旧版 CLI 迁移?#
旧版 CLI 的 purge 还支持按 --key 和 --bucket 筛选。当前 CLI 仅支持按 --locale 和 --file(源路径子字符串)筛选。若要清除特定键,请在源文件中编辑或删除它们,然后重新运行 lingo push。
