키 무시하기

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는:

  1. 구성에서 무시된 키를 식별합니다
  2. 콘텐츠 검색에서 제외합니다 — 무시된 키는 처리되지 않습니다
  3. 대상 파일에서 건너뜁니다 — 무시된 키는 생성된 번역에 나타나지 않습니다
  4. 개발 콘텐츠와 프로덕션 콘텐츠 간의 분리를 유지합니다

워크플로우 예시:

// 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는 완전히 누락됨
}