As chaves preservadas são inicializadas uma única vez com os valores de origem e depois ficam protegidas contra atualizações automáticas. A CLI nunca as sobrescreve — elas funcionam como placeholders para conteúdo que exige tradução manual, como textos jurídicos, 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 arquivo 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 como estão e traduz todo o restante:
// 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 que você traduz manualmente a seção jurídica, as execuções seguintes da CLI mantêm suas traduções intactas.
Preservação de chaves vs. Key Locking#
| Preservação de chaves | Key Locking | |
|---|---|---|
| Valor inicial | Valor de origem como placeholder | Valor de origem (sempre) |
| Edições manuais | Preservadas permanentemente | Sobrescritas pelo valor de origem em cada execução |
| Caso de uso | Jurídico, conformidade, tradução manual | Nomes de marca, IDs técnicos |
Notação de caminho de chave#
Use barra (/) para chaves aninhadas e asterisco (*) para curingas:
{ "preservedKeys": ["legal/*", "marketing/tagline"] }