diff --git a/frontend/src/utils/util.ts b/frontend/src/utils/util.ts index 44f6cb7cbb11..3eaf567cefff 100644 --- a/frontend/src/utils/util.ts +++ b/frontend/src/utils/util.ts @@ -686,10 +686,20 @@ export function getLanguage() { return localStorage.getItem('lang') || 'zh'; } +function normalizeAppLocaleKey(language: string) { + const localeMap: Record = { + tw: 'zh-hant', + 'zh-Hant': 'zh-hant', + 'pt-BR': 'pt-br', + 'es-ES': 'es-es', + }; + return localeMap[language] || language.toLowerCase(); +} + export function getLabel(row: any) { const language = localStorage.getItem('lang') || 'zh'; - let lang = language == 'tw' ? 'zh-Hant' : language; - if (row.label && row.label[lang] != '') { + const lang = normalizeAppLocaleKey(language); + if (row.label && typeof row.label[lang] === 'string' && row.label[lang] !== '') { return row.label[lang]; } if (language == 'zh' || language == 'tw') { @@ -701,8 +711,8 @@ export function getLabel(row: any) { export function getDescription(row: any) { const language = localStorage.getItem('lang') || 'zh'; - let lang = language == 'tw' ? 'zh-Hant' : language; - if (row.description && row.description[lang] != '') { + const lang = normalizeAppLocaleKey(language); + if (row.description && typeof row.description[lang] === 'string' && row.description[lang] !== '') { return row.description[lang]; } return '';