rfc5646

3.0.0 • Public • Published

RFC 5646 Language Tag Implementation

Basic Language Tag handling. Does not attempt to do validation against the registry.

License: Public Domain

Installation

yarn add rfc5646
npm install rfc5646

Use

const LanguageTag = require('rfc5646');
 
// (The new keyword is required)
const tag = new LanguageTag('en-Latn-US');
 
// Immutable properties
console.log(tag.language);                            // en
console.log(tag.script);                              // Latn
console.log(tag.region);                              // US
console.log(tag.variant);                             // undefined
console.log(tag.minimal.toString());                  // en-US;
console.log(tag == 'en-Latn-US');                     // true
console.log(tag.matches('en-*'));                     // true
console.log(tag.suitableFor('en-US'));                // true
console.log(tag.minimal.suitableFor('en-US'));        // true
console.log(tag.truncate().toString());               // en-Latn-US
console.log(tag.truncate({script:false}).toString()); // en-US
 
// ES6 Iteration...
tag.forEach((subtag) => console.log(subtag.toString()));
 
// Extensions and Private Use Tags
tag = new LanguageTag('en-US-a-abc-b-xyz-x-123');
 
console.log(tag.extensions.a.toString()); // a-abc
console.log(tag.extensions.b.toString()); // b-xyz
console.log(tag.privateuse.toString());   // x-123

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 3.0.0
    257
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 3.0.0
    257
  • 2.0.0
    8
  • 1.0.1
    1
  • 1.0.0
    0
  • 0.0.1
    0

Package Sidebar

Install

npm i rfc5646

Weekly Downloads

266

Version

3.0.0

License

Public Domain

Last publish

Collaborators

  • jasnell