meta.json

meta.json 파일이란 무엇인가요? 어떻게 사용되나요?

소개

meta.jsonLingo.dev 컴파일러가 빌드 시간에 생성하는 파일입니다. 이 파일은 React 애플리케이션에서 발견된 모든 번역 가능한 콘텐츠를 추적하며, 빌드 타임 분석과 런타임 번역을 연결하는 인벤토리 역할을 합니다.

참고: meta.json 파일의 모든 변경 사항은 리포지토리에 커밋되어야 합니다.

예제 파일

다음은 (매우 간단한) meta.json 파일의 예시입니다:

{
  "version": 0.1,
  "files": {
    "components/hero.tsx": {
      "scopes": {
        "3/declaration/body/0/argument/1/1": {
          "type": "element",
          "hash": "a1b2c3d4e5f6...",
          "context": "",
          "skip": false,
          "overrides": {},
          "content": "Welcome to our app"
        }
      }
    }
  }
}

모든 속성의 의미를 이해하려면 스키마 속성을 참조하세요.

파일 위치

기본적으로 meta.json 파일은 컴파일러 구성(예: vite.config.ts 파일)의 위치를 기준으로 src/lingo 디렉토리에 출력됩니다.

이 위치를 사용자 지정하는 방법은 컴파일러 옵션을 참조하세요.

스키마 속성

이 섹션에서는 meta.json 파일에서 찾을 수 있는 모든 속성을 설명합니다.

version

호환성 검사 및 향후 마이그레이션을 위해 사용되는 스키마 버전 식별자입니다.

  • 타입: number
  • 필수:

files

소스 파일 경로별로 모든 번역 가능한 스코프를 구성하는 컨테이너 객체입니다. 각 키는 소스 루트에서의 상대 경로를 나타냅니다(예: "components/hero.tsx", "pages/home.jsx").

  • 타입: object
  • 필수:

files[filePath].scopes

특정 소스 파일에서 발견된 모든 번역 가능한 콘텐츠의 컨테이너입니다. 각 키는 파일 내에서 번역 가능한 콘텐츠를 고유하게 식별하는 AST 기반 식별자입니다.

  • 타입: object
  • 필수:

files[filePath].scopes[astKey].type

번역 가능한 콘텐츠가 JSX 요소의 콘텐츠인지 또는 JSX 속성의 값인지를 나타냅니다.

  • 타입: "element" | "attribute"
  • 필수:

files[filePath].scopes[astKey].hash

변경 감지에 사용되는 소스 콘텐츠의 SHA-256 해시입니다. 소스 콘텐츠가 변경되면 이 해시가 변경되어 재번역이 필요할 수 있음을 나타냅니다.

  • 유형: string
  • 필수 여부:

files[filePath].scopes[astKey].context

번역가가 콘텐츠의 목적이나 위치를 이해하는 데 도움이 되는 맥락 정보입니다.

  • 유형: string
  • 필수 여부: 아니오

files[filePath].scopes[astKey].skip

이 콘텐츠를 번역에서 제외해야 하는지 여부를 나타내는 플래그입니다.

  • 유형: boolean
  • 필수 여부:

files[filePath].scopes[astKey].overrides

일반 번역 프로세스를 우회하는 로케일별 번역 오버라이드입니다. 브랜드 이름, 기술 용어 또는 사용자 지정 번역에 유용합니다.

  • 유형: object
  • 필수 여부:

files[filePath].scopes[astKey].content

React 컴포넌트에서 추출된 번역이 필요한 실제 소스 텍스트입니다.

  • 유형: string
  • 필수 여부: