MENU

js获取浏览器默认语言设置

• May 14, 2019 • 前端阅读设置

项目用到多语言,之前也接触过,不过没有自测过,通过自测,写出通用比较简化的方法


// 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

Archives QR Code Tip
QR Code for this page
Tipping QR Code