feat(i18n): 공통/주요 화면 문자열 치환, 포맷 정책 적용, 언어 전환 UX 및 스캔 스크립트 추가

This commit is contained in:
Yu Sung
2026-05-08 14:09:58 +09:00
parent c2663a1e9d
commit 43d0ebc9ed
13 changed files with 459 additions and 178 deletions

View File

@@ -31,6 +31,69 @@ const i18n = new VueI18n({
locale: detectLocale(),
fallbackLocale: 'en',
messages: { ko, en, ja },
// 숫자/통화 포맷 정책
numberFormats: {
en: {
decimal: {
style: 'decimal',
minimumFractionDigits: 0,
maximumFractionDigits: 2
},
currency: {
style: 'currency',
currency: 'USD',
currencyDisplay: 'symbol',
minimumFractionDigits: 2,
maximumFractionDigits: 2
}
},
ko: {
decimal: {
style: 'decimal',
minimumFractionDigits: 0,
maximumFractionDigits: 2
},
currency: {
style: 'currency',
currency: 'KRW',
currencyDisplay: 'symbol',
minimumFractionDigits: 0,
maximumFractionDigits: 0
}
},
ja: {
decimal: {
style: 'decimal',
minimumFractionDigits: 0,
maximumFractionDigits: 2
},
currency: {
style: 'currency',
currency: 'JPY',
currencyDisplay: 'symbol',
minimumFractionDigits: 0,
maximumFractionDigits: 0
}
}
},
// 날짜/시간 포맷(예시)
dateTimeFormats: {
en: {
short: {
year: 'numeric', month: '2-digit', day: '2-digit'
}
},
ko: {
short: {
year: 'numeric', month: '2-digit', day: '2-digit'
}
},
ja: {
short: {
year: 'numeric', month: '2-digit', day: '2-digit'
}
}
},
silentTranslationWarn: process.env.NODE_ENV === 'production',
missing(locale, key) {
if (process.env.NODE_ENV !== 'production') {