메인 μ½˜ν…μΈ λ‘œ κ±΄λ„ˆλ›°κΈ°
SonamuλŠ” νƒ€μž… μ•ˆμ „ν•œ λ‹€κ΅­μ–΄(i18n) μ‹œμŠ€ν…œμ„ λ‚΄μž₯ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. SD (Sonamu Dictionary) ν•¨μˆ˜λ₯Ό 톡해 컴파일 νƒ€μž„μ— ν‚€ μ˜€νƒ€λ₯Ό κ°μ§€ν•˜κ³ , Entity 라벨을 μžλ™μœΌλ‘œ μΆ”μΆœν•˜μ—¬ λ²ˆμ—­ μž‘μ—…μ„ κ°„μ†Œν™”ν•©λ‹ˆλ‹€.

핡심 νŠΉμ§•

  • νƒ€μž… μ•ˆμ „μ„±: μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” ν‚€ μ‚¬μš© μ‹œ 컴파일 μ—λŸ¬
  • Entity 라벨 μžλ™ μΆ”μΆœ: title, prop.desc, enum 라벨이 μžλ™μœΌλ‘œ λ”•μ…”λ„ˆλ¦¬μ— 포함
  • ν•¨μˆ˜ν˜• κ°’ 지원: 동적 λ©”μ‹œμ§€ 생성 ((count) => \$κ°œβ€œ)
  • ν•œκ΅­μ–΄ 헬퍼: 쑰사 처리(은/λŠ”, 이/κ°€), λ³΅μˆ˜ν˜• λ“±
  • Excel import/export: Sonamu UIμ—μ„œ λ²ˆμ—­ 파일 관리
  • Locale별 컬럼 지원: name_ko, name_en 같은 λ‹€κ΅­μ–΄ DB 컬럼

μ•„ν‚€ν…μ²˜

μžλ™ 생성 파일

sd.generated.tsλŠ” λ‹€μŒμ„ ν¬ν•¨ν•©λ‹ˆλ‹€:
ν•­λͺ©μ„€λͺ…μ˜ˆμ‹œ ν‚€
Entity 타이틀Entity의 title 속성entity.User
Prop 라벨prop의 desc 속성entity.User.email
Enum 라벨enumLabels μ •μ˜enum.UserRole.admin
SD ν•¨μˆ˜νƒ€μž… μ•ˆμ „ν•œ λ²ˆμ—­ ν•¨μˆ˜-
localizedColumnDB 컬럼 λ‹€κ΅­μ–΄ 지원-

μ›Œν¬ν”Œλ‘œμš°

  1. Entityμ—μ„œ title, prop.desc, enumLabels μ •μ˜
  2. pnpm sync μ‹€ν–‰ μ‹œ sd.generated.ts μžλ™ 생성
  3. ko.ts, en.tsμ—μ„œ ν”„λ‘œμ νŠΈ λ”•μ…”λ„ˆλ¦¬ μž‘μ„±
  4. SD("key") ν•¨μˆ˜λ‘œ ν˜„μž¬ locale에 λ§žλŠ” ν…μŠ€νŠΈ μ‚¬μš©