locale2

💪 Try as hard as possible to detect the client's language tag ('locale') in node or the browser. Browserify and Webpack friendly!

MIT 20 个版本
安装
npm install locale2
yarn add locale2
pnpm add locale2
bun add locale2
README

locale2 Build Status

Version Downloads Deps DevDeps

Try as hard as possible to detect the client's language tag ("locale") in node or the browser. Browserify and Webpack friendly!

About Language Tags, Locale, RFC-5646 and BCP-47

In 2009, IETF published RFC-5646, "Tags for Identifying Languages," in which "...describes the structure, content, construction, and semantics of language tags for use in cases where it is desirable to indicate the language used in an information object."

A language tag is composed from a sequence of one or more "subtags", each of which refines or narrows the range of language identified by the overall tag. Subtags, in turn, are a sequence of alphanumeric characters (letters and digits), distinguished and separated from other subtags in a tag by a hyphen ("-", [Unicode] U+002D).

References:

  1. RFC-5646
  2. BCP-47

Unit tested and browser tested with BrowserStack

BrowserStack

Tested successfully on:

✓ IE 8 ✓ IE 9 ✓ IE 10 ✓ IE 11 ✓ IE 12 (Edge)

✓ Safari 5.1+

✓ Opera (Presto, Webkit, Blink)

✓ Firefox

✓ Chrome

Node support

$ babel-node
> import locale2 from 'locale2'
> locale2
en-US
>

...and pairs well with iso3166-1!

var iso3166 = require('iso3166-1')
var locale2 = require('locale2')
> iso3166.from(locale2).to3()
USA
>

Install

npm install --no-optional
npm test

Development

Browser testing (currently private)

npm run test:bs
npm run test:bs:local

Try it now

view on requirebin

License

License

版本列表
2.3.1 2018-08-09
2.2.1 2018-08-03
2.2.0 2018-02-16
2.1.4 2017-07-20
2.1.2 2017-03-07
2.1.1 2016-07-11
2.1.0 2016-07-10
2.0.5 2016-03-31
2.0.4 2016-02-03
2.0.3 2016-01-23
2.0.2 2016-01-06
2.0.1 2015-11-30
2.0.0 2015-11-20
1.0.0 2015-11-06
0.1.1 2015-11-06
0.1.0 2015-06-09
0.0.3-beta 2015-04-20
0.0.2-beta 2015-04-20
0.0.1-beta 2015-04-20
0.0.1 2015-04-20