langtag-utils
TypeScript icon, indicating that this package has built-in type declarations

2.0.2 • Public • Published

langtag-utils

Build Status

A collection of useful utilities for bcp47 and rfc4647

lookup(tags, ranges, defaultValue = 'en')

Find the most appropriate language tag that matches a language priority list.

navigatorLanguages()

Retrieves the language information saved in window.navigator backwards compatible.

parse(tag)

Parses the language tag and returns an object with all available information.

Installation

npm install --save langtag-utils

How to use

import { lookup, navigatorLanguages, parse } from 'langtag-utils';
 
const whiteList = ['de', 'en'];
const fallbackLng = 'de';
const detectedLng = lookup(whiteList, navigatorLanguages(), fallbackLng);
 
...
 
console.log(parse('en-Latn-GB-boont-r-extended-sequence-x-private'));
/*
{
  langtag: {
    language: {
      language: 'en',
      extlang: [],
    },
    script: 'Latn',
    region: 'GB',
    variant: ['boont'],
    extension: [
      {
        singleton: 'r',
        extension: ['extended', 'sequence'],
      },
    ],
    privateuse: ['private'],
  },
  privateuse: [],
  grandfathered: {
    irregular: null,
    regular: null,
  }
}
*/
 
...
 

License

MIT

Package Sidebar

Install

npm i langtag-utils

Weekly Downloads

1,278

Version

2.0.2

License

MIT

Unpacked Size

17 kB

Total Files

19

Last publish

Collaborators

  • hupe1980