fix. 다국어 Invalid value 수정

This commit is contained in:
clkim
2025-12-19 13:07:20 +09:00
parent 4d9b84a40f
commit e5316c4b86
10 changed files with 60 additions and 50 deletions

View File

@@ -14,22 +14,23 @@ export default defineI18nLocale(async (locale: string) => {
const multilingualData = resultGetMultilingual?.value?.multilingual const multilingualData = resultGetMultilingual?.value?.multilingual
if (multilingualData && typeof multilingualData === 'object') { if (multilingualData && typeof multilingualData === 'object') {
// locale이 'de'이므로 'de' 키의 데이터를 반환 // locale이 'de'이므로 'de' 키의 데이터를 반환
const localeData = const localeData = multilingualData[locale] || multilingualData['de']
multilingualData[locale] || multilingualData['de'] || fallback
// localeData가 유효한 객체인지 확인 // localeData가 유효한 객체인지 확인
if ( if (
localeData && localeData &&
typeof localeData === 'object' && typeof localeData === 'object' &&
!Array.isArray(localeData) !Array.isArray(localeData) &&
Object.keys(localeData).length > 0
) { ) {
return localeData return localeData
} }
} }
return fallback // fallback이 빈 객체인 경우를 대비하여 최소한의 기본값 반환
return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} catch (e) { } catch (e) {
console.error('[Exception] de.defineI18nLocale: ', e) console.error('[Exception] de.defineI18nLocale: ', e)
return fallback return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} }
}) })

View File

@@ -14,22 +14,23 @@ export default defineI18nLocale(async (locale: string) => {
const multilingualData = resultGetMultilingual?.value?.multilingual const multilingualData = resultGetMultilingual?.value?.multilingual
if (multilingualData && typeof multilingualData === 'object') { if (multilingualData && typeof multilingualData === 'object') {
// locale이 'en'이므로 'en' 키의 데이터를 반환 // locale이 'en'이므로 'en' 키의 데이터를 반환
const localeData = const localeData = multilingualData[locale] || multilingualData['en']
multilingualData[locale] || multilingualData['en'] || fallback
// localeData가 유효한 객체인지 확인 // localeData가 유효한 객체인지 확인
if ( if (
localeData && localeData &&
typeof localeData === 'object' && typeof localeData === 'object' &&
!Array.isArray(localeData) !Array.isArray(localeData) &&
Object.keys(localeData).length > 0
) { ) {
return localeData return localeData
} }
} }
return fallback // fallback이 빈 객체인 경우를 대비하여 최소한의 기본값 반환
return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} catch (e) { } catch (e) {
console.error('[Exception] en.defineI18nLocale: ', e) console.error('[Exception] en.defineI18nLocale: ', e)
return fallback return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} }
}) })

View File

@@ -14,22 +14,23 @@ export default defineI18nLocale(async (locale: string) => {
const multilingualData = resultGetMultilingual?.value?.multilingual const multilingualData = resultGetMultilingual?.value?.multilingual
if (multilingualData && typeof multilingualData === 'object') { if (multilingualData && typeof multilingualData === 'object') {
// locale이 'es'이므로 'es' 키의 데이터를 반환 // locale이 'es'이므로 'es' 키의 데이터를 반환
const localeData = const localeData = multilingualData[locale] || multilingualData['es']
multilingualData[locale] || multilingualData['es'] || fallback
// localeData가 유효한 객체인지 확인 // localeData가 유효한 객체인지 확인
if ( if (
localeData && localeData &&
typeof localeData === 'object' && typeof localeData === 'object' &&
!Array.isArray(localeData) !Array.isArray(localeData) &&
Object.keys(localeData).length > 0
) { ) {
return localeData return localeData
} }
} }
return fallback // fallback이 빈 객체인 경우를 대비하여 최소한의 기본값 반환
return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} catch (e) { } catch (e) {
console.error('[Exception] es.defineI18nLocale: ', e) console.error('[Exception] es.defineI18nLocale: ', e)
return fallback return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} }
}) })

View File

