28 lines
967 B
TypeScript
28 lines
967 B
TypeScript
import fallback from './fallback/zh-tw'
|
|
|
|
export default defineI18nLocale(async (locale: string) => {
|
|
const runtimeConfig = useRuntimeConfig()
|
|
const dataResourcesUrl = runtimeConfig.public.dataResourcesUrl as string
|
|
const multilingualFileName = 'STOVE_PUBTEMPLATE_common_translations.json'
|
|
try {
|
|
const resultGetMultilingual = await useGetMultilingual({
|
|
baseApiUrl: dataResourcesUrl,
|
|
fileName: multilingualFileName,
|
|
})
|
|
|
|
// multilingual 객체에서 현재 locale에 해당하는 데이터 추출
|
|
const multilingualData = resultGetMultilingual?.value?.multilingual
|
|
if (multilingualData && typeof multilingualData === 'object') {
|
|
// locale이 'ko'이므로 'ko' 키의 데이터를 반환
|
|
const localeData = multilingualData[locale] || multilingualData['zh-tw'] || {}
|
|
return localeData
|
|
}
|
|
|
|
return {}
|
|
} catch (e) {
|
|
console.error('[Exception] ko.defineI18nLocale: ', e)
|
|
return fallback
|
|
}
|
|
})
|
|
|