重构
This commit is contained in:
26
packages/shared/src/locale.js
Normal file
26
packages/shared/src/locale.js
Normal file
@@ -0,0 +1,26 @@
|
||||
/** 内容翻译 fallback:当前语言 → 英文 → 中文 → 马来文 */
|
||||
export function resolveTranslationFallback(map, locale) {
|
||||
const chain = [locale, 'en-US', 'zh-CN', 'ms-MY'];
|
||||
const seen = new Set();
|
||||
for (const loc of chain) {
|
||||
if (seen.has(loc))
|
||||
continue;
|
||||
seen.add(loc);
|
||||
const v = map[loc];
|
||||
if (v != null && String(v).trim() !== '')
|
||||
return String(v).trim();
|
||||
}
|
||||
for (const v of Object.values(map)) {
|
||||
if (v != null && String(v).trim() !== '')
|
||||
return String(v).trim();
|
||||
}
|
||||
return '';
|
||||
}
|
||||
/** 前台语言显示名(PRD 3.1) */
|
||||
export const LOCALE_UI_LABELS = {
|
||||
'zh-CN': '中文',
|
||||
'ms-MY': 'Bahasa Melayu',
|
||||
'en-US': 'English',
|
||||
};
|
||||
/** vue-i18n 缺 key 时:en-US → zh-CN */
|
||||
export const VUE_I18N_FALLBACK_LOCALES = ['en-US', 'zh-CN'];
|
||||
Reference in New Issue
Block a user