被锁定的键会直接从源文件复制到所有目标文件,无需翻译。Lingo.dev CLI 会将这些键完全排除在翻译流程之外,并在所有语言中保留原始源值。
配置方法#
将 lockedKeys 添加到 i18n.json 的某个 bucket 中:
json
{
"buckets": {
"json": {
"include": ["locales/[locale].json"],
"lockedKeys": ["brand/name", "config/apiUrl", "system/version"]
}
}
}工作方式#
假设有这样一个源文件:
json
{
"welcome": "Welcome to our platform",
"brand": {
"name": "Lingo.dev"
},
"config": {
"apiUrl": "https://api.example.com"
}
}启用 "lockedKeys": ["brand/name", "config/apiUrl"] 后,西班牙语目标文件会变成:
json
{
"welcome": "Bienvenido a nuestra plataforma",
"brand": {
"name": "Lingo.dev"
},
"config": {
"apiUrl": "https://api.example.com"
}
}只有 welcome 会被翻译;锁定的键会完整保留源值。
键路径表示法#
使用正斜杠(/)来定位嵌套键:
json
{ "lockedKeys": ["system/engine/component"] }使用星号(*)来匹配多个键:
json
{ "lockedKeys": ["navigation/menuItems/*"] }即使键名中包含点号,也能正常工作——modules/ai.translation 会定位到 "modules" 内部的键 "ai.translation"。
键锁定 vs. 键忽略#
| 键锁定 | 键忽略 | |
|---|---|---|
| 是否出现在目标文件中 | 是——保留源值 | 否 |
| 适用场景 | 品牌名称、技术 ID、URL | 调试字符串、内部标记、测试数据 |
