{"_id":"language-tags","_rev":"31-fef49ffd42b8a5c9e5ab163024f994f7","name":"language-tags","dist-tags":{"latest":"2.1.0"},"versions":{"0.0.1":{"name":"language-tags","version":"0.0.1","keywords":["iana","bcp47","subtags","rfc5646","language"],"_id":"language-tags@0.0.1","maintainers":[{"name":"mcg","email":"m@m.cg"}],"contributors":[{"name":"Matthew Caruana Galizia","email":"m@m.cg"}],"homepage":"https://github.com/mattcg/language-tags","bugs":{"url":"https://github.com/mattcg/language-tags/issues"},"dist":{"shasum":"71268bd9fe796cbb7f83582118112d20048f7af3","tarball":"https://registry.npmjs.org/language-tags/-/language-tags-0.0.1.tgz","integrity":"sha512-gy5MEqTrBNKQRZknfocH1mwayZeFApZGcoBPlwDftnQFqcxq8waBaSnXaTCJiv+7Spgvl6Zw4IvFcJ5QziDfWA==","signatures":[{"sig":"MEYCIQDVbSEkBGOCDr8O0UosziniMKa6sD3XpjTLJTxRBnCwggIhAIsSLP5pR4T25XF84JOfPknit6foqHIeQfQMSs0DjzIZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"language-tags.js","_from":".","scripts":{"test":"node_modules/buster/bin/buster-test -c tests/buster.js"},"_npmUser":{"name":"mcg","email":"m@m.cg"},"licenses":[{"url":"http://mattcg.mit-license.org/","type":"MIT"}],"implements":["CommonJS/Modules/1.0"],"repository":{"url":"git://github.com/mattcg/language-tags.git","type":"git"},"_npmVersion":"1.2.21","description":"Work with language tags.","directories":{},"devDependencies":{"buster":"0.x","buster-coverage":"*"}},"0.0.2":{"name":"language-tags","version":"0.0.2","keywords":["iana","bcp47","subtags","rfc5646","language"],"_id":"language-tags@0.0.2","maintainers":[{"name":"mcg","email":"m@m.cg"}],"contributors":[{"name":"Matthew Caruana Galizia","email":"m@m.cg"}],"homepage":"https://github.com/mattcg/language-tags","bugs":{"url":"https://github.com/mattcg/language-tags/issues"},"dist":{"shasum":"bc9833efcdeb68611621b23e5a13f501390b2d90","tarball":"https://registry.npmjs.org/language-tags/-/language-tags-0.0.2.tgz","integrity":"sha512-8MiMQ9RYUr3N9sO482gX7dTGOAUxRWAeaCInqJnoZ3fQA3jcEXoFNngFPPkdCd6qodeQVtsm7Tz/A2+aEItwjg==","signatures":[{"sig":"MEUCIC4q3tuvSjP5rvbbZ8clpkxSFDCkv7O42yZXVsK2ajFuAiEAuWk8v+rbo/vDo/7efkaF383GZhkGzTP/1XrS5/4TJ7U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"language-tags.js","_from":".","scripts":{"test":"node_modules/buster/bin/buster-test -c tests/buster.js"},"_npmUser":{"name":"mcg","email":"m@m.cg"},"licenses":[{"url":"http://mattcg.mit-license.org/","type":"MIT"}],"implements":["CommonJS/Modules/1.0"],"repository":{"url":"git://github.com/mattcg/language-tags.git","type":"git"},"_npmVersion":"1.2.21","description":"Work with language tags.","directories":{},"devDependencies":{"buster":"0.x","buster-coverage":"*"}},"0.0.3":{"name":"language-tags","version":"0.0.3","keywords":["iana","bcp47","subtags","rfc5646","language"],"_id":"language-tags@0.0.3","maintainers":[{"name":"mcg","email":"m@m.cg"}],"contributors":[{"name":"Matthew Caruana Galizia","email":"m@m.cg"}],"homepage":"https://github.com/mattcg/language-tags","bugs":{"url":"https://github.com/mattcg/language-tags/issues"},"dist":{"shasum":"251f46b0780a3a6a6028d90c0cb1c9e683f176b5","tarball":"https://registry.npmjs.org/language-tags/-/language-tags-0.0.3.tgz","integrity":"sha512-y9k5grJ4G/KbL8FUF0MVH74xUgWHce/o1mRT/60/zZ95tRD3TQcdNKEyDT/pCljxqjrvjiBfKpqXD82EZ6ojow==","signatures":[{"sig":"MEUCIQD4MBBSwrVLiXwEtj3thfeqn4OwcainWv5SMVCG4pUy/AIgFiwxo+I5dgKRYJTDzx386vhwwP4akXRvXbV4vWwaL6o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"language-tags.js","_from":".","scripts":{"test":"node_modules/buster/bin/buster-test -c tests/buster.js"},"_npmUser":{"name":"mcg","email":"m@m.cg"},"licenses":[{"url":"http://mattcg.mit-license.org/","type":"MIT"}],"implements":["CommonJS/Modules/1.0"],"repository":{"url":"git://github.com/mattcg/language-tags.git","type":"git"},"_npmVersion":"1.2.21","description":"Work with language tags.","directories":{},"devDependencies":{"buster":"0.x","buster-coverage":"*"}},"0.1.0":{"name":"language-tags","version":"0.1.0","keywords":["iana","bcp47","subtags","rfc5646","language"],"_id":"language-tags@0.1.0","maintainers":[{"name":"mcg","email":"m@m.cg"}],"contributors":[{"name":"Matthew Caruana Galizia","email":"m@m.cg"}],"homepage":"https://github.com/mattcg/language-tags","bugs":{"url":"https://github.com/mattcg/language-tags/issues"},"dist":{"shasum":"32faf08c47be39d3881566676a9d401267d20b81","tarball":"https://registry.npmjs.org/language-tags/-/language-tags-0.1.0.tgz","integrity":"sha512-AHGpPku6Ojv/FYd4rTXFkt1Z+LqTe0ypST+EMKkApAtbHESQVtq8YDOwrbOHChn4ezIMTj6fGeMl+W9nEWwNdg==","signatures":[{"sig":"MEUCIF/dsQMOcDypAamA6OUJ8vh/Ch86242cBCxl4XFJHrhdAiEAz2OQLkdKOwVR5PwYzij2L7ZdCEg8LP+9eTZ+tB8YiPk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"mcg","email":"m@m.cg"},"licenses":[{"url":"http://mattcg.mit-license.org/","type":"MIT"},{"url":"http://opendatacommons.org/licenses/by/1.0/","type":"ODC-BY"}],"implements":["CommonJS/Modules/1.0"],"repository":{"url":"git://github.com/mattcg/language-tags.git","type":"git"},"_npmVersion":"1.3.11","description":"Work with IANA language tags.","directories":{},"devDependencies":{"mocha":"1.x","coveralls":"2.x","jscoverage":"0.x","mocha-lcov-reporter":"0.x"}},"1.0.0":{"name":"language-tags","version":"1.0.0","keywords":["iana","bcp47","subtags","rfc5646","language","tags"],"_id":"language-tags@1.0.0","maintainers":[{"name":"mcg","email":"m@m.cg"}],"contributors":[{"name":"Matthew Caruana Galizia","email":"m@m.cg"}],"homepage":"https://github.com/mattcg/language-tags","bugs":{"url":"https://github.com/mattcg/language-tags/issues"},"dist":{"shasum":"e22b34093cbbcc528b5299b9d8cf638c8b68cdae","tarball":"https://registry.npmjs.org/language-tags/-/language-tags-1.0.0.tgz","integrity":"sha512-thWoP20T/kU6l09z4u/SXSapUcKdaABZy8hfXB2R6+foib9P9AKR4EwEbwpiwgIS289pMLyryhoJv7jcWzTjBw==","signatures":[{"sig":"MEUCIQCDl/AEySN4QJNZoQBTk1DklPRTucJZQtWfFE2twK8mIAIgNzeUwNUhrSOoetV3Dt8OvyXhw5z2Hep9feIRiMw2ZYs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"mcg","email":"m@m.cg"},"licenses":[{"url":"http://mattcg.mit-license.org/","type":"MIT"},{"url":"http://opendatacommons.org/licenses/by/1.0/","type":"ODC-BY"}],"implements":["CommonJS/Modules/1.0"],"repository":{"url":"git://github.com/mattcg/language-tags.git","type":"git"},"_npmVersion":"1.3.11","description":"Work with IANA language tags.","directories":{},"dependencies":{"language-subtag-registry":"0.x"},"devDependencies":{"mocha":"1.x","coveralls":"2.x","jscoverage":"0.x","mocha-lcov-reporter":"0.x"}},"1.0.1":{"name":"language-tags","version":"1.0.1","keywords":["iana","bcp47","subtags","rfc5646","m17n","multilingualization"],"_id":"language-tags@1.0.1","maintainers":[{"name":"mcg","email":"m@m.cg"}],"contributors":[{"name":"Matthew Caruana Galizia","email":"m@m.cg"}],"homepage":"https://github.com/mattcg/language-tags","bugs":{"url":"https://github.com/mattcg/language-tags/issues"},"dist":{"shasum":"269bff883839dedc88d44cf166ab2b6b837b08a9","tarball":"https://registry.npmjs.org/language-tags/-/language-tags-1.0.1.tgz","integrity":"sha512-p5WOZRrbK5DpS5PPrcOmyu20JXpXvi+LoewF9Di44J4BATKTDgrKO0UjkzsIJ/6b/pmwKCL2iU0GG9ewYuU4FQ==","signatures":[{"sig":"MEUCIDaJ8Dzqkmoqvp3mL1apvY48xV0RwLqTi+B1z8GY6opsAiEAr+htRR7M7Pa6kbRNudTU4CdZDY2L6kCGOWhYNSj3wBI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"mcg","email":"m@m.cg"},"licenses":[{"url":"http://mattcg.mit-license.org/","type":"MIT"},{"url":"http://opendatacommons.org/licenses/by/1.0/","type":"ODC-BY"}],"implements":["CommonJS/Modules/1.0"],"repository":{"url":"git://github.com/mattcg/language-tags.git","type":"git"},"_npmVersion":"1.3.21","description":"Work with IANA language tags.","directories":{},"dependencies":{"language-subtag-registry":"~0.3.0"},"devDependencies":{"mocha":"~1.16.1","coveralls":"~2.6.1","jscoverage":"~0.3.8","mocha-lcov-reporter":"~0.0.1"}},"1.0.2":{"name":"language-tags","version":"1.0.2","keywords":["iana","bcp47","subtags","rfc5646","m17n","multilingualization"],"_id":"language-tags@1.0.2","maintainers":[{"name":"mcg","email":"m@m.cg"}],"contributors":[{"name":"Matthew Caruana Galizia","email":"m@m.cg"}],"homepage":"https://github.com/mattcg/language-tags","bugs":{"url":"https://github.com/mattcg/language-tags/issues"},"dist":{"shasum":"46c48f02910eb5e490088b73009de8a6a0384281","tarball":"https://registry.npmjs.org/language-tags/-/language-tags-1.0.2.tgz","integrity":"sha512-4lPK9RmrBzjvCXk9t0fHCofYdbgFw3lURxlQLfYMw/hsceFcMaaMUsmaUtgctEDc+AkKnKIu1Zi5+9qmZ9Go6g==","signatures":[{"sig":"MEUCIQCzLPypTAMOQY+7gyvsEtymRUYoAHemrvwF9ui84DIC4QIgBAUyJGVSbU/0Vod4w7JHHXTDNJQ0P0ZBdY+NrtUvtUs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","scripts":{"test":"make test"},"_npmUser":{"name":"mcg","email":"m@m.cg"},"licenses":[{"url":"http://mattcg.mit-license.org/","type":"MIT"}],"implements":["CommonJS/Modules/1.0"],"repository":{"url":"git://github.com/mattcg/language-tags.git","type":"git"},"_npmVersion":"1.4.3","description":"Work with IANA language tags.","directories":{},"dependencies":{"language-subtag-registry":"~0.3.2"},"devDependencies":{"mocha":"~1.18.2","istanbul":"~0.2.6","coveralls":"~2.10.0"}},"1.0.3":{"name":"language-tags","version":"1.0.3","keywords":["iana","bcp47","subtags","rfc5646","m17n","multilingualization"],"_id":"language-tags@1.0.3","maintainers":[{"name":"mcg","email":"m@m.cg"}],"contributors":[{"name":"Matthew Caruana Galizia","email":"m@m.cg"}],"homepage":"https://github.com/mattcg/language-tags","bugs":{"url":"https://github.com/mattcg/language-tags/issues"},"dist":{"shasum":"21729ae53c88c89098310b1560f56c612496bd66","tarball":"https://registry.npmjs.org/language-tags/-/language-tags-1.0.3.tgz","integrity":"sha512-h+S3ar0CqVBFengycE+0HdzI9Z8fEl+v4Ga0+4xkc+VRvxCze3fTvYsk5nN+Lnf3bcjq+KpRaYiJW+1p/933fQ==","signatures":[{"sig":"MEUCIQCPtOKwxrzeL9jj5JNuncokeG/mpMPoqNUyeQSSNnxfigIgDu1TppCIsq8KCBXHiaa+eljIoYDygUrbxpZOr96MVp0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"21729ae53c88c89098310b1560f56c612496bd66","gitHead":"0fa834c5d120018a316ce191c8d92268b66c90ed","scripts":{"test":"make test"},"_npmUser":{"name":"mcg","email":"m@m.cg"},"licenses":[{"url":"http://mattcg.mit-license.org/","type":"MIT"}],"implements":["CommonJS/Modules/1.0"],"repository":{"url":"git://github.com/mattcg/language-tags.git","type":"git"},"_npmVersion":"2.12.1","description":"Work with IANA language tags.","directories":{},"_nodeVersion":"0.12.6","dependencies":{"language-subtag-registry":"~0.3.2"},"devDependencies":{"mocha":"~1.18.2","istanbul":"~0.2.6","coveralls":"~2.10.0"}},"1.0.4":{"name":"language-tags","version":"1.0.4","keywords":["iana","bcp47","subtags","rfc5646","m17n","multilingualization"],"author":{"name":"Matthew Caruana Galizia","email":"m@m.cg"},"license":"MIT","_id":"language-tags@1.0.4","maintainers":[{"name":"mcg","email":"m@m.cg"}],"homepage":"https://github.com/mattcg/language-tags","bugs":{"url":"https://github.com/mattcg/language-tags/issues"},"dist":{"shasum":"4f64d25011caeb3436a80313d91f07c640fc1d4a","tarball":"https://registry.npmjs.org/language-tags/-/language-tags-1.0.4.tgz","integrity":"sha512-rM34w65CCe0P0DYjSlHcohVud5lmQkKQUcuelnTb4HCIvutRrBnkToKDLX60MNbQ0cguXdwmgp9O4bxY8ngfag==","signatures":[{"sig":"MEUCIHzhdwYdEvoI44V/pPTHIAbAeVRdtrtGyqqt+jDz5YtjAiEA/enXD5Stxpais7FhE1GYycY3ilgYu3dpd0UaLyLkszY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"4f64d25011caeb3436a80313d91f07c640fc1d4a","gitHead":"7e2217af4e422a1631550a3118894c2d8b0c8127","scripts":{"test":"make test"},"_npmUser":{"name":"mcg","email":"m@m.cg"},"implements":["CommonJS/Modules/1.0"],"repository":{"url":"git://github.com/mattcg/language-tags.git","type":"git"},"_npmVersion":"3.3.12","description":"Work with IANA language tags.","directories":{},"_nodeVersion":"5.4.0","dependencies":{"language-subtag-registry":"~0.3.2"},"devDependencies":{"mocha":"~1.18.2","istanbul":"~0.2.6","coveralls":"~2.10.0"}},"1.0.5":{"name":"language-tags","version":"1.0.5","keywords":["iana","bcp47","subtags","rfc5646","m17n","multilingualization"],"author":{"name":"Matthew Caruana Galizia","email":"m@m.cg"},"license":"MIT","_id":"language-tags@1.0.5","maintainers":[{"name":"mcg","email":"m@m.cg"}],"homepage":"https://github.com/mattcg/language-tags","bugs":{"url":"https://github.com/mattcg/language-tags/issues"},"dist":{"shasum":"d321dbc4da30ba8bf3024e040fa5c14661f9193a","tarball":"https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz","integrity":"sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==","signatures":[{"sig":"MEQCIC9h7GN7hGeE77agFJQk4Qe6ZGcGY+fo6fHAJuL6QVY9AiBDUAH8/jTaaHOuGycfpZulm9hzVcSlpWOcCi3suptsug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"d321dbc4da30ba8bf3024e040fa5c14661f9193a","gitHead":"5ae08f97f41ea6fce164e9b87d975c9bc21bf8d1","scripts":{"test":"make test"},"_npmUser":{"name":"mcg","email":"m@m.cg"},"implements":["CommonJS/Modules/1.0"],"repository":{"url":"git://github.com/mattcg/language-tags.git","type":"git"},"_npmVersion":"3.3.12","description":"Work with IANA language tags.","directories":{},"_nodeVersion":"5.4.0","dependencies":{"language-subtag-registry":"~0.3.2"},"devDependencies":{"mocha":"~2.3.4","istanbul":"~0.4.2","coveralls":"~2.11.6"}},"1.0.6":{"name":"language-tags","version":"1.0.6","keywords":["iana","bcp47","subtags","rfc5646","m17n","multilingualization"],"author":{"name":"Matthew Caruana Galizia","email":"mattcg@gmail.com"},"license":"MIT","_id":"language-tags@1.0.6","maintainers":[{"name":"mcg","email":"mattcg@gmail.com"}],"homepage":"https://github.com/mattcg/language-tags","bugs":{"url":"https://github.com/mattcg/language-tags/issues"},"dist":{"shasum":"c087cc42cd92eb71f0925e9e271d4f8be5a93430","tarball":"https://registry.npmjs.org/language-tags/-/language-tags-1.0.6.tgz","fileCount":5,"integrity":"sha512-HNkaCgM8wZgE/BZACeotAAgpL9FUjEnhgF0FVQMIgH//zqTPreLYMb3rWYkYAqPoF75Jwuycp1da7uz66cfFQg==","signatures":[{"sig":"MEUCIFuJXc45g9haXumovR75LM+AByXNqxCZ40ddMKyUcrUnAiEAifjr4qMMrZ0oWgE48jRpAEYoRnJPd4jAiSbO7FNK3JA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24182,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiPSTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpBGw/+M4cd5ofPMs2gXkkPd2sVF3OAkd7/+EeRWdLbcGOO00SYlCjd\r\nOH7qypYSZF611yKg1LH7+peFZeGSk5cmhDDIKWBojALPq/7BgEwwMTRTnRom\r\nyefUk9asyoe+DLxYuff3CS7XKoZWDe0gV5ZBrIcx7pJu9XDfHoHl9tX1qorw\r\nbZMMyhLK7p1gWLg1r9d45LynokxnXVZajRQrcj6WoVp6UZknh1pHTqAQYcDo\r\n8gLV94ub6AxW/OW23aq479A8HoTNsbmlsg4o/eX65JvoXZHJe0xjLKuQ9yy7\r\ncfsE9dyLw9pkm8DGr84c9sP5MQVrzHejjBRzIWLC0ZgHW8GEU3cAVM3C94QL\r\nu8ycJVOj13otPAV5V8pNMwOjWHpXOFcuQ2aa1TViLCmzHegE0CweQPKvdspa\r\nP053FKnBQbbdRiUl9gRXVdEh9Oy1ur8X2cRTMJxzLqJaj9Ga4R2l0ON34/yL\r\ntNsiMzqpXrytG7gsj/BYLdzZz9NOVhCYbyIiGQfeTPTsNsD5iDIswPcSsJHe\r\nXfKlYjGfNA5uRrgLdue7mG1S/KUqOuHnLZyrsBgZ3DJBoWxlITwZlVe6nUyA\r\nITtfBaUJz49EaIO32q6F8gaQAkMcKhg5af7O1huZ9Skva2KA/VhjCN771ulr\r\nPWomG4qJkL9u+3jU/kzD+UjEYACSDBf82DA=\r\n=jU2y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"b976a2ac29419bb8572b0f4bfc58d04fc34b68c5","scripts":{"test":"make test"},"_npmUser":{"name":"mcg","email":"mattcg@gmail.com"},"implements":["CommonJS/Modules/1.0"],"repository":{"url":"git://github.com/mattcg/language-tags.git","type":"git"},"_npmVersion":"8.19.3","description":"Work with IANA language tags.","directories":{},"_nodeVersion":"19.1.0","dependencies":{"language-subtag-registry":"^0.3.20"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"~6.2.0","istanbul":"~0.4.2","coveralls":"~3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/language-tags_1.0.6_1669919890952_0.25886821624937584","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"language-tags","version":"1.0.7","keywords":["iana","bcp47","subtags","rfc5646","m17n","multilingualization"],"author":{"name":"Matthew Caruana Galizia","email":"mattcg@gmail.com"},"license":"MIT","_id":"language-tags@1.0.7","maintainers":[{"name":"mcg","email":"mattcg@gmail.com"}],"homepage":"https://github.com/mattcg/language-tags","bugs":{"url":"https://github.com/mattcg/language-tags/issues"},"dist":{"shasum":"41cc248730f3f12a452c2e2efe32bc0bbce67967","tarball":"https://registry.npmjs.org/language-tags/-/language-tags-1.0.7.tgz","fileCount":5,"integrity":"sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw==","signatures":[{"sig":"MEQCIAaN9H4zOkadI8/01GLHRONxnbs+Dm2cHBBiGuuVNlKMAiAmWmunyPyzifFiFo757WJrPN1ZJm6gSHLMo7z021Z2tA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmvELACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+0w/+MFmHqV66Oq7W0DsvqoQIM+o1wnFXjwUOoq8a0Uscwm/p6+w/\r\nQ8RSbtAik4m3+JdXxcTaJ/Fgq94Y5fnwKYAE2USAiHjhm2Hy8aok0jIDN8jJ\r\nseqdM/S29xqa6RqQ90VggVEkIOO0WINms1CE5UsHNpbFkmKGzUv0WHunaDbk\r\nAWcRYuvaqQud+F+7E2RQcJXxOPKwwNQlWO8lClB1FYuy3nhxYiryId3mAP2C\r\nE0dlms/qCPhkvKh3gGmhgjsDpuBtERVxvoFF31D47ry254stXwIgW+AfTke2\r\naOukMOa3auueqFvW9NV1aYQR2TrRvfoT3gN0BGG+BnNod9e4Bb3udSQmHhIE\r\nFCxFvIfRTyaq+t3yTgVgU0lviDGcYxJGGsJrp/QapsCr2+cV9v3nFpDdzrTf\r\nVhhN3mj6B5nrL6VfZz6ss3gG2+2wNQqHxa77LT0dJo4f06CAK9Voyw+75HSO\r\nsitBYaLwKjqDD81N30NIdycL/dOLmKiNYKO4HqzvP5XGvMxo3H9dH6JV2ekP\r\nuBM/DvO0E09ByM2DiT4UIajDQhf+DLADwaIQN2xxIcOZlNBrg4J6tLzeZg3E\r\ntk2BnGPpuI5aowz3x3L/ZlnAWgswq4ma8k2PZLYNMsZNVzwSvNLINFFslxss\r\nVxgeb2tJV8Up4aMQVG5ioT4hw+3Nc+yrSLE=\r\n=u1KW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"18163fc6d05cda6e625146816c0063f89e22e435","scripts":{"test":"make test"},"_npmUser":{"name":"mcg","email":"mattcg@gmail.com"},"implements":["CommonJS/Modules/1.0"],"repository":{"url":"git://github.com/mattcg/language-tags.git","type":"git"},"_npmVersion":"9.2.0","description":"Work with IANA language tags.","directories":{},"_nodeVersion":"19.2.0","dependencies":{"language-subtag-registry":"^0.3.20"},"eslintConfig":{"env":{"node":true},"parserOptions":{"sourceType":"module","ecmaVersion":13}},"_hasShrinkwrap":false,"devDependencies":{"mocha":"~6.2.0","istanbul":"~0.4.2","coveralls":"~3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/language-tags_1.0.7_1671098634983_0.9651817057361631","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"language-tags","version":"1.0.8","keywords":["iana","bcp47","subtags","rfc5646","m17n","multilingualization"],"author":{"name":"Matthew Caruana Galizia","email":"mattcg@gmail.com"},"license":"MIT","_id":"language-tags@1.0.8","maintainers":[{"name":"mcg","email":"mattcg@gmail.com"}],"homepage":"https://github.com/mattcg/language-tags","bugs":{"url":"https://github.com/mattcg/language-tags/issues"},"dist":{"shasum":"042b4bdb0d4e771a9f8cc2fdc9bb26a52a367312","tarball":"https://registry.npmjs.org/language-tags/-/language-tags-1.0.8.tgz","fileCount":5,"integrity":"sha512-aWAZwgPLS8hJ20lNPm9HNVs4inexz6S2sQa3wx/+ycuutMNE5/IfYxiWYBbi+9UWCQVaXYCOPUl6gFrPR7+jGg==","signatures":[{"sig":"MEUCIQDV9zkfC/22+MHvLOeBZ8fq/0LKuQGn9Jaqesgg4yUXdwIgF7RDparmKRLH4GHpRrbA0ZRkw2c436nopqV91qZpWzw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24395,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6TldACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqOthAAju1OuPPaFPXntsVLisBx7yFkILENkgQj9eJe2y6dfNWPGHPU\r\nilOK+1pBNjGQiNm201g8c0zVTzYO7JBaOvpZEPevevBTCbr/XD4IVhPBBqFr\r\nE9lArWbuqmri+SvsSnB5dG4AfpG/KMQ9S1HpwyEJplChMqJPRFnzBoxqPPIv\r\nXUbVeexe6ttzIOkL69eJgVgwfwwR1IIyGh6YTduzwwd9cDw18WmnmW4lLUg3\r\nIJ0RuPxCP/t0ZIw74NEiNZZauDe449dmlWS5N89MF1AMftOJxg861481Rv5V\r\n8/dA5HB1jU8XVgNV1cIoqn6ZNJrqWjmsVyTu/zdVvgp4BpbxGB20ZTAzcNsv\r\necSYvcZ0o+HlxTDD1+PiYvvZ7eEN5uf8GNzQJxQcwzFEyLKNLQo9tNCR8mcW\r\n9ZFCVd8QLMW8nBnBi8/SvkIFNWzej3B/cYuNh2BfpUXHkah8X98eNFZeSgn1\r\nTvwRjxdVvpEy30ZAJoPp/PIPM7YUlE3/QNUXwX9TWJFdg6zcDyAxRbcp7w7C\r\njO1tAz/rZh7T2EOiy+7ULb4BA4fmpqcgFJpRsAz0uRUM9hejQ1u9YmIEiy1n\r\nxx6wTzCynDDgo4JqADk8Cf1haZOZ2+dWAClrXnzldqp8amfYcTHiV3sCgZRb\r\ngDOt86ayvawUGO/Auvi/rH9/sIfzNzXKrCk=\r\n=Jwvu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"dcbfb23d85870cd458806374ddff0cecc6184b7b","scripts":{"test":"make test"},"_npmUser":{"name":"mcg","email":"mattcg@gmail.com"},"implements":["CommonJS/Modules/1.0"],"repository":{"url":"git://github.com/mattcg/language-tags.git","type":"git"},"_npmVersion":"9.2.0","description":"Work with IANA language tags.","directories":{},"_nodeVersion":"19.4.0","dependencies":{"language-subtag-registry":"^0.3.20"},"eslintConfig":{"env":{"node":true},"parserOptions":{"sourceType":"module","ecmaVersion":13}},"_hasShrinkwrap":false,"devDependencies":{"mocha":"~6.2.0","istanbul":"~0.4.2","coveralls":"~3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/language-tags_1.0.8_1676228957169_0.7848591945622727","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"language-tags","version":"1.0.9","keywords":["iana","bcp47","subtags","rfc5646","m17n","multilingualization"],"author":{"name":"Matthew Caruana Galizia","email":"mattcg@gmail.com"},"license":"MIT","_id":"language-tags@1.0.9","maintainers":[{"name":"mcg","email":"mattcg@gmail.com"}],"homepage":"https://github.com/mattcg/language-tags","bugs":{"url":"https://github.com/mattcg/language-tags/issues"},"dist":{"shasum":"1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777","tarball":"https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz","fileCount":5,"integrity":"sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==","signatures":[{"sig":"MEQCIB0r052D1kg/B/kPgtCgPnhyI2hJiNPsCV9XHhidcKboAiAKLWkWoLFCoCtJRrGbSDo+khxNam9zZnVp37kfWgmHAw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32047},"main":"lib/index.js","engines":{"node":">=0.10"},"gitHead":"ea5aa61e53ced2a18e35783ff00bb2a533f6c77d","scripts":{"lint":"eslint --ext=js,mjs .","test":"npm run tests-only","build":"babel src -d lib","pretest":"npm run lint","prebuild":"rimraf lib && mkdirp lib","tests-only":"nyc mocha --recursive test","prepublishOnly":"npm run build"},"_npmUser":{"name":"mcg","email":"mattcg@gmail.com"},"implements":["CommonJS/Modules/1.0"],"repository":{"url":"git://github.com/mattcg/language-tags.git","type":"git"},"_npmVersion":"9.8.1","description":"Work with IANA language tags.","directories":{},"_nodeVersion":"20.5.1","dependencies":{"language-subtag-registry":"^0.3.20"},"eslintConfig":{"env":{"node":true},"overrides":[{"files":"test/**","globals":{"test":false,"suite":false}}],"parserOptions":{"sourceType":"script","ecmaVersion":2022},"ignorePatterns":["!.babelrc.js"]},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^10.3.2","mocha":"^3.5.3","eslint":"^8.47.0","mkdirp":"^0.5.6","rimraf":"^2.7.1","coveralls":"^3.1.1","@babel/cli":"^7.22.10","@babel/preset-env":"^7.22.10"},"_npmOperationalInternal":{"tmp":"tmp/language-tags_1.0.9_1692203009413_0.7087482571725519","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"language-tags","version":"2.0.0","keywords":["iana","bcp47","subtags","rfc5646","m17n","multilingualization"],"author":{"name":"Matthew Caruana Galizia","email":"mattcg@gmail.com"},"license":"MIT","_id":"language-tags@2.0.0","maintainers":[{"name":"mcg","email":"mattcg@gmail.com"}],"homepage":"https://github.com/mattcg/language-tags","bugs":{"url":"https://github.com/mattcg/language-tags/issues"},"dist":{"shasum":"94a6502ff8f3a2bd2474096578ecf55a64599f5c","tarball":"https://registry.npmjs.org/language-tags/-/language-tags-2.0.0.tgz","fileCount":6,"integrity":"sha512-VByqVQpU73KRT5yZIGirlRJMGxreOhpsBj7LEyDhbIKBLEmm66YiYs20BTa7FyrTME/8OMaGieOkCV0j6bEWTQ==","signatures":[{"sig":"MEYCIQCAnCyDKpHtxjojMzBsxc6xTh3WFzfTWEnzZhJ+kO4roQIhANXqCRytshZr0YBOgMFBYm684FOKQX7yL+PAmf5OOsSh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33097},"main":"lib/index.js","type":"module","engines":{"node":">=0.10"},"gitHead":"3052fde14256c575c7b2f81975b7a778814ad4ca","scripts":{"lint":"eslint ./src ./test","test":"npm run tests-only","build":"babel src -d lib","pretest":"npm run lint","prebuild":"rimraf lib && mkdirp lib","tests-only":"c8 mocha","prepublishOnly":"npm run build"},"_npmUser":{"name":"mcg","email":"mattcg@gmail.com"},"repository":{"url":"git://github.com/mattcg/language-tags.git","type":"git"},"_npmVersion":"10.9.2","description":"Work with IANA language tags.","directories":{},"_nodeVersion":"23.4.0","dependencies":{"language-subtag-registry":"^0.3.20"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","mocha":"^11.0.1","eslint":"^9.17.0","mkdirp":"^3.0.1","rimraf":"^6.0.1","coveralls":"^3.1.1","@babel/cli":"^7.22.10","@babel/preset-env":"^7.22.10"},"_npmOperationalInternal":{"tmp":"tmp/language-tags_2.0.0_1734341837755_0.8207783875119716","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"language-tags","version":"2.0.1","keywords":["iana","bcp47","subtags","rfc5646","m17n","multilingualization"],"author":{"name":"Matthew Caruana Galizia","email":"mattcg@gmail.com"},"license":"MIT","_id":"language-tags@2.0.1","maintainers":[{"name":"mcg","email":"mattcg@gmail.com"}],"homepage":"https://github.com/mattcg/language-tags","bugs":{"url":"https://github.com/mattcg/language-tags/issues"},"dist":{"shasum":"cabb67b76c93aabc2a9496a326623adc3ed6ab02","tarball":"https://registry.npmjs.org/language-tags/-/language-tags-2.0.1.tgz","fileCount":6,"integrity":"sha512-SzHyV6XDLTS7TSQipSaywM+QOB9PqiNhd/nWPgVwzpZqfeoIMee+Avj4F82QP6m/hMtIvUCS8UEFIlBV5vq7Gw==","signatures":[{"sig":"MEYCIQDjrid/odPc0RhUGCosdX85o6GYr81DGyG2IhdhFS1CBwIhALlfmwRQujALQYg6ydc+6+gS79gT7WLlERbBk9utDG4w","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25497},"main":"lib/index.js","type":"module","engines":{"node":">=22"},"gitHead":"d6fd038ba6034f254c0637371d5e000db2db91d3","scripts":{"lint":"eslint ./lib ./test","test":"c8 mocha"},"_npmUser":{"name":"mcg","email":"mattcg@gmail.com"},"repository":{"url":"git://github.com/mattcg/language-tags.git","type":"git"},"_npmVersion":"10.9.2","description":"Work with IANA language tags.","directories":{},"_nodeVersion":"23.4.0","dependencies":{"language-subtag-registry":"^0.3.20"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","mocha":"^11.0.1","eslint":"^9.17.0","coveralls":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/language-tags_2.0.1_1734362835167_0.20575638576096877","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"language-tags","version":"2.1.0","description":"Work with IANA language tags.","main":"lib/index.js","type":"module","homepage":"https://github.com/mattcg/language-tags","author":{"name":"Matthew Caruana Galizia","email":"mattcg@gmail.com"},"repository":{"type":"git","url":"git://github.com/mattcg/language-tags.git"},"bugs":{"url":"https://github.com/mattcg/language-tags/issues"},"license":"MIT","scripts":{"pretest":"eslint ./lib ./test","test":"c8 mocha","tests-only":"c8 mocha"},"keywords":["iana","bcp47","subtags","rfc5646","m17n","multilingualization"],"dependencies":{"language-subtag-registry":"^0.3.20"},"devDependencies":{"coveralls":"^3.1.1","eslint":"^9.17.0","mocha":"^11.0.1","c8":"^10.1.3"},"engines":{"node":">=22"},"_id":"language-tags@2.1.0","gitHead":"4c323c99010dde58261dc80ce4407e8206b1ff79","_nodeVersion":"23.11.0","_npmVersion":"11.3.0","dist":{"integrity":"sha512-D4CgpyCt+61f6z2jHjJS1OmZPviAWM57iJ9OKdFFWSNgS7Udj9QVWqyGs/cveVNF57XpZmhSvMdVIV5mjLA7Vg==","shasum":"004eb97cf1c4eef7c5d84b2a43f6e67081447732","tarball":"https://registry.npmjs.org/language-tags/-/language-tags-2.1.0.tgz","fileCount":6,"unpackedSize":25713,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD91fL9gQU/0rhVkuZqY9y4T9ccEbvr6uxdWEPfNqejuQIhAN7bReSlgMqUfcreq6RhteetkGvS6Vp6qAmLlV/r30MA"}]},"_npmUser":{"name":"mcg","email":"mattcg@gmail.com"},"directories":{},"maintainers":[{"name":"mcg","email":"mattcg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/language-tags_2.1.0_1747144294214_0.9867432397052047"},"_hasShrinkwrap":false}},"time":{"created":"2013-05-22T02:27:55.052Z","modified":"2025-05-13T13:51:34.617Z","0.0.1":"2013-05-22T02:28:12.469Z","0.0.2":"2013-05-22T03:01:07.246Z","0.0.3":"2013-05-22T03:14:36.884Z","0.1.0":"2013-09-28T18:01:47.590Z","1.0.0":"2013-09-29T20:24:25.382Z","1.0.1":"2013-12-23T14:20:31.491Z","1.0.2":"2014-03-24T21:44:25.297Z","1.0.3":"2015-07-09T22:42:32.529Z","1.0.4":"2016-01-11T22:54:51.583Z","1.0.5":"2016-01-12T00:56:16.365Z","1.0.6":"2022-12-01T18:38:11.223Z","1.0.7":"2022-12-15T10:03:55.169Z","1.0.8":"2023-02-12T19:09:17.353Z","1.0.9":"2023-08-16T16:23:29.562Z","2.0.0":"2024-12-16T09:37:17.933Z","2.0.1":"2024-12-16T15:27:15.390Z","2.1.0":"2025-05-13T13:51:34.431Z"},"bugs":{"url":"https://github.com/mattcg/language-tags/issues"},"author":{"name":"Matthew Caruana Galizia","email":"mattcg@gmail.com"},"license":"MIT","homepage":"https://github.com/mattcg/language-tags","keywords":["iana","bcp47","subtags","rfc5646","m17n","multilingualization"],"repository":{"type":"git","url":"git://github.com/mattcg/language-tags.git"},"description":"Work with IANA language tags.","maintainers":[{"name":"mcg","email":"mattcg@gmail.com"}],"readme":"# IANA Language Tags for JavaScript #\n\n[![Build Status](https://github.com/mattcg/language-tags/actions/workflows/tests.yml/badge.svg?branch=master)](https://github.com/mattcg/language-tags/actions/workflows/tests.yml)\n[![Coverage Status](https://coveralls.io/repos/mattcg/language-tags/badge.png)](https://coveralls.io/r/mattcg/language-tags)\n\nBased on [BCP 47](https://www.rfc-editor.org/info/bcp47) ([RFC 5646](https://www.rfc-editor.org/rfc/rfc5646.html)) and the latest [IANA language subtag registry](http://www.iana.org/assignments/language-subtag-registry).\n\nThis project will be updated as the standards change.\n\n## JSON data ##\n\nSee the [language-subtag-registry](https://github.com/mattcg/language-subtag-registry) project for the underlying JSON data.\n\n## API ##\n\n```js\nimport {tags, check, subtags, filter, search, languages, language, region, type, date} from 'language-tags'\n```\n\nNote that all lookups and checks for tags and subtags are case insensitive. For formatting according to common conventions, see `tag.format`.\n\n### tags(tag) ###\n\nCheck whether a hyphen-separated tag is valid and well-formed. Always returns a `Tag`, which can be checked using the `valid` method.\n\n### check(tag) ###\n\nShortcut for `tags(tag).valid()`. Return `true` if the tag is valid, `false` otherwise. For meaningful error output see `tag.errors()`.\n\n### subtags(subtag), subtags(subtags) ###\n\nLook up one or more subtags. Returns an array of `Subtag` objects. Returns an empty array if all of the subtags are non-existent.\n\nCalling `subtags('mt')` will return an array with two `Subtag` objects: one for Malta (the 'region' type subtag) and one for Maltese (the 'language' type subtag).\n\n```\n> subtags('mt');\n[Subtag, Subtag]\n> subtags('bumblebee');\n[]\n```\n\nTo get or check a single subtag by type use `language(subtag)`, `region(subtag)` or `type(subtag, type)`.\n\n### filter(subtags) ###\n\nThe opposite of `subtags(subtags)`. Returns an array of codes that are not registered subtags, otherwise returns an empty array.\n\n```\n> filter(['en', 'Aargh']);\n['Aargh']\n```\n\n### search(description, [all]) ###\n\nSearch for tags and subtags by description. Supports either a RegExp object or a string for `description`. Returns an array of `Subtag` and `Tag` objects or an empty array if no results were found.\n\nNote that `Tag` objects in the results represent 'grandfathered' or 'redundant' tags. These are excluded by default. Set the `all` parameter to `true` to include them.\n\nSearch is case-insensitive if `description` is a string.\n\n### languages(macrolanguage) ###\n\nReturns an array of `Subtag` objects representing all the 'language' type subtags belonging to the given 'macrolanguage' type subtag.\n\nThrows an error if `macrolanguage` is not a macrolanguage.\n\n```\n> languages('zh');\n[Subtag, Subtag...]\n> languages('en');\nError: 'en' is not a valid macrolanguage.\n```\n\n### language(subtag) ###\n\nConvenience method to get a single 'language' type subtag. Can be used to validate an input value as a language subtag. Returns a `Subtag` object or `null`.\n\n```\n> language('en');\nSubtag\n> language('us');\nnull\n```\n\n### region(subtag) ###\n\nAs above, but with 'region' type subtags.\n\n```\n> region('mt');\nSubtag\n> region('en');\nnull\n```\n\n### type(subtag, type) ###\n\nGet a subtag by type. Returns the subtag matching `type` as a `Subtag` object otherwise returns `null`.\n\nA `type` consists of one of the following strings: 'language', 'extlang', 'script', 'region' or 'variant'. To get a 'grandfathered' or 'redundant' type tag use `tags(tag)`.\n\n```\n> type('zh', 'macrolanguage');\nSubtag\n> type('zh', 'script');\nnull\n```\n\n### date() ###\n\nReturns the file date for the underlying data, as a string.\n\n```\n> date();\n'2004-06-28'\n```\n\n### Subtag ###\n\n#### subtag.type() ####\n\nGet the subtag type (either 'language', 'extlang', 'script', 'region' or 'variant'). See [RFC 5646 section 2.2](http://tools.ietf.org/html/rfc5646#section-2.2) for type definitions.\n\n#### subtag.descriptions() ####\n\nReturns an array of description strings (a subtag may have more than one description).\n\n```\n> language('ro').descriptions();\n['Romanian', 'Moldavian', 'Moldovan']\n```\n\n#### subtag.preferred() ####\n\nReturns a preferred subtag as a `Subtag` object if the subtag is deprecated. For example, `ro` is preferred over deprecated `mo`.\n\n```\n> language('mo').preferred();\nSubtag\n```\n\n#### subtag.script() ####\n\nFor subtags of type 'language' or 'extlang', returns a `Subtag` object representing the language's default script. See [RFC 5646 section 3.1.9](http://tools.ietf.org/html/rfc5646#section-3.1.9) for a definition of 'Suppress-Script'.\n\n#### subtag.scope() ####\n\nReturns the subtag scope as a string, or `null` if the subtag has no scope.\n\nTip: if the subtag represents a macrolanguage, you can use `languages(macrolanguage)` to get a list of all the macrolanguage's individual languages.\n\n```\n> language('zh').scope();\n'macrolanguage'\n> language('nah').scope();\n'collection'\n```\n\n#### subtag.deprecated() ####\n\nReturns a date string reflecting the deprecation date if the subtag is deprecated, otherwise returns `null`.\n\n```\n> language('ja').deprecated();\n'2008-11-22'\n```\n\n#### subtag.added() ####\n\nReturns a date string reflecting the date the subtag was added to the registry.\n\n```\n> language('ja').added();\n'2005-10-16'\n```\n\n#### subtag.comments() ####\n\nReturns an array of comments, if any, otherwise returns an empty array.\n\n```\n> language('nmf').comments();\n['see ntx']\n```\n\n#### subtag.format() ####\n\nReturn the subtag code formatted according to the case conventions defined in [RFC 5646 section 2.1.1](http://tools.ietf.org/html/rfc5646#section-2.1.1).\n\n- language codes are made lowercase ('mn' for Mongolian)\n- script codes are made lowercase with the initial letter capitalized ('Cyrl' for Cyrillic)\n- country codes are capitalized ('MN' for Mongolia)\n\n### Tag ###\n\n#### tag.preferred() ####\n\nIf the tag is listed as 'deprecated' or 'redundant' it might have a preferred value. This method returns a `Tag` object if so.\n\n```\n> tags('zh-cmn-Hant').preferred();\nTag\n```\n\n#### tag.type() ####\n\nReturns `grandfathered` if the tag is grandfathered, `redundant` if the tag is redundant, and `tag` if neither. For a definition of grandfathered and redundant tags, see [RFC 5646 section 2.2.8](http://tools.ietf.org/html/rfc5646#section-2.2.8).\n\n#### tag.subtags() ####\n\nReturns an array of subtags making up the tag, as `Subtag` objects.\n\n#### tag.language(), tag.region(), tag.script() ####\n\nShortcuts for `tag.find('language')`, `tag.find('region')` and `tag.find('script')`.\n\n#### tag.find(type) ####\n\nFind a subtag of the given type from those making up the tag.\n\n#### tag.valid() ####\n\nReturns `true` if the tag is valid, `false` otherwise.\n\n#### tag.errors() ####\n\nReturns an array of `Error` objects if the tag is invalid. The `message` property of each is readable and helpful enough for UI output. The `code` property can be checked against the `Tag.ERR_*` constants. Each error will also have either a `subtag` or `tag` property with the code of the offending tag.\n\n#### tag.format() ####\n\nFormat a tag according to the case conventions defined in [RFC 5646 section 2.1.1](http://tools.ietf.org/html/rfc5646#section-2.1.1).\n\n```\n> tags('en-gb').format();\n'en-GB'\n```\n\n#### tag.deprecated() ####\n\nFor grandfathered or redundant tags, returns a date string reflecting the deprecation date if the tag is deprecated.\n\n```\n> tags('zh-cmn-Hant').deprecated();\n'2009-07-29'\n```\n\n#### tag.added() ####\n\nFor grandfathered or redundant tags, returns a date string reflecting the date the tag was added to the registry.\n\n#### tag.descriptions() ####\n\nReturns an array of tag descriptions for grandfathered or redundant tags, otherwise returns an empty array.\n\n## Resources ##\n\n- [Python version by the Flanders Heritage Agency](https://github.com/OnroerendErfgoed/language-tags)\n- [Language Subtag Lookup tool by Richard Ishida](http://rishida.net/utils/subtags/)\n- [W3C Internationalization Checker](http://validator.w3.org/i18n-checker/)\n- [RFC 5646](http://tools.ietf.org/html/rfc5646)\n\n## Credits and collaboration ##\n\nCopyright (c) 2013, [Matthew Caruana Galizia](http://twitter.com/mcaruanagalizia).\n\nThe software part of this project is licensed under an [MIT licence](http://mattcg.mit-license.org/).\n\nComments, feedback and suggestions are welcome. Please feel free to raise an issue or pull request. Enjoy.\n","readmeFilename":"README.md","users":{"cueedee":true,"mysociety":true,"hecticjeff":true}}