js获取浏览器默认语言设置
- 2019 年 11 月 28 日
- 筆記
项目用到多语言,之前也接触过,不过没有自测过,通过自测,写出通用比较简化的方法
// i18n import i18n from './i18n' let lang = navigator.language||navigator.userLanguage i18n.locale = lang.substr(0, 2) || 'en'
网上别的常见方法
<script type="text/javascript"> var type = navigator.appName; if (type == "Netscape"){ var lang = navigator.language;//获取浏览器配置语言,支持非IE浏览器 }else{ var lang = navigator.userLanguage;//获取浏览器配置语言,支持IE5+ == navigator.systemLanguage }; var lang = lang.substr(0, 2);//获取浏览器配置语言前两位 if (lang == "zh"){ alert(lang); //window.location.replace('url');//中文编码时打开链接 }else if (lang == "en"){ window.location.replace('url'); }else{//其他语言编码时打开以下链接 window.location.replace('url'); }; </script>
文中截取lang的前2位字符,是因为浏览器语言返回值可能是:
zh-CN Chinese(PRC)
zh-TW Chinese(Taiwan Region)
zh-HK Chinese(Hong Kong SAR, PRC)
zh-SC Chinese(Singapore)
en-US English(United States)
en English