subtag
Language tag parser. Parse language tags into subtags.
api
subtag(tag)
parse tag into subtags objectsubtag.split(tag)
split tag into subtags arraysubtag.language(tag)
get primary language subtagsubtag.extlang(tag)
get extended language subtagsubtag.script(tag)
get script subtagsubtag.region(tag)
get region subtag
notes
- parsing is done via regex
- unpresent subtags will be an empty string
- separator can be dashes (standard) or underscores
setup
install via npm or yarn
npm install subtag --save
yarn add subtag
usage
require
usage
var subtag =
import
usage
examples
objects
// {language: 'ja', extlang: '', script: '', region: 'JP'} // {language: 'es', extlang: '', script: '', region: 'AR'}
arrays
subtag // ["yue"]subtag // ["es", "419"]subtag // ["zh", "Hant", "HK"]subtag // ["en"] because 90210 is fake
subtags
subtaglanguage'en' // 'en'subtag // ''subtag // ''subtag // '' subtaglanguage'en-US' // 'en'subtag // ''subtag // ''subtag // 'US' subtaglanguage'zh-yue' // 'zh'subtag // 'yue'subtag // ''subtag // '' subtaglanguage'zh-Hans' // 'zh'subtag // ''subtag // 'Hans'subtag // ''
structure
language-extlang-script-region-variant-extension-privateuse
type | pattern | convention |
---|---|---|
language | 2-letter or 3-letter | lowercase |
extlang | 3-letter | lowercase |
script | 4-letter | titlecase |
region | 2-letter or 3-number | uppercase |
.pattern
Regex patterns are exposed for validation
subtaglanguagepattern // truesubtaglanguagepattern // truesubtaglanguagepattern // falsesubtagextlangpattern // truesubtagscriptpattern // truesubtagregionpattern // truesubtagregionpattern // truesubtagregionpattern // false
compatibility
Works in Node.js and ES5+ browsers