- 在做国际化的时候,大多数情况下,语言格式为'zh-CN',但是发现苹果设备获取语言lang的时候为'zh-cn'这样的格式,cn变成了小写。结果就导致有些时候国际化判断失败出问题。
- 解决方法:更改utils里的getLang方法,对小写的cn进行处理,改成大写的形式。
export const getLang = () => {
let navigatorLang = navigator.language
if (!cookies.get('site_lang') && navigator.language) {
const navLangArr = navigator.language.split('-')
navigatorLang = navLangArr[1]
? `${navLangArr[0]}-${navLangArr[1].toLocaleUpperCase()}`
: navigator.language
}
let lang = cookies.get('site_lang') || navigatorLang
return lang
}
网友评论