키 무시
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 (source)
{
"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 (generated)
{
"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"
]
}
이 표기법은 복잡한 중첩 구조에서도 작동합니다:
// Source structure
{
"development": {
"logging": {
"level": "verbose"
}
}
}
development/logging/level 경로는 이 구성을 번역에서 제외합니다.
점이 포함된 키
슬래시 표기법은 이름에 점이 포함된 키를 처리합니다:
// Source with dotted key names
{
"dev": {
"api.mock": "Mock API enabled",
"cache.clear": "Clear cache on startup"
}
}
다음과 같이 이러한 키를 무시하세요:
{
"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):
- 키는 번역 처리에 포함되지만 값은 변경되지 않습니다
- 잠긴 키는 동일한 소스 값으로 대상 파일에 나타납니다
- 기술 식별자, 컴포넌트 이름 또는 일관성을 유지해야 하는 값에 사용됩니다
예시 비교:
// Source file
{
"welcome": "Welcome",
"system": {
"component": "Lingo.dev Engine"
},
"internal": {
"debug": "Debug enabled"
}
}
// Configuration
{
"lockedKeys": ["system/component"],
"ignoredKeys": ["internal/debug"]
}
// Generated target file
{
"welcome": "Bienvenido",
"system": {
"component": "Lingo.dev Engine"
}
// internal/debug is completely missing
}