키 무시하기
Lingo.dev CLI를 사용하면 특정 번역 키를 무시하여 번역 처리에서 완전히 제외할 수 있습니다. 무시된 키는 대상 파일에 복사되지 않으며 CLI 작업 중에 변경되지 않습니다.
키를 무시하면 CLI는 콘텐츠 검색 및 번역 생성 중에 해당 키를 완전히 건너뜁니다.
키 무시 설정하기
i18n.json
의 버킷 구성에 ignoredKeys
를 추가하세요:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de"]
},
"buckets": {
"json": {
"include": ["locales/[locale].json"],
"ignoredKeys": ["internal/debug", "dev/settings", "temp/cache"]
}
}
}
ignoredKeys
배열은 중첩된 키를 지정하기 위해 슬래시(/
) 표기법을 사용합니다.
키 무시 작동 방식
번역 처리 중에 Lingo.dev CLI는:
- 구성에서 무시된 키를 식별합니다
- 콘텐츠 검색에서 제외합니다 — 무시된 키는 처리되지 않습니다
- 대상 파일에서 건너뜁니다 — 무시된 키는 생성된 번역에 나타나지 않습니다
- 개발 콘텐츠와 프로덕션 콘텐츠 간의 분리를 유지합니다
워크플로우 예시:
// locales/en.json (소스)
{
"welcome": "Welcome to our platform",
"system": {
"component": "Lingo.dev CLI",
"version": "1.0.0"
},
"internal": {
"debug": "Debug mode enabled",
"testData": "Sample test content"
}
}
무시된 키 구성:
{
"ignoredKeys": ["internal/debug", "internal/testData"]
}
생성된 스페인어 번역:
// locales/es.json (생성됨)
{
"welcome": "Bienvenido a nuestra plataforma",
"system": {
"component": "Lingo.dev CLI",
"version": "1.0.0"
}
}
무시되지 않은 키만 번역됩니다. 전체 internal
섹션은 대상 파일에서 제외됩니다.
중첩된 키 경로
슬래시(/
) 표기법을 사용하여 모든 깊이의 키를 무시할 수 있습니다:
{
"ignoredKeys": [
"development/logging/level",
"testing/mock/data",
"admin/internal/config"
]
}
이 표기법은 복잡한 중첩 구조에서도 작동합니다:
// 소스 구조
{
"development": {
"logging": {
"level": "verbose"
}
}
}
경로 development/logging/level
은 이 구성을 번역에서 제외합니다.
점이 포함된 키
슬래시 표기법은 이름에 점이 포함된 키를 처리합니다:
// 점이 포함된 키 이름이 있는 소스
{
"dev": {
"api.mock": "Mock API 활성화됨",
"cache.clear": "시작 시 캐시 지우기"
}
}
다음과 같이 이러한 키를 무시할 수 있습니다:
{
"ignoredKeys": ["dev/api.mock", "dev/cache.clear"]
}
다중 버킷 유형
다양한 파일 형식은 서로 다른 무시된 키를 가질 수 있습니다:
{
"buckets": {
"json": {
"include": ["locales/[locale].json"],
"ignoredKeys": ["internal/debug", "dev/settings"]
},
"yaml": {
"include": ["translations/[locale].yml"],
"ignoredKeys": ["test/data", "admin/config"]
}
}
}
각 버킷 유형은 콘텐츠 구조에 따라 자체 무시된 키 목록을 유지합니다.
키 무시 vs 키 잠금
**키 무시(ignoredKeys
)**와 **키 잠금(lockedKeys
)**은 서로 다른 목적으로 사용됩니다:
키 무시(ignoredKeys
):
- 키가 번역 처리에서 완전히 제외됨
- 무시된 키는 대상 파일에 전혀 나타나지 않음
- 개발, 테스트 또는 번역되지 않아야 하는 내부 콘텐츠에 사용됨
키 잠금(lockedKeys
):
- 키는 번역 처리에 포함되지만 값은 변경되지 않음
- 잠긴 키는 동일한 소스 값으로 대상 파일에 나타남
- 기술적 식별자, 컴포넌트 이름 또는 일관성을 유지해야 하는 값에 사용됨
비교 예시:
// 소스 파일
{
"welcome": "Welcome",
"system": {
"component": "Lingo.dev Engine"
},
"internal": {
"debug": "Debug enabled"
}
}
// 구성
{
"lockedKeys": ["system/component"],
"ignoredKeys": ["internal/debug"]
}
// 생성된 대상 파일
{
"welcome": "Bienvenido",
"system": {
"component": "Lingo.dev Engine"
}
// internal/debug는 완전히 누락됨
}