1.1.2 • Published 7 years ago

locale-id v1.1.2

Weekly downloads
715
License
MIT
Repository
github
Last release
7 years ago

Locale ID

Parse and normalize locale ID. ICU Locale ID

NPM version build status Test coverage

Installation

Install via npm.

npm install locale-id

Support us

Star this project on GitHub.

Usage

parse

import parse from 'locale-id';

const locale = parse('sk-sk');
console.log(result); // => { language: 'sk', country: 'SK' }

const value = parse('sk_Latin_SK');
console.log(value); // => { language: 'sk', script: 'Latin', country: 'SK' }

normalize

import { normalize } from 'locale-id';

const value = normalize('sk-sk');
console.log(value); // => sk_SK

getLanguage

import { getLanguage } from 'locale-id';

const value = getLanguage('sk-sk');
console.log(value); // => sk

getCountry

import { getCountry } from 'locale-id';

const value = getCountry('cs-cz');
console.log(value); // => CZ

getScript

import { getScript } from 'locale-id';

const value = getScript('sk-latin-sk');
console.log(value); // => Latin

getVariant

import { getVariant } from 'locale-id';

const value = getVariant('sr_Latn_RS_REVISED@currency=USD');
console.log(value); // => REVISED

getKeyword

import { getKeyword } from 'locale-id';

const value = getKeyword('sk-latin-sk@currency=USD');
console.log(value); // => currency=USD

normalizeAcceptLanguage

import { normalizeAcceptLanguage } from 'locale-id';

const value = normalizeAcceptLanguage('da, en-gb;q=0.8, en;q=0.7');
console.log(value); // => ['da', 'en_GB', 'en']

getBest

import { getBest } from 'locale-id';

getBest(['en', 'en_US', 'en_UK', 'sk_SK'], 'en-uk').should.equal('en_UK');
getBest(['en', 'en_US', 'en_UK', 'sk_SK'], 'en-br').should.equal('en');
getBest(['en', 'en_US', 'en_UK', 'sk_SK'], 'sk-SK').should.equal('sk_SK');

should(getBest(['en', 'en_US', 'en_UK', 'sk_SK'], 'sk-md')).equal(void 0);
should(getBest(['en', 'en_US', 'en_UK', 'sk_SK'], 'sk-md', 'en')).equal('en');
should(getBest(['en', 'en_US', 'en_UK', 'sk_SK'], 'sk-md', 'en', true)).equal('sk_SK');

should(getBest(['en_US', 'en_UK', 'sk_SK'], 'en-US', 'sk_SK', true)).equal('en_US');
should(getBest(['en_US', 'en_UK', 'sk_SK'], 'en', 'sk_SK', true)).equal('en_US');

You can speed up getBest function:

import { getBest, prepareSupported } from 'locale-id';

const supported = prepareSupported(['en', 'en_US', 'en_UK', 'sk_SK']);

getBest(supported, 'en-uk').should.equal('en_UK');

Running Tests

To run the test suite, first invoke the following command within the repo, installing the development dependencies:

npm install

Then run the tests:

npm test
1.1.2

7 years ago

1.1.1

7 years ago

1.0.3

7 years ago

1.0.2

10 years ago

1.0.1

10 years ago

0.0.8

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago