Package Exports
- get-user-locale
- get-user-locale/dist/cjs/index.js
- get-user-locale/dist/esm/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (get-user-locale) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Get-User-Locale
A function that returns user's locale as an IETF language tag, based on all available sources.
tl;dr
- Install by executing
npm install get-user-locale
oryarn add get-user-locale
. - Import by adding
import getUserLocale from 'get-user-locale'
. - Do stuff with it!
const userLocale = getUserLocale();
User guide
getUserLocale()
A function that returns user's preferred locale as an IETF language tag, based on all available sources.
Sample result
'de-DE';
Usage
import getUserLocale from 'get-user-locale';
or
import { getUserLocale } from 'get-user-locale';
Options
getUserLocale()
may be called with an optional options
argument.
options
object may contain the following properties:
Property | Description | Default value |
---|---|---|
fallbackLocale |
A locale to use as a fallback. | en-US |
useFallbackLocale |
Whether to use the fallback locale. | true |
getUserLocales()
A function that returns an array of user's preferred locales as an IETF language tags, based on all available sources.
Sample result
['de-DE', 'de', 'en-US', 'en'];
Usage
import { getUserLocales } from 'get-user-locale';
Options
getUserLocales()
may be called with an optional options
argument.
options
object may contain the following properties:
Property | Description | Default value |
---|---|---|
fallbackLocale |
A locale to use as a fallback. | en-US |
useFallbackLocale |
Whether to use the fallback locale. | true |
Technical details
There are a few ways of determining user's locale:
window.navigator.languages
window.navigator.language
…languages
is an array of strings, …language
is a string. Some browsers return mixed-case IETF language tags (e.g. de-DE
), while others return lowercase ones (e.g. de-de
). Finally, non-browser environments will not return anything, so you need a fallback.
Get-User-Locale does the following:
- Combines all of them into one sane set of locales - in that particular order,
- Dedupes them,
- Fixes invalid, lowercased IETF language tags (so that the part after
-
is always uppercased), - Adds a fallback to
en-US
, so if all else fails, you will get a result that won't crash your app.
License
The MIT License.
Author
![]() |
Wojciech Maj kontakt@wojtekmaj.pl https://wojtekmaj.pl |