| | |
| | | } |
| | | return JSON.parse(str) |
| | | } |
| | | // 获取浏览器默认语言 |
| | | // 支持的 locale 列表,与 i18n 保持一致 |
| | | const BROWSER_LOCALE_MAP = { |
| | | 'zh-cn': 'zh-CN', |
| | | 'zh-sg': 'zh-CN', |
| | | 'zh-hans': 'zh-CN', |
| | | 'zh-tw': 'CN', |
| | | 'zh-hk': 'CN', |
| | | 'zh-mo': 'CN', |
| | | 'zh-hant': 'CN', |
| | | 'zh': 'zh-CN', |
| | | 'cn': 'zh-CN', |
| | | 'en': 'en', |
| | | 'de': 'de', |
| | | 'fr': 'fr', |
| | | 'es': 'es', |
| | | 'it': 'Italy', |
| | | 'ja': 'Japanese', |
| | | 'ko': 'Korean', |
| | | 'pt': 'pt', |
| | | 'vi': 'vi', |
| | | 'th': 'th', |
| | | 'el': 'gr', |
| | | } |
| | | |
| | | // 获取浏览器默认语言,映射到项目支持的 locale |
| | | export const getBrowserLang = function () { |
| | | let browserLang = navigator.language |
| | | ? navigator.language |
| | | : navigator.browserLanguage |
| | | let defaultBrowserLang = '' |
| | | if ( |
| | | browserLang.toLowerCase() === 'cn' || |
| | | browserLang.toLowerCase() === 'zh' || |
| | | browserLang.toLowerCase() === 'zh-cn' |
| | | ) { |
| | | defaultBrowserLang = 'CN' |
| | | } else { |
| | | defaultBrowserLang = 'en' |
| | | } |
| | | return defaultBrowserLang |
| | | const raw = (navigator.language || navigator.browserLanguage || '').toLowerCase() |
| | | const tag = raw.split('-')[0] |
| | | return BROWSER_LOCALE_MAP[raw] || BROWSER_LOCALE_MAP[tag] || 'en' |
| | | } |
| | | |
| | | export const dataTime = (data, isTrue) => { |