Chrome 是否有任何属性可以仅获取用于在JavaScript中显示浏览器UI的语言?

yduiuuwa  于 2023-08-01  发布在  Go
关注(0)|答案(2)|浏览(86)

我在Google Chrome上设置了3种语言,然后我设置了第二种语言English来显示Google Chrome UI,如下所示:


的数据
然后,我试图只获得用于显示Google Chrome UI的第二种语言English,因为对于用户来说,我想在默认情况下显示他们的浏览器UI的语言中显示我的网站,并在他们访问我的网站时进行翻译,但我得到了第一种语言French,如下所示:

<script>
console.log(navigator.language); // fr
console.log(navigator.browserLanguage); // undefined
console.log(navigator.systemLanguage); // undefined
console.log(navigator.userLanguage); // undefined
</script>

字符串
那么,是否有任何属性可以只获取用于显示Google Chrome UI的第二语言English

92vpleto

92vpleto1#

window.navigator.languages是一个数组,按用户偏好的顺序排列。window.navigator.language是Web浏览器使用的语言。因此,要获得第二种语言,您可以使用window.navigator.languages[1]
编辑:window.navigator.language可能不总是与浏览器的UI语言匹配(参见https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language)-这是你将得到的最接近的结果。

mklgxw1f

mklgxw1f2#

我想用显示浏览器用户界面的语言向用户显示我的网站
这是不可能的,你也不应该这样做。除了存在没有UI或可选UI语言的浏览器外,您的网站将在浏览器内显示为内容。为此,首选网站内容语言是相关的设置-也是您网站唯一可用的语言。在绝大多数情况下,这与UI语言相同,因此不会对您产生影响,但在用户明确选择以与访问的网站不同的语言显示浏览器UI的情况下,您应该尊重这一决定。毕竟,你是在制作一个网站,而不是构建一个浏览器扩展。
因此,使用navigator.language,或者对于可用语言的最佳匹配,使用navigator.languages的优先级列表。无法访问UI语言设置。

相关问题