This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.
Note: This feature is only available in Web Workers.
The WorkerNavigator.language read-only property returns a string representing the preferred language of the user, usually the language of the browser UI.
A string representing the language version as defined in RFC 5646: Tags for Identifying Languages (also known as BCP 47). Examples of valid language codes include "en", "en-US", "fr", "fr-FR", "es-ES", etc.
Note that in Safari on iOS prior to 10.2, the country code returned is lowercase: "en-us", "fr-fr" etc.
You can run this insert a web worker:
if (/^en\b/.test(navigator.language)) {
doLangSelect(window.navigator.language);
}
| Specification |
|---|
| HTML> # dom-navigator-language-dev> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
language |
4 | 12 | 3.5Before Firefox 4, this property's value was also part of the user agent string, as reported bynavigator.userAgent. Starting in Firefox 5, this property's value is based on the value of the Accept-Language HTTP header. |
4 | 10 | 18 | 4 | 10.1 | 10 | 1.0 | 4.4 | 10 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WorkerNavigator/language