This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.
The NavigatorLanguage.languages
read-only property returns an array of DOMString
s representing the user's preferred languages. The language is described using BCP 47 language tags. In the returned array they are ordered by preference with the most preferred language first.
The value of navigator.language
is the first element of the returned array [3]. (But it refers to the system language setting.)
When its value changes, as the user's preferred languages are changed a languagechange
event is fired on the Window
object.
The Accept-Language
HTTP header in every HTTP request from the user's browser uses the same value for the navigator.languages
property except for the extra qvalues
(quality values) field (e.g. en-US;q=0.8
).
Syntax
preferredLanguages = globalObj.navigator.languages
Examples
navigator.language //"en-US" navigator.languages //["en-US", "zh-CN", "ja-JP"]
Specification
Specification | Status | Comment |
---|---|---|
HTML 5.1 The definition of 'NavigatorLanguage.languages' in that specification. |
Recommendation | Initial definition. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 32 [3] | 32 (32) [1] | No support | No support | Nightly build [2] |
on Web workers | ? | 35 (35) | ? | ? | ? |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | No support | 32.0 (32)[1] | No support | No support | No support |
on Web workers | ? | 35.0 (35) | ? | ? | ? |
[1] In Firefox, the navigator.languages
property's value is taken from the intl.accept_languages
preference.
[2] supported in Safari Technology Preview (10.2): Bug 163220
[3] In Chrome, navigator.language
is the language of the browser UI, and is not guaranteed to be equal to navigator.languages[0]
.