i18n-iso-countries
i18n for ISO 3166-1 country codes. We support Alpha-2, Alpha-3 and Numeric codes from http://en.wikipedia.org/wiki/ISO_3166-1#Officially_assigned_code_elements
Installing
Install it using npm: npm install i18n-iso-countries
This library requires that String#padStart is available. If your environment does not support this method, you will need to polyfill it.
If used in a browser environment, you will need to manually install the local you wish to support.
1var countries = require("i18n-iso-countries"); 2 3// Support french & english languages. 4countries.registerLocale(require("i18n-iso-countries/langs/en.json")); 5countries.registerLocale(require("i18n-iso-countries/langs/fr.json"));
Code to Country
Get the name of a country by it's ISO 3166-1 Alpha-2, Alpha-3 or Numeric code
1var countries = require("i18n-iso-countries"); 2console.log("US (Alpha-2) => " + countries.getName("US", "en")); // United States of America 3console.log("US (Alpha-2) => " + countries.getName("US", "de")); // Vereinigte Staaten von Amerika 4console.log("USA (Alpha-3) => " + countries.getName("USA", "en")); // United States of America 5console.log("USA (Numeric) => " + countries.getName("840", "en")); // United States of America
Get all names by their ISO 3166-1 Alpha-2 code
1var countries = require("i18n-iso-countries"); 2console.log(countries.getNames("en")); // { 'AF': 'Afghanistan', 'AL': 'Albania', [...], 'ZM': 'Zambia', 'ZW': 'Zimbabwe' }
Supported languages (ISO 639-1)
ar
: Arabicaz
: Azerbaijanibe
: Belorussianbg
: Bulgarianbs
: Bosniancs
: Czechda
: Danishde
: Germanen
: Englishes
: Spanishet
: Estonianfa
: Persianfi
: Finnishfr
: Frenchel
: Greekhe
: Hebrewhr
: Croatianhu
: Hungarianhy
: Armenianit
: Italianid
: Indonesianja
: Japaneseka
: Georgiankk
: Kazakhko
: Koreanky
: Kyrgyzlt
: Lithuanianlv
: Latvianmk
: Macedonianmn
: Mongoliannb
: Norwegian Bokmålnl
: Dutchnn
: Norwegian Nynorskpl
: Polishpt
: Portuguesero
: Romanianru
: Russiansk
: Slovaksl
: Slovenesr
: Serbiansv
: Swedishtr
: Turkishuk
: Ukrainianuz
: Uzbekzh
: Chinese
Country to Code
1var countries = require("i18n-iso-countries"); 2console.log("United States of America => " + countries.getAlpha2Code('United States of America', 'en')); 3// United States of America => US 4 5console.log("United States of America => " + countries.getAlpha3Code('United States of America', 'en')); 6// United States of America => USA
Codes
Convert Alpha-3 to Alpha-2 code
1var countries = require("i18n-iso-countries"); 2console.log("USA (Alpha-3) => " + countries.alpha3ToAlpha2("USA") + " (Alpha-2)"); 3// USA (Alpha-3) => US (Alpha-2)
Convert Numeric to Alpha-2 code
1var countries = require("i18n-iso-countries"); 2console.log("840 (Numeric) => " + countries.numericToAlpha2("840") + " (Alpha-2)"); 3// 840 (Numeric) => US (Alpha-2)
Convert Alpha-2 to Alpha-3 coe
1var countries = require("i18n-iso-countries"); 2console.log("DE (Alpha-2) => " + countries.alpha2ToAlpha3("DE") + " (Alpha-3)"); 3// DE (Alpha-2) => DEU (Alpha-3)
Convert Numeric to Alpha-3 code
1var countries = require("i18n-iso-countries"); 2console.log("840 (Numeric) => " + countries.numericToAlpha3("840") + " (Alpha-3)"); 3// 840 (Numeric) => USA (Alpha-3)
Convert Alpha-3 to Numeric code
1var countries = require("i18n-iso-countries"); 2console.log(countries.alpha3ToNumeric("SWE")); 3// 752
Convert Alpha-2 to Numeric code
1var countries = require("i18n-iso-countries"); 2console.log(countries.alpha2ToNumeric("SE")); 3// 752
Get all Alpha-2 codes
1var countries = require("i18n-iso-countries"); 2console.log(countries.getAlpha2Codes()); 3// { 'AF': 'AFG', 'AX': 'ALA', [...], 'ZM': 'ZMB', 'ZW': 'ZWE' }
Get all Alpha-3 codes
1var countries = require("i18n-iso-countries"); 2console.log(countries.getAlpha3Codes()); 3// { 'AFG': 'AF', 'ALA': 'AX', [...], 'ZMB': 'ZM', 'ZWE': 'ZW' }
Get all Numeric codes
1var countries = require("i18n-iso-countries"); 2console.log(countries.getNumericCodes()); 3// { '004': 'AF', '008': 'AL', [...], '887': 'YE', '894': 'ZM' }
Contribution
To add a language:
- add a json file under langs/
- add the language to the
data
object in enty-node.js at the top - add language to section Supported languages in README.md
- add language to keywords in package.json
- run
npm install && make test
to make sure that tests are passing - open a PR on GitHub