meta.json
meta.json 파일이란 무엇인가요? 어떻게 사용되나요?
소개
meta.json
은 Lingo.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
- 필수 여부: 예