i18n for ISO 3166-1 country codes
npm install @shellscape/i18n-iso-countriesi18n for ISO 3166-1 country codes. We support Alpha-2, Alpha-3 and Numeric codes from ['Wikipedia: Officially assigned code elements'][iso:3166-1]
Install it using npm: npm install i18n-iso-countries
``javascript`
var countries = require("i18n-iso-countries");
If you use i18n-iso-countries with Node.js, you are done. If you use the package in a browser environment, you have to register the languages you want to use to minimize the file size.
`javascript`
// Support french & english languages.
countries.registerLocale(require("i18n-iso-countries/langs/en.json"));
countries.registerLocale(require("i18n-iso-countries/langs/fr.json"));
`javascript`
var countries = require("i18n-iso-countries");
// in a browser environment: countries.registerLocale(require("i18n-iso-countries/langs/en.json"));
console.log("US (Alpha-2) => " + countries.getName("US", "en")); // United States of America
console.log("US (Alpha-2) => " + countries.getName("US", "de")); // Vereinigte Staaten von Amerika
console.log("USA (Alpha-3) => " + countries.getName("USA", "en")); // United States of America
console.log("USA (Numeric) => " + countries.getName("840", "en")); // United States of America
#### Get aliases/short name using select
`javascriptselect
// Some countries have alias/short names defined. is used to control which`
// name will be returned.
console.log("GB (select: official) => " + countries.getName("GB", "en", {select: "official"})); // United Kingdom
console.log("GB (select: alias) => " + countries.getName("GB", "en", {select: "alias"})); // UK
console.log("GB (select: all) => " + countries.getName("GB", "en", {select: "all"})); // ["United Kingdom", "UK", "Great Britain"]
// Countries without an alias will always return the offical name
console.log("LT (select: official) => " + countries.getName("LT", "en", {select: "official"})); // Lithuania
console.log("LT (select: alias) => " + countries.getName("LT", "en", {select: "alias"})); // Lithuania
console.log("LT (select: all) => " + countries.getName("LT", "en", {select: "all"})); // ["Lithuania"]
`javascript`
var countries = require("i18n-iso-countries");
// in a browser environment: countries.registerLocale(require("i18n-iso-countries/langs/en.json"));
console.log(countries.getNames("en", {select: "official"})); // { 'AF': 'Afghanistan', 'AL': 'Albania', [...], 'ZM': 'Zambia', 'ZW': 'Zimbabwe' }
> In case you want to add new language, please refer [ISO 639-1 table][iso:639-1].
- af: Afrikaansam
- : Amharicar
- : Arabicaz
- : Azerbaijanibe
- : Belorussianbg
- : Bulgarianbn
- : Bengalibr
- : Bretonbs
- : Bosnianca
- : Catalancs
- : Czechcy
- : Cymraegda
- : Danishde
- : Germandv
- : Dhivehien
- : Englishes
- : Spanishet
- : Estonianeu
- : Basquefa
- : Persianfi
- : Finnishfr
- : Frenchgl
- : Galicianel
- : Greekha
- : Hausahe
- : Hebrewhi
- : Hindihr
- : Croatianhu
- : Hungarianhy
- : Armenianis
- : Icelandicit
- : Italianid
- : Indonesianja
- : Japaneseka
- : Georgiankk
- : Kazakhkm
- : Khmerko
- : Koreanku
- : Kurdishky
- : Kyrgyzlt
- : Lithuanianlv
- : Latvianmk
- : Macedonianml
- : Malayalammn
- : Mongolianmr
- : Marathims
- : Malaynb
- : Norwegian Bokmålnl
- : Dutchnn
- : Norwegian Nynorskno
- : Norwegianpl
- : Polishps
- : Pashtopt
- : Portuguesero
- : Romanianru
- : Russiansd
- : Sindhisk
- : Slovaksl
- : Sloveneso
- : Somalisq
- : Albaniansr
- : Serbiansv
- : Swedishsw
- : Swahilita
- : Tamiltg
- : Tajikth
- : Thaitr
- : Turkishtt
- : Tatarug
- : Uyghuruk
- : Ukrainianur
- : Urduuz
- : Uzbekzh
- : Chinesevi
- : Vietnamese
`javascript`
var countries = require("i18n-iso-countries");
console.log("List of supported languages => " + countries.getSupportedLanguages());
// List of supported languages => ["cy", "dv", "sw", "eu", "af", "am", ...]
`javascript
var countries = require("i18n-iso-countries");
// in a browser environment: countries.registerLocale(require("i18n-iso-countries/langs/en.json"));
console.log("United States of America => " + countries.getAlpha2Code("United States of America", "en"));
// United States of America => US
console.log("United States of America => " + countries.getAlpha3Code("United States of America", "en"));
// United States of America => USA
`
`javascript`
var countries = require("i18n-iso-countries");
// in a browser environment: countries.registerLocale(require("i18n-iso-countries/langs/en.json"));
console.log("USA (Alpha-3) => " + countries.alpha3ToAlpha2("USA") + " (Alpha-2)");
// USA (Alpha-3) => US (Alpha-2)
`javascript`
var countries = require("i18n-iso-countries");
// in a browser environment: countries.registerLocale(require("i18n-iso-countries/langs/en.json"));
console.log("840 (Numeric) => " + countries.numericToAlpha2("840") + " (Alpha-2)");
// 840 (Numeric) => US (Alpha-2)
`javascript`
var countries = require("i18n-iso-countries");
// in a browser environment: countries.registerLocale(require("i18n-iso-countries/langs/en.json"));
console.log("DE (Alpha-2) => " + countries.alpha2ToAlpha3("DE") + " (Alpha-3)");
// DE (Alpha-2) => DEU (Alpha-3)
`javascript`
var countries = require("i18n-iso-countries");
// in a browser environment: countries.registerLocale(require("i18n-iso-countries/langs/en.json"));
console.log("840 (Numeric) => " + countries.numericToAlpha3("840") + " (Alpha-3)");
// 840 (Numeric) => USA (Alpha-3)
`javascript`
var countries = require("i18n-iso-countries");
// in a browser environment: countries.registerLocale(require("i18n-iso-countries/langs/en.json"));
console.log(countries.alpha3ToNumeric("SWE"));
// 752
`javascript`
var countries = require("i18n-iso-countries");
// in a browser environment: countries.registerLocale(require("i18n-iso-countries/langs/en.json"));
console.log(countries.alpha2ToNumeric("SE"));
// 752
`javascript`
var countries = require("i18n-iso-countries");
// in a browser environment: countries.registerLocale(require("i18n-iso-countries/langs/en.json"));
console.log(countries.getAlpha2Codes());
// { 'AF': 'AFG', 'AX': 'ALA', [...], 'ZM': 'ZMB', 'ZW': 'ZWE' }
`javascript`
var countries = require("i18n-iso-countries");
// in a browser environment: countries.registerLocale(require("i18n-iso-countries/langs/en.json"));
console.log(countries.getAlpha3Codes());
// { 'AFG': 'AF', 'ALA': 'AX', [...], 'ZMB': 'ZM', 'ZWE': 'ZW' }
`javascript`
var countries = require("i18n-iso-countries");
// in a browser environment: countries.registerLocale(require("i18n-iso-countries/langs/en.json"));
console.log(countries.getNumericCodes());
// { '004': 'AF', '008': 'AL', [...], '887': 'YE', '894': 'ZM' }
`javascript`
var countries = require("i18n-iso-countries");
// in a browser environment: countries.registerLocale(require("i18n-iso-countries/langs/en.json"));
console.log(
countries.isValid("US"),
countries.isValid("USA"),
countries.isValid("XX")
);
// true, true, false
To add a language:
- add a json file under langs/
- add the language to the list in supportedLocales.json at the top
- add language to section Supported languages in README.md
- add language to keywords in package.json
- run npm run lint and npm test`
- open a PR on GitHub
You can check codes here: https://www.iso.org/obp/ui/#home
[iso:639-1]: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
[iso:3166-1]: http://en.wikipedia.org/wiki/ISO_3166-1#Officially_assigned_code_elements