import fallback from './fallback/es' 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이 'es'이므로 'es' 키의 데이터를 반환 const localeData = multilingualData[locale] || multilingualData['es'] // localeData가 유효한 객체인지 확인 if ( localeData && typeof localeData === 'object' && !Array.isArray(localeData) && Object.keys(localeData).length > 0 ) { return localeData } } // fallback이 빈 객체인 경우를 대비하여 최소한의 기본값 반환 return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' } } catch (e) { console.error('[Exception] es.defineI18nLocale: ', e) return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' } } })