WorkerNavigator: languages property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Note: This feature is only available in Web Workers.

The WorkerNavigator.languages read-only property returns an array of strings 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 WorkerGlobalScope 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).

Value

An array or strings.

Examples

You can run this insert a web worker:

js
navigator.language; // "en-US"
navigator.languages; // ["en-US", "zh-CN", "ja-JP"]

Specifications

Specification
HTML
# dom-navigator-languages-dev

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
languages
Chrome – Full support
Chrome 37 (Release date: 2014-08-26)
footnote
footnote Before Chrome 65, navigator.languages[0] is not guaranteed to equal navigator.language.
Edge – Full support
Edge 16 (Release date: 2017-10-17)
footnote Full support
Firefox – Full support
Firefox 32 (Release date: 2014-09-02)
footnote
footnote In Firefox, the navigator.languages property's value is taken from the intl.accept_languages preference.
Opera – Full support
Opera 24 (Release date: 2014-09-02)
footnote Full support
Safari – Full support
Safari 10.1 (Release date: 2017-03-27)
footnote Full support
Chrome Android – Full support
Chrome Android 37 (Release date: 2014-09-03)
footnote
footnote Before Chrome Android 65, navigator.languages[0] is not guaranteed to equal navigator.language.
Firefox for Android – Full support
Firefox for Android 32 (Release date: 2014-09-02)
footnote
footnote In Firefox for Android, the navigator.languages property's value is taken from the intl.accept_languages preference.
Opera Android – Full support
Opera Android 24 (Release date: 2014-09-10)
footnote Full support
Safari on iOS – Full support
Safari on iOS 10.3 (Release date: 2017-03-27)
footnote Full support
Samsung Internet – Full support
Samsung Internet 3 (Release date: 2015-04-10)
footnote Full support
WebView Android – Full support
WebView Android 37 (Release date: 2014-09-03)
footnote
footnote Before version 65, navigator.languages[0] is not guaranteed to equal navigator.language.
WebView on iOS – Full support
WebView on iOS 10.3 (Release date: 2017-03-27)
footnote Full support

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
See implementation notes.

See also