As chaves preservadas são inicializadas uma única vez com os valores de origem e depois protegidas contra atualizações automáticas. A CLI nunca as substitui — funcionam como marcadores de posição para conteúdo que exige tradução manual, como texto jurídico, conteúdo de conformidade ou slogans de marketing.
Configuração#
Adicione preservedKeys a um bucket em i18n.json:
{
"buckets": {
"json": {
"include": ["locales/[locale].json"],
"preservedKeys": ["legal/privacy", "legal/terms"]
}
}
}Como funciona#
Considere este ficheiro de origem:
{
"welcome": "Welcome to our platform",
"legal": {
"privacy": "We respect your privacy and protect your data.",
"terms": "By using this service, you agree to our terms."
}
}Na primeira execução, a CLI copia as chaves preservadas tal como estão, enquanto traduz tudo o resto:
// locales/es.json (first run)
{
"welcome": "Bienvenido a nuestra plataforma",
"legal": {
"privacy": "We respect your privacy and protect your data.",
"terms": "By using this service, you agree to our terms."
}
}Depois de traduzir manualmente a secção jurídica, as execuções seguintes da CLI mantêm as suas traduções intactas.
Preservação de Chaves vs. Bloqueio de Chaves#
| Preservação de Chaves | Bloqueio de Chaves | |
|---|---|---|
| Valor inicial | Valor de origem como marcador de posição | Valor de origem (sempre) |
| Edições manuais | Preservadas permanentemente | Substituídas pelo valor de origem em cada execução |
| Caso de uso | Conteúdo jurídico, conformidade, tradução manual | Nomes de marcas, IDs técnicos |
Notação de caminho de chave#
Use a barra (/) para chaves aninhadas e o asterisco (*) para wildcards:
{ "preservedKeys": ["legal/*", "marketing/tagline"] }