@@ -14,22 +14,23 @@ export default defineI18nLocale(async (locale: string) => {
const multilingualData = resultGetMultilingual?.value?.multilingual const multilingualData = resultGetMultilingual?.value?.multilingual
if (multilingualData && typeof multilingualData === 'object') { if (multilingualData && typeof multilingualData === 'object') {
// locale이 'fr'이므로 'fr' 키의 데이터를 반환 // locale이 'fr'이므로 'fr' 키의 데이터를 반환
const localeData = const localeData = multilingualData[locale] || multilingualData['fr']
multilingualData[locale] || multilingualData['fr'] || fallback
// localeData가 유효한 객체인지 확인 // localeData가 유효한 객체인지 확인
if ( if (
localeData && localeData &&
typeof localeData === 'object' && typeof localeData === 'object' &&
!Array.isArray(localeData) !Array.isArray(localeData) &&
Object.keys(localeData).length > 0
) { ) {
return localeData return localeData
} }
} }
return fallback // fallback이 빈 객체인 경우를 대비하여 최소한의 기본값 반환
return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} catch (e) { } catch (e) {
console.error('[Exception] fr.defineI18nLocale: ', e) console.error('[Exception] fr.defineI18nLocale: ', e)
return fallback return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} }
}) })

View File

@@ -14,22 +14,23 @@ export default defineI18nLocale(async (locale: string) => {
const multilingualData = resultGetMultilingual?.value?.multilingual const multilingualData = resultGetMultilingual?.value?.multilingual
if (multilingualData && typeof multilingualData === 'object') { if (multilingualData && typeof multilingualData === 'object') {
// locale이 'ja'이므로 'ja' 키의 데이터를 반환 // locale이 'ja'이므로 'ja' 키의 데이터를 반환
const localeData = const localeData = multilingualData[locale] || multilingualData['ja']
multilingualData[locale] || multilingualData['ja'] || fallback
// localeData가 유효한 객체인지 확인 // localeData가 유효한 객체인지 확인
if ( if (
localeData && localeData &&
typeof localeData === 'object' && typeof localeData === 'object' &&
!Array.isArray(localeData) !Array.isArray(localeData) &&
Object.keys(localeData).length > 0
) { ) {
return localeData return localeData
} }
} }
return fallback // fallback이 빈 객체인 경우를 대비하여 최소한의 기본값 반환
return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} catch (e) { } catch (e) {
console.error('[Exception] ja.defineI18nLocale: ', e) console.error('[Exception] ja.defineI18nLocale: ', e)
return fallback return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} }
}) })

View File

@@ -14,22 +14,23 @@ export default defineI18nLocale(async (locale: string) => {
const multilingualData = resultGetMultilingual?.value?.multilingual const multilingualData = resultGetMultilingual?.value?.multilingual
if (multilingualData && typeof multilingualData === 'object') { if (multilingualData && typeof multilingualData === 'object') {
// locale이 'ko'이므로 'ko' 키의 데이터를 반환 // locale이 'ko'이므로 'ko' 키의 데이터를 반환
const localeData = const localeData = multilingualData[locale] || multilingualData['ko']
multilingualData[locale] || multilingualData['ko'] || fallback
// localeData가 유효한 객체인지 확인 // localeData가 유효한 객체인지 확인
if ( if (
localeData && localeData &&
typeof localeData === 'object' && typeof localeData === 'object' &&
!Array.isArray(localeData) !Array.isArray(localeData) &&
Object.keys(localeData).length > 0
) { ) {
return localeData return localeData
} }
} }
return fallback // fallback이 빈 객체인 경우를 대비하여 최소한의 기본값 반환
return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} catch (e) { } catch (e) {
console.error('[Exception] ko.defineI18nLocale: ', e) console.error('[Exception] ko.defineI18nLocale: ', e)
return fallback return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} }
}) })

View File

@@ -14,22 +14,23 @@ export default defineI18nLocale(async (locale: string) => {
const multilingualData = resultGetMultilingual?.value?.multilingual const multilingualData = resultGetMultilingual?.value?.multilingual
if (multilingualData && typeof multilingualData === 'object') { if (multilingualData && typeof multilingualData === 'object') {
// locale이 'pt'이므로 'pt' 키의 데이터를 반환 // locale이 'pt'이므로 'pt' 키의 데이터를 반환
const localeData = const localeData = multilingualData[locale] || multilingualData['pt']
multilingualData[locale] || multilingualData['pt'] || fallback
// localeData가 유효한 객체인지 확인 // localeData가 유효한 객체인지 확인
if ( if (
localeData && localeData &&
typeof localeData === 'object' && typeof localeData === 'object' &&
!Array.isArray(localeData) !Array.isArray(localeData) &&
Object.keys(localeData).length > 0
) { ) {
return localeData return localeData
} }
} }
return fallback // fallback이 빈 객체인 경우를 대비하여 최소한의 기본값 반환
return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} catch (e) { } catch (e) {
console.error('[Exception] pt.defineI18nLocale: ', e) console.error('[Exception] pt.defineI18nLocale: ', e)
return fallback return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} }
}) })

