weixin_39679678
weixin_39679678
2021-01-10 08:06

部分浏览器translate.getBrowserLang()返回值为zh,而不是zh-CN;导致中文浏览器默认显示英文界面

https://github.com/cipchk/ng-alain/blob/0b18923ca7e4d6cf5c251ba07a5662971ce46667/src/app/core/i18n/i18n.service.ts#L24

// fix bug start 建议修改如下 const browserLang = 'zh-CN'.startsWith(translate.getBrowserLang()) ? 'zh-CN' : translate.getBrowserLang(); const defaultLan = settings.layout.lang || browserLang; // fix bug end // 下面是原始代码,初始运行settings.layout.lang为空,测试环境中的Chrome中文浏览器就显示英文界面 // const defaultLan = settings.layout.lang || translate.getBrowserLang();

该提问来源于开源项目:ng-alain/ng-alain

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

8条回答

  • weixin_39773158 weixin_39773158 3月前

    能否提供相应BUG的浏览器版本信息?

    点赞 评论 复制链接分享
  • weixin_39679678 weixin_39679678 3月前

    Google Chrome 已是最新版本 版本 64.0.3282.186(正式版本) (32 位)

    点赞 评论 复制链接分享
  • weixin_39773158 weixin_39773158 3月前

    能否提供 window.navigator.languages 值。

    点赞 评论 复制链接分享
  • weixin_39679678 weixin_39679678 3月前

    ["zh-CN", "zh"]

    点赞 评论 复制链接分享
  • weixin_39773158 weixin_39773158 3月前

    我不认这是一个BUG。

    语言列表是受限于Chrome的 【Languages】选项的设置,zh-CNzh 前者是中文简体后者是中文,二者算是不同语言集(虽然他们看起来像是一样的)。

    点赞 评论 复制链接分享
  • weixin_39679678 weixin_39679678 3月前

    道理是这个道理,但体验确实不好呀

    点赞 评论 复制链接分享
  • weixin_39773158 weixin_39773158 3月前

    你可以自行修改,ng-alain 默认依然保持现在的做法。

    点赞 评论 复制链接分享
  • weixin_39679678 weixin_39679678 3月前

    对了,还有几个类似的小问题,我都开出来给你看一眼,能修复最好了~~~

    点赞 评论 复制链接分享