Lingo.dev + .jsonc (주석이 있는 JSON)

Lingo.dev CLI는 JSONC(주석이 포함된 JSON) 파일을 번역하며, 모든 표준 JSON 기능과 함께 주석 및 후행 쉼표를 지원합니다. CLI는 주석을 번역 힌트로 추출하고, 정확한 형식을 유지하며, 중첩 구조를 지능적으로 처리하고, 비용 효율성을 위해 수정된 콘텐츠만 처리합니다.

빠른 설정

i18n.json 구성 파일을 생성합니다:

{
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de"]
  },
  "buckets": {
    "jsonc": {
      "include": ["locales/[locale].jsonc"]
    }
  }
}

참고: [locale]은 CLI 실행 중에 실제 로케일로 대체되므로 구성에서 문자 그대로 유지해야 하는 플레이스홀더입니다.

모든 것 번역하기

npx lingo.dev@latest i18n

중첩 구조를 자동으로 처리하고, 주석을 번역 힌트로 추출하며, 변경된 콘텐츠만 업데이트합니다.

주석 기반 번역 힌트

JSONC의 주요 장점은 주석을 사용하여 번역 컨텍스트를 제공하는 것입니다:

{
  // 이 주석은 인사말에 대한 컨텍스트를 제공합니다
  "greeting": "Hello, world!",
  "button": "Click me" /* 이것은 버튼의 목적을 설명합니다 */,
  /*
   * 복잡한 컨텍스트에 대한 여러 줄 주석
   * 문화적 뉘앙스 설명
   */
  "welcome": "Welcome to our app"
}

주석은 자동으로 힌트로 추출되어 번역 품질을 향상시키고 AI 번역기에 컨텍스트를 제공합니다.

스마트 구조 보존

복잡한 계층 구조를 유지하고 후행 쉼표를 지원합니다:

{
  "nav": {
    "home": "Home", // 네비게이션 항목
    "about": {
      "team": "Our Team" // 중첩된 네비게이션
    },
  },
  "items": {
    "one": "{{count}} item",
    "other": "{{count}} items", // 복수형 지원
  },
}

고급 구성

파일 제외

"jsonc": {
  "include": ["locales/[locale]/*.jsonc"],
  "exclude": ["locales/[locale]/config.jsonc"]
}

기술적 키 잠금

"jsonc": {
  "lockedKeys": ["app/version", "settings/apiKey"]
}

중첩된 키 경로에는 슬래시(/)를 사용하거나 여러 키 경로를 일치시키려면 별표(*)를 사용하세요.