get-user-locale

WebJar for get-user-locale

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

get-user-locale
Last Version

Last Version

1.3.0
Release Date

Release Date

Type

Type

jar
Description

Description

get-user-locale
WebJar for get-user-locale
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/wojtekmaj/get-user-locale

Download get-user-locale

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/get-user-locale/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>get-user-locale</artifactId>
    <version>1.3.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/get-user-locale/
implementation 'org.webjars.npm:get-user-locale:1.3.0'
// https://jarcasting.com/artifacts/org.webjars.npm/get-user-locale/
implementation ("org.webjars.npm:get-user-locale:1.3.0")
'org.webjars.npm:get-user-locale:jar:1.3.0'
<dependency org="org.webjars.npm" name="get-user-locale" rev="1.3.0">
  <artifact name="get-user-locale" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='get-user-locale', version='1.3.0')
)
libraryDependencies += "org.webjars.npm" % "get-user-locale" % "1.3.0"
[org.webjars.npm/get-user-locale "1.3.0"]

Dependencies

compile (1)

Group / Artifact Type Version
org.webjars.npm : lodash.once jar [4.1.1,5)

Project Modules

There are no modules declared in this project.

npm downloads CI dependencies dev dependencies tested with jest

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 or yarn 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';

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';

Technical details

There are at least five ways of determining user's locale:

  • window.navigator.languages
  • window.navigator.language
  • window.navigator.userLanguage
  • window.navigator.browserLanguage
  • window.navigator.systemLanguage

...languages is an array of strings, the others are strings. 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
[email protected]
http://wojtekmaj.pl

Versions

Version
1.3.0