๋ฉ”์ธ ์ฝ˜ํ…์ธ ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ
Sonamu UI๋Š” i18n ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ Excel๋กœ ๋‚ด๋ณด๋‚ด๊ณ  ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฒˆ์—ญ๊ฐ€๋‚˜ ๊ธฐํš์ž๊ฐ€ ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ์—์„œ ์ž‘์—…ํ•œ ํ›„ ํ•œ ๋ฒˆ์— ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Excel Export

Sonamu UI์—์„œ ๋‚ด๋ณด๋‚ด๊ธฐ

  1. Sonamu UI ์ ‘์† (http://localhost:1028/sonamu-ui)
  2. ์ขŒ์ธก ๋ฉ”๋‰ด์—์„œ i18n ํด๋ฆญ
  3. ์šฐ์ธก ์ƒ๋‹จ Export ๋ฒ„ํŠผ ํด๋ฆญ
  4. Excel ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ

Excel ํŒŒ์ผ ๊ตฌ์กฐ

์ปฌ๋Ÿผ์„ค๋ช…
key๋”•์…”๋„ˆ๋ฆฌ ํ‚ค
sourceentity (์ž๋™ ์ถ”์ถœ) ๋˜๋Š” project (์ˆ˜๋™ ์ž‘์„ฑ)
ko, en, โ€ฆ๊ฐ locale์˜ ๋ฒˆ์—ญ ๊ฐ’

Excel Import

๋ฒˆ์—ญ ์ž‘์—… ํ›„ ๊ฐ€์ ธ์˜ค๊ธฐ

  1. Exportํ•œ Excel ํŒŒ์ผ์—์„œ ๋ฒˆ์—ญ ์ž‘์—…
  2. Sonamu UI์˜ i18n ํŽ˜์ด์ง€์—์„œ Import ๋ฒ„ํŠผ ํด๋ฆญ
  3. Excel ํŒŒ์ผ ์„ ํƒ
  4. ๋ณ€๊ฒฝ ์‚ฌํ•ญ ํ™•์ธ ํ›„ ์ ์šฉ

Import ๋™์ž‘ ๋ฐฉ์‹

sourcedefaultLocale (ko)๋‹ค๋ฅธ locale (en)
entityentity.json ์—…๋ฐ์ดํŠธen.ts์— ์ €์žฅ
projectko.ts์— ์ €์žฅen.ts์— ์ €์žฅ
entity source์˜ defaultLocale ๊ฐ’์€ Entity์˜ title, prop.desc, enumLabels๋ฅผ ์ง์ ‘ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

๋ฒˆ์—ญ ์›Œํฌํ”Œ๋กœ์šฐ

๊ถŒ์žฅ ์›Œํฌํ”Œ๋กœ์šฐ

  1. ๊ฐœ๋ฐœ ๋‹จ๊ณ„: Entity ์ •์˜ ์‹œ defaultLocale(ko) ๋ผ๋ฒจ๋งŒ ์ž‘์„ฑ
  2. ๋ฒˆ์—ญ ๋‹จ๊ณ„: Excel export โ†’ ๋ฒˆ์—ญํŒ€์— ์ „๋‹ฌ โ†’ ๋ฒˆ์—ญ ์™„๋ฃŒ ํ›„ import
  3. ์œ ์ง€๋ณด์ˆ˜: ์ƒˆ ํ‚ค ์ถ”๊ฐ€ ์‹œ ๋™์ผ ๊ณผ์ • ๋ฐ˜๋ณต

ํ•จ์ˆ˜ํ˜• ๊ฐ’ ์ฒ˜๋ฆฌ

Excel์—์„œ ํ•จ์ˆ˜ํ˜• ๊ฐ’๋„ ๊ทธ๋Œ€๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค:
keyko
common.results(count: number) => \$๊ฐœ ๊ฒฐ๊ณผโ€œ
validation.required(field: string) => \$์€(๋Š”) ํ•„์ˆ˜โ€œ
Import ์‹œ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ ํŒจํ„ด((...) => ...)์„ ์ž๋™์œผ๋กœ ๊ฐ์ง€ํ•˜์—ฌ ํ•จ์ˆ˜๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์˜์‚ฌํ•ญ

  • ํ‚ค ๋ณ€๊ฒฝ: ๊ธฐ์กด ํ‚ค๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ์ƒˆ ํ‚ค๋กœ ์ถ”๊ฐ€๋˜๊ณ  ๊ธฐ์กด ํ‚ค๋Š” ์œ ์ง€๋ฉ๋‹ˆ๋‹ค
  • ํ‚ค ์‚ญ์ œ: Excel์—์„œ ํ–‰์„ ์‚ญ์ œํ•ด๋„ ๊ธฐ์กด ๋”•์…”๋„ˆ๋ฆฌ์—์„œ ์‚ญ์ œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค
  • source ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€: entity โ†’ project ๋ณ€๊ฒฝ์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค
  • ๋นˆ ๊ฐ’: ๋นˆ ์…€์€ ํ•ด๋‹น locale์—์„œ ํ‚ค๊ฐ€ ์ œ๊ฑฐ๋˜์ง€ ์•Š๊ณ  ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค