refactor: i18n 수정
This commit is contained in:
@@ -1,29 +1,27 @@
|
||||
import fallback from './fallback/de'
|
||||
|
||||
export default defineI18nLocale(async (locale: string) => {
|
||||
//https://static-pubcomm.gate8.com/dev/test/multilingual/test_common_template.json?20251021185116
|
||||
const config = useRuntimeConfig()
|
||||
const rootPath = config.public.staticUrl
|
||||
const runType = config.public.runType
|
||||
|
||||
const translationApi = `${rootPath}/${runType}/test/multilingual/test_common_template.json`
|
||||
|
||||
const runtimeConfig = useRuntimeConfig()
|
||||
const dataResourcesUrl = runtimeConfig.public.dataResourcesUrl as string
|
||||
const multilingualFileName = 'test_common_template.json'
|
||||
try {
|
||||
const { data } = await useFetch(translationApi, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json;charset=UTF-8'
|
||||
}
|
||||
const resultGetMultilingual = await useGetMultilingual({
|
||||
baseApiUrl: dataResourcesUrl,
|
||||
fileName: multilingualFileName,
|
||||
})
|
||||
|
||||
// API 데이터에서 locale에 맞는 데이터를 추출
|
||||
const apiData = data.value?.[locale] || {} // locale에 맞는 데이터가 없으면 빈 객체 반환
|
||||
|
||||
// API 데이터와 common.json 데이터를 병합 (common.json이 우선순위)
|
||||
const finalResult = { ...apiData }
|
||||
|
||||
return finalResult
|
||||
} catch (error) {
|
||||
console.error('Error fetching translation data:', error)
|
||||
// 에러 발생 시 common.json 데이터라도 반환
|
||||
return commonData[locale] || {}
|
||||
// multilingual 객체에서 현재 locale에 해당하는 데이터 추출
|
||||
const multilingualData = resultGetMultilingual?.value?.multilingual
|
||||
if (multilingualData && typeof multilingualData === 'object') {
|
||||
// locale이 'ko'이므로 'ko' 키의 데이터를 반환
|
||||
const localeData = multilingualData[locale] || multilingualData['de'] || {}
|
||||
return localeData
|
||||
}
|
||||
|
||||
return {}
|
||||
} catch (e) {
|
||||
console.error('[Exception] ko.defineI18nLocale: ', e)
|
||||
return fallback
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -1,29 +1,27 @@
|
||||
import fallback from './fallback/en'
|
||||
|
||||
export default defineI18nLocale(async (locale: string) => {
|
||||
//https://static-pubcomm.gate8.com/dev/test/multilingual/test_common_template.json?20251021185116
|
||||
const config = useRuntimeConfig()
|
||||
const rootPath = config.public.staticUrl
|
||||
const runType = config.public.runType
|
||||
|
||||
const translationApi = `${rootPath}/${runType}/test/multilingual/test_common_template.json`
|
||||
|
||||
const runtimeConfig = useRuntimeConfig()
|
||||
const dataResourcesUrl = runtimeConfig.public.dataResourcesUrl as string
|
||||
const multilingualFileName = 'test_common_template.json'
|
||||
try {
|
||||
const { data } = await useFetch(translationApi, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json;charset=UTF-8'
|
||||
}
|
||||
const resultGetMultilingual = await useGetMultilingual({
|
||||
baseApiUrl: dataResourcesUrl,
|
||||
fileName: multilingualFileName,
|
||||
})
|
||||
|
||||
// API 데이터에서 locale에 맞는 데이터를 추출
|
||||
const apiData = data.value?.[locale] || {} // locale에 맞는 데이터가 없으면 빈 객체 반환
|
||||
|
||||
// API 데이터와 common.json 데이터를 병합 (common.json이 우선순위)
|
||||
const finalResult = { ...apiData }
|
||||
|
||||
return finalResult
|
||||
} catch (error) {
|
||||
console.error('Error fetching translation data:', error)
|
||||
// 에러 발생 시 common.json 데이터라도 반환
|
||||
return commonData[locale] || {}
|
||||
// multilingual 객체에서 현재 locale에 해당하는 데이터 추출
|
||||
const multilingualData = resultGetMultilingual?.value?.multilingual
|
||||
if (multilingualData && typeof multilingualData === 'object') {
|
||||
// locale이 'ko'이므로 'ko' 키의 데이터를 반환
|
||||
const localeData = multilingualData[locale] || multilingualData['en'] || {}
|
||||
return localeData
|
||||
}
|
||||
|
||||
return {}
|
||||
} catch (e) {
|
||||
console.error('[Exception] ko.defineI18nLocale: ', e)
|
||||
return fallback
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -1,29 +1,27 @@
|
||||
import fallback from './fallback/es'
|
||||
|
||||
export default defineI18nLocale(async (locale: string) => {
|
||||
//https://static-pubcomm.gate8.com/dev/test/multilingual/test_common_template.json?20251021185116
|
||||
const config = useRuntimeConfig()
|
||||
const rootPath = config.public.staticUrl
|
||||
const runType = config.public.runType
|
||||
|
||||
const translationApi = `${rootPath}/${runType}/test/multilingual/test_common_template.json`
|
||||
|
||||
const runtimeConfig = useRuntimeConfig()
|
||||
const dataResourcesUrl = runtimeConfig.public.dataResourcesUrl as string
|
||||
const multilingualFileName = 'test_common_template.json'
|
||||
try {
|
||||
const { data } = await useFetch(translationApi, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json;charset=UTF-8'
|
||||
}
|
||||
const resultGetMultilingual = await useGetMultilingual({
|
||||
baseApiUrl: dataResourcesUrl,
|
||||
fileName: multilingualFileName,
|
||||
})
|
||||
|
||||
// API 데이터에서 locale에 맞는 데이터를 추출
|
||||
const apiData = data.value?.[locale] || {} // locale에 맞는 데이터가 없으면 빈 객체 반환
|
||||
|
||||
// API 데이터와 common.json 데이터를 병합 (common.json이 우선순위)
|
||||
const finalResult = { ...apiData }
|
||||
|
||||
return finalResult
|
||||
} catch (error) {
|
||||
console.error('Error fetching translation data:', error)
|
||||
// 에러 발생 시 common.json 데이터라도 반환
|
||||
return commonData[locale] || {}
|
||||
// multilingual 객체에서 현재 locale에 해당하는 데이터 추출
|
||||
const multilingualData = resultGetMultilingual?.value?.multilingual
|
||||
if (multilingualData && typeof multilingualData === 'object') {
|
||||
// locale이 'ko'이므로 'ko' 키의 데이터를 반환
|
||||
const localeData = multilingualData[locale] || multilingualData['es'] || {}
|
||||
return localeData
|
||||
}
|
||||
|
||||
return {}
|
||||
} catch (e) {
|
||||
console.error('[Exception] ko.defineI18nLocale: ', e)
|
||||
return fallback
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -1,29 +1,27 @@
|
||||
import fallback from './fallback/fr'
|
||||
|
||||
export default defineI18nLocale(async (locale: string) => {
|
||||
//https://static-pubcomm.gate8.com/dev/test/multilingual/test_common_template.json?20251021185116
|
||||
const config = useRuntimeConfig()
|
||||
const rootPath = config.public.staticUrl
|
||||
const runType = config.public.runType
|
||||
|
||||
const translationApi = `${rootPath}/${runType}/test/multilingual/test_common_template.json`
|
||||
|
||||
const runtimeConfig = useRuntimeConfig()
|
||||
const dataResourcesUrl = runtimeConfig.public.dataResourcesUrl as string
|
||||
const multilingualFileName = 'test_common_template.json'
|
||||
try {
|
||||
const { data } = await useFetch(translationApi, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json;charset=UTF-8'
|
||||
}
|
||||
const resultGetMultilingual = await useGetMultilingual({
|
||||
baseApiUrl: dataResourcesUrl,
|
||||
fileName: multilingualFileName,
|
||||
})
|
||||
|
||||
// API 데이터에서 locale에 맞는 데이터를 추출
|
||||
const apiData = data.value?.[locale] || {} // locale에 맞는 데이터가 없으면 빈 객체 반환
|
||||
|
||||
// API 데이터와 common.json 데이터를 병합 (common.json이 우선순위)
|
||||
const finalResult = { ...apiData }
|
||||
|
||||
return finalResult
|
||||
} catch (error) {
|
||||
console.error('Error fetching translation data:', error)
|
||||
// 에러 발생 시 common.json 데이터라도 반환
|
||||
return commonData[locale] || {}
|
||||
// multilingual 객체에서 현재 locale에 해당하는 데이터 추출
|
||||
const multilingualData = resultGetMultilingual?.value?.multilingual
|
||||
if (multilingualData && typeof multilingualData === 'object') {
|
||||
// locale이 'ko'이므로 'ko' 키의 데이터를 반환
|
||||
const localeData = multilingualData[locale] || multilingualData['fr'] || {}
|
||||
return localeData
|
||||
}
|
||||
|
||||
return {}
|
||||
} catch (e) {
|
||||
console.error('[Exception] ko.defineI18nLocale: ', e)
|
||||
return fallback
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -1,29 +1,27 @@
|
||||
import fallback from './fallback/ja'
|
||||
|
||||
export default defineI18nLocale(async (locale: string) => {
|
||||
//https://static-pubcomm.gate8.com/dev/test/multilingual/test_common_template.json?20251021185116
|
||||
const config = useRuntimeConfig()
|
||||
const rootPath = config.public.staticUrl
|
||||
const runType = config.public.runType
|
||||
|
||||
const translationApi = `${rootPath}/${runType}/test/multilingual/test_common_template.json`
|
||||
|
||||
const runtimeConfig = useRuntimeConfig()
|
||||
const dataResourcesUrl = runtimeConfig.public.dataResourcesUrl as string
|
||||
const multilingualFileName = 'test_common_template.json'
|
||||
try {
|
||||
const { data } = await useFetch(translationApi, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json;charset=UTF-8'
|
||||
}
|
||||
const resultGetMultilingual = await useGetMultilingual({
|
||||
baseApiUrl: dataResourcesUrl,
|
||||
fileName: multilingualFileName,
|
||||
})
|
||||
|
||||
// API 데이터에서 locale에 맞는 데이터를 추출
|
||||
const apiData = data.value?.[locale] || {} // locale에 맞는 데이터가 없으면 빈 객체 반환
|
||||
|
||||
// API 데이터와 common.json 데이터를 병합 (common.json이 우선순위)
|
||||
const finalResult = { ...apiData }
|
||||
|
||||
return finalResult
|
||||
} catch (error) {
|
||||
console.error('Error fetching translation data:', error)
|
||||
// 에러 발생 시 common.json 데이터라도 반환
|
||||
return commonData[locale] || {}
|
||||
// multilingual 객체에서 현재 locale에 해당하는 데이터 추출
|
||||
const multilingualData = resultGetMultilingual?.value?.multilingual
|
||||
if (multilingualData && typeof multilingualData === 'object') {
|
||||
// locale이 'ko'이므로 'ko' 키의 데이터를 반환
|
||||
const localeData = multilingualData[locale] || multilingualData['ja'] || {}
|
||||
return localeData
|
||||
}
|
||||
|
||||
return {}
|
||||
} catch (e) {
|
||||
console.error('[Exception] ko.defineI18nLocale: ', e)
|
||||
return fallback
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -1,17 +1,24 @@
|
||||
import fallback from './fallback/ko'
|
||||
|
||||
export default defineI18nLocale(async (locale: string) => {
|
||||
//https://static-pubcomm.gate8.com/dev/test/multilingual/test_common_template.json?20251021185116
|
||||
const config = useRuntimeConfig()
|
||||
const rootPath = config.public.staticUrl
|
||||
const runType = config.public.runType
|
||||
|
||||
const translationApi = `${rootPath}/${runType}/test/multilingual/test_common_template.json`
|
||||
|
||||
const runtimeConfig = useRuntimeConfig()
|
||||
const dataResourcesUrl = runtimeConfig.public.dataResourcesUrl as string
|
||||
const multilingualFileName = 'test_common_template.json'
|
||||
try {
|
||||
const result = (await commonFetch('GET', `${translationApi}`)) as any
|
||||
if(import.meta.client) {
|
||||
console.log("🚀 ~ result:", result[locale])
|
||||
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['ko'] || {}
|
||||
return localeData
|
||||
}
|
||||
return result[locale]
|
||||
|
||||
return {}
|
||||
} catch (e) {
|
||||
console.error('[Exception] ko.defineI18nLocale: ', e)
|
||||
return fallback
|
||||
|
||||
@@ -1,29 +1,27 @@
|
||||
import fallback from './fallback/pt'
|
||||
|
||||
export default defineI18nLocale(async (locale: string) => {
|
||||
//https://static-pubcomm.gate8.com/dev/test/multilingual/test_common_template.json?20251021185116
|
||||
const config = useRuntimeConfig()
|
||||
const rootPath = config.public.staticUrl
|
||||
const runType = config.public.runType
|
||||
|
||||
const translationApi = `${rootPath}/${runType}/test/multilingual/test_common_template.json`
|
||||
|
||||
const runtimeConfig = useRuntimeConfig()
|
||||
const dataResourcesUrl = runtimeConfig.public.dataResourcesUrl as string
|
||||
const multilingualFileName = 'test_common_template.json'
|
||||
try {
|
||||
const { data } = await useFetch(translationApi, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json;charset=UTF-8'
|
||||
}
|
||||
const resultGetMultilingual = await useGetMultilingual({
|
||||
baseApiUrl: dataResourcesUrl,
|
||||
fileName: multilingualFileName,
|
||||
})
|
||||
|
||||
// API 데이터에서 locale에 맞는 데이터를 추출
|
||||
const apiData = data.value?.[locale] || {} // locale에 맞는 데이터가 없으면 빈 객체 반환
|
||||
|
||||
// API 데이터와 common.json 데이터를 병합 (common.json이 우선순위)
|
||||
const finalResult = { ...apiData }
|
||||
|
||||
return finalResult
|
||||
} catch (error) {
|
||||
console.error('Error fetching translation data:', error)
|
||||
// 에러 발생 시 common.json 데이터라도 반환
|
||||
return commonData[locale] || {}
|
||||
// multilingual 객체에서 현재 locale에 해당하는 데이터 추출
|
||||
const multilingualData = resultGetMultilingual?.value?.multilingual
|
||||
if (multilingualData && typeof multilingualData === 'object') {
|
||||
// locale이 'ko'이므로 'ko' 키의 데이터를 반환
|
||||
const localeData = multilingualData[locale] || multilingualData['pt'] || {}
|
||||
return localeData
|
||||
}
|
||||
|
||||
return {}
|
||||
} catch (e) {
|
||||
console.error('[Exception] ko.defineI18nLocale: ', e)
|
||||
return fallback
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -1,29 +1,27 @@
|
||||
import fallback from './fallback/th'
|
||||
|
||||
export default defineI18nLocale(async (locale: string) => {
|
||||
//https://static-pubcomm.gate8.com/dev/test/multilingual/test_common_template.json?20251021185116
|
||||
const config = useRuntimeConfig()
|
||||
const rootPath = config.public.staticUrl
|
||||
const runType = config.public.runType
|
||||
|
||||
const translationApi = `${rootPath}/${runType}/test/multilingual/test_common_template.json`
|
||||
|
||||
const runtimeConfig = useRuntimeConfig()
|
||||
const dataResourcesUrl = runtimeConfig.public.dataResourcesUrl as string
|
||||
const multilingualFileName = 'test_common_template.json'
|
||||
try {
|
||||
const { data } = await useFetch(translationApi, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json;charset=UTF-8'
|
||||
}
|
||||
const resultGetMultilingual = await useGetMultilingual({
|
||||
baseApiUrl: dataResourcesUrl,
|
||||
fileName: multilingualFileName,
|
||||
})
|
||||
|
||||
// API 데이터에서 locale에 맞는 데이터를 추출
|
||||
const apiData = data.value?.[locale] || {} // locale에 맞는 데이터가 없으면 빈 객체 반환
|
||||
|
||||
// API 데이터와 common.json 데이터를 병합 (common.json이 우선순위)
|
||||
const finalResult = { ...apiData }
|
||||
|
||||
return finalResult
|
||||
} catch (error) {
|
||||
console.error('Error fetching translation data:', error)
|
||||
// 에러 발생 시 common.json 데이터라도 반환
|
||||
return commonData[locale] || {}
|
||||
// multilingual 객체에서 현재 locale에 해당하는 데이터 추출
|
||||
const multilingualData = resultGetMultilingual?.value?.multilingual
|
||||
if (multilingualData && typeof multilingualData === 'object') {
|
||||
// locale이 'ko'이므로 'ko' 키의 데이터를 반환
|
||||
const localeData = multilingualData[locale] || multilingualData['th'] || {}
|
||||
return localeData
|
||||
}
|
||||
|
||||
return {}
|
||||
} catch (e) {
|
||||
console.error('[Exception] ko.defineI18nLocale: ', e)
|
||||
return fallback
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -1,34 +1,27 @@
|
||||
import fallback from './fallback/zh-cn'
|
||||
|
||||
export default defineI18nLocale(async (locale: string) => {
|
||||
//https://static-pubcomm.gate8.com/dev/test/multilingual/test_common_template.json?20251021185116
|
||||
const config = useRuntimeConfig()
|
||||
const rootPath = config.public.staticUrl
|
||||
const runType = config.public.runType
|
||||
|
||||
const translationApi = `${rootPath}/${runType}/test/multilingual/test_common_template.json`
|
||||
|
||||
const runtimeConfig = useRuntimeConfig()
|
||||
const dataResourcesUrl = runtimeConfig.public.dataResourcesUrl as string
|
||||
const multilingualFileName = 'test_common_template.json'
|
||||
try {
|
||||
const { data } = await useFetch(translationApi, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json;charset=UTF-8'
|
||||
}
|
||||
const resultGetMultilingual = await useGetMultilingual({
|
||||
baseApiUrl: dataResourcesUrl,
|
||||
fileName: multilingualFileName,
|
||||
})
|
||||
|
||||
|
||||
if(locale === 'zh-cn') {
|
||||
locale = 'zh-CN'
|
||||
// multilingual 객체에서 현재 locale에 해당하는 데이터 추출
|
||||
const multilingualData = resultGetMultilingual?.value?.multilingual
|
||||
if (multilingualData && typeof multilingualData === 'object') {
|
||||
// locale이 'ko'이므로 'ko' 키의 데이터를 반환
|
||||
const localeData = multilingualData[locale] || multilingualData['zh-cn'] || {}
|
||||
return localeData
|
||||
}
|
||||
|
||||
// API 데이터에서 locale에 맞는 데이터를 추출
|
||||
const apiData = data.value?.[locale] || {} // locale에 맞는 데이터가 없으면 빈 객체 반환
|
||||
|
||||
// API 데이터와 common.json 데이터를 병합 (common.json이 우선순위)
|
||||
const finalResult = { ...apiData }
|
||||
|
||||
return finalResult
|
||||
} catch (error) {
|
||||
console.error('Error fetching translation data:', error)
|
||||
// 에러 발생 시 common.json 데이터라도 반환
|
||||
return commonData[locale] || {}
|
||||
|
||||
return {}
|
||||
} catch (e) {
|
||||
console.error('[Exception] ko.defineI18nLocale: ', e)
|
||||
return fallback
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -1,17 +1,24 @@
|
||||
import fallback from './fallback/zh-tw'
|
||||
|
||||
export default defineI18nLocale(async (locale: string) => {
|
||||
//https://static-pubcomm.gate8.com/dev/test/multilingual/test_common_template.json?20251021185116
|
||||
const config = useRuntimeConfig()
|
||||
const rootPath = config.public.staticUrl
|
||||
const runType = config.public.runType
|
||||
|
||||
const translationApi = `${rootPath}/${runType}/test/multilingual/test_common_template.json`
|
||||
|
||||
const runtimeConfig = useRuntimeConfig()
|
||||
const dataResourcesUrl = runtimeConfig.public.dataResourcesUrl as string
|
||||
const multilingualFileName = 'test_common_template.json'
|
||||
try {
|
||||
const result = (await commonFetch('GET', `${translationApi}`)) as any
|
||||
if(import.meta.client) {
|
||||
console.log("🚀 ~ result:", result[locale])
|
||||
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 result[locale]
|
||||
|
||||
return {}
|
||||
} catch (e) {
|
||||
console.error('[Exception] ko.defineI18nLocale: ', e)
|
||||
return fallback
|
||||
|
||||
Reference in New Issue
Block a user