function alpha2ToAlpha3(code) { "use strict"; return alpha2[code]; }
...
console.log("840 (Numeric) => " + countries.numericToAlpha2("840") + " (Alpha-2)");
// 840 (Numeric) => US (Alpha-2)
`````
### Convert Alpha-2 to Alpha-3 coe
`````javascript
var countries = require("i18n-iso-countries");
console.log("DE (Alpha-2) => " + countries.alpha2ToAlpha3("DE"
;) + " (Alpha-3)");
// DE (Alpha-2) => DEU (Alpha-3)
`````
### Convert Numeric to Alpha-3 code
`````javascript
var countries = require("i18n-iso-countries");
...
function alpha2ToNumeric(code) { "use strict"; return invertedNumeric[code]; }
...
// 752
`````
### Convert Alpha-2 to Numeric code
`````javascript
var countries = require("i18n-iso-countries");
console.log(countries.alpha2ToNumeric("SE"));
// 752
`````
### Get all Alpha-2 codes
`````javascript
var countries = require("i18n-iso-countries");
...
function alpha3ToAlpha2(code) { "use strict"; return alpha3[code]; }
...
## Codes
### Convert Alpha-3 to Alpha-2 code
`````javascript
var countries = require("i18n-iso-countries");
console.log("USA (Alpha-3) => " + countries.alpha3ToAlpha2("USA
x22;) + " (Alpha-2)");
// USA (Alpha-3) => US (Alpha-2)
`````
### Convert Numeric to Alpha-2 code
`````javascript
var countries = require("i18n-iso-countries");
...
function alpha3ToNumeric(code) { "use strict"; return invertedNumeric[alpha3ToAlpha2(code)]; }
...
// 840 (Numeric) => USA (Alpha-3)
`````
### Convert Alpha-3 to Numeric code
`````javascript
var countries = require("i18n-iso-countries");
console.log(countries.alpha3ToNumeric("SWE"));
// 752
`````
### Convert Alpha-2 to Numeric code
`````javascript
var countries = require("i18n-iso-countries");
...
getAlpha2Code = function (name, lang) { "use strict"; try { var p, codenames = data[lang.toLowerCase()]; for (p in codenames) { if (codenames.hasOwnProperty(p)) { if (codenames[p].toLowerCase() === name.toLowerCase()) { return p; } } } return undefined; } catch (err) { return undefined; } }
...
/*
* @param name name
* @param lang language for country name
* @return ISO 3166-1 alpha-3 or undefined
*/
exports.getAlpha3Code = function(name, lang) {
"use strict";
var alpha2 = this.getAlpha2Code(name, lang);
if (alpha2) {
return this.toAlpha3(alpha2);
} else {
return undefined;
}
};
...
getAlpha2Codes = function () { "use strict"; return alpha2; }
...
// 752
`````
### Get all Alpha-2 codes
`````javascript
var countries = require("i18n-iso-countries");
console.log(countries.getAlpha2Codes());
// { 'AF': 'AFG', 'AX': 'ALA', [...], 'ZM': 'ZMB', 'ZW':
x27;ZWE' }
`````
### Get all Alpha-3 codes
`````javascript
var countries = require("i18n-iso-countries");
...
getAlpha3Code = function (name, lang) { "use strict"; var alpha2 = this.getAlpha2Code(name, lang); if (alpha2) { return this.toAlpha3(alpha2); } else { return undefined; } }
...
### Country to Code
`````javascript
var countries = require("i18n-iso-countries");
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(
x27;United States of America', 'en'));
// United States of America => USA
`````
## Codes
### Convert Alpha-3 to Alpha-2 code
...
getAlpha3Codes = function () { "use strict"; return alpha3; }
...
// { 'AF': 'AFG', 'AX': 'ALA', [...], 'ZM': 'ZMB', 'ZW':
x27;ZWE' }
`````
### Get all Alpha-3 codes
`````javascript
var countries = require("i18n-iso-countries");
console.log(countries.getAlpha3Codes());
// { 'AFG': 'AF', 'ALA': 'AX', [...], 'ZMB': 'ZM', 'ZWE':
x27;ZW' }
`````
### Get all Numeric codes
`````javascript
var countries = require("i18n-iso-countries");
...
getName = function (code, lang) { "use strict"; try { var d = data[lang.toLowerCase()]; return d[toAlpha2(code)]; } catch (err) { return undefined; } }
...
## Code to Country
### Get the name of a country by it's ISO 3166-1 Alpha-2, Alpha-3 or Numeric code
`````javascript
var countries = require("i18n-iso-countries");
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 all names by their ISO 3166-1 Alpha-2 code
...
getNames = function (lang) { "use strict"; var d = data[lang.toLowerCase()]; if (d === undefined) { return {}; } return d; }
...
console.log("USA (Numeric) => " + countries.getName("840", "en")); // United States of America
`````
### Get all names by their ISO 3166-1 Alpha-2 code
`````javascript
var countries = require("i18n-iso-countries");
console.log(countries.getNames("en")); // { 'AF': 'Afghanistan
', 'AL': 'Albania', [...], 'ZM': 'Zambia', 'ZW': 'Zimbabwe' }
`````
### Supported languages
* `ar`: arabic
* `cs`: czech
* `de`: german
...
getNumericCodes = function () { "use strict"; return numeric; }
...
// { 'AFG': 'AF', 'ALA': 'AX', [...], 'ZMB': 'ZM', 'ZWE':
x27;ZW' }
`````
### Get all Numeric codes
`````javascript
var countries = require("i18n-iso-countries");
console.log(countries.getNumericCodes());
// { '004': 'AF', '008': 'AL', [...], '887': 'YE', '894':
x27;ZM' }
`````
## Contribution
To add a language:
...
langs = function () { "use strict"; return Object.keys(data); }
...
assert.equal(i18niso.getAlpha3Code("XXX", "de"), undefined);
});
it("missing land", function() {
assert.equal(i18niso.getAlpha3Code("Deutschland", "xx"), undefined);
});
});
describe("completeness", function () {
i18niso.langs().forEach(function(lang) {
describe(lang + " completeness", function () {
it("complete (to less)", function() {
Object.keys(i18niso.getAlpha2Codes()).forEach(function(code) {
assert.notEqual(i18niso.getName(code, lang), undefined, "missing entry for " + code);
});
});
it("complete (too much)", function() {
...
function numericToAlpha2(code) { "use strict"; var padded = formatNumericCode(code); return numeric[padded]; }
...
// USA (Alpha-3) => US (Alpha-2)
`````
### Convert Numeric to Alpha-2 code
`````javascript
var countries = require("i18n-iso-countries");
console.log("840 (Numeric) => " + countries.numericToAlpha2("840
x22;) + " (Alpha-2)");
// 840 (Numeric) => US (Alpha-2)
`````
### Convert Alpha-2 to Alpha-3 coe
`````javascript
var countries = require("i18n-iso-countries");
console.log("DE (Alpha-2) => " + countries.alpha2ToAlpha3("DE") + " (Alpha-3)");
...
function numericToAlpha3(code) { "use strict"; var padded = formatNumericCode(code); return alpha2ToAlpha3(numeric[padded]); }
...
// DE (Alpha-2) => DEU (Alpha-3)
`````
### Convert Numeric to Alpha-3 code
`````javascript
var countries = require("i18n-iso-countries");
console.log("840 (Numeric) => " + countries.numericToAlpha3("840
x22;) + " (Alpha-3)");
// 840 (Numeric) => USA (Alpha-3)
`````
### Convert Alpha-3 to Numeric code
`````javascript
var countries = require("i18n-iso-countries");
...
function toAlpha2(code) { "use strict"; if (typeof code === "string") { if (/^[0-9]*$/.test(code)) { return numericToAlpha2(code); } if (code.length === 2) { return code.toUpperCase(); } if(code.length === 3) { return alpha3ToAlpha2(code.toUpperCase()); } } if (typeof code === "number") { return numericToAlpha2(code); } return undefined; }
...
var assert = require("assert-plus"),
i18niso = require("../index");
describe("i18n for iso 3166-1", function () {
"use strict";
describe("Alpha-2 to Alpha-2 code", function() {
it("toAlpha2 SG => SG", function() {
assert.equal(i18niso.toAlpha2("SG"), "SG");
});
});
describe("Alpha-2 to Alpha-3 code", function() {
it("toAlpha3 true => undefined", function() {
assert.equal(i18niso.toAlpha3(true), undefined);
});
it("toAlpha3 XX => undefined", function() {
...
function toAlpha3(code) { "use strict"; if (typeof code === "string") { if (/^[0-9]*$/.test(code)) { return numericToAlpha3(code); } if(code.length === 2) { return alpha2ToAlpha3(code.toUpperCase()); } if (code.length === 3) { return code.toUpperCase(); } } if (typeof code === "number") { return numericToAlpha3(code); } return undefined; }
...
* @param lang language for country name
* @return ISO 3166-1 alpha-3 or undefined
*/
exports.getAlpha3Code = function(name, lang) {
"use strict";
var alpha2 = this.getAlpha2Code(name, lang);
if (alpha2) {
return this.toAlpha3(alpha2);
} else {
return undefined;
}
};
/*
* @return Array of alpha-3 codes
...