View File

@@ -14,22 +14,23 @@ export default defineI18nLocale(async (locale: string) => {
const multilingualData = resultGetMultilingual?.value?.multilingual const multilingualData = resultGetMultilingual?.value?.multilingual
if (multilingualData && typeof multilingualData === 'object') { if (multilingualData && typeof multilingualData === 'object') {
// locale이 'th'이므로 'th' 키의 데이터를 반환 // locale이 'th'이므로 'th' 키의 데이터를 반환
const localeData = const localeData = multilingualData[locale] || multilingualData['th']
multilingualData[locale] || multilingualData['th'] || fallback
// localeData가 유효한 객체인지 확인 // localeData가 유효한 객체인지 확인
if ( if (
localeData && localeData &&
typeof localeData === 'object' && typeof localeData === 'object' &&
!Array.isArray(localeData) !Array.isArray(localeData) &&
Object.keys(localeData).length > 0
) { ) {
return localeData return localeData
} }
} }
return fallback // fallback이 빈 객체인 경우를 대비하여 최소한의 기본값 반환
return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} catch (e) { } catch (e) {
console.error('[Exception] th.defineI18nLocale: ', e) console.error('[Exception] th.defineI18nLocale: ', e)
return fallback return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} }
}) })

View File

@@ -14,22 +14,23 @@ export default defineI18nLocale(async (locale: string) => {
const multilingualData = resultGetMultilingual?.value?.multilingual const multilingualData = resultGetMultilingual?.value?.multilingual
if (multilingualData && typeof multilingualData === 'object') { if (multilingualData && typeof multilingualData === 'object') {
// locale이 'zh-cn'이므로 'zh-cn' 키의 데이터를 반환 // locale이 'zh-cn'이므로 'zh-cn' 키의 데이터를 반환
const localeData = const localeData = multilingualData[locale] || multilingualData['zh-cn']
multilingualData[locale] || multilingualData['zh-cn'] || fallback
// localeData가 유효한 객체인지 확인 // localeData가 유효한 객체인지 확인
if ( if (
localeData && localeData &&
typeof localeData === 'object' && typeof localeData === 'object' &&
!Array.isArray(localeData) !Array.isArray(localeData) &&
Object.keys(localeData).length > 0
) { ) {
return localeData return localeData
} }
} }
return fallback // fallback이 빈 객체인 경우를 대비하여 최소한의 기본값 반환
return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} catch (e) { } catch (e) {
console.error('[Exception] zh-cn.defineI18nLocale: ', e) console.error('[Exception] zh-cn.defineI18nLocale: ', e)
return fallback return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} }
}) })

View File

@@ -14,22 +14,23 @@ export default defineI18nLocale(async (locale: string) => {
const multilingualData = resultGetMultilingual?.value?.multilingual const multilingualData = resultGetMultilingual?.value?.multilingual
if (multilingualData && typeof multilingualData === 'object') { if (multilingualData && typeof multilingualData === 'object') {
// locale이 'zh-tw'이므로 'zh-tw' 키의 데이터를 반환 // locale이 'zh-tw'이므로 'zh-tw' 키의 데이터를 반환
const localeData = const localeData = multilingualData[locale] || multilingualData['zh-tw']
multilingualData[locale] || multilingualData['zh-tw'] || fallback
// localeData가 유효한 객체인지 확인 // localeData가 유효한 객체인지 확인
if ( if (
localeData && localeData &&
typeof localeData === 'object' && typeof localeData === 'object' &&
!Array.isArray(localeData) !Array.isArray(localeData) &&
Object.keys(localeData).length > 0
) { ) {
return localeData return localeData
} }
} }
return fallback // fallback이 빈 객체인 경우를 대비하여 최소한의 기본값 반환
return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} catch (e) { } catch (e) {
console.error('[Exception] zh-tw.defineI18nLocale: ', e) console.error('[Exception] zh-tw.defineI18nLocale: ', e)
return fallback return Object.keys(fallback).length > 0 ? fallback : { _placeholder: '' }
} }
}) })