首页 > 解决方案 > 如何获取用户的语言 - navigator.languages 不起作用

问题描述

我正在使用navigator.language || navigator.userLanguages获取用户的语言。

在 chrome 上,IE 此代码返回cs-CZ,但在 Firefox 中,它返回cs但它是错误的。预期回报cs-CZ不是简短的形式cs。(捷克语)。

如何在 Firefox 中获得完整的语言形式?

那么,或者有一些 npm 库呢?

感谢您的任何帮助。

标签: javascriptlocalization

解决方案


你应该改用这个:

console.log(navigator.languages ? navigator.languages[0] : (navigator.language || navigator.userLanguage))

这是因为对于 Firefox,navigator.languages返回一个字符串数组,代表首选语言,所以你最终会得到类似["en-US", "en"].


推荐阅读