Lingo.dev CLI 提供四种键级控制,用来决定各个翻译键在处理过程中的行为。它们各有明确用途:
| 控制方式 | 配置字段 | 行为 |
|---|---|---|
| 键锁定 | lockedKeys | 将源语言的值原样复制到所有目标语言中,不进行翻译。这些键会出现在目标文件里,且值完全一致。 |
| 键忽略 | ignoredKeys | 将键完全排除在处理流程之外。它们不会出现在目标文件中。 |
| 键保留 | preservedKeys | 仅在首次从源语言初始化时写入,之后不再自动更新。专为需要人工翻译的内容而设计。 |
| 键重命名 | 自动 | 自动检测键是否被重命名,并保留已有翻译。无需额外配置。 |
如何选择#
当某个键的值必须在所有语言中保持一致时,使用 Lock——例如品牌名称、技术标识符、配置值:
json
{ "lockedKeys": ["brand/name", "config/apiUrl"] }当某个键根本不应该出现在目标文件中时,使用 Ignore——例如调试字符串、内部标记、测试数据:
json
{ "ignoredKeys": ["internal/debug", "dev/testData"] }当某个键需要人工翻译时,使用 Preserve——例如法律文本、合规内容、需要人工审核的营销文案:
json
{ "preservedKeys": ["legal/privacy", "legal/terms"] }Renaming 是自动进行的——CLI 会检测键名发生变化但内容保持不变的情况,并在无需重新翻译的前提下沿用已有翻译。
键路径表示法#
所有键数组在表示嵌套路径时都使用正斜杠 (/) 记法,并使用星号 (*) 表示通配符:
json
{
"lockedKeys": ["brand/name"],
"ignoredKeys": ["internal/*"],
"preservedKeys": ["legal/privacy/full"]
}名称中包含点号的键也能自然处理——正斜杠用于分隔层级,因此 modules/ai.translation 可以准确定位 "modules" 对象中的键 "ai.translation"。
