Lingo.dev + .json5 (JSON5)

Lingo.dev CLI는 주석, 따옴표 없는 키, 후행 쉼표, 작은따옴표를 포함한 JSON5 구문을 완벽하게 지원하여 JSON5 로케일 파일을 번역합니다. CLI는 프레임워크 호환성을 유지하고 비용 효율성을 위해 수정된 콘텐츠만 처리하면서 JSON5 형식과 개발자 친화적인 구문을 보존합니다.

빠른 설정

'i18n.json' 구성 파일을 생성하세요:

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

참고: [locale]은 CLI 실행 중에 실제 로케일로 대체되므로 구성에 그대로 유지해야 하는 자리 표시자입니다.

모든 것 번역하기

npx lingo.dev@latest i18n

JSON5 구문 기능을 자동으로 처리하고, 주석과 형식을 보존하며, 변경된 콘텐츠만 업데이트합니다.

JSON5 구문 지원

JSON5는 개발자 친화적인 구문으로 JSON을 확장합니다:

{
  // 주석이 지원됩니다
  title: "Hello, world!", // 라인 주석 작동
  description: '작은따옴표 허용',
  unquoted: '따옴표 없는 키 작동',
  trailing: '후행 쉼표 허용',
  
  /* 블록 주석도
     지원됩니다 */
  multiline: "이것은 \
여러 줄에 걸쳐 \
있는 긴 문자열입니다",
  
  // 16진수 숫자
  hex_value: 0xDEADBEEF,
  positive: +123,
  
  nested: {
    key: 'value',
  }, // 후행 쉼표 허용
}

스마트 구조 보존

JSON5 구문과 프레임워크 규칙을 유지합니다:

{
  nav: {
    home: "Home",
    about: {
      team: "Our Team"
    }
  },
  items: {
    one: "{{count}} item",
    other: "{{count}} items"
  },
  // 구성은 그대로 유지됩니다
  version: 0x010203
}

고급 구성

파일 제외하기

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

기술적 키 잠금

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

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

JSON5 vs JSON

JSON5는 완전한 JSON 호환성을 유지하면서 향상된 개발자 경험을 제공합니다:

  • 주석: 인라인 및 블록 주석으로 번역을 문서화
  • 따옴표 없는 키: 속성 이름 주변에 따옴표가 없는 더 깔끔한 구문
  • 후행 쉼표: 더 쉬운 편집 및 버전 관리 차이점
  • 작은따옴표: 문자열 인용에 유연성 제공
  • 여러 줄 문자열: 긴 텍스트에 대한 가독성 향상
  • 숫자 형식: 16진수, 양수 기호 등 지원

모든 JSON 파일은 유효한 JSON5이므로 마이그레이션이 원활합니다.