보존된 키는 소스 값으로 한 번만 초기화된 뒤 자동 업데이트로부터 보호됩니다. CLI는 이 키들을 절대 덮어쓰지 않으므로, 법률 문구, 컴플라이언스 카피, 마케팅 태그라인처럼 수동 번역이 필요한 콘텐츠의 플레이스홀더로 활용할 수 있습니다.
설정#
i18n.json의 버킷에 preservedKeys를 추가하세요:
json
{
"buckets": {
"json": {
"include": ["locales/[locale].json"],
"preservedKeys": ["legal/privacy", "legal/terms"]
}
}
}작동 방식#
예를 들어 다음과 같은 소스 파일이 있다고 가정해 보겠습니다:
json
{
"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."
}
}첫 실행 시 CLI는 보존된 키는 원본 그대로 복사하고, 나머지는 모두 번역합니다:
json
// 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."
}
}법률 섹션을 수동으로 번역한 뒤에는 이후 CLI를 실행해도 해당 번역이 그대로 유지됩니다.
키 보존 vs. 키 잠금#
| 키 보존 | 키 잠금 | |
|---|---|---|
| 초기값 | 플레이스홀더용 소스 값 | 소스 값(항상) |
| 수동 수정 | 영구적으로 유지됨 | 실행할 때마다 소스 값으로 덮어씀 |
| 사용 사례 | 법률, 컴플라이언스, 수동 번역 | 브랜드명, 기술 ID |
키 경로 표기법#
중첩 키에는 슬래시(/)를, 와일드카드에는 별표(*)를 사용하세요:
json
{ "preservedKeys": ["legal/*", "marketing/tagline"] }