# 본문·이미지·다국어
카드의 기본 내용은 언제나 title과 description에 들어갑니다. 번역이 없어도 하나의 완전한 카드입니다.

## 본문 형식
`descriptionFormat`은 `plain` 또는 `markdown`입니다. 생략하면 일반 텍스트로 취급합니다. Markdown은 제목·목록·강조·코드 등 읽기 구조를 만드는 데 활용하세요. 실행 가능한 HTML을 넣는 방식은 지원하지 않습니다.

앱은 수학·음악용 표시 기능도 갖고 있습니다. 음악 카드는 abc 코드 펜스를 사용할 수 있습니다. 임의의 Typst 소스 전체나 HTML 프로그램을 실행할 수 있다고 가정하지 마세요.

## 이미지 자산
컬렉션의 assets에서 파일을 선언하고, 카드의 images에서 참조합니다.

```text
assets/<64자리 소문자 SHA-256>/<안전한 파일명>
```

asset에는 `assetId`, `path`, `sha256`이 필요합니다. 카드 이미지에는 같은 `assetId`, 같은 경로인 `sourcePath`, 그리고 `altText`를 넣습니다. SHA-256은 실제 이미지 바이트의 해시여야 합니다. 설명용 가짜 해시를 실제 파일에 사용하지 마세요.

기본 이미지 형식은 PNG·JPEG·WebP입니다. 이미지의 저작권·출처를 확인하고, 작품 카드는 작가·제작 시기·소장처 등 출처를 본문에도 남기면 좋습니다.

로컬 파일 전달은 앱의 이미지 포함 내보내기를, 저장소 전달은 JSON과 이미지가 함께 있는 GitHub를 권장합니다. [파일 가져오기](/ko/docs/import/file/)와 [GitHub 가져오기](/ko/docs/import/github/)를 참고하세요.

## 언어별 내용
지원하는 언어 키는 `ko`, `en-US`, `ja`, `zh-TW`입니다. 기본 내용을 두고 번역이 필요한 필드만 추가합니다. 원문 언어를 반드시 지정할 필요는 없습니다.

```json
{
  "localization": {
    "translations": {
      "en-US": { "title": "Variance", "description": "Variance measures the spread of values around their mean." },
      "ja": { "title": "分散" },
      "zh-TW": { "title": "變異數" }
    }
  }
}
```

이 구조는 컬렉션과 카드에 사용할 수 있습니다. 번역에서 descriptionFormat을 지정한다면 같은 번역에 description도 있어야 합니다. 언어별 관계 이름은 `localizedLabels`, 이미지 대체 텍스트는 `localizedAltText`를 사용합니다.
