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.
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"]
Specifications
Browser compatibility
| Desktop | Mobile |
---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | Android webview | Chrome for Android | Firefox for Android | Opera for Android | Safari on iOS | Samsung Internet |
---|
languages | Chrome
Full support
32-
Full support
32
- Notes In Chrome,
navigator.language is the language of the browser UI, and is not guaranteed to be equal to navigator.languages[0] .
| Edge
Full support
12-
Full support
12
- Notes In Chromium versions of Edge, this returns the browser UI language, not the value of the
Accept-Language HTTP header.
| Firefox
Full support
32-
Full support
32
- Notes In Firefox, the
navigator.languages property's value is taken from the intl.accept_languages preference.
| IE
Full support
11-
Full support
11
- Notes Closest available (non-standard) properties are
userLanguage and browserLanguage .
| Opera
Full support
24 | Safari
Full support
11 | WebView Android
Full support
4.4.3-
Full support
4.4.3
- Notes In Chrome,
navigator.language is the language of the browser UI, and is not guaranteed to be equal to navigator.languages[0] .
| Chrome Android
Full support
32-
Full support
32
- Notes In Chrome,
navigator.language is the language of the browser UI, and is not guaranteed to be equal to navigator.languages[0] .
| Firefox Android
Full support
4-
Full support
4
- Notes In Firefox, the
navigator.languages property's value is taken from the intl.accept_languages preference.
| Opera Android
Full support
24 | Safari iOS
Full support
Yes | Samsung Internet Android
Full support
2.0-
Full support
2.0
- Notes In Samsung Internet,
navigator.language is the language of the browser UI, and is not guaranteed to be equal to navigator.languages[0] .
|
---|
Legend
-
Full support
- Full support
- Experimental. Expect behavior to change in the future.
- Experimental. Expect behavior to change in the future.
- See implementation notes.
- See implementation notes.
See also