├── test ├── mocha.opts ├── languages.js ├── cross-references.js ├── currencies.js ├── calling-codes.js ├── lookup.js ├── regions.js └── countries.js ├── .gitignore ├── .travis.yml ├── data ├── work-in-progress │ └── calling-codes.csv ├── language_csv_to_json.js ├── currency_csv_to_json.js ├── normalize_csv.js ├── deleted_countries.csv ├── country_csv_to_json.js ├── continents.js ├── currencies.csv ├── regions.js ├── languages.csv ├── countries.csv ├── currencies.json └── languages.json ├── lookup.js ├── Makefile ├── package.json ├── LICENSE.txt ├── .eslintrc ├── index.js ├── CHANGES.md └── README.md /test/mocha.opts: -------------------------------------------------------------------------------- 1 | --reporter dot 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | node_modules 3 | npm-debug.log 4 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | install: 4 | - npm install --quiet 5 | 6 | -------------------------------------------------------------------------------- /data/work-in-progress/calling-codes.csv: -------------------------------------------------------------------------------- 1 | # These are calling codes that have not yet been merged into the countries.csv, 2 | # as the related country entries do not exist. 3 | 4 | XD,+888 // Asia 5 | XR,+979 // Central Asia 6 | XT,+800 // Southern Asia 7 | XS,+808 // Eastern Asia 8 | XV,+882,+883 // Western Asia 9 | 10 | XC,+991 // Americas 11 | XN,+870 // Carribian 12 | XP,+878 // South America 13 | 14 | QN,+374 // Southern Europe 15 | 16 | QS,+252 // Polynesia 17 | 18 | XG,+881 // Unclassified 19 | QY,+90 // ? 20 | SS,+211 // ? 21 | -------------------------------------------------------------------------------- /lookup.js: -------------------------------------------------------------------------------- 1 | var _ = require('underscore'); 2 | 3 | module.exports = init; 4 | 5 | function init(o) { 6 | return { 7 | countries: search.bind(null, o.countries), 8 | currencies: search.bind(null, o.currencies), 9 | languages: search.bind(null, o.languages) 10 | }; 11 | } 12 | 13 | function search(data, query) { 14 | var q = _.pairs(query); 15 | 16 | return data.filter(function(d) { 17 | return q.filter(function(v) { 18 | var prop = d[v[0]]; 19 | 20 | if(_.isArray(prop)) return prop.indexOf(v[1]) >= 0; 21 | 22 | return prop == v[1]; 23 | }).length == q.length; 24 | }); 25 | } -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | node data/normalize_csv.js name < data/countries.csv > data/countries.csv.new 3 | mv data/countries.csv.new data/countries.csv 4 | 5 | node data/normalize_csv.js name < data/deleted_countries.csv > data/deleted_countries.csv.new 6 | mv data/deleted_countries.csv.new data/deleted_countries.csv 7 | 8 | node data/normalize_csv.js code < data/currencies.csv > data/currencies.csv.new 9 | mv data/currencies.csv.new data/currencies.csv 10 | 11 | node data/normalize_csv.js name < data/languages.csv > data/languages.csv.new 12 | mv data/languages.csv.new data/languages.csv 13 | 14 | node data/country_csv_to_json.js > data/countries.json 15 | node data/currency_csv_to_json.js > data/currencies.json 16 | node data/language_csv_to_json.js > data/languages.json 17 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "country-data", 3 | "version": "0.0.31", 4 | "description": "Data about countries - like their ISO codes and currencies", 5 | "homepage": "https://github.com/OpenBookPrices/country-data", 6 | "bugs": { 7 | "url": "https://github.com/OpenBookPrices/country-data/issues" 8 | }, 9 | "main": "index.js", 10 | "scripts": { 11 | "test": "mocha" 12 | }, 13 | "repository": { 14 | "type": "git", 15 | "url": "https://github.com/OpenBookPrices/country-data.git" 16 | }, 17 | "keywords": [ 18 | "data", 19 | "country" 20 | ], 21 | "author": "Edmund von der Burg", 22 | "license": "MIT", 23 | "devDependencies": { 24 | "canonical-json": "~0.0.4", 25 | "csv": "~0.4", 26 | "mocha": "~2.2", 27 | "chai": ">1.8.1" 28 | }, 29 | "dependencies": { 30 | "underscore": ">1.4.4", 31 | "currency-symbol-map": "~2" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /test/languages.js: -------------------------------------------------------------------------------- 1 | var languages = require('..').languages, 2 | currencies = require('..').currencies, 3 | assert = require('assert'), 4 | _ = require('underscore'); 5 | 6 | describe('languages', function () { 7 | 8 | describe('all', function () { 9 | it('should be array', function () { 10 | assert( _.isArray(languages.all) ); 11 | }); 12 | }); 13 | 14 | describe('alpha2', function () { 15 | it('should find English and German', function () { 16 | assert.equal( languages.en.name, 'English'); 17 | assert.equal( languages.de.name, 'German'); 18 | }); 19 | }); 20 | 21 | describe('alpha3', function () { 22 | it('should find English and German', function () { 23 | assert.equal( languages.eng.name, 'English'); 24 | assert.equal( languages.deu.name, 'German'); 25 | assert.equal( languages.ger.name, 'German'); 26 | }); 27 | }); 28 | 29 | }); 30 | -------------------------------------------------------------------------------- /data/language_csv_to_json.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // Take the csv and convert to json and tidy it up so that it is consistent. 4 | 5 | var path = require('path'); 6 | var _ = require('underscore'); 7 | var csv = require('csv'); 8 | var canonicalJSON = require('canonical-json'); 9 | var fs = require('fs'); 10 | 11 | var output = []; 12 | 13 | // read in the CSV 14 | var csvFile = path.join( __dirname, 'languages.csv' ); 15 | var input = fs.createReadStream(csvFile); 16 | 17 | 18 | var parser = csv.parse({"columns": true}); 19 | 20 | parser.on('readable', function () { 21 | var record = null; 22 | while(record = parser.read()){ 23 | output.push(record); 24 | } 25 | }); 26 | 27 | parser.on('finish', function(){ 28 | 29 | // sort by alpha3 30 | output = _.sortBy(output, function (i) { return i.alpha3;} ); 31 | 32 | // print out results to stdout 33 | console.log( canonicalJSON( output, null, 2 )); 34 | }); 35 | 36 | 37 | input.pipe(parser); 38 | -------------------------------------------------------------------------------- /data/currency_csv_to_json.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // Take the csv and convert to json and tidy it up so that it is consistent. 4 | 5 | var path = require('path'); 6 | var _ = require('underscore'); 7 | var csv = require('csv'); 8 | var canonicalJSON = require('canonical-json'); 9 | var fs = require('fs'); 10 | 11 | var output = []; 12 | 13 | // read in the CSV 14 | var csvFile = path.join( __dirname, 'currencies.csv' ); 15 | var input = fs.createReadStream(csvFile); 16 | 17 | 18 | var parser = csv.parse({"columns": true}); 19 | 20 | parser.on('readable', function () { 21 | var record = null; 22 | while(record = parser.read()){ 23 | // convert decimals to and number 24 | record.decimals = parseInt(record.decimals); 25 | output.push(record); 26 | } 27 | }); 28 | 29 | parser.on('finish', function(){ 30 | 31 | // sort by code 32 | output = _.sortBy(output, function (i) { return i.code;} ); 33 | 34 | // print out results to stdout 35 | console.log( canonicalJSON( output, null, 2 )); 36 | }); 37 | 38 | 39 | input.pipe(parser); 40 | -------------------------------------------------------------------------------- /data/normalize_csv.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // Take the csv files and convert them to standard format 4 | 5 | var path = require('path'); 6 | var _ = require('underscore'); 7 | var csv = require('csv'); 8 | var fs = require('fs'); 9 | 10 | var firstHeader = process.argv[2]; 11 | 12 | 13 | var output = []; 14 | 15 | // read in the CSV 16 | var input = process.stdin; 17 | 18 | 19 | 20 | var parser = csv.parse({"columns": true}); 21 | 22 | 23 | parser.on('readable', function () { 24 | var record = null; 25 | while(record = parser.read()){ 26 | output.push(record); 27 | } 28 | }); 29 | 30 | parser.on('finish', function(){ 31 | 32 | output = _.sortBy(output, function (i) { return i[firstHeader].toLowerCase();} ); 33 | 34 | var headers = _.keys(output[0]); 35 | var remaining = _.without(headers, firstHeader); 36 | var columns = _.flatten([firstHeader, remaining.sort()]); 37 | // console.warn(columns); 38 | 39 | csv.stringify( 40 | output, 41 | { "header":true, "columns": columns }, 42 | function(err, string){ process.stdout.write(string) } 43 | ); 44 | 45 | }); 46 | 47 | input.pipe(parser); 48 | -------------------------------------------------------------------------------- /test/cross-references.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var countryData = require('..'); 4 | var assert = require('assert'); 5 | var _ = require('underscore'); 6 | 7 | function assertValidReferences (referenceListName, referenceIdKey, listName, listKey) { 8 | var validIds = _.pluck(countryData[referenceListName].all, referenceIdKey); 9 | _.each(countryData[listName].all, function (item) { 10 | describe('`' + listKey + '` of `' + item.name + '`', function () { 11 | it('should be a valid reference to `' + referenceIdKey + '` of `' + referenceListName + '`', function () { 12 | _.each(item[listKey], function (id) { 13 | assert(_.contains(validIds, id), 14 | 'Expected `' + id + '` in `' + listKey + '` of `' + listName + 15 | '` to be a valid entry in `' + referenceListName + '`'); 16 | }); 17 | }); 18 | }); 19 | }); 20 | } 21 | 22 | describe('cross references', function () { 23 | assertValidReferences('currencies', 'code', 'countries', 'currencies'); 24 | assertValidReferences('languages', 'alpha3', 'countries', 'languages'); 25 | }); 26 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2010-2015 Google, Inc. http://angularjs.org 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /test/currencies.js: -------------------------------------------------------------------------------- 1 | var currencies = require('..').currencies, 2 | assert = require('assert'), 3 | _ = require('underscore'); 4 | 5 | describe('currencies', function () { 6 | 7 | describe('all', function () { 8 | it('should be array', function () { 9 | assert( _.isArray(currencies.all) ); 10 | }); 11 | }); 12 | 13 | describe('code', function () { 14 | it('should find USD', function () { 15 | assert.equal( currencies.USD.name, 'United States dollar'); 16 | }); 17 | }); 18 | 19 | describe('formatting', function () { 20 | it("decimals should be numbers", function () { 21 | assert(_.isNumber(currencies.USD.decimals)); 22 | }); 23 | }); 24 | 25 | describe('symbols', function () { 26 | it('should find $', function () { 27 | assert.equal( currencies.USD.symbol, '$'); 28 | }); 29 | it('should find ¥', function () { 30 | assert.equal( currencies.JPY.symbol, '¥'); 31 | }); 32 | it('should find R', function () { 33 | assert.equal( currencies.ZAR.symbol, 'R'); 34 | }); 35 | 36 | it('should find AED (has no symbol)', function () { 37 | assert.equal( currencies.AED.symbol, 'AED'); 38 | }); 39 | 40 | }); 41 | 42 | }); 43 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "node": true, 4 | "mocha": true 5 | }, 6 | "globals": { 7 | "expect": true 8 | }, 9 | "rules": { 10 | 11 | Error: Parse error on line 9: 12 | ...}, "rules": { // Ignore Rules 13 | ---------------------^ 14 | Expecting 'STRING', '}' 15 | // Ignore Rules 16 | "strict": 0, 17 | "no-underscore-dangle": 0, 18 | "no-mixed-requires": 0, 19 | 20 | // Warnings 21 | "no-debugger": 1, 22 | "no-empty": 1, 23 | "no-invalid-regexp": 1, 24 | "no-warning-comments": 1, 25 | "no-unused-expressions": 1, 26 | "no-native-reassign": 1, 27 | "no-fallthrough": 1, 28 | "handle-callback-err": 1, 29 | "camelcase": 1, 30 | 31 | // Errors 32 | "no-undef": 2, 33 | "no-dupe-keys": 2, 34 | "no-empty-class": 2, 35 | "no-self-compare": 2, 36 | "valid-typeof": 2, 37 | "no-unused-vars": 2, 38 | "handle-callback-err": 2, 39 | "no-shadow-restricted-names": 2, 40 | "radix": 2, 41 | "no-new-require": 2, 42 | "no-mixed-spaces-and-tabs": 2, 43 | 44 | // stylistic errors 45 | "new-cap": 2, 46 | "no-spaced-func": 2, 47 | "no-space-before-semi": 2, 48 | "space-unary-word-ops": 2, 49 | "quotes": [2, "single"] 50 | } 51 | } -------------------------------------------------------------------------------- /test/calling-codes.js: -------------------------------------------------------------------------------- 1 | var callingCodes = require('..').callingCodes.all, 2 | countries = require('..').countries.all, 3 | callingCountries = require('..').callingCountries, 4 | assert = require('assert'), 5 | _ = require('underscore'); 6 | 7 | describe('calling codes', function () { 8 | 9 | describe('list of all calling codes', function () { 10 | _.each(countries, function (country) { 11 | if (country.countryCallingCodes && country.countryCallingCodes.length) { 12 | it('should contain codes for ' + country.name, function () { 13 | assert( 14 | _.every(country.countryCallingCodes, function (code) { 15 | return callingCodes.indexOf(code) > -1 16 | }) 17 | ) 18 | }); 19 | } 20 | }); 21 | }); 22 | 23 | describe('callingCountries', function () { 24 | 25 | // console.log(callingCountries); 26 | 27 | it('should contain countries with calling codes', function () { 28 | assert( callingCountries.BE ); 29 | }); 30 | 31 | it('should not contain countries without calling codes', function () { 32 | assert( !callingCountries.CP, 'Clipperton Island'); 33 | assert( !callingCountries[''], 'empty string' ); 34 | }); 35 | 36 | }); 37 | 38 | }); 39 | -------------------------------------------------------------------------------- /data/deleted_countries.csv: -------------------------------------------------------------------------------- 1 | name,alpha2,alpha3,ccTLD,countryCallingCodes,currencies,ioc,languages,status 2 | British Antarctic Territory,BQ,ATB,,,,,,deleted 3 | Burma,BU,BUR,,,,,,deleted 4 | Byelorussian SSR,BY,BYS,,,,,,deleted 5 | Canton and Enderbury Islands,CT,CTE,,,,,,deleted 6 | Czechoslovakia,CS,CSK,,,,,,deleted 7 | Dahomey,DY,DHY,,,,,,deleted 8 | Dronning Maud Land,NQ,ATN,,,,,,deleted 9 | East Timor,TP,TMP,,,,,,deleted 10 | French Afar and Issas,AI,AFI,,,,,,deleted 11 | French Southern and Antarctic Territories,FQ,ATF,,,,,,deleted 12 | German Democratic Republic,DD,DDR,,,,,,deleted 13 | Gilbert and Ellice Islands,GE,GEL,,,,,,deleted 14 | Johnston Island,JT,JTN,,,,,,deleted 15 | Midway Islands,MI,MID,,,,,,deleted 16 | Netherlands Antilles,AN,ANT,,,,,,deleted 17 | Neutral Zone,NT,NTZ,,,,,,deleted 18 | New Hebrides,NH,NHB,,,,,,deleted 19 | "Pacific Islands, Trust Territory of the",PC,PCI,,,,,,deleted 20 | Panama Canal Zone,PZ,PCZ,,,,,,deleted 21 | Serbia and Montenegro,CS,SCG,,,,,,deleted 22 | Sikkim,SK,SKM,,,,,,deleted 23 | Southern Rhodesia,RH,RHO,,,,,,deleted 24 | U.S. Miscellaneous Pacific Islands,PU,PUS,,,,,,deleted 25 | Upper Volta,HV,HVO,,,,,,deleted 26 | "Viet-Nam, Democratic Republic of",VD,VDR,,,,,,deleted 27 | Wake Island,WK,WAK,,,,,,deleted 28 | "Yemen, Democratic",YD,YMD,,,,,,deleted 29 | Yugoslavia,YU,YUG,,,,,,deleted 30 | Zaire,ZR,ZAR,,,,,,deleted 31 | -------------------------------------------------------------------------------- /test/lookup.js: -------------------------------------------------------------------------------- 1 | var lookup = require('..').lookup, 2 | countries = require('..').countries, 3 | currencies = require('..').currencies, 4 | languages = require('..').languages, 5 | assert = require('chai').assert, 6 | _ = require('underscore'); 7 | 8 | describe('lookup', function () { 9 | 10 | describe("check countries by currency", function () { 11 | _.each( countries, function (country, name) { 12 | describe(name, function () { 13 | _.each( country.currencies, function (currency) { 14 | it(currency, function () { 15 | assert.include( lookup.countries({currencies: currency}), country ); 16 | }); 17 | }); 18 | }); 19 | }); 20 | }); 21 | 22 | describe("check countries by name", function () { 23 | _.each( countries, function (country, name) { 24 | describe(name, function () { 25 | it(name, function () { 26 | if(country.name) assert.include( lookup.countries({name: country.name}), country ); 27 | }); 28 | }); 29 | }); 30 | }); 31 | 32 | describe("check currencies by code", function () { 33 | _.each( currencies, function (currency, name) { 34 | describe(name, function () { 35 | it(name, function () { 36 | if(currency.code) assert.include( lookup.currencies({code: currency.code}), currency ); 37 | }); 38 | }); 39 | }); 40 | }); 41 | 42 | describe("check languages by name", function () { 43 | _.each( languages, function (language, name) { 44 | describe(name, function () { 45 | it(name, function () { 46 | if(language.name) assert.include( lookup.languages({name: language.name}), language ); 47 | }); 48 | }); 49 | }); 50 | }); 51 | 52 | }); 53 | -------------------------------------------------------------------------------- /data/country_csv_to_json.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // Take the csv and convert to json and tidy it up so that it is consistent. 4 | 5 | var path = require('path'); 6 | var _ = require('underscore'); 7 | var csv = require('csv'); 8 | var canonicalJSON = require('canonical-json'); 9 | var fs = require('fs'); 10 | 11 | var output = []; 12 | var countriesFilename = 'countries.csv'; 13 | var deletedCountriesFilename = 'deleted_countries.csv'; 14 | 15 | 16 | function readFile(filename) { 17 | return new Promise(function (resolve) { 18 | var csvFile = path.join( __dirname, filename ); 19 | var parser = csv.parse({"columns": true}); 20 | 21 | parser.on('readable', function () { 22 | var record = null; 23 | while(record = parser.read()){ 24 | output.push(record); 25 | } 26 | }); 27 | 28 | parser.on('finish', function(){ 29 | resolve(output); 30 | }); 31 | 32 | fs.createReadStream(csvFile).pipe(parser); 33 | }); 34 | } 35 | 36 | var countriesPromise = readFile(countriesFilename); 37 | var deletedCountriesPromise = readFile(deletedCountriesFilename); 38 | 39 | Promise.all([countriesPromise, deletedCountriesPromise]) 40 | .then(function (resulsts){ 41 | output = _.sortBy(output, function (i) { return i.alpha2;} ); 42 | 43 | // strip out fields that are not ready yet 44 | _.each(output, function (country) { 45 | delete country.ccTLD; 46 | }); 47 | 48 | // change the appropriate fields to be an array 49 | _.each(['currencies', 'countryCallingCodes', 'languages'], function(key) { 50 | _.each(output, function (country) { 51 | country[key] = country[key] ? country[key].split(',') : []; 52 | }); 53 | }); 54 | 55 | // print out results to stdout 56 | console.log( canonicalJSON( output, null, 2 )); 57 | }); -------------------------------------------------------------------------------- /test/regions.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var countries = require('..').countries; 4 | var regions = require('..').regions; 5 | var assert = require('assert'); 6 | var _ = require('underscore'); 7 | 8 | describe('regions', function () { 9 | 10 | describe("check region's countries are known", function () { 11 | _.each(regions, function (region, name) { 12 | describe(name, function () { 13 | _.each(region.countries, function (country) { 14 | it(country, function () { 15 | assert(countries[country]); 16 | }); 17 | }); 18 | }); 19 | }); 20 | }); 21 | 22 | describe("check region countries exist", function () { 23 | var countriesAssigned = []; 24 | 25 | _.each(regions, function (region, name) { 26 | describe(name, function () { 27 | if (!region.countries) { 28 | _.each(region[name].countries, function (country) { 29 | countriesAssigned.push(country); 30 | }); 31 | } 32 | }); 33 | }); 34 | countriesAssigned = countriesAssigned.sort(); 35 | var duplicate = countriesAssigned.filter(function (value, index, array) { 36 | delete array[index]; 37 | return array.indexOf(value) !== -1 38 | }) 39 | if (duplicate.length > 0) { console.log('duplicated: ', duplicate); } 40 | 41 | it("are not duplicated", function () { 42 | assert(duplicate.length === 0); 43 | }); 44 | }); 45 | 46 | describe("check all assigned countries are in regions", function() { 47 | var countriesAssigned = []; 48 | var countriesAvailable = []; 49 | 50 | _.each(regions, function (region, name) { 51 | _.each(region.countries, function (country) { 52 | countriesAssigned.push(country); 53 | }); 54 | }); 55 | 56 | _.each(countries.all, function(country) { 57 | if (country.status == "assigned") { 58 | countriesAvailable.push(country.alpha2); 59 | } 60 | }); 61 | 62 | var difference = _.difference(countriesAvailable, countriesAssigned); 63 | if (difference.length > 0) { console.log('unused: ', difference); } 64 | 65 | it("are all used", function () { 66 | assert(difference.length === 0); 67 | }); 68 | 69 | }); 70 | }); 71 | -------------------------------------------------------------------------------- /data/continents.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var _ = require('underscore'); 4 | var regions = require('./regions.js'); 5 | var continents = {}; 6 | 7 | continents.asia = { 8 | name: 'Asia', 9 | regions: ['centralAsia', 'southernAsia', 'southeastAsia', 'eastAsia', 'westernAsia'], 10 | countries: _.flatten([ 11 | regions.centralAsia.countries, 12 | regions.southernAsia.countries, 13 | regions.southeastAsia.countries, 14 | regions.eastAsia.countries, 15 | regions.westernAsia.countries 16 | ]) 17 | .sort() 18 | }; 19 | 20 | continents.africa = { 21 | name: 'Africa', 22 | regions: ['centralAfrica', 'northAfrica', 'southernAfrica', 'eastAfrica', 'westAfrica'], 23 | countries: _.flatten([ 24 | regions.centralAfrica.countries, 25 | regions.northAfrica.countries, 26 | regions.southernAfrica.countries, 27 | regions.eastAfrica.countries, 28 | regions.westAfrica.countries 29 | ]) 30 | .sort() 31 | }; 32 | 33 | continents.northAmerica = { 34 | name: 'North America', 35 | regions: ['centralAmerica', 'northernAmerica', 'caribbean'], 36 | countries: _.flatten([ 37 | regions.centralAmerica.countries, 38 | regions.northernAmerica.countries, 39 | regions.caribbean.countries 40 | ]) 41 | .sort() 42 | }; 43 | 44 | continents.southAmerica = { 45 | name: 'South America', 46 | regions: ['southAmerica'], 47 | countries: _.flatten([ 48 | regions.southAmerica.countries 49 | ]) 50 | .sort() 51 | } 52 | 53 | continents.antartica = { 54 | name: 'Antartica', 55 | regions: ['antartica'], 56 | countries: _.flatten([ 57 | regions.antartica.countries 58 | ]) 59 | .sort() 60 | } 61 | 62 | continents.europe = { 63 | name: 'Europe', 64 | regions: ['northernEurope', 'southernEurope', 'easternEurope', 'westernEurope'], 65 | countries: _.flatten([ 66 | regions.northernEurope.countries, 67 | regions.southernEurope.countries, 68 | regions.easternEurope.countries, 69 | regions.westernEurope.countries 70 | ]) 71 | .sort() 72 | } 73 | 74 | continents.oceania = { 75 | name: 'Oceania', 76 | regions: ['australia', 'melanesia', 'micronesia', 'polynesia'], 77 | countries: _.flatten([ 78 | regions.australia.countries, 79 | regions.melanesia.countries, 80 | regions.micronesia.countries, 81 | regions.polynesia.countries 82 | ]) 83 | .sort() 84 | }; 85 | 86 | module.exports = continents; 87 | -------------------------------------------------------------------------------- /test/countries.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var countries = require('..').countries; 4 | var currencies = require('..').currencies; 5 | var languages = require('..').languages; 6 | var assert = require('assert'); 7 | var _ = require('underscore'); 8 | 9 | describe('countries', function () { 10 | 11 | describe('all', function () { 12 | it('should be array', function () { 13 | assert( _.isArray(countries.all) ); 14 | }); 15 | }); 16 | 17 | describe('alpha2', function () { 18 | it('should find USA', function () { 19 | assert.equal( countries.BE.name, 'Belgium'); 20 | assert.equal( countries.US.name, 'United States'); 21 | }); 22 | it('should prefer assigned alpha2 country codes', function () { 23 | assert.equal( countries.SK.name, 'Slovakia'); 24 | assert.equal( countries.BY.name, 'Belarus'); 25 | }); 26 | }); 27 | 28 | describe('alpha3', function () { 29 | it('should find France', function () { 30 | assert.equal( countries.FRA.name, 'France'); 31 | assert.deepEqual( countries.FRA.currencies, ['EUR']); 32 | }); 33 | }); 34 | 35 | describe('check each country has correct form', function () { 36 | _.each( countries.all, function (country) { 37 | describe(country.name, function () { 38 | it('should have a status', function () { 39 | assert( country.status ); 40 | }); 41 | it('should have correctly formed alpha2 and alpha3', function () { 42 | assert(country.alpha2.match(/^[A-Z]{2}$/), 'alpha2 correctly formed - ' + country.alpha2); 43 | if (country.alpha3.length) { 44 | assert(country.alpha3.match(/^[A-Z]{3}$/), 'alpha3 correctly formed - ' + country.alpha3); 45 | } 46 | }); 47 | }); 48 | }); 49 | }); 50 | 51 | describe('check currencies for each country', function () { 52 | _.each( countries.all, function (country) { 53 | describe(country.alpha2, function () { 54 | _.each( country.currencies, function (currency) { 55 | it(currency, function () { 56 | assert( currencies[currency] ); 57 | }); 58 | }); 59 | }); 60 | }); 61 | }); 62 | 63 | describe('check specific country currencies', function () { 64 | it('Latvian currency should be EUR', function () { 65 | assert.deepEqual( countries.LV.currencies, ['EUR']); 66 | }); 67 | }); 68 | 69 | describe('check emoji for a specific country', function () { 70 | it('Finland emoji should be the flag', function () { 71 | assert.deepEqual( countries.FI.emoji, String.fromCharCode(55356, 56811, 55356, 56814)); 72 | }); 73 | }); 74 | 75 | describe('check languages for each country', function () { 76 | _.each( countries.all, function (country) { 77 | describe(country.alpha2, function () { 78 | _.each( country.languages, function (language) { 79 | it(language, function () { 80 | assert( languages[language] ); 81 | }); 82 | }); 83 | }); 84 | }); 85 | }); 86 | }); 87 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var _ = require('underscore'); 4 | var continents = require('./data/continents'); 5 | var regions = require('./data/regions'); 6 | var countriesAll = require('./data/countries.json'); 7 | var currenciesAll = require('./data/currencies.json'); 8 | var languagesAll = require('./data/languages.json'); 9 | var lookup = require('./lookup'); 10 | 11 | var getSymbol = require('currency-symbol-map') 12 | 13 | exports.continents = continents; 14 | exports.regions = regions; 15 | 16 | exports.countries = { 17 | all: countriesAll, 18 | }; 19 | 20 | _.each(countriesAll, function (country) { 21 | // prefer assigned country codes over inactive ones 22 | var exportedAlpha2 = exports.countries[country.alpha2]; 23 | if (!exportedAlpha2 || exportedAlpha2.status === 'deleted') { 24 | exports.countries[country.alpha2] = country; 25 | } 26 | 27 | var exportedAlpha3 = exports.countries[country.alpha3]; 28 | if (!exportedAlpha3 || exportedAlpha3.status === 'deleted') { 29 | exports.countries[country.alpha3] = country; 30 | } 31 | }); 32 | 33 | exports.currencies = { 34 | all: currenciesAll, 35 | }; 36 | 37 | _.each(currenciesAll, function (currency) { 38 | //If the symbol isn't available, default to the currency code 39 | var symbol = getSymbol(currency.code); 40 | if (symbol == '?') { 41 | symbol = currency.code; 42 | } 43 | 44 | currency.symbol = symbol; 45 | exports.currencies[currency.code] = currency; 46 | }); 47 | 48 | exports.languages = { 49 | all: languagesAll, 50 | }; 51 | 52 | // Note that for the languages there are several entries with the same alpha3 - 53 | // eg Dutch and Flemish. Not sure how to best deal with that - here whichever 54 | // comes last wins. 55 | _.each(languagesAll, function (language) { 56 | exports.languages[language.alpha2] = language; 57 | exports.languages[language.bibliographic] = language; 58 | exports.languages[language.alpha3] = language; 59 | }); 60 | 61 | exports.lookup = lookup({ 62 | countries: countriesAll, 63 | currencies: currenciesAll, 64 | languages: languagesAll 65 | }); 66 | 67 | var callingCountries = {all: []}; 68 | 69 | var callingCodesAll = _.reduce(countriesAll, function (codes, country) { 70 | if (country.countryCallingCodes && country.countryCallingCodes.length) { 71 | callingCountries.all.push(country); 72 | 73 | callingCountries[country.alpha2] = country; 74 | callingCountries[country.alpha3] = country; 75 | 76 | _.each(country.countryCallingCodes, function (code) { 77 | if (codes.indexOf(code) == -1) { 78 | codes.push(code); 79 | } 80 | }); 81 | } 82 | return codes; 83 | }, []); 84 | 85 | delete callingCountries['']; // remove empty alpha3s 86 | exports.callingCountries = callingCountries; 87 | 88 | callingCodesAll.sort(function (a, b) { 89 | var parse = function (str) { return parseInt(str) }; 90 | var splitA = _.map(a.split(' '), parse); 91 | var splitB = _.map(b.split(' '), parse); 92 | 93 | if (splitA[0] < splitB[0]) { 94 | return -1; 95 | } else if (splitA[0] > splitB[0]) { 96 | return 1; 97 | } else { 98 | // Same - check split[1] 99 | if (splitA[1] === undefined && splitB[1] !== undefined) { 100 | return -1; 101 | } else if (splitA[1] !== undefined && splitB[1] === undefined) { 102 | return 1; 103 | } else if (splitA[1] < splitB[1]) { 104 | return -1; 105 | } else if (splitA[1] > splitB[1]) { 106 | return 1; 107 | } else { 108 | return 0; 109 | } 110 | } 111 | }); 112 | 113 | exports.callingCodes = { 114 | all: callingCodesAll 115 | }; 116 | -------------------------------------------------------------------------------- /CHANGES.md: -------------------------------------------------------------------------------- 1 | # Changes 2 | 3 | ## v0.0.31 4 | 5 | * fixed deleted countries appearing in countries[alpha2] instead of the current active country - thanks @silverwind 6 | 7 | ## v0.0.30 8 | 9 | * Added emoji flags for countries - thanks @livedo 10 | 11 | ## v0.0.29 12 | 13 | * Added or corrected Olympic codes for Kosovo, Federated States of Micronesia and British Virgin Islands - thanks @giedrius-timinskis 14 | 15 | ## v0.0.28 16 | 17 | * Added notes on getting this package to work with webpack - thanks @luxflux and others in issue #57 18 | * Added missing IOC code for South Sudan (SSD) - thanks @marchah 19 | 20 | ## v0.0.27 21 | 22 | * Fixed Trinidad and Tobago IOC code (was TRI, now TTO) - thanks @mrmckeb 23 | 24 | ## v0.0.26 25 | 26 | * Fixed typo and added tests to prevent it happening again (#56) - thanks @dbellavista 27 | 28 | ## v0.0.25 29 | 30 | * Added previously deleted countries as "deleted" (thanks @mattvadrise in pull request #53) 31 | * Changed name of "Sao Tome and Principe" (thanks @Laboratory) 32 | 33 | ## v0.0.24 34 | 35 | * Added Kosovo as a "user assigned" entry (thanks @doapp-ryanp) 36 | 37 | ## v0.0.23 38 | 39 | * Change license from AGPL3 to MIT (thanks @aduis) 40 | 41 | ## v0.0.22 42 | 43 | * changed "Taiwan, Province Of China" to just "Taiwan" - thanks @azai-yahoo 44 | 45 | ## v0.0.21 46 | 47 | * Added callingCountries - thanks @chemerisuk 48 | * Updated docs to remove things that have been implemented from future additions list 49 | 50 | ## v0.0.20 51 | 52 | * Fix to some language references - thanks @jussi-kalliokoski 53 | * Added csv normalizing utility - so csv diffs should be easy in future 54 | * Fix to East Timor and continent groupings - thanks #iancrowther 55 | * Added currency symbols - thanks @CjS77 56 | 57 | ## v0.0.19 58 | 59 | * Added Malay as a language for Malaysia (thanks to @lpsBetty) 60 | * Removed redundant calling code +521 from Mexico (thanks to @spmarin) 61 | 62 | ## v0.0.18 63 | 64 | * updated several languages, country names and added many regions - thanks to @iancrowther 65 | 66 | ## v0.0.17 67 | 68 | * changed Latvian and Lithuanian currencies to EUR - thanks @gytisgreitai 69 | 70 | ## v0.0.16 71 | 72 | * minor bug fix - thanks @alanshaw 73 | 74 | ## v0.0.15 75 | 76 | * List all calling codes in an expected order - thanks @alanshaw 77 | 78 | ## v0.0.14 79 | 80 | * Added languages - many thanks to Moritz Lawitschka (@lawitschka) for doing the initial work. 81 | 82 | ## v0.0.13 83 | 84 | * @carlosleopoldo added 521 calling code to Mexico 85 | 86 | ## v0.0.12 87 | 88 | * @bebrow contributed `lookup()` 89 | 90 | ## v0.0.11 91 | 92 | * Corrected Georgia calling code (thanks niftylettuce) 93 | 94 | ## v0.0.10 95 | 96 | * Corrected Grenada calling code (thanks niftylettuce) 97 | 98 | ## v0.0.9 99 | 100 | * Added `country-data.regions` 101 | * Added South Sudan 102 | * Added proper accents to São Tomé and Príncipe 103 | 104 | ## v0.0.8 105 | 106 | * Added IOC country codes (thanks fnogatz) 107 | 108 | ## v0.0.7 109 | 110 | * Corrected several calling codes (GB, GA, GF, GG) 111 | 112 | ## v0.0.6 113 | 114 | * Added link to libphonenumber 115 | * Repo name change - to OpenBookPrices from LinkToBooks 116 | 117 | ## v0.0.5 118 | 119 | * in currencies make the `decimals` an integer 120 | 121 | ## v0.0.4 122 | 123 | * added country ISO status 124 | * added country calling codes 125 | 126 | ## v0.0.3 127 | 128 | * got rid of the `countries.alpha2.` style accessors. 129 | 130 | ## v0.0.2 131 | 132 | * added currencies 133 | 134 | ## v0.0.1 135 | 136 | * Initial release 137 | -------------------------------------------------------------------------------- /data/currencies.csv: -------------------------------------------------------------------------------- 1 | code,decimals,name,number 2 | AED,2,United Arab Emirates dirham,784 3 | AFN,2,Afghan afghani,971 4 | ALL,2,Albanian lek,8 5 | AMD,2,Armenian dram,51 6 | ANG,2,Netherlands Antillean guilder,532 7 | AOA,2,Angolan kwanza,973 8 | ARS,2,Argentine peso,32 9 | AUD,2,Australian dollar,36 10 | AWG,2,Aruban florin,533 11 | AZN,2,Azerbaijani manat,944 12 | BAM,2,Bosnia and Herzegovina convertible mark,977 13 | BBD,2,Barbados dollar,52 14 | BDT,2,Bangladeshi taka,50 15 | BGN,2,Bulgarian lev,975 16 | BHD,3,Bahraini dinar,48 17 | BIF,0,Burundian franc,108 18 | BMD,2,Bermudian dollar (customarily known as Bermuda dollar),60 19 | BND,2,Brunei dollar,96 20 | BOB,2,Boliviano,68 21 | BOV,2,Bolivian Mvdol (funds code),984 22 | BRL,2,Brazilian real,986 23 | BSD,2,Bahamian dollar,44 24 | BTN,2,Bhutanese ngultrum,64 25 | BWP,2,Botswana pula,72 26 | BYR,0,Belarusian ruble,974 27 | BZD,2,Belize dollar,84 28 | CAD,2,Canadian dollar,124 29 | CDF,2,Congolese franc,976 30 | CHE,2,WIR Euro (complementary currency),947 31 | CHF,2,Swiss franc,756 32 | CHW,2,WIR Franc (complementary currency),948 33 | CLF,0,Unidad de Fomento (funds code),990 34 | CLP,0,Chilean peso,152 35 | CNY,2,Chinese yuan,156 36 | COP,2,Colombian peso,170 37 | COU,2,Unidad de Valor Real,970 38 | CRC,2,Costa Rican colon,188 39 | CUC,2,Cuban convertible peso,931 40 | CUP,2,Cuban peso,192 41 | CVE,0,Cape Verde escudo,132 42 | CZK,2,Czech koruna,203 43 | DJF,0,Djiboutian franc,262 44 | DKK,2,Danish krone,208 45 | DOP,2,Dominican peso,214 46 | DZD,2,Algerian dinar,12 47 | EGP,2,Egyptian pound,818 48 | ERN,2,Eritrean nakfa,232 49 | ETB,2,Ethiopian birr,230 50 | EUR,2,Euro,978 51 | FJD,2,Fiji dollar,242 52 | FKP,2,Falkland Islands pound,238 53 | GBP,2,Pound sterling,826 54 | GEL,2,Georgian lari,981 55 | GHS,2,Ghanaian cedi,936 56 | GIP,2,Gibraltar pound,292 57 | GMD,2,Gambian dalasi,270 58 | GNF,0,Guinean franc,324 59 | GTQ,2,Guatemalan quetzal,320 60 | GYD,2,Guyanese dollar,328 61 | HKD,2,Hong Kong dollar,344 62 | HNL,2,Honduran lempira,340 63 | HRK,2,Croatian kuna,191 64 | HTG,2,Haitian gourde,332 65 | HUF,2,Hungarian forint,348 66 | IDR,2,Indonesian rupiah,360 67 | ILS,2,Israeli new shekel,376 68 | INR,2,Indian rupee,356 69 | IQD,3,Iraqi dinar,368 70 | IRR,0,Iranian rial,364 71 | ISK,0,Icelandic króna,352 72 | JMD,2,Jamaican dollar,388 73 | JOD,3,Jordanian dinar,400 74 | JPY,0,Japanese yen,392 75 | KES,2,Kenyan shilling,404 76 | KGS,2,Kyrgyzstani som,417 77 | KHR,2,Cambodian riel,116 78 | KMF,0,Comoro franc,174 79 | KPW,0,North Korean won,408 80 | KRW,0,South Korean won,410 81 | KWD,3,Kuwaiti dinar,414 82 | KYD,2,Cayman Islands dollar,136 83 | KZT,2,Kazakhstani tenge,398 84 | LAK,0,Lao kip,418 85 | LBP,0,Lebanese pound,422 86 | LKR,2,Sri Lankan rupee,144 87 | LRD,2,Liberian dollar,430 88 | LSL,2,Lesotho loti,426 89 | LTL,2,Lithuanian litas,440 90 | LVL,2,Latvian lats,428 91 | LYD,3,Libyan dinar,434 92 | MAD,2,Moroccan dirham,504 93 | MDL,2,Moldovan leu,498 94 | MGA,0.7[8],Malagasy ariary,969 95 | MKD,0,Macedonian denar,807 96 | MMK,0,Myanma kyat,104 97 | MNT,2,Mongolian tugrik,496 98 | MOP,2,Macanese pataca,446 99 | MRO,0.7[8],Mauritanian ouguiya,478 100 | MUR,2,Mauritian rupee,480 101 | MVR,2,Maldivian rufiyaa,462 102 | MWK,2,Malawian kwacha,454 103 | MXN,2,Mexican peso,484 104 | MXV,2,Mexican Unidad de Inversion (UDI) (funds code),979 105 | MYR,2,Malaysian ringgit,458 106 | MZN,2,Mozambican metical,943 107 | NAD,2,Namibian dollar,516 108 | NGN,2,Nigerian naira,566 109 | NIO,2,Nicaraguan córdoba,558 110 | NOK,2,Norwegian krone,578 111 | NPR,2,Nepalese rupee,524 112 | NZD,2,New Zealand dollar,554 113 | OMR,3,Omani rial,512 114 | PAB,2,Panamanian balboa,590 115 | PEN,2,Peruvian nuevo sol,604 116 | PGK,2,Papua New Guinean kina,598 117 | PHP,2,Philippine peso,608 118 | PKR,2,Pakistani rupee,586 119 | PLN,2,Polish złoty,985 120 | PYG,0,Paraguayan guaraní,600 121 | QAR,2,Qatari riyal,634 122 | RON,2,Romanian new leu,946 123 | RSD,2,Serbian dinar,941 124 | RUB,2,Russian rouble,643 125 | RWF,0,Rwandan franc,646 126 | SAR,2,Saudi riyal,682 127 | SBD,2,Solomon Islands dollar,90 128 | SCR,2,Seychelles rupee,690 129 | SDG,2,Sudanese pound,938 130 | SEK,2,Swedish krona/kronor,752 131 | SGD,2,Singapore dollar,702 132 | SHP,2,Saint Helena pound,654 133 | SLL,0,Sierra Leonean leone,694 134 | SOS,2,Somali shilling,706 135 | SRD,2,Surinamese dollar,968 136 | SSP,2,South Sudanese pound,728 137 | STD,0,São Tomé and Príncipe dobra,678 138 | SYP,2,Syrian pound,760 139 | SZL,2,Swazi lilangeni,748 140 | THB,2,Thai baht,764 141 | TJS,2,Tajikistani somoni,972 142 | TMT,2,Turkmenistani manat,934 143 | TND,3,Tunisian dinar,788 144 | TOP,2,Tongan paʻanga,776 145 | TRY,2,Turkish lira,949 146 | TTD,2,Trinidad and Tobago dollar,780 147 | TWD,2,New Taiwan dollar,901 148 | TZS,2,Tanzanian shilling,834 149 | UAH,2,Ukrainian hryvnia,980 150 | UGX,2,Ugandan shilling,800 151 | USD,2,United States dollar,840 152 | USN,2,United States dollar (next day) (funds code),997 153 | USS,2,"United States dollar (same day) (funds code) (one source[who?] claims it is no longer used, but it is still on the ISO 4217-MA list)",998 154 | UYI,0,Uruguay Peso en Unidades Indexadas (URUIURUI) (funds code),940 155 | UYU,2,Uruguayan peso,858 156 | UZS,2,Uzbekistan som,860 157 | VEF,2,Venezuelan bolívar fuerte,937 158 | VND,0,Vietnamese dong,704 159 | VUV,0,Vanuatu vatu,548 160 | WST,2,Samoan tala,882 161 | XAF,0,CFA franc BEAC,950 162 | XAG,.,Silver (one troy ounce),961 163 | XAU,.,Gold (one troy ounce),959 164 | XBA,.,European Composite Unit (EURCO) (bond market unit),955 165 | XBB,.,European Monetary Unit (E.M.U.-6) (bond market unit),956 166 | XBC,.,European Unit of Account 9 (E.U.A.-9) (bond market unit),957 167 | XBD,.,European Unit of Account 17 (E.U.A.-17) (bond market unit),958 168 | XCD,2,East Caribbean dollar,951 169 | XDR,.,Special drawing rights,960 170 | XFU,.,UIC franc (special settlement currency),Nil 171 | XOF,0,CFA franc BCEAO,952 172 | XPD,.,Palladium (one troy ounce),964 173 | XPF,0,CFP franc,953 174 | XPT,.,Platinum (one troy ounce),962 175 | XTS,.,Code reserved for testing purposes,963 176 | XXX,.,No currency,999 177 | YER,2,Yemeni rial,886 178 | ZAR,2,South African rand,710 179 | ZMW,2,Zambian kwacha,967 180 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Country Data 2 | 3 | [![Build Status](https://travis-ci.org/OpenBookPrices/country-data.png)](https://travis-ci.org/OpenBookPrices/country-data) 4 | 5 | There are lots of little bits of data that you often need relating to countries, 6 | and I couldn't find any easy to use source of it. So I compiled it all here. 7 | 8 | ## Work in Progress 9 | 10 | This code base may change a bit until it hits `0.1.x` - feel free to use it, but be sure to check between upgrades. 11 | 12 | I suspect that many of the `currencies` entries on the countries may be wrong. Help checking them would be appreciated. 13 | 14 | 15 | ## Countries 16 | 17 | The data currently provided for each country is: 18 | 19 | * `name` The english name for the country 20 | * `alpha2` The [ISO 3166-1 alpha 2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code 21 | * `alpha3` The [ISO 3166-1 alpha 3](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) code 22 | * `status`: The ISO status of the entry - see below. 23 | * `currencies` An array of [ISO 4217 currency codes](http://en.wikipedia.org/wiki/ISO_4217) with the primary one first 24 | * `languages` An array of [ISO 639-2](http://en.wikipedia.org/wiki/ISO_639-2) codes for languages (may not be complete). 25 | * `countryCallingCodes` An array of the international call prefixes for this country. 26 | * `ioc` The [International Olympic Committee country code](http://en.wikipedia.org/wiki/List_of_IOC_country_codes) 27 | * `emoji` The emoji of country's flag. 28 | 29 | ### Status notes 30 | 31 | The `status` can be one of 'assigned', 'reserved', 'user assigned' or 'deleted'. 32 | 33 | Assigned means that the code is properly in the ISO 3166 standard. Reserved means that the code is being prevented from being used. Deleted means that it has been deleted. User Assigned means that for some use cases it is required. Deleted means that it used to be in the standard but is now not. 34 | 35 | See https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 for full details, especially the "User-assigned code elements" and "Reserved code elements" sections. 36 | 37 | ## Regions 38 | 39 | Countries are ofter grouped into regions. The list of regions is by no means exhaustive, pull requests very welcome for additions. 40 | 41 | * `countries` An array of `alpha2` codes for the countries in this region. 42 | 43 | ## Currencies 44 | 45 | It is not that useful to just have the currency code(s) for a country, so included is currency data too: 46 | 47 | * `name` The english name for the currency 48 | * `code` The [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217) code 49 | * `number` The [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217) number 50 | * `decimals` The number of decimal digits conventionally shown 51 | * `symbol` The currency symbol for the currency (e.g. ¥, $ etc.). Some symbols are not available, in which case 52 | `symbol` contains the ISO 4217 code. Credit to [bengourley/currency-symbol-map](https://github.com/bengourley/currency-symbol-map) 53 | for the symbol database. 54 | 55 | ## Languages 56 | 57 | A list of languages provided by [ISO 639-2](http://en.wikipedia.org/wiki/ISO_639-2); 58 | 59 | * `name` The english name for the language 60 | * `alpha2` The two letter [ISO 639-1](http://en.wikipedia.org/wiki/ISO_639-1) code for the language (may be blank). 61 | * `alpha3` The three letter terminological [ISO 639-2](http://en.wikipedia.org/wiki/ISO_639-2) code for the language (may be blank). 62 | * `bibliograpic` The three letter bibliographic [ISO 639-2](http://en.wikipedia.org/wiki/ISO_639-2) code for the language (may be blank). 63 | 64 | ## Lookup 65 | 66 | To make finding easier there are utility methods that can search the countries and currencies. See examples below. 67 | 68 | 69 | ## Installing 70 | 71 | ``` bash 72 | npm install country-data 73 | ``` 74 | 75 | 76 | ## Example usage 77 | 78 | ``` javascript 79 | var countries = require('country-data').countries, 80 | currencies = require('country-data').currencies, 81 | regions = require('country-data').regions, 82 | languages = require('country-data').languages, 83 | callingCountries = require('country-data').callingCountries; 84 | 85 | // .all gives you an array of all entries 86 | console.log( countries.all ); 87 | console.log( currencies.all ); 88 | 89 | // countries are found using alpha2 or alpha3 (both uppercase) 90 | console.log( countries.BE.name ); // 'Belgium' 91 | console.log( countries.FRA.currencies ); // ['EUR'] 92 | 93 | // callingCountries is like countries but only has entries with dialing codes. 94 | 95 | // currencies are accessed by their code (uppercase) 96 | console.log( currencies.USD.name ); // 'United States dollar' 97 | 98 | // regions are accessed using a camel case name 99 | console.log( regions.europe.countries ) 100 | ``` 101 | 102 | ``` javascript 103 | var lookup = require('country-data').lookup; 104 | 105 | // Match a value (grab first from array) 106 | var france = lookup.countries({name: 'France'})[0]; 107 | 108 | // Or match one of several possible values. 109 | var eurozone_countries = lookup.countries({currencies: 'EUR'}); 110 | ``` 111 | 112 | It is very simple for now - feel free to contribute more helpful accessors. 113 | 114 | 115 | ## Possible future additions 116 | 117 | More data for each country is most welcome. Obvious things that it might be nice 118 | to add are: 119 | 120 | ### Countries 121 | 122 | * Wikipedia links 123 | * Coordinates (centroid, bounding box, etc) 124 | 125 | ### Currencies 126 | 127 | * other currency that it is [pegged](http://en.wikipedia.org/wiki/Fixed_exchange_rate) to 128 | 129 | ## Using with webpack 130 | 131 | As this code loads the data from JSON files you need to add the JSON loader to webpack: 132 | 133 | ``` bash 134 | npm install json-loader --save-dev 135 | ``` 136 | 137 | and then include in your `webpack.config.js`: 138 | 139 | ``` javascript 140 | // ... 141 | loaders: [ 142 | // other loaders 143 | { test: /\.json$/, loader: 'json' }, 144 | ], 145 | // ... 146 | ``` 147 | 148 | ## Other similar bits of code 149 | 150 | * [libphonenumber](https://code.google.com/p/libphonenumber/) "Google's common Java, C++ and Javascript library for parsing, formatting, storing and validating international phone numbers." 151 | 152 | 153 | ## How to contribute 154 | 155 | The final format is JSON, but it is easier to work with CSV. Hence in the `data` 156 | folder there are CSV files and scripts that convert them to JSON. Please don't 157 | edit the JSON directly, but do it via the CSV. 158 | 159 | These are the steps required: 160 | 161 | ``` bash 162 | # Clone the repo (or better your fork of it) 163 | git clone https://github.com/OpenBookPrices/country-data.git 164 | cd country-data 165 | 166 | # install the dependencies 167 | npm install . 168 | 169 | # Edit the countries.csv 170 | open data/countries.csv 171 | 172 | # Convert the raw data (CSV or JS files) to JSON 173 | make 174 | 175 | # Run the tests 176 | mocha 177 | 178 | # If all is ok commit and push 179 | git add . 180 | git commit 181 | git push 182 | 183 | # Then send a pull request with your changes. Ideally use several small commits, 184 | # and reference a source that backs up the change. 185 | ``` 186 | 187 | 188 | ## Sources 189 | 190 | The currency data was copied from the [Wikipedia ISO 4217](http://en.wikipedia.org/wiki/ISO_4217) page. 191 | 192 | The country calling codes came from the [Wikipedia country calling codes](http://en.wikipedia.org/wiki/List_of_country_calling_codes) page. 193 | -------------------------------------------------------------------------------- /data/regions.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var regions = {}; 4 | 5 | regions.centralAsia = { 6 | name: 'Central Asia', 7 | countries: [ 8 | // source is http://en.wikipedia.org/wiki/Central_Asia 9 | 'KZ', // Kazakhstan 10 | 'KG', // Kyrgyzstan 11 | 'TJ', // Tajikistan 12 | 'TM', // Turkmenistan 13 | 'UZ', // Uzbekistan 14 | ] 15 | } 16 | 17 | regions.southernAsia = { 18 | name: 'Southern Asia', 19 | countries: [ 20 | // source is http://en.wikipedia.org/wiki/South_Asia 21 | 'AF', // Afghanistan 22 | 'BD', // Bangladesh 23 | 'BT', // Bhutan 24 | 'IO', // British Indian Ocean Territory 25 | 'IN', // India 26 | 'IR', // Iran 27 | 'MV', // Maldives 28 | 'NP', // Nepal 29 | 'PK', // Pakistan 30 | 'LK', // Sri Lanka 31 | ] 32 | } 33 | 34 | regions.southeastAsia = { 35 | name: 'Southeast Asia', 36 | countries: [ 37 | // source is http://en.wikipedia.org/wiki/Southeast_Asia 38 | 'BN', // Brunei 39 | 'KH', // Cambodia 40 | 'CX', // Christmas Island 41 | 'CC', // Cocos (Keeling) Islands 42 | 'TL', // East Timor 43 | 'ID', // Indonesia 44 | 'LA', // Laos 45 | 'MY', // Malaysia 46 | 'MM', // Myanmar (Burma) 47 | 'PH', // Philippines 48 | 'SG', // Singapore 49 | 'TH', // Thailand 50 | 'VN', // Vietnam 51 | ] 52 | } 53 | 54 | regions.eastAsia = { 55 | name: 'East Asia', 56 | countries: [ 57 | // source is http://en.wikipedia.org/wiki/East_Asia 58 | 'CN', // China 59 | 'HK', // Hong Kong 60 | 'JP', // Japan 61 | 'KP', // North Korea 62 | 'KR', // South Korea 63 | 'MO', // Macao 64 | 'MN', // Mongolia 65 | 'TW', // Taiwan 66 | ] 67 | } 68 | 69 | regions.westernAsia = { 70 | name: 'Western Asia', 71 | countries: [ 72 | // source is http://en.wikipedia.org/wiki/Western_Asia 73 | 'AM', // Armenia 74 | 'AZ', // Azerbaijan 75 | 'BH', // Bahrain 76 | 'IQ', // Iraq 77 | 'IL', // Israel 78 | 'JO', // Jordan 79 | 'KW', // Kuwait 80 | 'LB', // Lebanon 81 | 'OM', // Oman 82 | 'PS', // Palestinian territories 83 | 'QA', // Qatar 84 | 'SA', // Saudi Arabia 85 | 'SY', // Syria 86 | 'TR', // Turkey 87 | 'AE', // United Arab Emirates 88 | 'YE', // Yemen 89 | ] 90 | } 91 | 92 | regions.centralAfrica = { 93 | name: 'Central Aftrica', 94 | countries: [ 95 | // source is http://en.wikipedia.org/wiki/Central_Africa 96 | 'AO', // Angola 97 | 'CM', // Cameroon 98 | 'CF', // Central African Republic 99 | 'TD', // Chad 100 | 'CG', // Republic of the Congo 101 | 'CD', // Democratic Republic of the Congo 102 | 'GQ', // Equatorial Guinea 103 | 'GA', // Gabon 104 | 'ST', // São Tomé and Príncipe 105 | ] 106 | }; 107 | 108 | regions.northAfrica = { 109 | name: 'North Africa', 110 | countries: [ 111 | // source is http://en.wikipedia.org/wiki/North_Africa 112 | 'DZ', // Algeria 113 | 'EG', // Egypt 114 | 'LY', // Libya 115 | 'MA', // Morocco 116 | 'SD', // Sudan 117 | 'TN', // Tunisia 118 | 'EH', // Western Sahara 119 | ] 120 | }; 121 | 122 | regions.southernAfrica = { 123 | name: 'Southern Africa', 124 | countries: [ 125 | // source is http://en.wikipedia.org/wiki/Southern_Africa 126 | 'BW', // Botswana 127 | 'LS', // Lesotho 128 | 'NA', // Namibia 129 | 'ZA', // South Africa 130 | 'SZ', // Swaziland 131 | ] 132 | }; 133 | 134 | regions.eastAfrica = { 135 | name: 'East Africa', 136 | countries: [ 137 | // source is http://en.wikipedia.org/wiki/East_Africa 138 | 'BI', // Burundi 139 | 'KM', // Comoros 140 | 'DJ', // Djibouti 141 | 'ER', // Eritrea 142 | 'ET', // Ethiopia 143 | 'KE', // Kenya 144 | 'MG', // Madagascar 145 | 'MW', // Malawi 146 | 'MU', // Mauritius 147 | 'YT', // Mayotte (France) 148 | 'MZ', // Mozambique 149 | 'RE', // Réunion (France) 150 | 'RW', // Rwanda 151 | 'SC', // Seychelles 152 | 'SO', // Somalia 153 | 'SS', // South Sudan 154 | 'TZ', // Tanzania 155 | 'UG', // Uganda 156 | 'ZM', // Zambia 157 | 'ZW', // Zimbabwe 158 | ] 159 | }; 160 | 161 | regions.westAfrica = { 162 | name: 'West Africa', 163 | countries: [ 164 | // source is http://en.wikipedia.org/wiki/West_Africa 165 | 'BJ', // Benin 166 | 'BF', // Burkina Faso 167 | 'CV', // Cabo Verde 168 | 'CI', // Côte d'Ivoire 169 | 'GM', // Gambia 170 | 'GH', // Ghana 171 | 'GN', // Guinea 172 | 'GW', // Guinea-Bissau 173 | 'LR', // Liberia 174 | 'ML', // Mali 175 | 'MR', // Mauritania 176 | 'NE', // Niger 177 | 'NG', // Nigeria 178 | 'SH', // Saint Helena, Ascension and Tristan da Cunha (United Kingdom) 179 | 'SN', // Senegal 180 | 'SL', // Sierra Leone 181 | 'TG', // Togo 182 | ] 183 | }; 184 | 185 | regions.centralAmerica = { 186 | name: 'Central America', 187 | countries: [ 188 | // source is http://en.wikipedia.org/wiki/Central_America 189 | 'BZ', // Belize 190 | 'CR', // Costa Rica 191 | 'SV', // El Salvador 192 | 'GT', // Guatemala 193 | 'HN', // Honduras 194 | 'NI', // Nicaragua 195 | 'PA', // Panama 196 | ] 197 | } 198 | 199 | regions.northernAmerica = { 200 | name: 'Northern America', 201 | countries: [ 202 | // source is http://en.wikipedia.org/wiki/Northern_America 203 | 'BM', // Bermuda 204 | 'CA', // Canada 205 | 'GL', // Greenland 206 | 'MX', // Mexico 207 | 'PM', // Saint Pierre and Miquelon 208 | 'US', // United States 209 | ] 210 | } 211 | 212 | regions.caribbean = { 213 | name: 'Caribbean', 214 | countries: [ 215 | // source is http://en.wikipedia.org/wiki/Caribbean 216 | 'AI', // Anguilla 217 | 'AG', // Antigua and Barbuda 218 | 'AW', // Aruba 219 | 'BS', // Bahamas 220 | 'BB', // Barbados 221 | 'BQ', // Bonaire, Sint Eustatius & Saba 222 | 'VG', // British Virgin Islands 223 | 'KY', // Cayman Islands 224 | 'CU', // Cuba 225 | 'CW', // Curaçao 226 | 'DM', // Dominica 227 | 'DO', // Dominican Republic 228 | 'GD', // Grenada 229 | 'GP', // Guadeloupe 230 | 'HT', // Haiti 231 | 'JM', // Jamaica 232 | 'MQ', // Martinique 233 | 'MS', // Montserrat 234 | 'PR', // Puerto Rico 235 | 'BL', // Saint Barthélemy 236 | 'KN', // St. Kitts & Nevis 237 | 'LC', // Saint Lucia 238 | 'MF', // Saint Martin 239 | 'VC', // Saint Vincent and the Grenadines 240 | 'SX', // Sint Maarten 241 | 'TT', // Trinidad and Tobago 242 | 'TC', // Turks & Caicos 243 | 'VI', // United States Virgin Islands 244 | ] 245 | } 246 | 247 | regions.southAmerica = { 248 | name: 'South America', 249 | countries: [ 250 | // source is http://en.wikipedia.org/wiki/South_America 251 | 'AR', // Argentina 252 | 'BO', // Bolivia 253 | 'BR', // Brazil 254 | 'CL', // Chile 255 | 'CO', // Colombia 256 | 'EC', // Ecuador 257 | 'FK', // Falkland Islands 258 | 'GF', // French Guiana 259 | 'GY', // Guyana 260 | 'PY', // Paraguay 261 | 'PE', // Peru 262 | 'SR', // Suriname 263 | 'UY', // Uruguay 264 | 'VE', // Venezuela 265 | ] 266 | } 267 | 268 | regions.antartica = { 269 | name: 'Antartica', 270 | countries: [ 271 | // source is http://en.wikipedia.org/wiki/Antarctica 272 | 'AQ', // Antarctica 273 | 'BV', // Bouvet Island 274 | 'TF', // French Southern Territories 275 | 'HM', // Heard Island and McDonald Islands 276 | 'GS', // South Georgia and the South Sandwich Islands 277 | ] 278 | } 279 | 280 | regions.northernEurope = { 281 | name: 'Northern Europe', 282 | countries: [ 283 | // source is http://en.wikipedia.org/wiki/Northern_Europe 284 | 'AX', // Åland 285 | 'DK', // Denmark 286 | 'EE', // Estonia 287 | 'FO', // Faroe Islands 288 | 'FI', // Finland 289 | 'GG', // Guernsey 290 | 'IS', // Iceland 291 | 'IE', // Republic of Ireland 292 | 'JE', // Jersey (UK) 293 | 'IM', // Isle of Man 294 | 'LV', // Latvia 295 | 'LT', // Lithuania 296 | 'NO', // Norway 297 | 'SJ', // Svalbard and Jan Mayen 298 | 'SE', // Sweden 299 | 'GB', // United Kingdom 300 | ] 301 | } 302 | 303 | regions.southernEurope = { 304 | name: 'Southern Europe', 305 | countries: [ 306 | // source is http://en.wikipedia.org/wiki/Southern_Europe 307 | 'AL', // Albania 308 | 'AD', // Andorra 309 | 'BA', // Bosnia and Herzegovina 310 | 'HR', // Croatia 311 | 'CY', // Cyprus 312 | 'GI', // Gibraltar 313 | 'GR', // Greece 314 | 'IT', // Italy 315 | 'MK', // Republic of Macedonia 316 | 'VA', // Vatican City 317 | 'MT', // Malta 318 | 'ME', // Montenegro 319 | 'PT', // Portugal 320 | 'SM', // San Marino 321 | 'RS', // Serbia 322 | 'SI', // Slovenia 323 | 'ES', // Spain 324 | ] 325 | } 326 | 327 | regions.easternEurope = { 328 | name: 'Eastern Europe', 329 | countries: [ 330 | // source is http://en.wikipedia.org/wiki/Eastern_Europe 331 | 'BY', // Belarus 332 | 'BG', // Bulgaria 333 | 'CZ', // Czech Republic 334 | 'GE', // Georgia 335 | 'HU', // Hungary 336 | 'MD', // Moldova 337 | 'PL', // Poland 338 | 'RO', // Romania 339 | 'RU', // Russia 340 | 'SK', // Slovakia 341 | 'UA', // Ukraine 342 | ] 343 | } 344 | 345 | regions.westernEurope = { 346 | name: 'Western Europe', 347 | countries: [ 348 | // source is http://en.wikipedia.org/wiki/Western_Europe 349 | 'AT', // Austria 350 | 'BE', // Belgium 351 | 'FR', // France 352 | 'DE', // Germany 353 | 'LI', // Liechtenstein 354 | 'LU', // Luxembourg 355 | 'MC', // Monaco 356 | 'NL', // Netherlands 357 | 'CH', // Switzerland 358 | ], 359 | }; 360 | 361 | regions.australia = { 362 | name: 'Australia', 363 | countries: [ 364 | // source is http://en.wikipedia.org/wiki/Oceania 365 | 'AU', // Australia 366 | 'NF', // Norfolk Island 367 | 'NZ', // New Zealand 368 | ] 369 | }; 370 | 371 | regions.melanesia = { 372 | name: 'Melanesia', 373 | countries: [ 374 | // source is http://en.wikipedia.org/wiki/Oceania 375 | 'FJ', // Fiji 376 | 'NC', // New Caledonia 377 | 'PG', // Papua New Guinea 378 | 'SB', // Solomon Islands 379 | 'VU', // Vanuatu 380 | ] 381 | }; 382 | 383 | regions.micronesia = { 384 | name: 'Micronesia', 385 | countries: [ 386 | // source is http://en.wikipedia.org/wiki/Oceania 387 | 'GU', // Guam 388 | 'KI', // Kiribati 389 | 'MH', // Marshall Islands 390 | 'FM', // Micronesia, Fed. Sts. 391 | 'NR', // Nauru 392 | 'MP', // Northern Mariana Islands 393 | 'PW', // Palau 394 | 'UM', // United States Minor Outlying Islands 395 | ] 396 | }; 397 | 398 | regions.polynesia = { 399 | name: 'Polynesia', 400 | countries: [ 401 | // source is http://en.wikipedia.org/wiki/Oceania 402 | 'AS', // American Samoa 403 | 'CK', // Cook Islands 404 | 'PF', // French Polynesia 405 | 'NU', // Niue 406 | 'PN', // Pitcairn Islands 407 | 'WS', // Samoa 408 | 'TK', // Tokelau 409 | 'TO', // Tonga 410 | 'TV', // Tuvalu 411 | 'WF', // Wallis and Futuna 412 | ] 413 | }; 414 | 415 | module.exports = regions; 416 | -------------------------------------------------------------------------------- /data/languages.csv: -------------------------------------------------------------------------------- 1 | name,alpha2,alpha3,bibliographic 2 | Abkhazian,ab,abk, 3 | Achinese,,ace, 4 | Acoli,,ach, 5 | Adangme,,ada, 6 | Adygei,,ady, 7 | Adyghe,,ady, 8 | Afar,aa,aar, 9 | Afrihili,,afh, 10 | Afrikaans,af,afr, 11 | Afro-Asiatic languages,,afa, 12 | Ainu,,ain, 13 | Akan,ak,aka, 14 | Akkadian,,akk, 15 | Albanian,sq,sqi,alb 16 | Alemannic,,gsw, 17 | Aleut,,ale, 18 | Algonquian languages,,alg, 19 | Alsatian,,gsw, 20 | Altaic languages,,tut, 21 | Amharic,am,amh, 22 | Angika,,anp, 23 | Apache languages,,apa, 24 | Arabic,ar,ara, 25 | Aragonese,an,arg, 26 | Arapaho,,arp, 27 | Arawak,,arw, 28 | Armenian,hy,hye,arm 29 | Aromanian,,rup, 30 | Artificial languages,,art, 31 | Arumanian,,rup, 32 | Assamese,as,asm, 33 | Asturian,,ast, 34 | Asturleonese,,ast, 35 | Athapascan languages,,ath, 36 | Australian languages,,aus, 37 | Austronesian languages,,map, 38 | Avaric,av,ava, 39 | Avestan,ae,ave, 40 | Awadhi,,awa, 41 | Aymara,ay,aym, 42 | Azerbaijani,az,aze, 43 | Bable,,ast, 44 | Balinese,,ban, 45 | Baltic languages,,bat, 46 | Baluchi,,bal, 47 | Bambara,bm,bam, 48 | Bamileke languages,,bai, 49 | Banda languages,,bad, 50 | Bantu languages,,bnt, 51 | Basa,,bas, 52 | Bashkir,ba,bak, 53 | Basque,eu,eus,baq 54 | Batak languages,,btk, 55 | Bedawiyet,,bej, 56 | Beja,,bej, 57 | Belarusian,be,bel, 58 | Bemba,,bem, 59 | Bengali,bn,ben, 60 | Berber languages,,ber, 61 | Bhojpuri,,bho, 62 | Bihari languages,bh,bih, 63 | Bikol,,bik, 64 | Bilin,,byn, 65 | Bini,,bin, 66 | Bislama,bi,bis, 67 | Blin,,byn, 68 | Bliss,,zbl, 69 | Blissymbolics,,zbl, 70 | Blissymbols,,zbl, 71 | "Bokmål, Norwegian",nb,nob, 72 | Bosnian,bs,bos, 73 | Braj,,bra, 74 | Breton,br,bre, 75 | Buginese,,bug, 76 | Bulgarian,bg,bul, 77 | Buriat,,bua, 78 | Burmese,my,mya,bur 79 | Caddo,,cad, 80 | Castilian,es,spa, 81 | Catalan,ca,cat, 82 | Caucasian languages,,cau, 83 | Cebuano,,ceb, 84 | Celtic languages,,cel, 85 | Central American Indian languages,,cai, 86 | Central Khmer,km,khm, 87 | Chagatai,,chg, 88 | Chamic languages,,cmc, 89 | Chamorro,ch,cha, 90 | Chechen,ce,che, 91 | Cherokee,,chr, 92 | Chewa,ny,nya, 93 | Cheyenne,,chy, 94 | Chibcha,,chb, 95 | Chichewa,ny,nya, 96 | Chinese,zh,zho,chi 97 | Chinook jargon,,chn, 98 | Chipewyan,,chp, 99 | Choctaw,,cho, 100 | Chuang,za,zha, 101 | Church Slavic,cu,chu, 102 | Church Slavonic,cu,chu, 103 | Chuukese,,chk, 104 | Chuvash,cv,chv, 105 | Classical Nepal Bhasa,,nwc, 106 | Classical Newari,,nwc, 107 | Classical Syriac,,syc, 108 | Cook Islands Maori,,rar, 109 | Coptic,,cop, 110 | Cornish,kw,cor, 111 | Corsican,co,cos, 112 | Cree,cr,cre, 113 | Creek,,mus, 114 | Creoles and pidgins,,crp, 115 | "Creoles and pidgins, English based",,cpe, 116 | "Creoles and pidgins, French-based",,cpf, 117 | "Creoles and pidgins, Portuguese-based",,cpp, 118 | Crimean Tatar,,crh, 119 | Crimean Turkish,,crh, 120 | Croatian,hr,hrv, 121 | Cushitic languages,,cus, 122 | Czech,cs,ces,cze 123 | Dakota,,dak, 124 | Danish,da,dan, 125 | Dargwa,,dar, 126 | Delaware,,del, 127 | Dene Suline,,chp, 128 | Dhivehi,dv,div, 129 | Dimili,,zza, 130 | Dimli,,zza, 131 | Dinka,,din, 132 | Divehi,dv,div, 133 | Dogri,,doi, 134 | Dogrib,,dgr, 135 | Dravidian languages,,dra, 136 | Duala,,dua, 137 | Dutch,nl,nld,dut 138 | "Dutch, Middle (ca.1050-1350)",,dum, 139 | Dyula,,dyu, 140 | Dzongkha,dz,dzo, 141 | Eastern Frisian,,frs, 142 | Edo,,bin, 143 | Efik,,efi, 144 | Egyptian (Ancient),,egy, 145 | Ekajuk,,eka, 146 | Elamite,,elx, 147 | English,en,eng, 148 | "English, Middle (1100-1500)",,enm, 149 | "English, Old (ca.450-1100)",,ang, 150 | Erzya,,myv, 151 | Esperanto,eo,epo, 152 | Estonian,et,est, 153 | Ewe,ee,ewe, 154 | Ewondo,,ewo, 155 | Fang,,fan, 156 | Fanti,,fat, 157 | Faroese,fo,fao, 158 | Fijian,fj,fij, 159 | Filipino,,fil, 160 | Finnish,fi,fin, 161 | Finno-Ugrian languages,,fiu, 162 | Flemish,nl,nld,dut 163 | Fon,,fon, 164 | French,fr,fra,fre 165 | "French, Middle (ca.1400-1600)",,frm, 166 | "French, Old (842-ca.1400)",,fro, 167 | Friulian,,fur, 168 | Fulah,ff,ful, 169 | Ga,,gaa, 170 | Gaelic,gd,gla, 171 | Galibi Carib,,car, 172 | Galician,gl,glg, 173 | Ganda,lg,lug, 174 | Gayo,,gay, 175 | Gbaya,,gba, 176 | Geez,,gez, 177 | Georgian,ka,kat,geo 178 | German,de,deu,ger 179 | "German, Low",,nds, 180 | "German, Middle High (ca.1050-1500)",,gmh, 181 | "German, Old High (ca.750-1050)",,goh, 182 | Germanic languages,,gem, 183 | Gikuyu,ki,kik, 184 | Gilbertese,,gil, 185 | Gondi,,gon, 186 | Gorontalo,,gor, 187 | Gothic,,got, 188 | Grebo,,grb, 189 | "Greek, Ancient (to 1453)",,grc, 190 | "Greek, Modern (1453-)",el,ell,gre 191 | Greenlandic,kl,kal, 192 | Guarani,gn,grn, 193 | Gujarati,gu,guj, 194 | Gwich'in,,gwi, 195 | Haida,,hai, 196 | Haitian,ht,hat, 197 | Haitian Creole,ht,hat, 198 | Hausa,ha,hau, 199 | Hawaiian,,haw, 200 | Hebrew,he,heb, 201 | Herero,hz,her, 202 | Hiligaynon,,hil, 203 | Himachali languages,,him, 204 | Hindi,hi,hin, 205 | Hiri Motu,ho,hmo, 206 | Hittite,,hit, 207 | Hmong,,hmn, 208 | Hungarian,hu,hun, 209 | Hupa,,hup, 210 | Iban,,iba, 211 | Icelandic,is,isl,ice 212 | Ido,io,ido, 213 | Igbo,ig,ibo, 214 | Ijo languages,,ijo, 215 | Iloko,,ilo, 216 | Imperial Aramaic (700-300 BCE),,arc, 217 | Inari Sami,,smn, 218 | Indic languages,,inc, 219 | Indo-European languages,,ine, 220 | Indonesian,id,ind, 221 | Ingush,,inh, 222 | Interlingua (International Auxiliary Language Association),ia,ina, 223 | Interlingue,ie,ile, 224 | Inuktitut,iu,iku, 225 | Inupiaq,ik,ipk, 226 | Iranian languages,,ira, 227 | Irish,ga,gle, 228 | "Irish, Middle (900-1200)",,mga, 229 | "Irish, Old (to 900)",,sga, 230 | Iroquoian languages,,iro, 231 | Italian,it,ita, 232 | Japanese,ja,jpn, 233 | Javanese,jv,jav, 234 | Jingpho,,kac, 235 | Judeo-Arabic,,jrb, 236 | Judeo-Persian,,jpr, 237 | Kabardian,,kbd, 238 | Kabyle,,kab, 239 | Kachin,,kac, 240 | Kalaallisut,kl,kal, 241 | Kalmyk,,xal, 242 | Kamba,,kam, 243 | Kannada,kn,kan, 244 | Kanuri,kr,kau, 245 | Kapampangan,,pam, 246 | Kara-Kalpak,,kaa, 247 | Karachay-Balkar,,krc, 248 | Karelian,,krl, 249 | Karen languages,,kar, 250 | Kashmiri,ks,kas, 251 | Kashubian,,csb, 252 | Kawi,,kaw, 253 | Kazakh,kk,kaz, 254 | Khasi,,kha, 255 | Khoisan languages,,khi, 256 | Khotanese,,kho, 257 | Kikuyu,ki,kik, 258 | Kimbundu,,kmb, 259 | Kinyarwanda,rw,kin, 260 | Kirdki,,zza, 261 | Kirghiz,ky,kir, 262 | Kirmanjki,,zza, 263 | Klingon,,tlh, 264 | Komi,kv,kom, 265 | Kongo,kg,kon, 266 | Konkani,,kok, 267 | Korean,ko,kor, 268 | Kosraean,,kos, 269 | Kpelle,,kpe, 270 | Kru languages,,kro, 271 | Kuanyama,kj,kua, 272 | Kumyk,,kum, 273 | Kurdish,ku,kur, 274 | Kurukh,,kru, 275 | Kutenai,,kut, 276 | Kwanyama,kj,kua, 277 | Kyrgyz,ky,kir, 278 | Ladino,,lad, 279 | Lahnda,,lah, 280 | Lamba,,lam, 281 | Land Dayak languages,,day, 282 | Lao,lo,lao, 283 | Latin,la,lat, 284 | Latvian,lv,lav, 285 | Leonese,,ast, 286 | Letzeburgesch,lb,ltz, 287 | Lezghian,,lez, 288 | Limburgan,li,lim, 289 | Limburger,li,lim, 290 | Limburgish,li,lim, 291 | Lingala,ln,lin, 292 | Lithuanian,lt,lit, 293 | Lojban,,jbo, 294 | Low German,,nds, 295 | Low Saxon,,nds, 296 | Lower Sorbian,,dsb, 297 | Lozi,,loz, 298 | Luba-Katanga,lu,lub, 299 | Luba-Lulua,,lua, 300 | Luiseno,,lui, 301 | Lule Sami,,smj, 302 | Lunda,,lun, 303 | Luo (Kenya and Tanzania),,luo, 304 | Lushai,,lus, 305 | Luxembourgish,lb,ltz, 306 | Macedo-Romanian,,rup, 307 | Macedonian,mk,mkd,mac 308 | Madurese,,mad, 309 | Magahi,,mag, 310 | Maithili,,mai, 311 | Makasar,,mak, 312 | Malagasy,mg,mlg, 313 | Malay,ms,msa,may 314 | Malayalam,ml,mal, 315 | Maldivian,dv,div, 316 | Maltese,mt,mlt, 317 | Manchu,,mnc, 318 | Mandar,,mdr, 319 | Mandingo,,man, 320 | Manipuri,,mni, 321 | Manobo languages,,mno, 322 | Manx,gv,glv, 323 | Maori,mi,mri,mao 324 | Mapuche,,arn, 325 | Mapudungun,,arn, 326 | Marathi,mr,mar, 327 | Mari,,chm, 328 | Marshallese,mh,mah, 329 | Marwari,,mwr, 330 | Masai,,mas, 331 | Mayan languages,,myn, 332 | Mende,,men, 333 | Mi'kmaq,,mic, 334 | Micmac,,mic, 335 | Minangkabau,,min, 336 | Mirandese,,mwl, 337 | Mohawk,,moh, 338 | Moksha,,mdf, 339 | Moldavian,ro,ron,rum 340 | Mon-Khmer languages,,mkh, 341 | Mong,,hmn, 342 | Mongo,,lol, 343 | Mongolian,mn,mon, 344 | Montenegrin,,mot, 345 | Mossi,,mos, 346 | Multiple languages,,mul, 347 | Munda languages,,mun, 348 | N'Ko,,nqo, 349 | Nahuatl languages,,nah, 350 | Nauru,na,nau, 351 | Navaho,nv,nav, 352 | Navajo,nv,nav, 353 | "Ndebele, North",nd,nde, 354 | "Ndebele, South",nr,nbl, 355 | Ndonga,ng,ndo, 356 | Neapolitan,,nap, 357 | Nepal Bhasa,,new, 358 | Nepali,ne,nep, 359 | Newari,,new, 360 | Nias,,nia, 361 | Niger-Kordofanian languages,,nic, 362 | Nilo-Saharan languages,,ssa, 363 | Niuean,,niu, 364 | No linguistic content,,zxx, 365 | Nogai,,nog, 366 | "Norse, Old",,non, 367 | North American Indian languages,,nai, 368 | North Ndebele,nd,nde, 369 | Northern Frisian,,frr, 370 | Northern Sami,se,sme, 371 | Northern Sotho,,nso, 372 | Norwegian,no,nor, 373 | Norwegian Bokmål,nb,nob, 374 | Norwegian Nynorsk,nn,nno, 375 | Not applicable,,zxx, 376 | Nubian languages,,nub, 377 | Nuosu,ii,iii, 378 | Nyamwezi,,nym, 379 | Nyanja,ny,nya, 380 | Nyankole,,nyn, 381 | "Nynorsk, Norwegian",nn,nno, 382 | Nyoro,,nyo, 383 | Nzima,,nzi, 384 | Occidental,ie,ile, 385 | Occitan (post 1500),oc,oci, 386 | "Occitan, Old (to 1500)",,pro, 387 | Official Aramaic (700-300 BCE),,arc, 388 | Oirat,,xal, 389 | Ojibwa,oj,oji, 390 | Old Bulgarian,cu,chu, 391 | Old Church Slavonic,cu,chu, 392 | Old Newari,,nwc, 393 | Old Slavonic,cu,chu, 394 | Oriya,or,ori, 395 | Oromo,om,orm, 396 | Osage,,osa, 397 | Ossetian,os,oss, 398 | Ossetic,os,oss, 399 | Otomian languages,,oto, 400 | Pahlavi,,pal, 401 | Palauan,,pau, 402 | Pali,pi,pli, 403 | Pampanga,,pam, 404 | Pangasinan,,pag, 405 | Panjabi,pa,pan, 406 | Papiamento,,pap, 407 | Papuan languages,,paa, 408 | Pashto,ps,pus, 409 | Pedi,,nso, 410 | Persian,fa,fas,per 411 | "Persian, Old (ca.600-400 B.C.)",,peo, 412 | Philippine languages,,phi, 413 | Phoenician,,phn, 414 | Pilipino,,fil, 415 | Pohnpeian,,pon, 416 | Polish,pl,pol, 417 | Portuguese,pt,por, 418 | Prakrit languages,,pra, 419 | "Provençal, Old (to 1500)",,pro, 420 | Punjabi,pa,pan, 421 | Pushto,ps,pus, 422 | Quechua,qu,que, 423 | Rajasthani,,raj, 424 | Rapanui,,rap, 425 | Rarotongan,,rar, 426 | Romance languages,,roa, 427 | Romanian,ro,ron,rum 428 | Romansh,rm,roh, 429 | Romany,,rom, 430 | Rundi,rn,run, 431 | Russian,ru,rus, 432 | Sakan,,kho, 433 | Salishan languages,,sal, 434 | Samaritan Aramaic,,sam, 435 | Sami languages,,smi, 436 | Samoan,sm,smo, 437 | Sandawe,,sad, 438 | Sango,sg,sag, 439 | Sanskrit,sa,san, 440 | Santali,,sat, 441 | Sardinian,sc,srd, 442 | Sasak,,sas, 443 | "Saxon, Low",,nds, 444 | Scots,,sco, 445 | Scottish Gaelic,gd,gla, 446 | Selkup,,sel, 447 | Semitic languages,,sem, 448 | Sepedi,,nso, 449 | Serbian,sr,srp, 450 | Serer,,srr, 451 | Shan,,shn, 452 | Shona,sn,sna, 453 | Sichuan Yi,ii,iii, 454 | Sicilian,,scn, 455 | Sidamo,,sid, 456 | Sign Languages,,sgn, 457 | Siksika,,bla, 458 | Sindhi,sd,snd, 459 | Sinhala,si,sin, 460 | Sinhalese,si,sin, 461 | Sino-Tibetan languages,,sit, 462 | Siouan languages,,sio, 463 | Skolt Sami,,sms, 464 | Slave (Athapascan),,den, 465 | Slavic languages,,sla, 466 | Slovak,sk,slk,slo 467 | Slovenian,sl,slv, 468 | Sogdian,,sog, 469 | Somali,so,som, 470 | Songhai languages,,son, 471 | Soninke,,snk, 472 | Sorbian languages,,wen, 473 | "Sotho, Northern",,nso, 474 | "Sotho, Southern",st,sot, 475 | South American Indian languages,,sai, 476 | South Ndebele,nr,nbl, 477 | Southern Altai,,alt, 478 | Southern Sami,,sma, 479 | Spanish,es,spa, 480 | Sranan Tongo,,srn, 481 | Standard Moroccan Tamazight,,zgh, 482 | Sukuma,,suk, 483 | Sumerian,,sux, 484 | Sundanese,su,sun, 485 | Susu,,sus, 486 | Swahili,sw,swa, 487 | Swati,ss,ssw, 488 | Swedish,sv,swe, 489 | Swiss German,,gsw, 490 | Syriac,,syr, 491 | Tagalog,tl,tgl, 492 | Tahitian,ty,tah, 493 | Tai languages,,tai, 494 | Tajik,tg,tgk, 495 | Tamashek,,tmh, 496 | Tamil,ta,tam, 497 | Tatar,tt,tat, 498 | Telugu,te,tel, 499 | Tereno,,ter, 500 | Tetum,,tet, 501 | Thai,th,tha, 502 | Tibetan,bo,bod,tib 503 | Tigre,,tig, 504 | Tigrinya,ti,tir, 505 | Timne,,tem, 506 | Tiv,,tiv, 507 | tlhIngan-Hol,,tlh, 508 | Tlingit,,tli, 509 | Tok Pisin,,tpi, 510 | Tokelau,,tkl, 511 | Tonga (Nyasa),,tog, 512 | Tonga (Tonga Islands),to,ton, 513 | Tsimshian,,tsi, 514 | Tsonga,ts,tso, 515 | Tswana,tn,tsn, 516 | Tumbuka,,tum, 517 | Tupi languages,,tup, 518 | Turkish,tr,tur, 519 | "Turkish, Ottoman (1500-1928)",,ota, 520 | Turkmen,tk,tuk, 521 | Tuvalu,,tvl, 522 | Tuvinian,,tyv, 523 | Twi,tw,twi, 524 | Udmurt,,udm, 525 | Ugaritic,,uga, 526 | Uighur,ug,uig, 527 | Ukrainian,uk,ukr, 528 | Umbundu,,umb, 529 | Uncoded languages,,mis, 530 | Undetermined,,und, 531 | Upper Sorbian,,hsb, 532 | Urdu,ur,urd, 533 | Uyghur,ug,uig, 534 | Uzbek,uz,uzb, 535 | Vai,,vai, 536 | Valencian,ca,cat, 537 | Venda,ve,ven, 538 | Vietnamese,vi,vie, 539 | Volapük,vo,vol, 540 | Votic,,vot, 541 | Wakashan languages,,wak, 542 | Walloon,wa,wln, 543 | Waray,,war, 544 | Washo,,was, 545 | Welsh,cy,cym,wel 546 | Western Frisian,fy,fry, 547 | Western Pahari languages,,him, 548 | Wolaitta,,wal, 549 | Wolaytta,,wal, 550 | Wolof,wo,wol, 551 | Xhosa,xh,xho, 552 | Yakut,,sah, 553 | Yao,,yao, 554 | Yapese,,yap, 555 | Yiddish,yi,yid, 556 | Yoruba,yo,yor, 557 | Yupik languages,,ypk, 558 | Zande languages,,znd, 559 | Zapotec,,zap, 560 | Zaza,,zza, 561 | Zazaki,,zza, 562 | Zenaga,,zen, 563 | Zhuang,za,zha, 564 | Zulu,zu,zul, 565 | Zuni,,zun, 566 | -------------------------------------------------------------------------------- /data/countries.csv: -------------------------------------------------------------------------------- 1 | name,alpha2,alpha3,ccTLD,countryCallingCodes,currencies,emoji,ioc,languages,status 2 | Afghanistan,AF,AFG,,+93,AFN,🇦🇫,AFG,pus,assigned 3 | Albania,AL,ALB,,+355,ALL,🇦🇱,ALB,sqi,assigned 4 | Algeria,DZ,DZA,,+213,DZD,🇩🇿,ALG,ara,assigned 5 | American Samoa,AS,ASM,,+1 684,USD,🇦🇸,ASA,"eng,smo",assigned 6 | Andorra,AD,AND,,+376,EUR,🇦🇩,AND,cat,assigned 7 | Angola,AO,AGO,,+244,AOA,🇦🇴,ANG,por,assigned 8 | Anguilla,AI,AIA,,+1 264,XCD,🇦🇮,,eng,assigned 9 | Antarctica,AQ,ATA,,+672,,🇦🇶,,,assigned 10 | Antigua And Barbuda,AG,ATG,,+1 268,XCD,🇦🇬,ANT,eng,assigned 11 | Argentina,AR,ARG,,+54,ARS,🇦🇷,ARG,spa,assigned 12 | Armenia,AM,ARM,,+374,AMD,🇦🇲,ARM,"hye,rus",assigned 13 | Aruba,AW,ABW,,+297,AWG,🇦🇼,ARU,nld,assigned 14 | Ascension Island,AC,,.ac,+247,USD,,SHP,eng,reserved 15 | Australia,AU,AUS,,+61,AUD,🇦🇺,AUS,eng,assigned 16 | Austria,AT,AUT,,+43,EUR,🇦🇹,AUT,deu,assigned 17 | Azerbaijan,AZ,AZE,,+994,AZN,🇦🇿,AZE,aze,assigned 18 | Bahamas,BS,BHS,,+1 242,BSD,🇧🇸,BAH,eng,assigned 19 | Bahrain,BH,BHR,,+973,BHD,🇧🇭,BRN,ara,assigned 20 | Bangladesh,BD,BGD,,+880,BDT,🇧🇩,BAN,ben,assigned 21 | Barbados,BB,BRB,,+1 246,BBD,🇧🇧,BAR,eng,assigned 22 | Belarus,BY,BLR,,+375,BYR,🇧🇾,BLR,"bel,rus",assigned 23 | Belgium,BE,BEL,,+32,EUR,🇧🇪,BEL,"nld,fra,deu",assigned 24 | Belize,BZ,BLZ,,+501,BZD,🇧🇿,BIZ,eng,assigned 25 | Benin,BJ,BEN,,+229,XOF,🇧🇯,BEN,fra,assigned 26 | Bermuda,BM,BMU,,+1 441,BMD,🇧🇲,BER,eng,assigned 27 | Bhutan,BT,BTN,,+975,"INR,BTN",🇧🇹,BHU,dzo,assigned 28 | "Bolivia, Plurinational State Of",BO,BOL,,+591,"BOB,BOV",🇧🇴,BOL,"spa,aym,que",assigned 29 | "Bonaire, Saint Eustatius And Saba",BQ,BES,,+599,USD,🇧🇶,,nld,assigned 30 | Bosnia & Herzegovina,BA,BIH,,+387,BAM,🇧🇦,BIH,"bos,cre,srp",assigned 31 | Botswana,BW,BWA,,+267,BWP,🇧🇼,BOT,"eng,tsn",assigned 32 | Bouvet Island,BV,BVT,,,NOK,🇧🇻,,,assigned 33 | Brazil,BR,BRA,,+55,BRL,🇧🇷,BRA,por,assigned 34 | British Indian Ocean Territory,IO,IOT,,+246,USD,🇮🇴,,eng,assigned 35 | Brunei Darussalam,BN,BRN,,+673,BND,🇧🇳,BRU,"msa,eng",assigned 36 | Bulgaria,BG,BGR,,+359,BGN,🇧🇬,BUL,bul,assigned 37 | Burkina Faso,BF,BFA,,+226,XOF,🇧🇫,BUR,fra,assigned 38 | Burundi,BI,BDI,,+257,BIF,🇧🇮,BDI,fra,assigned 39 | Cabo Verde,CV,CPV,,+238,CVE,🇨🇻,CPV,por,assigned 40 | Cambodia,KH,KHM,,+855,KHR,🇰🇭,CAM,khm,assigned 41 | Cameroon,CM,CMR,,+237,XAF,🇨🇲,CMR,"eng,fra",assigned 42 | Canada,CA,CAN,,+1,CAD,🇨🇦,CAN,"eng,fra",assigned 43 | Canary Islands,IC,,,,EUR,,,,reserved 44 | Cayman Islands,KY,CYM,,+1 345,KYD,🇰🇾,CAY,eng,assigned 45 | Central African Republic,CF,CAF,,+236,XAF,🇨🇫,CAF,"fra,sag",assigned 46 | "Ceuta, Mulilla",EA,,,,EUR,,,,reserved 47 | Chad,TD,TCD,,+235,XAF,🇹🇩,CHA,"ara,fra",assigned 48 | Chile,CL,CHL,,+56,"CLP,CLF",🇨🇱,CHI,spa,assigned 49 | China,CN,CHN,,+86,CNY,🇨🇳,CHN,zho,assigned 50 | Christmas Island,CX,CXR,,+61,AUD,🇨🇽,,eng,assigned 51 | Clipperton Island,CP,,,,EUR,,,,reserved 52 | Cocos (Keeling) Islands,CC,CCK,,+61,AUD,🇨🇨,,eng,assigned 53 | Colombia,CO,COL,,+57,"COP,COU",🇨🇴,COL,spa,assigned 54 | Comoros,KM,COM,,+269,KMF,🇰🇲,COM,"ara,fra",assigned 55 | Cook Islands,CK,COK,,+682,NZD,🇨🇰,COK,"eng,mri",assigned 56 | Costa Rica,CR,CRI,,+506,CRC,🇨🇷,CRC,spa,assigned 57 | Croatia,HR,HRV,,+385,HRK,🇭🇷,CRO,hrv,assigned 58 | Cuba,CU,CUB,,+53,"CUP,CUC",🇨🇺,CUB,spa,assigned 59 | Curacao,CW,CUW,,+599,ANG,🇨🇼,,nld,assigned 60 | Cyprus,CY,CYP,,+357,EUR,🇨🇾,CYP,"ell,tur",assigned 61 | Czech Republic,CZ,CZE,,+420,CZK,🇨🇿,CZE,ces,assigned 62 | Côte d'Ivoire,CI,CIV,,+225,XOF,🇨🇮,CIV,fra,assigned 63 | Democratic Republic Of Congo,CD,COD,,+243,CDF,🇨🇩,COD,"fra,lin,kon,swa",assigned 64 | Denmark,DK,DNK,,+45,DKK,🇩🇰,DEN,dan,assigned 65 | Diego Garcia,DG,,,,USD,,,,reserved 66 | Djibouti,DJ,DJI,,+253,DJF,🇩🇯,DJI,"ara,fra",assigned 67 | Dominica,DM,DMA,,+1 767,XCD,🇩🇲,DMA,eng,assigned 68 | Dominican Republic,DO,DOM,,"+1 809,+1 829,+1 849",DOP,🇩🇴,DOM,spa,assigned 69 | Ecuador,EC,ECU,,+593,USD,🇪🇨,ECU,"spa,que",assigned 70 | Egypt,EG,EGY,,+20,EGP,🇪🇬,EGY,ara,assigned 71 | El Salvador,SV,SLV,,+503,USD,🇸🇻,ESA,spa,assigned 72 | Equatorial Guinea,GQ,GNQ,,+240,XAF,🇬🇶,GEQ,"spa,fra,por",assigned 73 | Eritrea,ER,ERI,,+291,ERN,🇪🇷,ERI,"eng,ara,tir",assigned 74 | Estonia,EE,EST,,+372,EUR,🇪🇪,EST,est,assigned 75 | Ethiopia,ET,ETH,,+251,ETB,🇪🇹,ETH,amh,assigned 76 | European Union,EU,,.eu,+388,EUR,🇪🇺,,,reserved 77 | Falkland Islands,FK,FLK,,+500,FKP,🇫🇰,,eng,assigned 78 | Faroe Islands,FO,FRO,,+298,DKK,🇫🇴,FAI,"fao,dan",assigned 79 | Fiji,FJ,FJI,,+679,FJD,🇫🇯,FIJ,"eng,fij",assigned 80 | Finland,FI,FIN,,+358,EUR,🇫🇮,FIN,"fin,swe",assigned 81 | France,FR,FRA,,+33,EUR,🇫🇷,FRA,fra,assigned 82 | "France, Metropolitan",FX,,,+241,EUR,,,fra,reserved 83 | French Guiana,GF,GUF,,+594,EUR,🇬🇫,,fra,assigned 84 | French Polynesia,PF,PYF,,+689,XPF,🇵🇫,,fra,assigned 85 | French Southern Territories,TF,ATF,,,EUR,🇹🇫,,fra,assigned 86 | Gabon,GA,GAB,,+241,XAF,🇬🇦,GAB,fra,assigned 87 | Gambia,GM,GMB,,+220,GMD,🇬🇲,GAM,eng,assigned 88 | Georgia,GE,GEO,,+995,GEL,🇬🇪,GEO,kat,assigned 89 | Germany,DE,DEU,,+49,EUR,🇩🇪,GER,deu,assigned 90 | Ghana,GH,GHA,,+233,GHS,🇬🇭,GHA,eng,assigned 91 | Gibraltar,GI,GIB,,+350,GIP,🇬🇮,,eng,assigned 92 | Greece,GR,GRC,,+30,EUR,🇬🇷,GRE,ell,assigned 93 | Greenland,GL,GRL,,+299,DKK,🇬🇱,,kal,assigned 94 | Grenada,GD,GRD,,+473,XCD,🇬🇩,GRN,eng,assigned 95 | Guadeloupe,GP,GLP,,+590,EUR,🇬🇵,,fra,assigned 96 | Guam,GU,GUM,,+1 671,USD,🇬🇺,GUM,eng,assigned 97 | Guatemala,GT,GTM,,+502,GTQ,🇬🇹,GUA,spa,assigned 98 | Guernsey,GG,GGY,,+44,GBP,🇬🇬,GCI,fra,assigned 99 | Guinea,GN,GIN,,+224,GNF,🇬🇳,GUI,fra,assigned 100 | Guinea-bissau,GW,GNB,,+245,XOF,🇬🇼,GBS,por,assigned 101 | Guyana,GY,GUY,,+592,GYD,🇬🇾,GUY,eng,assigned 102 | Haiti,HT,HTI,,+509,"HTG,USD",🇭🇹,HAI,"fra,hat",assigned 103 | Heard Island And McDonald Islands,HM,HMD,,,AUD,🇭🇲,,,assigned 104 | Honduras,HN,HND,,+504,HNL,🇭🇳,HON,spa,assigned 105 | Hong Kong,HK,HKG,,+852,HKD,🇭🇰,HKG,"zho,eng",assigned 106 | Hungary,HU,HUN,,+36,HUF,🇭🇺,HUN,hun,assigned 107 | Iceland,IS,ISL,,+354,ISK,🇮🇸,ISL,isl,assigned 108 | India,IN,IND,,+91,INR,🇮🇳,IND,"eng,hin",assigned 109 | Indonesia,ID,IDN,,+62,IDR,🇮🇩,INA,ind,assigned 110 | "Iran, Islamic Republic Of",IR,IRN,,+98,IRR,🇮🇷,IRI,fas,assigned 111 | Iraq,IQ,IRQ,,+964,IQD,🇮🇶,IRQ,"ara,kur",assigned 112 | Ireland,IE,IRL,,+353,EUR,🇮🇪,IRL,"eng,gle",assigned 113 | Isle Of Man,IM,IMN,,+44,GBP,🇮🇲,,"eng,glv",assigned 114 | Israel,IL,ISR,,+972,ILS,🇮🇱,ISR,"heb,ara,eng",assigned 115 | Italy,IT,ITA,,+39,EUR,🇮🇹,ITA,ita,assigned 116 | Jamaica,JM,JAM,,+1 876,JMD,🇯🇲,JAM,eng,assigned 117 | Japan,JP,JPN,,+81,JPY,🇯🇵,JPN,jpn,assigned 118 | Jersey,JE,JEY,,+44,GBP,🇯🇪,JCI,"eng,fra",assigned 119 | Jordan,JO,JOR,,+962,JOD,🇯🇴,JOR,ara,assigned 120 | Kazakhstan,KZ,KAZ,,"+7,+7 6,+7 7",KZT,🇰🇿,KAZ,"kaz,rus",assigned 121 | Kenya,KE,KEN,,+254,KES,🇰🇪,KEN,"eng,swa",assigned 122 | Kiribati,KI,KIR,,+686,AUD,🇰🇮,KIR,eng,assigned 123 | "Korea, Democratic People's Republic Of",KP,PRK,,+850,KPW,🇰🇵,PRK,kor,assigned 124 | "Korea, Republic Of",KR,KOR,,+82,KRW,🇰🇷,KOR,kor,assigned 125 | Kosovo,XK,,,+383,EUR,,KOS,"sqi,srp,bos,tur,rom",user assigned 126 | Kuwait,KW,KWT,,+965,KWD,🇰🇼,KUW,ara,assigned 127 | Kyrgyzstan,KG,KGZ,,+996,KGS,🇰🇬,KGZ,rus,assigned 128 | Lao People's Democratic Republic,LA,LAO,,+856,LAK,🇱🇦,LAO,lao,assigned 129 | Latvia,LV,LVA,,+371,EUR,🇱🇻,LAT,lav,assigned 130 | Lebanon,LB,LBN,,+961,LBP,🇱🇧,LIB,"ara,hye",assigned 131 | Lesotho,LS,LSO,,+266,"LSL,ZAR",🇱🇸,LES,"eng,sot",assigned 132 | Liberia,LR,LBR,,+231,LRD,🇱🇷,LBR,eng,assigned 133 | Libya,LY,LBY,,+218,LYD,🇱🇾,LBA,ara,assigned 134 | Liechtenstein,LI,LIE,,+423,CHF,🇱🇮,LIE,deu,assigned 135 | Lithuania,LT,LTU,,+370,EUR,🇱🇹,LTU,lit,assigned 136 | Luxembourg,LU,LUX,,+352,EUR,🇱🇺,LUX,"fra,deu,ltz",assigned 137 | Macao,MO,MAC,,+853,MOP,🇲🇴,MAC,"zho,por",assigned 138 | "Macedonia, The Former Yugoslav Republic Of",MK,MKD,,+389,MKD,🇲🇰,MKD,mkd,assigned 139 | Madagascar,MG,MDG,,+261,MGA,🇲🇬,MAD,"fra,mlg",assigned 140 | Malawi,MW,MWI,,+265,MWK,🇲🇼,MAW,"eng,nya",assigned 141 | Malaysia,MY,MYS,,+60,MYR,🇲🇾,MAS,"msa,eng",assigned 142 | Maldives,MV,MDV,,+960,MVR,🇲🇻,MDV,div,assigned 143 | Mali,ML,MLI,,+223,XOF,🇲🇱,MLI,fra,assigned 144 | Malta,MT,MLT,,+356,EUR,🇲🇹,MLT,"mlt,eng",assigned 145 | Marshall Islands,MH,MHL,,+692,USD,🇲🇭,MHL,"eng,mah",assigned 146 | Martinique,MQ,MTQ,,+596,EUR,🇲🇶,,,assigned 147 | Mauritania,MR,MRT,,+222,MRO,🇲🇷,MTN,"ara,fra",assigned 148 | Mauritius,MU,MUS,,+230,MUR,🇲🇺,MRI,"eng,fra",assigned 149 | Mayotte,YT,MYT,,+262,EUR,🇾🇹,,fra,assigned 150 | Mexico,MX,MEX,,+52,"MXN,MXV",🇲🇽,MEX,spa,assigned 151 | "Micronesia, Federated States Of",FM,FSM,,+691,USD,🇫🇲,FSM,eng,assigned 152 | Moldova,MD,MDA,,+373,MDL,🇲🇩,MDA,ron,assigned 153 | Monaco,MC,MCO,,+377,EUR,🇲🇨,MON,fra,assigned 154 | Mongolia,MN,MNG,,+976,MNT,🇲🇳,MGL,mon,assigned 155 | Montenegro,ME,MNE,,+382,EUR,🇲🇪,MNE,mot,assigned 156 | Montserrat,MS,MSR,,+1 664,XCD,🇲🇸,,,assigned 157 | Morocco,MA,MAR,,+212,MAD,🇲🇦,MAR,ara,assigned 158 | Mozambique,MZ,MOZ,,+258,MZN,🇲🇿,MOZ,por,assigned 159 | Myanmar,MM,MMR,,+95,MMK,🇲🇲,MYA,mya,assigned 160 | Namibia,NA,NAM,,+264,"NAD,ZAR",🇳🇦,NAM,eng,assigned 161 | Nauru,NR,NRU,,+674,AUD,🇳🇷,NRU,"eng,nau",assigned 162 | Nepal,NP,NPL,,+977,NPR,🇳🇵,NEP,nep,assigned 163 | Netherlands,NL,NLD,,+31,EUR,🇳🇱,NED,nld,assigned 164 | New Caledonia,NC,NCL,,+687,XPF,🇳🇨,,fra,assigned 165 | New Zealand,NZ,NZL,,+64,NZD,🇳🇿,NZL,eng,assigned 166 | Nicaragua,NI,NIC,,+505,NIO,🇳🇮,NCA,spa,assigned 167 | Niger,NE,NER,,+227,XOF,🇳🇪,NIG,fra,assigned 168 | Nigeria,NG,NGA,,+234,NGN,🇳🇬,NGR,eng,assigned 169 | Niue,NU,NIU,,+683,NZD,🇳🇺,,eng,assigned 170 | Norfolk Island,NF,NFK,,+672,AUD,🇳🇫,,eng,assigned 171 | Northern Mariana Islands,MP,MNP,,+1 670,USD,🇲🇵,,eng,assigned 172 | Norway,NO,NOR,,+47,NOK,🇳🇴,NOR,nor,assigned 173 | Oman,OM,OMN,,+968,OMR,🇴🇲,OMA,ara,assigned 174 | Pakistan,PK,PAK,,+92,PKR,🇵🇰,PAK,"urd,eng",assigned 175 | Palau,PW,PLW,,+680,USD,🇵🇼,PLW,eng,assigned 176 | "Palestinian Territory, Occupied",PS,PSE,,+970,"JOD,EGP,ILS",🇵🇸,PLE,ara,assigned 177 | Panama,PA,PAN,,+507,"PAB,USD",🇵🇦,PAN,spa,assigned 178 | Papua New Guinea,PG,PNG,,+675,PGK,🇵🇬,PNG,eng,assigned 179 | Paraguay,PY,PRY,,+595,PYG,🇵🇾,PAR,spa,assigned 180 | Peru,PE,PER,,+51,PEN,🇵🇪,PER,"spa,aym,que",assigned 181 | Philippines,PH,PHL,,+63,PHP,🇵🇭,PHI,eng,assigned 182 | Pitcairn,PN,PCN,,+872,NZD,🇵🇳,,eng,assigned 183 | Poland,PL,POL,,+48,PLN,🇵🇱,POL,pol,assigned 184 | Portugal,PT,PRT,,+351,EUR,🇵🇹,POR,por,assigned 185 | Puerto Rico,PR,PRI,,"+1 787,+1 939",USD,🇵🇷,PUR,"spa,eng",assigned 186 | Qatar,QA,QAT,,+974,QAR,🇶🇦,QAT,ara,assigned 187 | Republic Of Congo,CG,COG,,+242,XAF,🇨🇬,CGO,"fra,lin",assigned 188 | Reunion,RE,REU,,+262,EUR,🇷🇪,,fra,assigned 189 | Romania,RO,ROU,,+40,RON,🇷🇴,ROU,ron,assigned 190 | Russian Federation,RU,RUS,,"+7,+7 3,+7 4,+7 8",RUB,🇷🇺,RUS,rus,assigned 191 | Rwanda,RW,RWA,,+250,RWF,🇷🇼,RWA,"eng,fra,kin",assigned 192 | Saint Barthélemy,BL,BLM,,+590,EUR,🇧🇱,,fra,assigned 193 | "Saint Helena, Ascension And Tristan Da Cunha",SH,SHN,,+290,SHP,🇸🇭,,eng,assigned 194 | Saint Kitts And Nevis,KN,KNA,,+1 869,XCD,🇰🇳,SKN,eng,assigned 195 | Saint Lucia,LC,LCA,,+1 758,XCD,🇱🇨,LCA,eng,assigned 196 | Saint Martin,MF,MAF,,+590,EUR,🇲🇫,,fra,assigned 197 | Saint Pierre And Miquelon,PM,SPM,,+508,EUR,🇵🇲,,eng,assigned 198 | Saint Vincent And The Grenadines,VC,VCT,,+1 784,XCD,🇻🇨,VIN,eng,assigned 199 | Samoa,WS,WSM,,+685,WST,🇼🇸,SAM,"eng,smo",assigned 200 | San Marino,SM,SMR,,+378,EUR,🇸🇲,SMR,ita,assigned 201 | Sao Tome and Principe,ST,STP,,+239,STD,🇸🇹,STP,por,assigned 202 | Saudi Arabia,SA,SAU,,+966,SAR,🇸🇦,KSA,ara,assigned 203 | Senegal,SN,SEN,,+221,XOF,🇸🇳,SEN,fra,assigned 204 | Serbia,RS,SRB,,+381,RSD,🇷🇸,SRB,srp,assigned 205 | Seychelles,SC,SYC,,+248,SCR,🇸🇨,SEY,"eng,fra",assigned 206 | Sierra Leone,SL,SLE,,+232,SLL,🇸🇱,SLE,eng,assigned 207 | Singapore,SG,SGP,,+65,SGD,🇸🇬,SIN,"eng,zho,msa,tam",assigned 208 | Sint Maarten,SX,SXM,,+1 721,ANG,🇸🇽,,nld,assigned 209 | Slovakia,SK,SVK,,+421,EUR,🇸🇰,SVK,slk,assigned 210 | Slovenia,SI,SVN,,+386,EUR,🇸🇮,SLO,slv,assigned 211 | Solomon Islands,SB,SLB,,+677,SBD,🇸🇧,SOL,eng,assigned 212 | Somalia,SO,SOM,,+252,SOS,🇸🇴,SOM,som,assigned 213 | South Africa,ZA,ZAF,,+27,ZAR,🇿🇦,RSA,"afr,eng,nbl,som,tso,ven,xho,zul",assigned 214 | South Georgia And The South Sandwich Islands,GS,SGS,,,GBP,🇬🇸,,eng,assigned 215 | South Sudan,SS,SSD,.ss,+211,SSP,🇸🇸,SSD,eng,assigned 216 | Spain,ES,ESP,,+34,EUR,🇪🇸,ESP,spa,assigned 217 | Sri Lanka,LK,LKA,,+94,LKR,🇱🇰,SRI,"sin,tam",assigned 218 | Sudan,SD,SDN,,+249,SDG,🇸🇩,SUD,"ara,eng",assigned 219 | Suriname,SR,SUR,,+597,SRD,🇸🇷,SUR,nld,assigned 220 | Svalbard And Jan Mayen,SJ,SJM,,+47,NOK,🇸🇯,,,assigned 221 | Swaziland,SZ,SWZ,,+268,SZL,🇸🇿,SWZ,"eng,ssw",assigned 222 | Sweden,SE,SWE,,+46,SEK,🇸🇪,SWE,swe,assigned 223 | Switzerland,CH,CHE,,+41,"CHF,CHE,CHW",🇨🇭,SUI,"deu,fra,ita,roh",assigned 224 | Syrian Arab Republic,SY,SYR,,+963,SYP,🇸🇾,SYR,ara,assigned 225 | Taiwan,TW,TWN,,+886,TWD,🇹🇼,TPE,zho,assigned 226 | Tajikistan,TJ,TJK,,+992,TJS,🇹🇯,TJK,"tgk,rus",assigned 227 | "Tanzania, United Republic Of",TZ,TZA,,+255,TZS,🇹🇿,TAN,"swa,eng",assigned 228 | Thailand,TH,THA,,+66,THB,🇹🇭,THA,tha,assigned 229 | "Timor-Leste, Democratic Republic of",TL,TLS,,+670,USD,🇹🇱,TLS,por,assigned 230 | Togo,TG,TGO,,+228,XOF,🇹🇬,TOG,fra,assigned 231 | Tokelau,TK,TKL,,+690,NZD,🇹🇰,,eng,assigned 232 | Tonga,TO,TON,,+676,TOP,🇹🇴,TGA,eng,assigned 233 | Trinidad And Tobago,TT,TTO,,+1 868,TTD,🇹🇹,TTO,eng,assigned 234 | Tristan de Cunha,TA,,,+290,GBP,,,,reserved 235 | Tunisia,TN,TUN,,+216,TND,🇹🇳,TUN,ara,assigned 236 | Turkey,TR,TUR,,+90,TRY,🇹🇷,TUR,tur,assigned 237 | Turkmenistan,TM,TKM,,+993,TMT,🇹🇲,TKM,"tuk,rus",assigned 238 | Turks And Caicos Islands,TC,TCA,,+1 649,USD,🇹🇨,,eng,assigned 239 | Tuvalu,TV,TUV,,+688,AUD,🇹🇻,TUV,eng,assigned 240 | Uganda,UG,UGA,,+256,UGX,🇺🇬,UGA,"eng,swa",assigned 241 | Ukraine,UA,UKR,,+380,UAH,🇺🇦,UKR,"ukr,rus",assigned 242 | United Arab Emirates,AE,ARE,,+971,AED,🇦🇪,UAE,ara,assigned 243 | United Kingdom,GB,GBR,,+44,GBP,🇬🇧,GBR,"eng,cor,gle,gla,cym",assigned 244 | United Kingdom,UK,,.uk,,GBP,,,"eng,cor,gle,gla,cym",reserved 245 | United States,US,USA,,+1,USD,🇺🇸,USA,eng,assigned 246 | United States Minor Outlying Islands,UM,UMI,,+1,USD,🇺🇲,,eng,assigned 247 | Uruguay,UY,URY,,+598,"UYU,UYI",🇺🇾,URU,spa,assigned 248 | USSR,SU,,.su,,RUB,,,rus,reserved 249 | Uzbekistan,UZ,UZB,,+998,UZS,🇺🇿,UZB,"uzb,rus",assigned 250 | Vanuatu,VU,VUT,,+678,VUV,🇻🇺,VAN,"bis,eng,fra",assigned 251 | Vatican City State,VA,VAT,,"+379,+39",EUR,🇻🇦,,ita,assigned 252 | "Venezuela, Bolivarian Republic Of",VE,VEN,,+58,VEF,🇻🇪,VEN,spa,assigned 253 | Viet Nam,VN,VNM,,+84,VND,🇻🇳,VIE,vie,assigned 254 | Virgin Islands (British),VG,VGB,,+1 284,USD,🇻🇬,IVB,eng,assigned 255 | Virgin Islands (US),VI,VIR,,+1 340,USD,🇻🇮,ISV,eng,assigned 256 | Wallis And Futuna,WF,WLF,,+681,XPF,🇼🇫,,fra,assigned 257 | Western Sahara,EH,ESH,,+212,MAD,🇪🇭,,,assigned 258 | Yemen,YE,YEM,,+967,YER,🇾🇪,YEM,ara,assigned 259 | Zambia,ZM,ZMB,,+260,ZMW,🇿🇲,ZAM,eng,assigned 260 | Zimbabwe,ZW,ZWE,,+263,"USD,ZAR,BWP,GBP,EUR",🇿🇼,ZIM,"eng,sna,nde",assigned 261 | Åland Islands,AX,ALA,,+358,EUR,🇦🇽,,swe,assigned 262 | -------------------------------------------------------------------------------- /data/currencies.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "code": "AED", 4 | "decimals": 2, 5 | "name": "United Arab Emirates dirham", 6 | "number": "784" 7 | }, 8 | { 9 | "code": "AFN", 10 | "decimals": 2, 11 | "name": "Afghan afghani", 12 | "number": "971" 13 | }, 14 | { 15 | "code": "ALL", 16 | "decimals": 2, 17 | "name": "Albanian lek", 18 | "number": "8" 19 | }, 20 | { 21 | "code": "AMD", 22 | "decimals": 2, 23 | "name": "Armenian dram", 24 | "number": "51" 25 | }, 26 | { 27 | "code": "ANG", 28 | "decimals": 2, 29 | "name": "Netherlands Antillean guilder", 30 | "number": "532" 31 | }, 32 | { 33 | "code": "AOA", 34 | "decimals": 2, 35 | "name": "Angolan kwanza", 36 | "number": "973" 37 | }, 38 | { 39 | "code": "ARS", 40 | "decimals": 2, 41 | "name": "Argentine peso", 42 | "number": "32" 43 | }, 44 | { 45 | "code": "AUD", 46 | "decimals": 2, 47 | "name": "Australian dollar", 48 | "number": "36" 49 | }, 50 | { 51 | "code": "AWG", 52 | "decimals": 2, 53 | "name": "Aruban florin", 54 | "number": "533" 55 | }, 56 | { 57 | "code": "AZN", 58 | "decimals": 2, 59 | "name": "Azerbaijani manat", 60 | "number": "944" 61 | }, 62 | { 63 | "code": "BAM", 64 | "decimals": 2, 65 | "name": "Bosnia and Herzegovina convertible mark", 66 | "number": "977" 67 | }, 68 | { 69 | "code": "BBD", 70 | "decimals": 2, 71 | "name": "Barbados dollar", 72 | "number": "52" 73 | }, 74 | { 75 | "code": "BDT", 76 | "decimals": 2, 77 | "name": "Bangladeshi taka", 78 | "number": "50" 79 | }, 80 | { 81 | "code": "BGN", 82 | "decimals": 2, 83 | "name": "Bulgarian lev", 84 | "number": "975" 85 | }, 86 | { 87 | "code": "BHD", 88 | "decimals": 3, 89 | "name": "Bahraini dinar", 90 | "number": "48" 91 | }, 92 | { 93 | "code": "BIF", 94 | "decimals": 0, 95 | "name": "Burundian franc", 96 | "number": "108" 97 | }, 98 | { 99 | "code": "BMD", 100 | "decimals": 2, 101 | "name": "Bermudian dollar (customarily known as Bermuda dollar)", 102 | "number": "60" 103 | }, 104 | { 105 | "code": "BND", 106 | "decimals": 2, 107 | "name": "Brunei dollar", 108 | "number": "96" 109 | }, 110 | { 111 | "code": "BOB", 112 | "decimals": 2, 113 | "name": "Boliviano", 114 | "number": "68" 115 | }, 116 | { 117 | "code": "BOV", 118 | "decimals": 2, 119 | "name": "Bolivian Mvdol (funds code)", 120 | "number": "984" 121 | }, 122 | { 123 | "code": "BRL", 124 | "decimals": 2, 125 | "name": "Brazilian real", 126 | "number": "986" 127 | }, 128 | { 129 | "code": "BSD", 130 | "decimals": 2, 131 | "name": "Bahamian dollar", 132 | "number": "44" 133 | }, 134 | { 135 | "code": "BTN", 136 | "decimals": 2, 137 | "name": "Bhutanese ngultrum", 138 | "number": "64" 139 | }, 140 | { 141 | "code": "BWP", 142 | "decimals": 2, 143 | "name": "Botswana pula", 144 | "number": "72" 145 | }, 146 | { 147 | "code": "BYR", 148 | "decimals": 0, 149 | "name": "Belarusian ruble", 150 | "number": "974" 151 | }, 152 | { 153 | "code": "BZD", 154 | "decimals": 2, 155 | "name": "Belize dollar", 156 | "number": "84" 157 | }, 158 | { 159 | "code": "CAD", 160 | "decimals": 2, 161 | "name": "Canadian dollar", 162 | "number": "124" 163 | }, 164 | { 165 | "code": "CDF", 166 | "decimals": 2, 167 | "name": "Congolese franc", 168 | "number": "976" 169 | }, 170 | { 171 | "code": "CHE", 172 | "decimals": 2, 173 | "name": "WIR Euro (complementary currency)", 174 | "number": "947" 175 | }, 176 | { 177 | "code": "CHF", 178 | "decimals": 2, 179 | "name": "Swiss franc", 180 | "number": "756" 181 | }, 182 | { 183 | "code": "CHW", 184 | "decimals": 2, 185 | "name": "WIR Franc (complementary currency)", 186 | "number": "948" 187 | }, 188 | { 189 | "code": "CLF", 190 | "decimals": 0, 191 | "name": "Unidad de Fomento (funds code)", 192 | "number": "990" 193 | }, 194 | { 195 | "code": "CLP", 196 | "decimals": 0, 197 | "name": "Chilean peso", 198 | "number": "152" 199 | }, 200 | { 201 | "code": "CNY", 202 | "decimals": 2, 203 | "name": "Chinese yuan", 204 | "number": "156" 205 | }, 206 | { 207 | "code": "COP", 208 | "decimals": 2, 209 | "name": "Colombian peso", 210 | "number": "170" 211 | }, 212 | { 213 | "code": "COU", 214 | "decimals": 2, 215 | "name": "Unidad de Valor Real", 216 | "number": "970" 217 | }, 218 | { 219 | "code": "CRC", 220 | "decimals": 2, 221 | "name": "Costa Rican colon", 222 | "number": "188" 223 | }, 224 | { 225 | "code": "CUC", 226 | "decimals": 2, 227 | "name": "Cuban convertible peso", 228 | "number": "931" 229 | }, 230 | { 231 | "code": "CUP", 232 | "decimals": 2, 233 | "name": "Cuban peso", 234 | "number": "192" 235 | }, 236 | { 237 | "code": "CVE", 238 | "decimals": 0, 239 | "name": "Cape Verde escudo", 240 | "number": "132" 241 | }, 242 | { 243 | "code": "CZK", 244 | "decimals": 2, 245 | "name": "Czech koruna", 246 | "number": "203" 247 | }, 248 | { 249 | "code": "DJF", 250 | "decimals": 0, 251 | "name": "Djiboutian franc", 252 | "number": "262" 253 | }, 254 | { 255 | "code": "DKK", 256 | "decimals": 2, 257 | "name": "Danish krone", 258 | "number": "208" 259 | }, 260 | { 261 | "code": "DOP", 262 | "decimals": 2, 263 | "name": "Dominican peso", 264 | "number": "214" 265 | }, 266 | { 267 | "code": "DZD", 268 | "decimals": 2, 269 | "name": "Algerian dinar", 270 | "number": "12" 271 | }, 272 | { 273 | "code": "EGP", 274 | "decimals": 2, 275 | "name": "Egyptian pound", 276 | "number": "818" 277 | }, 278 | { 279 | "code": "ERN", 280 | "decimals": 2, 281 | "name": "Eritrean nakfa", 282 | "number": "232" 283 | }, 284 | { 285 | "code": "ETB", 286 | "decimals": 2, 287 | "name": "Ethiopian birr", 288 | "number": "230" 289 | }, 290 | { 291 | "code": "EUR", 292 | "decimals": 2, 293 | "name": "Euro", 294 | "number": "978" 295 | }, 296 | { 297 | "code": "FJD", 298 | "decimals": 2, 299 | "name": "Fiji dollar", 300 | "number": "242" 301 | }, 302 | { 303 | "code": "FKP", 304 | "decimals": 2, 305 | "name": "Falkland Islands pound", 306 | "number": "238" 307 | }, 308 | { 309 | "code": "GBP", 310 | "decimals": 2, 311 | "name": "Pound sterling", 312 | "number": "826" 313 | }, 314 | { 315 | "code": "GEL", 316 | "decimals": 2, 317 | "name": "Georgian lari", 318 | "number": "981" 319 | }, 320 | { 321 | "code": "GHS", 322 | "decimals": 2, 323 | "name": "Ghanaian cedi", 324 | "number": "936" 325 | }, 326 | { 327 | "code": "GIP", 328 | "decimals": 2, 329 | "name": "Gibraltar pound", 330 | "number": "292" 331 | }, 332 | { 333 | "code": "GMD", 334 | "decimals": 2, 335 | "name": "Gambian dalasi", 336 | "number": "270" 337 | }, 338 | { 339 | "code": "GNF", 340 | "decimals": 0, 341 | "name": "Guinean franc", 342 | "number": "324" 343 | }, 344 | { 345 | "code": "GTQ", 346 | "decimals": 2, 347 | "name": "Guatemalan quetzal", 348 | "number": "320" 349 | }, 350 | { 351 | "code": "GYD", 352 | "decimals": 2, 353 | "name": "Guyanese dollar", 354 | "number": "328" 355 | }, 356 | { 357 | "code": "HKD", 358 | "decimals": 2, 359 | "name": "Hong Kong dollar", 360 | "number": "344" 361 | }, 362 | { 363 | "code": "HNL", 364 | "decimals": 2, 365 | "name": "Honduran lempira", 366 | "number": "340" 367 | }, 368 | { 369 | "code": "HRK", 370 | "decimals": 2, 371 | "name": "Croatian kuna", 372 | "number": "191" 373 | }, 374 | { 375 | "code": "HTG", 376 | "decimals": 2, 377 | "name": "Haitian gourde", 378 | "number": "332" 379 | }, 380 | { 381 | "code": "HUF", 382 | "decimals": 2, 383 | "name": "Hungarian forint", 384 | "number": "348" 385 | }, 386 | { 387 | "code": "IDR", 388 | "decimals": 2, 389 | "name": "Indonesian rupiah", 390 | "number": "360" 391 | }, 392 | { 393 | "code": "ILS", 394 | "decimals": 2, 395 | "name": "Israeli new shekel", 396 | "number": "376" 397 | }, 398 | { 399 | "code": "INR", 400 | "decimals": 2, 401 | "name": "Indian rupee", 402 | "number": "356" 403 | }, 404 | { 405 | "code": "IQD", 406 | "decimals": 3, 407 | "name": "Iraqi dinar", 408 | "number": "368" 409 | }, 410 | { 411 | "code": "IRR", 412 | "decimals": 0, 413 | "name": "Iranian rial", 414 | "number": "364" 415 | }, 416 | { 417 | "code": "ISK", 418 | "decimals": 0, 419 | "name": "Icelandic króna", 420 | "number": "352" 421 | }, 422 | { 423 | "code": "JMD", 424 | "decimals": 2, 425 | "name": "Jamaican dollar", 426 | "number": "388" 427 | }, 428 | { 429 | "code": "JOD", 430 | "decimals": 3, 431 | "name": "Jordanian dinar", 432 | "number": "400" 433 | }, 434 | { 435 | "code": "JPY", 436 | "decimals": 0, 437 | "name": "Japanese yen", 438 | "number": "392" 439 | }, 440 | { 441 | "code": "KES", 442 | "decimals": 2, 443 | "name": "Kenyan shilling", 444 | "number": "404" 445 | }, 446 | { 447 | "code": "KGS", 448 | "decimals": 2, 449 | "name": "Kyrgyzstani som", 450 | "number": "417" 451 | }, 452 | { 453 | "code": "KHR", 454 | "decimals": 2, 455 | "name": "Cambodian riel", 456 | "number": "116" 457 | }, 458 | { 459 | "code": "KMF", 460 | "decimals": 0, 461 | "name": "Comoro franc", 462 | "number": "174" 463 | }, 464 | { 465 | "code": "KPW", 466 | "decimals": 0, 467 | "name": "North Korean won", 468 | "number": "408" 469 | }, 470 | { 471 | "code": "KRW", 472 | "decimals": 0, 473 | "name": "South Korean won", 474 | "number": "410" 475 | }, 476 | { 477 | "code": "KWD", 478 | "decimals": 3, 479 | "name": "Kuwaiti dinar", 480 | "number": "414" 481 | }, 482 | { 483 | "code": "KYD", 484 | "decimals": 2, 485 | "name": "Cayman Islands dollar", 486 | "number": "136" 487 | }, 488 | { 489 | "code": "KZT", 490 | "decimals": 2, 491 | "name": "Kazakhstani tenge", 492 | "number": "398" 493 | }, 494 | { 495 | "code": "LAK", 496 | "decimals": 0, 497 | "name": "Lao kip", 498 | "number": "418" 499 | }, 500 | { 501 | "code": "LBP", 502 | "decimals": 0, 503 | "name": "Lebanese pound", 504 | "number": "422" 505 | }, 506 | { 507 | "code": "LKR", 508 | "decimals": 2, 509 | "name": "Sri Lankan rupee", 510 | "number": "144" 511 | }, 512 | { 513 | "code": "LRD", 514 | "decimals": 2, 515 | "name": "Liberian dollar", 516 | "number": "430" 517 | }, 518 | { 519 | "code": "LSL", 520 | "decimals": 2, 521 | "name": "Lesotho loti", 522 | "number": "426" 523 | }, 524 | { 525 | "code": "LTL", 526 | "decimals": 2, 527 | "name": "Lithuanian litas", 528 | "number": "440" 529 | }, 530 | { 531 | "code": "LVL", 532 | "decimals": 2, 533 | "name": "Latvian lats", 534 | "number": "428" 535 | }, 536 | { 537 | "code": "LYD", 538 | "decimals": 3, 539 | "name": "Libyan dinar", 540 | "number": "434" 541 | }, 542 | { 543 | "code": "MAD", 544 | "decimals": 2, 545 | "name": "Moroccan dirham", 546 | "number": "504" 547 | }, 548 | { 549 | "code": "MDL", 550 | "decimals": 2, 551 | "name": "Moldovan leu", 552 | "number": "498" 553 | }, 554 | { 555 | "code": "MGA", 556 | "decimals": 0, 557 | "name": "Malagasy ariary", 558 | "number": "969" 559 | }, 560 | { 561 | "code": "MKD", 562 | "decimals": 0, 563 | "name": "Macedonian denar", 564 | "number": "807" 565 | }, 566 | { 567 | "code": "MMK", 568 | "decimals": 0, 569 | "name": "Myanma kyat", 570 | "number": "104" 571 | }, 572 | { 573 | "code": "MNT", 574 | "decimals": 2, 575 | "name": "Mongolian tugrik", 576 | "number": "496" 577 | }, 578 | { 579 | "code": "MOP", 580 | "decimals": 2, 581 | "name": "Macanese pataca", 582 | "number": "446" 583 | }, 584 | { 585 | "code": "MRO", 586 | "decimals": 0, 587 | "name": "Mauritanian ouguiya", 588 | "number": "478" 589 | }, 590 | { 591 | "code": "MUR", 592 | "decimals": 2, 593 | "name": "Mauritian rupee", 594 | "number": "480" 595 | }, 596 | { 597 | "code": "MVR", 598 | "decimals": 2, 599 | "name": "Maldivian rufiyaa", 600 | "number": "462" 601 | }, 602 | { 603 | "code": "MWK", 604 | "decimals": 2, 605 | "name": "Malawian kwacha", 606 | "number": "454" 607 | }, 608 | { 609 | "code": "MXN", 610 | "decimals": 2, 611 | "name": "Mexican peso", 612 | "number": "484" 613 | }, 614 | { 615 | "code": "MXV", 616 | "decimals": 2, 617 | "name": "Mexican Unidad de Inversion (UDI) (funds code)", 618 | "number": "979" 619 | }, 620 | { 621 | "code": "MYR", 622 | "decimals": 2, 623 | "name": "Malaysian ringgit", 624 | "number": "458" 625 | }, 626 | { 627 | "code": "MZN", 628 | "decimals": 2, 629 | "name": "Mozambican metical", 630 | "number": "943" 631 | }, 632 | { 633 | "code": "NAD", 634 | "decimals": 2, 635 | "name": "Namibian dollar", 636 | "number": "516" 637 | }, 638 | { 639 | "code": "NGN", 640 | "decimals": 2, 641 | "name": "Nigerian naira", 642 | "number": "566" 643 | }, 644 | { 645 | "code": "NIO", 646 | "decimals": 2, 647 | "name": "Nicaraguan córdoba", 648 | "number": "558" 649 | }, 650 | { 651 | "code": "NOK", 652 | "decimals": 2, 653 | "name": "Norwegian krone", 654 | "number": "578" 655 | }, 656 | { 657 | "code": "NPR", 658 | "decimals": 2, 659 | "name": "Nepalese rupee", 660 | "number": "524" 661 | }, 662 | { 663 | "code": "NZD", 664 | "decimals": 2, 665 | "name": "New Zealand dollar", 666 | "number": "554" 667 | }, 668 | { 669 | "code": "OMR", 670 | "decimals": 3, 671 | "name": "Omani rial", 672 | "number": "512" 673 | }, 674 | { 675 | "code": "PAB", 676 | "decimals": 2, 677 | "name": "Panamanian balboa", 678 | "number": "590" 679 | }, 680 | { 681 | "code": "PEN", 682 | "decimals": 2, 683 | "name": "Peruvian nuevo sol", 684 | "number": "604" 685 | }, 686 | { 687 | "code": "PGK", 688 | "decimals": 2, 689 | "name": "Papua New Guinean kina", 690 | "number": "598" 691 | }, 692 | { 693 | "code": "PHP", 694 | "decimals": 2, 695 | "name": "Philippine peso", 696 | "number": "608" 697 | }, 698 | { 699 | "code": "PKR", 700 | "decimals": 2, 701 | "name": "Pakistani rupee", 702 | "number": "586" 703 | }, 704 | { 705 | "code": "PLN", 706 | "decimals": 2, 707 | "name": "Polish złoty", 708 | "number": "985" 709 | }, 710 | { 711 | "code": "PYG", 712 | "decimals": 0, 713 | "name": "Paraguayan guaraní", 714 | "number": "600" 715 | }, 716 | { 717 | "code": "QAR", 718 | "decimals": 2, 719 | "name": "Qatari riyal", 720 | "number": "634" 721 | }, 722 | { 723 | "code": "RON", 724 | "decimals": 2, 725 | "name": "Romanian new leu", 726 | "number": "946" 727 | }, 728 | { 729 | "code": "RSD", 730 | "decimals": 2, 731 | "name": "Serbian dinar", 732 | "number": "941" 733 | }, 734 | { 735 | "code": "RUB", 736 | "decimals": 2, 737 | "name": "Russian rouble", 738 | "number": "643" 739 | }, 740 | { 741 | "code": "RWF", 742 | "decimals": 0, 743 | "name": "Rwandan franc", 744 | "number": "646" 745 | }, 746 | { 747 | "code": "SAR", 748 | "decimals": 2, 749 | "name": "Saudi riyal", 750 | "number": "682" 751 | }, 752 | { 753 | "code": "SBD", 754 | "decimals": 2, 755 | "name": "Solomon Islands dollar", 756 | "number": "90" 757 | }, 758 | { 759 | "code": "SCR", 760 | "decimals": 2, 761 | "name": "Seychelles rupee", 762 | "number": "690" 763 | }, 764 | { 765 | "code": "SDG", 766 | "decimals": 2, 767 | "name": "Sudanese pound", 768 | "number": "938" 769 | }, 770 | { 771 | "code": "SEK", 772 | "decimals": 2, 773 | "name": "Swedish krona/kronor", 774 | "number": "752" 775 | }, 776 | { 777 | "code": "SGD", 778 | "decimals": 2, 779 | "name": "Singapore dollar", 780 | "number": "702" 781 | }, 782 | { 783 | "code": "SHP", 784 | "decimals": 2, 785 | "name": "Saint Helena pound", 786 | "number": "654" 787 | }, 788 | { 789 | "code": "SLL", 790 | "decimals": 0, 791 | "name": "Sierra Leonean leone", 792 | "number": "694" 793 | }, 794 | { 795 | "code": "SOS", 796 | "decimals": 2, 797 | "name": "Somali shilling", 798 | "number": "706" 799 | }, 800 | { 801 | "code": "SRD", 802 | "decimals": 2, 803 | "name": "Surinamese dollar", 804 | "number": "968" 805 | }, 806 | { 807 | "code": "SSP", 808 | "decimals": 2, 809 | "name": "South Sudanese pound", 810 | "number": "728" 811 | }, 812 | { 813 | "code": "STD", 814 | "decimals": 0, 815 | "name": "São Tomé and Príncipe dobra", 816 | "number": "678" 817 | }, 818 | { 819 | "code": "SYP", 820 | "decimals": 2, 821 | "name": "Syrian pound", 822 | "number": "760" 823 | }, 824 | { 825 | "code": "SZL", 826 | "decimals": 2, 827 | "name": "Swazi lilangeni", 828 | "number": "748" 829 | }, 830 | { 831 | "code": "THB", 832 | "decimals": 2, 833 | "name": "Thai baht", 834 | "number": "764" 835 | }, 836 | { 837 | "code": "TJS", 838 | "decimals": 2, 839 | "name": "Tajikistani somoni", 840 | "number": "972" 841 | }, 842 | { 843 | "code": "TMT", 844 | "decimals": 2, 845 | "name": "Turkmenistani manat", 846 | "number": "934" 847 | }, 848 | { 849 | "code": "TND", 850 | "decimals": 3, 851 | "name": "Tunisian dinar", 852 | "number": "788" 853 | }, 854 | { 855 | "code": "TOP", 856 | "decimals": 2, 857 | "name": "Tongan paʻanga", 858 | "number": "776" 859 | }, 860 | { 861 | "code": "TRY", 862 | "decimals": 2, 863 | "name": "Turkish lira", 864 | "number": "949" 865 | }, 866 | { 867 | "code": "TTD", 868 | "decimals": 2, 869 | "name": "Trinidad and Tobago dollar", 870 | "number": "780" 871 | }, 872 | { 873 | "code": "TWD", 874 | "decimals": 2, 875 | "name": "New Taiwan dollar", 876 | "number": "901" 877 | }, 878 | { 879 | "code": "TZS", 880 | "decimals": 2, 881 | "name": "Tanzanian shilling", 882 | "number": "834" 883 | }, 884 | { 885 | "code": "UAH", 886 | "decimals": 2, 887 | "name": "Ukrainian hryvnia", 888 | "number": "980" 889 | }, 890 | { 891 | "code": "UGX", 892 | "decimals": 2, 893 | "name": "Ugandan shilling", 894 | "number": "800" 895 | }, 896 | { 897 | "code": "USD", 898 | "decimals": 2, 899 | "name": "United States dollar", 900 | "number": "840" 901 | }, 902 | { 903 | "code": "USN", 904 | "decimals": 2, 905 | "name": "United States dollar (next day) (funds code)", 906 | "number": "997" 907 | }, 908 | { 909 | "code": "USS", 910 | "decimals": 2, 911 | "name": "United States dollar (same day) (funds code) (one source[who?] claims it is no longer used, but it is still on the ISO 4217-MA list)", 912 | "number": "998" 913 | }, 914 | { 915 | "code": "UYI", 916 | "decimals": 0, 917 | "name": "Uruguay Peso en Unidades Indexadas (URUIURUI) (funds code)", 918 | "number": "940" 919 | }, 920 | { 921 | "code": "UYU", 922 | "decimals": 2, 923 | "name": "Uruguayan peso", 924 | "number": "858" 925 | }, 926 | { 927 | "code": "UZS", 928 | "decimals": 2, 929 | "name": "Uzbekistan som", 930 | "number": "860" 931 | }, 932 | { 933 | "code": "VEF", 934 | "decimals": 2, 935 | "name": "Venezuelan bolívar fuerte", 936 | "number": "937" 937 | }, 938 | { 939 | "code": "VND", 940 | "decimals": 0, 941 | "name": "Vietnamese dong", 942 | "number": "704" 943 | }, 944 | { 945 | "code": "VUV", 946 | "decimals": 0, 947 | "name": "Vanuatu vatu", 948 | "number": "548" 949 | }, 950 | { 951 | "code": "WST", 952 | "decimals": 2, 953 | "name": "Samoan tala", 954 | "number": "882" 955 | }, 956 | { 957 | "code": "XAF", 958 | "decimals": 0, 959 | "name": "CFA franc BEAC", 960 | "number": "950" 961 | }, 962 | { 963 | "code": "XAG", 964 | "decimals": null, 965 | "name": "Silver (one troy ounce)", 966 | "number": "961" 967 | }, 968 | { 969 | "code": "XAU", 970 | "decimals": null, 971 | "name": "Gold (one troy ounce)", 972 | "number": "959" 973 | }, 974 | { 975 | "code": "XBA", 976 | "decimals": null, 977 | "name": "European Composite Unit (EURCO) (bond market unit)", 978 | "number": "955" 979 | }, 980 | { 981 | "code": "XBB", 982 | "decimals": null, 983 | "name": "European Monetary Unit (E.M.U.-6) (bond market unit)", 984 | "number": "956" 985 | }, 986 | { 987 | "code": "XBC", 988 | "decimals": null, 989 | "name": "European Unit of Account 9 (E.U.A.-9) (bond market unit)", 990 | "number": "957" 991 | }, 992 | { 993 | "code": "XBD", 994 | "decimals": null, 995 | "name": "European Unit of Account 17 (E.U.A.-17) (bond market unit)", 996 | "number": "958" 997 | }, 998 | { 999 | "code": "XCD", 1000 | "decimals": 2, 1001 | "name": "East Caribbean dollar", 1002 | "number": "951" 1003 | }, 1004 | { 1005 | "code": "XDR", 1006 | "decimals": null, 1007 | "name": "Special drawing rights", 1008 | "number": "960" 1009 | }, 1010 | { 1011 | "code": "XFU", 1012 | "decimals": null, 1013 | "name": "UIC franc (special settlement currency)", 1014 | "number": "Nil" 1015 | }, 1016 | { 1017 | "code": "XOF", 1018 | "decimals": 0, 1019 | "name": "CFA franc BCEAO", 1020 | "number": "952" 1021 | }, 1022 | { 1023 | "code": "XPD", 1024 | "decimals": null, 1025 | "name": "Palladium (one troy ounce)", 1026 | "number": "964" 1027 | }, 1028 | { 1029 | "code": "XPF", 1030 | "decimals": 0, 1031 | "name": "CFP franc", 1032 | "number": "953" 1033 | }, 1034 | { 1035 | "code": "XPT", 1036 | "decimals": null, 1037 | "name": "Platinum (one troy ounce)", 1038 | "number": "962" 1039 | }, 1040 | { 1041 | "code": "XTS", 1042 | "decimals": null, 1043 | "name": "Code reserved for testing purposes", 1044 | "number": "963" 1045 | }, 1046 | { 1047 | "code": "XXX", 1048 | "decimals": null, 1049 | "name": "No currency", 1050 | "number": "999" 1051 | }, 1052 | { 1053 | "code": "YER", 1054 | "decimals": 2, 1055 | "name": "Yemeni rial", 1056 | "number": "886" 1057 | }, 1058 | { 1059 | "code": "ZAR", 1060 | "decimals": 2, 1061 | "name": "South African rand", 1062 | "number": "710" 1063 | }, 1064 | { 1065 | "code": "ZMW", 1066 | "decimals": 2, 1067 | "name": "Zambian kwacha", 1068 | "number": "967" 1069 | } 1070 | ] 1071 | -------------------------------------------------------------------------------- /data/languages.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "alpha2": "aa", 4 | "alpha3": "aar", 5 | "bibliographic": "", 6 | "name": "Afar" 7 | }, 8 | { 9 | "alpha2": "ab", 10 | "alpha3": "abk", 11 | "bibliographic": "", 12 | "name": "Abkhazian" 13 | }, 14 | { 15 | "alpha2": "", 16 | "alpha3": "ace", 17 | "bibliographic": "", 18 | "name": "Achinese" 19 | }, 20 | { 21 | "alpha2": "", 22 | "alpha3": "ach", 23 | "bibliographic": "", 24 | "name": "Acoli" 25 | }, 26 | { 27 | "alpha2": "", 28 | "alpha3": "ada", 29 | "bibliographic": "", 30 | "name": "Adangme" 31 | }, 32 | { 33 | "alpha2": "", 34 | "alpha3": "ady", 35 | "bibliographic": "", 36 | "name": "Adygei" 37 | }, 38 | { 39 | "alpha2": "", 40 | "alpha3": "ady", 41 | "bibliographic": "", 42 | "name": "Adyghe" 43 | }, 44 | { 45 | "alpha2": "", 46 | "alpha3": "afa", 47 | "bibliographic": "", 48 | "name": "Afro-Asiatic languages" 49 | }, 50 | { 51 | "alpha2": "", 52 | "alpha3": "afh", 53 | "bibliographic": "", 54 | "name": "Afrihili" 55 | }, 56 | { 57 | "alpha2": "af", 58 | "alpha3": "afr", 59 | "bibliographic": "", 60 | "name": "Afrikaans" 61 | }, 62 | { 63 | "alpha2": "", 64 | "alpha3": "ain", 65 | "bibliographic": "", 66 | "name": "Ainu" 67 | }, 68 | { 69 | "alpha2": "ak", 70 | "alpha3": "aka", 71 | "bibliographic": "", 72 | "name": "Akan" 73 | }, 74 | { 75 | "alpha2": "", 76 | "alpha3": "akk", 77 | "bibliographic": "", 78 | "name": "Akkadian" 79 | }, 80 | { 81 | "alpha2": "", 82 | "alpha3": "ale", 83 | "bibliographic": "", 84 | "name": "Aleut" 85 | }, 86 | { 87 | "alpha2": "", 88 | "alpha3": "alg", 89 | "bibliographic": "", 90 | "name": "Algonquian languages" 91 | }, 92 | { 93 | "alpha2": "", 94 | "alpha3": "alt", 95 | "bibliographic": "", 96 | "name": "Southern Altai" 97 | }, 98 | { 99 | "alpha2": "am", 100 | "alpha3": "amh", 101 | "bibliographic": "", 102 | "name": "Amharic" 103 | }, 104 | { 105 | "alpha2": "", 106 | "alpha3": "ang", 107 | "bibliographic": "", 108 | "name": "English, Old (ca.450-1100)" 109 | }, 110 | { 111 | "alpha2": "", 112 | "alpha3": "anp", 113 | "bibliographic": "", 114 | "name": "Angika" 115 | }, 116 | { 117 | "alpha2": "", 118 | "alpha3": "apa", 119 | "bibliographic": "", 120 | "name": "Apache languages" 121 | }, 122 | { 123 | "alpha2": "ar", 124 | "alpha3": "ara", 125 | "bibliographic": "", 126 | "name": "Arabic" 127 | }, 128 | { 129 | "alpha2": "", 130 | "alpha3": "arc", 131 | "bibliographic": "", 132 | "name": "Imperial Aramaic (700-300 BCE)" 133 | }, 134 | { 135 | "alpha2": "", 136 | "alpha3": "arc", 137 | "bibliographic": "", 138 | "name": "Official Aramaic (700-300 BCE)" 139 | }, 140 | { 141 | "alpha2": "an", 142 | "alpha3": "arg", 143 | "bibliographic": "", 144 | "name": "Aragonese" 145 | }, 146 | { 147 | "alpha2": "", 148 | "alpha3": "arn", 149 | "bibliographic": "", 150 | "name": "Mapuche" 151 | }, 152 | { 153 | "alpha2": "", 154 | "alpha3": "arn", 155 | "bibliographic": "", 156 | "name": "Mapudungun" 157 | }, 158 | { 159 | "alpha2": "", 160 | "alpha3": "arp", 161 | "bibliographic": "", 162 | "name": "Arapaho" 163 | }, 164 | { 165 | "alpha2": "", 166 | "alpha3": "art", 167 | "bibliographic": "", 168 | "name": "Artificial languages" 169 | }, 170 | { 171 | "alpha2": "", 172 | "alpha3": "arw", 173 | "bibliographic": "", 174 | "name": "Arawak" 175 | }, 176 | { 177 | "alpha2": "as", 178 | "alpha3": "asm", 179 | "bibliographic": "", 180 | "name": "Assamese" 181 | }, 182 | { 183 | "alpha2": "", 184 | "alpha3": "ast", 185 | "bibliographic": "", 186 | "name": "Asturian" 187 | }, 188 | { 189 | "alpha2": "", 190 | "alpha3": "ast", 191 | "bibliographic": "", 192 | "name": "Asturleonese" 193 | }, 194 | { 195 | "alpha2": "", 196 | "alpha3": "ast", 197 | "bibliographic": "", 198 | "name": "Bable" 199 | }, 200 | { 201 | "alpha2": "", 202 | "alpha3": "ast", 203 | "bibliographic": "", 204 | "name": "Leonese" 205 | }, 206 | { 207 | "alpha2": "", 208 | "alpha3": "ath", 209 | "bibliographic": "", 210 | "name": "Athapascan languages" 211 | }, 212 | { 213 | "alpha2": "", 214 | "alpha3": "aus", 215 | "bibliographic": "", 216 | "name": "Australian languages" 217 | }, 218 | { 219 | "alpha2": "av", 220 | "alpha3": "ava", 221 | "bibliographic": "", 222 | "name": "Avaric" 223 | }, 224 | { 225 | "alpha2": "ae", 226 | "alpha3": "ave", 227 | "bibliographic": "", 228 | "name": "Avestan" 229 | }, 230 | { 231 | "alpha2": "", 232 | "alpha3": "awa", 233 | "bibliographic": "", 234 | "name": "Awadhi" 235 | }, 236 | { 237 | "alpha2": "ay", 238 | "alpha3": "aym", 239 | "bibliographic": "", 240 | "name": "Aymara" 241 | }, 242 | { 243 | "alpha2": "az", 244 | "alpha3": "aze", 245 | "bibliographic": "", 246 | "name": "Azerbaijani" 247 | }, 248 | { 249 | "alpha2": "", 250 | "alpha3": "bad", 251 | "bibliographic": "", 252 | "name": "Banda languages" 253 | }, 254 | { 255 | "alpha2": "", 256 | "alpha3": "bai", 257 | "bibliographic": "", 258 | "name": "Bamileke languages" 259 | }, 260 | { 261 | "alpha2": "ba", 262 | "alpha3": "bak", 263 | "bibliographic": "", 264 | "name": "Bashkir" 265 | }, 266 | { 267 | "alpha2": "", 268 | "alpha3": "bal", 269 | "bibliographic": "", 270 | "name": "Baluchi" 271 | }, 272 | { 273 | "alpha2": "bm", 274 | "alpha3": "bam", 275 | "bibliographic": "", 276 | "name": "Bambara" 277 | }, 278 | { 279 | "alpha2": "", 280 | "alpha3": "ban", 281 | "bibliographic": "", 282 | "name": "Balinese" 283 | }, 284 | { 285 | "alpha2": "", 286 | "alpha3": "bas", 287 | "bibliographic": "", 288 | "name": "Basa" 289 | }, 290 | { 291 | "alpha2": "", 292 | "alpha3": "bat", 293 | "bibliographic": "", 294 | "name": "Baltic languages" 295 | }, 296 | { 297 | "alpha2": "", 298 | "alpha3": "bej", 299 | "bibliographic": "", 300 | "name": "Bedawiyet" 301 | }, 302 | { 303 | "alpha2": "", 304 | "alpha3": "bej", 305 | "bibliographic": "", 306 | "name": "Beja" 307 | }, 308 | { 309 | "alpha2": "be", 310 | "alpha3": "bel", 311 | "bibliographic": "", 312 | "name": "Belarusian" 313 | }, 314 | { 315 | "alpha2": "", 316 | "alpha3": "bem", 317 | "bibliographic": "", 318 | "name": "Bemba" 319 | }, 320 | { 321 | "alpha2": "bn", 322 | "alpha3": "ben", 323 | "bibliographic": "", 324 | "name": "Bengali" 325 | }, 326 | { 327 | "alpha2": "", 328 | "alpha3": "ber", 329 | "bibliographic": "", 330 | "name": "Berber languages" 331 | }, 332 | { 333 | "alpha2": "", 334 | "alpha3": "bho", 335 | "bibliographic": "", 336 | "name": "Bhojpuri" 337 | }, 338 | { 339 | "alpha2": "bh", 340 | "alpha3": "bih", 341 | "bibliographic": "", 342 | "name": "Bihari languages" 343 | }, 344 | { 345 | "alpha2": "", 346 | "alpha3": "bik", 347 | "bibliographic": "", 348 | "name": "Bikol" 349 | }, 350 | { 351 | "alpha2": "", 352 | "alpha3": "bin", 353 | "bibliographic": "", 354 | "name": "Bini" 355 | }, 356 | { 357 | "alpha2": "", 358 | "alpha3": "bin", 359 | "bibliographic": "", 360 | "name": "Edo" 361 | }, 362 | { 363 | "alpha2": "bi", 364 | "alpha3": "bis", 365 | "bibliographic": "", 366 | "name": "Bislama" 367 | }, 368 | { 369 | "alpha2": "", 370 | "alpha3": "bla", 371 | "bibliographic": "", 372 | "name": "Siksika" 373 | }, 374 | { 375 | "alpha2": "", 376 | "alpha3": "bnt", 377 | "bibliographic": "", 378 | "name": "Bantu languages" 379 | }, 380 | { 381 | "alpha2": "bo", 382 | "alpha3": "bod", 383 | "bibliographic": "tib", 384 | "name": "Tibetan" 385 | }, 386 | { 387 | "alpha2": "bs", 388 | "alpha3": "bos", 389 | "bibliographic": "", 390 | "name": "Bosnian" 391 | }, 392 | { 393 | "alpha2": "", 394 | "alpha3": "bra", 395 | "bibliographic": "", 396 | "name": "Braj" 397 | }, 398 | { 399 | "alpha2": "br", 400 | "alpha3": "bre", 401 | "bibliographic": "", 402 | "name": "Breton" 403 | }, 404 | { 405 | "alpha2": "", 406 | "alpha3": "btk", 407 | "bibliographic": "", 408 | "name": "Batak languages" 409 | }, 410 | { 411 | "alpha2": "", 412 | "alpha3": "bua", 413 | "bibliographic": "", 414 | "name": "Buriat" 415 | }, 416 | { 417 | "alpha2": "", 418 | "alpha3": "bug", 419 | "bibliographic": "", 420 | "name": "Buginese" 421 | }, 422 | { 423 | "alpha2": "bg", 424 | "alpha3": "bul", 425 | "bibliographic": "", 426 | "name": "Bulgarian" 427 | }, 428 | { 429 | "alpha2": "", 430 | "alpha3": "byn", 431 | "bibliographic": "", 432 | "name": "Bilin" 433 | }, 434 | { 435 | "alpha2": "", 436 | "alpha3": "byn", 437 | "bibliographic": "", 438 | "name": "Blin" 439 | }, 440 | { 441 | "alpha2": "", 442 | "alpha3": "cad", 443 | "bibliographic": "", 444 | "name": "Caddo" 445 | }, 446 | { 447 | "alpha2": "", 448 | "alpha3": "cai", 449 | "bibliographic": "", 450 | "name": "Central American Indian languages" 451 | }, 452 | { 453 | "alpha2": "", 454 | "alpha3": "car", 455 | "bibliographic": "", 456 | "name": "Galibi Carib" 457 | }, 458 | { 459 | "alpha2": "ca", 460 | "alpha3": "cat", 461 | "bibliographic": "", 462 | "name": "Catalan" 463 | }, 464 | { 465 | "alpha2": "ca", 466 | "alpha3": "cat", 467 | "bibliographic": "", 468 | "name": "Valencian" 469 | }, 470 | { 471 | "alpha2": "", 472 | "alpha3": "cau", 473 | "bibliographic": "", 474 | "name": "Caucasian languages" 475 | }, 476 | { 477 | "alpha2": "", 478 | "alpha3": "ceb", 479 | "bibliographic": "", 480 | "name": "Cebuano" 481 | }, 482 | { 483 | "alpha2": "", 484 | "alpha3": "cel", 485 | "bibliographic": "", 486 | "name": "Celtic languages" 487 | }, 488 | { 489 | "alpha2": "cs", 490 | "alpha3": "ces", 491 | "bibliographic": "cze", 492 | "name": "Czech" 493 | }, 494 | { 495 | "alpha2": "ch", 496 | "alpha3": "cha", 497 | "bibliographic": "", 498 | "name": "Chamorro" 499 | }, 500 | { 501 | "alpha2": "", 502 | "alpha3": "chb", 503 | "bibliographic": "", 504 | "name": "Chibcha" 505 | }, 506 | { 507 | "alpha2": "ce", 508 | "alpha3": "che", 509 | "bibliographic": "", 510 | "name": "Chechen" 511 | }, 512 | { 513 | "alpha2": "", 514 | "alpha3": "chg", 515 | "bibliographic": "", 516 | "name": "Chagatai" 517 | }, 518 | { 519 | "alpha2": "", 520 | "alpha3": "chk", 521 | "bibliographic": "", 522 | "name": "Chuukese" 523 | }, 524 | { 525 | "alpha2": "", 526 | "alpha3": "chm", 527 | "bibliographic": "", 528 | "name": "Mari" 529 | }, 530 | { 531 | "alpha2": "", 532 | "alpha3": "chn", 533 | "bibliographic": "", 534 | "name": "Chinook jargon" 535 | }, 536 | { 537 | "alpha2": "", 538 | "alpha3": "cho", 539 | "bibliographic": "", 540 | "name": "Choctaw" 541 | }, 542 | { 543 | "alpha2": "", 544 | "alpha3": "chp", 545 | "bibliographic": "", 546 | "name": "Chipewyan" 547 | }, 548 | { 549 | "alpha2": "", 550 | "alpha3": "chp", 551 | "bibliographic": "", 552 | "name": "Dene Suline" 553 | }, 554 | { 555 | "alpha2": "", 556 | "alpha3": "chr", 557 | "bibliographic": "", 558 | "name": "Cherokee" 559 | }, 560 | { 561 | "alpha2": "cu", 562 | "alpha3": "chu", 563 | "bibliographic": "", 564 | "name": "Church Slavic" 565 | }, 566 | { 567 | "alpha2": "cu", 568 | "alpha3": "chu", 569 | "bibliographic": "", 570 | "name": "Church Slavonic" 571 | }, 572 | { 573 | "alpha2": "cu", 574 | "alpha3": "chu", 575 | "bibliographic": "", 576 | "name": "Old Bulgarian" 577 | }, 578 | { 579 | "alpha2": "cu", 580 | "alpha3": "chu", 581 | "bibliographic": "", 582 | "name": "Old Church Slavonic" 583 | }, 584 | { 585 | "alpha2": "cu", 586 | "alpha3": "chu", 587 | "bibliographic": "", 588 | "name": "Old Slavonic" 589 | }, 590 | { 591 | "alpha2": "cv", 592 | "alpha3": "chv", 593 | "bibliographic": "", 594 | "name": "Chuvash" 595 | }, 596 | { 597 | "alpha2": "", 598 | "alpha3": "chy", 599 | "bibliographic": "", 600 | "name": "Cheyenne" 601 | }, 602 | { 603 | "alpha2": "", 604 | "alpha3": "cmc", 605 | "bibliographic": "", 606 | "name": "Chamic languages" 607 | }, 608 | { 609 | "alpha2": "", 610 | "alpha3": "cop", 611 | "bibliographic": "", 612 | "name": "Coptic" 613 | }, 614 | { 615 | "alpha2": "kw", 616 | "alpha3": "cor", 617 | "bibliographic": "", 618 | "name": "Cornish" 619 | }, 620 | { 621 | "alpha2": "co", 622 | "alpha3": "cos", 623 | "bibliographic": "", 624 | "name": "Corsican" 625 | }, 626 | { 627 | "alpha2": "", 628 | "alpha3": "cpe", 629 | "bibliographic": "", 630 | "name": "Creoles and pidgins, English based" 631 | }, 632 | { 633 | "alpha2": "", 634 | "alpha3": "cpf", 635 | "bibliographic": "", 636 | "name": "Creoles and pidgins, French-based" 637 | }, 638 | { 639 | "alpha2": "", 640 | "alpha3": "cpp", 641 | "bibliographic": "", 642 | "name": "Creoles and pidgins, Portuguese-based" 643 | }, 644 | { 645 | "alpha2": "cr", 646 | "alpha3": "cre", 647 | "bibliographic": "", 648 | "name": "Cree" 649 | }, 650 | { 651 | "alpha2": "", 652 | "alpha3": "crh", 653 | "bibliographic": "", 654 | "name": "Crimean Tatar" 655 | }, 656 | { 657 | "alpha2": "", 658 | "alpha3": "crh", 659 | "bibliographic": "", 660 | "name": "Crimean Turkish" 661 | }, 662 | { 663 | "alpha2": "", 664 | "alpha3": "crp", 665 | "bibliographic": "", 666 | "name": "Creoles and pidgins" 667 | }, 668 | { 669 | "alpha2": "", 670 | "alpha3": "csb", 671 | "bibliographic": "", 672 | "name": "Kashubian" 673 | }, 674 | { 675 | "alpha2": "", 676 | "alpha3": "cus", 677 | "bibliographic": "", 678 | "name": "Cushitic languages" 679 | }, 680 | { 681 | "alpha2": "cy", 682 | "alpha3": "cym", 683 | "bibliographic": "wel", 684 | "name": "Welsh" 685 | }, 686 | { 687 | "alpha2": "", 688 | "alpha3": "dak", 689 | "bibliographic": "", 690 | "name": "Dakota" 691 | }, 692 | { 693 | "alpha2": "da", 694 | "alpha3": "dan", 695 | "bibliographic": "", 696 | "name": "Danish" 697 | }, 698 | { 699 | "alpha2": "", 700 | "alpha3": "dar", 701 | "bibliographic": "", 702 | "name": "Dargwa" 703 | }, 704 | { 705 | "alpha2": "", 706 | "alpha3": "day", 707 | "bibliographic": "", 708 | "name": "Land Dayak languages" 709 | }, 710 | { 711 | "alpha2": "", 712 | "alpha3": "del", 713 | "bibliographic": "", 714 | "name": "Delaware" 715 | }, 716 | { 717 | "alpha2": "", 718 | "alpha3": "den", 719 | "bibliographic": "", 720 | "name": "Slave (Athapascan)" 721 | }, 722 | { 723 | "alpha2": "de", 724 | "alpha3": "deu", 725 | "bibliographic": "ger", 726 | "name": "German" 727 | }, 728 | { 729 | "alpha2": "", 730 | "alpha3": "dgr", 731 | "bibliographic": "", 732 | "name": "Dogrib" 733 | }, 734 | { 735 | "alpha2": "", 736 | "alpha3": "din", 737 | "bibliographic": "", 738 | "name": "Dinka" 739 | }, 740 | { 741 | "alpha2": "dv", 742 | "alpha3": "div", 743 | "bibliographic": "", 744 | "name": "Dhivehi" 745 | }, 746 | { 747 | "alpha2": "dv", 748 | "alpha3": "div", 749 | "bibliographic": "", 750 | "name": "Divehi" 751 | }, 752 | { 753 | "alpha2": "dv", 754 | "alpha3": "div", 755 | "bibliographic": "", 756 | "name": "Maldivian" 757 | }, 758 | { 759 | "alpha2": "", 760 | "alpha3": "doi", 761 | "bibliographic": "", 762 | "name": "Dogri" 763 | }, 764 | { 765 | "alpha2": "", 766 | "alpha3": "dra", 767 | "bibliographic": "", 768 | "name": "Dravidian languages" 769 | }, 770 | { 771 | "alpha2": "", 772 | "alpha3": "dsb", 773 | "bibliographic": "", 774 | "name": "Lower Sorbian" 775 | }, 776 | { 777 | "alpha2": "", 778 | "alpha3": "dua", 779 | "bibliographic": "", 780 | "name": "Duala" 781 | }, 782 | { 783 | "alpha2": "", 784 | "alpha3": "dum", 785 | "bibliographic": "", 786 | "name": "Dutch, Middle (ca.1050-1350)" 787 | }, 788 | { 789 | "alpha2": "", 790 | "alpha3": "dyu", 791 | "bibliographic": "", 792 | "name": "Dyula" 793 | }, 794 | { 795 | "alpha2": "dz", 796 | "alpha3": "dzo", 797 | "bibliographic": "", 798 | "name": "Dzongkha" 799 | }, 800 | { 801 | "alpha2": "", 802 | "alpha3": "efi", 803 | "bibliographic": "", 804 | "name": "Efik" 805 | }, 806 | { 807 | "alpha2": "", 808 | "alpha3": "egy", 809 | "bibliographic": "", 810 | "name": "Egyptian (Ancient)" 811 | }, 812 | { 813 | "alpha2": "", 814 | "alpha3": "eka", 815 | "bibliographic": "", 816 | "name": "Ekajuk" 817 | }, 818 | { 819 | "alpha2": "el", 820 | "alpha3": "ell", 821 | "bibliographic": "gre", 822 | "name": "Greek, Modern (1453-)" 823 | }, 824 | { 825 | "alpha2": "", 826 | "alpha3": "elx", 827 | "bibliographic": "", 828 | "name": "Elamite" 829 | }, 830 | { 831 | "alpha2": "en", 832 | "alpha3": "eng", 833 | "bibliographic": "", 834 | "name": "English" 835 | }, 836 | { 837 | "alpha2": "", 838 | "alpha3": "enm", 839 | "bibliographic": "", 840 | "name": "English, Middle (1100-1500)" 841 | }, 842 | { 843 | "alpha2": "eo", 844 | "alpha3": "epo", 845 | "bibliographic": "", 846 | "name": "Esperanto" 847 | }, 848 | { 849 | "alpha2": "et", 850 | "alpha3": "est", 851 | "bibliographic": "", 852 | "name": "Estonian" 853 | }, 854 | { 855 | "alpha2": "eu", 856 | "alpha3": "eus", 857 | "bibliographic": "baq", 858 | "name": "Basque" 859 | }, 860 | { 861 | "alpha2": "ee", 862 | "alpha3": "ewe", 863 | "bibliographic": "", 864 | "name": "Ewe" 865 | }, 866 | { 867 | "alpha2": "", 868 | "alpha3": "ewo", 869 | "bibliographic": "", 870 | "name": "Ewondo" 871 | }, 872 | { 873 | "alpha2": "", 874 | "alpha3": "fan", 875 | "bibliographic": "", 876 | "name": "Fang" 877 | }, 878 | { 879 | "alpha2": "fo", 880 | "alpha3": "fao", 881 | "bibliographic": "", 882 | "name": "Faroese" 883 | }, 884 | { 885 | "alpha2": "fa", 886 | "alpha3": "fas", 887 | "bibliographic": "per", 888 | "name": "Persian" 889 | }, 890 | { 891 | "alpha2": "", 892 | "alpha3": "fat", 893 | "bibliographic": "", 894 | "name": "Fanti" 895 | }, 896 | { 897 | "alpha2": "fj", 898 | "alpha3": "fij", 899 | "bibliographic": "", 900 | "name": "Fijian" 901 | }, 902 | { 903 | "alpha2": "", 904 | "alpha3": "fil", 905 | "bibliographic": "", 906 | "name": "Filipino" 907 | }, 908 | { 909 | "alpha2": "", 910 | "alpha3": "fil", 911 | "bibliographic": "", 912 | "name": "Pilipino" 913 | }, 914 | { 915 | "alpha2": "fi", 916 | "alpha3": "fin", 917 | "bibliographic": "", 918 | "name": "Finnish" 919 | }, 920 | { 921 | "alpha2": "", 922 | "alpha3": "fiu", 923 | "bibliographic": "", 924 | "name": "Finno-Ugrian languages" 925 | }, 926 | { 927 | "alpha2": "", 928 | "alpha3": "fon", 929 | "bibliographic": "", 930 | "name": "Fon" 931 | }, 932 | { 933 | "alpha2": "fr", 934 | "alpha3": "fra", 935 | "bibliographic": "fre", 936 | "name": "French" 937 | }, 938 | { 939 | "alpha2": "", 940 | "alpha3": "frm", 941 | "bibliographic": "", 942 | "name": "French, Middle (ca.1400-1600)" 943 | }, 944 | { 945 | "alpha2": "", 946 | "alpha3": "fro", 947 | "bibliographic": "", 948 | "name": "French, Old (842-ca.1400)" 949 | }, 950 | { 951 | "alpha2": "", 952 | "alpha3": "frr", 953 | "bibliographic": "", 954 | "name": "Northern Frisian" 955 | }, 956 | { 957 | "alpha2": "", 958 | "alpha3": "frs", 959 | "bibliographic": "", 960 | "name": "Eastern Frisian" 961 | }, 962 | { 963 | "alpha2": "fy", 964 | "alpha3": "fry", 965 | "bibliographic": "", 966 | "name": "Western Frisian" 967 | }, 968 | { 969 | "alpha2": "ff", 970 | "alpha3": "ful", 971 | "bibliographic": "", 972 | "name": "Fulah" 973 | }, 974 | { 975 | "alpha2": "", 976 | "alpha3": "fur", 977 | "bibliographic": "", 978 | "name": "Friulian" 979 | }, 980 | { 981 | "alpha2": "", 982 | "alpha3": "gaa", 983 | "bibliographic": "", 984 | "name": "Ga" 985 | }, 986 | { 987 | "alpha2": "", 988 | "alpha3": "gay", 989 | "bibliographic": "", 990 | "name": "Gayo" 991 | }, 992 | { 993 | "alpha2": "", 994 | "alpha3": "gba", 995 | "bibliographic": "", 996 | "name": "Gbaya" 997 | }, 998 | { 999 | "alpha2": "", 1000 | "alpha3": "gem", 1001 | "bibliographic": "", 1002 | "name": "Germanic languages" 1003 | }, 1004 | { 1005 | "alpha2": "", 1006 | "alpha3": "gez", 1007 | "bibliographic": "", 1008 | "name": "Geez" 1009 | }, 1010 | { 1011 | "alpha2": "", 1012 | "alpha3": "gil", 1013 | "bibliographic": "", 1014 | "name": "Gilbertese" 1015 | }, 1016 | { 1017 | "alpha2": "gd", 1018 | "alpha3": "gla", 1019 | "bibliographic": "", 1020 | "name": "Gaelic" 1021 | }, 1022 | { 1023 | "alpha2": "gd", 1024 | "alpha3": "gla", 1025 | "bibliographic": "", 1026 | "name": "Scottish Gaelic" 1027 | }, 1028 | { 1029 | "alpha2": "ga", 1030 | "alpha3": "gle", 1031 | "bibliographic": "", 1032 | "name": "Irish" 1033 | }, 1034 | { 1035 | "alpha2": "gl", 1036 | "alpha3": "glg", 1037 | "bibliographic": "", 1038 | "name": "Galician" 1039 | }, 1040 | { 1041 | "alpha2": "gv", 1042 | "alpha3": "glv", 1043 | "bibliographic": "", 1044 | "name": "Manx" 1045 | }, 1046 | { 1047 | "alpha2": "", 1048 | "alpha3": "gmh", 1049 | "bibliographic": "", 1050 | "name": "German, Middle High (ca.1050-1500)" 1051 | }, 1052 | { 1053 | "alpha2": "", 1054 | "alpha3": "goh", 1055 | "bibliographic": "", 1056 | "name": "German, Old High (ca.750-1050)" 1057 | }, 1058 | { 1059 | "alpha2": "", 1060 | "alpha3": "gon", 1061 | "bibliographic": "", 1062 | "name": "Gondi" 1063 | }, 1064 | { 1065 | "alpha2": "", 1066 | "alpha3": "gor", 1067 | "bibliographic": "", 1068 | "name": "Gorontalo" 1069 | }, 1070 | { 1071 | "alpha2": "", 1072 | "alpha3": "got", 1073 | "bibliographic": "", 1074 | "name": "Gothic" 1075 | }, 1076 | { 1077 | "alpha2": "", 1078 | "alpha3": "grb", 1079 | "bibliographic": "", 1080 | "name": "Grebo" 1081 | }, 1082 | { 1083 | "alpha2": "", 1084 | "alpha3": "grc", 1085 | "bibliographic": "", 1086 | "name": "Greek, Ancient (to 1453)" 1087 | }, 1088 | { 1089 | "alpha2": "gn", 1090 | "alpha3": "grn", 1091 | "bibliographic": "", 1092 | "name": "Guarani" 1093 | }, 1094 | { 1095 | "alpha2": "", 1096 | "alpha3": "gsw", 1097 | "bibliographic": "", 1098 | "name": "Alemannic" 1099 | }, 1100 | { 1101 | "alpha2": "", 1102 | "alpha3": "gsw", 1103 | "bibliographic": "", 1104 | "name": "Alsatian" 1105 | }, 1106 | { 1107 | "alpha2": "", 1108 | "alpha3": "gsw", 1109 | "bibliographic": "", 1110 | "name": "Swiss German" 1111 | }, 1112 | { 1113 | "alpha2": "gu", 1114 | "alpha3": "guj", 1115 | "bibliographic": "", 1116 | "name": "Gujarati" 1117 | }, 1118 | { 1119 | "alpha2": "", 1120 | "alpha3": "gwi", 1121 | "bibliographic": "", 1122 | "name": "Gwich'in" 1123 | }, 1124 | { 1125 | "alpha2": "", 1126 | "alpha3": "hai", 1127 | "bibliographic": "", 1128 | "name": "Haida" 1129 | }, 1130 | { 1131 | "alpha2": "ht", 1132 | "alpha3": "hat", 1133 | "bibliographic": "", 1134 | "name": "Haitian" 1135 | }, 1136 | { 1137 | "alpha2": "ht", 1138 | "alpha3": "hat", 1139 | "bibliographic": "", 1140 | "name": "Haitian Creole" 1141 | }, 1142 | { 1143 | "alpha2": "ha", 1144 | "alpha3": "hau", 1145 | "bibliographic": "", 1146 | "name": "Hausa" 1147 | }, 1148 | { 1149 | "alpha2": "", 1150 | "alpha3": "haw", 1151 | "bibliographic": "", 1152 | "name": "Hawaiian" 1153 | }, 1154 | { 1155 | "alpha2": "he", 1156 | "alpha3": "heb", 1157 | "bibliographic": "", 1158 | "name": "Hebrew" 1159 | }, 1160 | { 1161 | "alpha2": "hz", 1162 | "alpha3": "her", 1163 | "bibliographic": "", 1164 | "name": "Herero" 1165 | }, 1166 | { 1167 | "alpha2": "", 1168 | "alpha3": "hil", 1169 | "bibliographic": "", 1170 | "name": "Hiligaynon" 1171 | }, 1172 | { 1173 | "alpha2": "", 1174 | "alpha3": "him", 1175 | "bibliographic": "", 1176 | "name": "Himachali languages" 1177 | }, 1178 | { 1179 | "alpha2": "", 1180 | "alpha3": "him", 1181 | "bibliographic": "", 1182 | "name": "Western Pahari languages" 1183 | }, 1184 | { 1185 | "alpha2": "hi", 1186 | "alpha3": "hin", 1187 | "bibliographic": "", 1188 | "name": "Hindi" 1189 | }, 1190 | { 1191 | "alpha2": "", 1192 | "alpha3": "hit", 1193 | "bibliographic": "", 1194 | "name": "Hittite" 1195 | }, 1196 | { 1197 | "alpha2": "", 1198 | "alpha3": "hmn", 1199 | "bibliographic": "", 1200 | "name": "Hmong" 1201 | }, 1202 | { 1203 | "alpha2": "", 1204 | "alpha3": "hmn", 1205 | "bibliographic": "", 1206 | "name": "Mong" 1207 | }, 1208 | { 1209 | "alpha2": "ho", 1210 | "alpha3": "hmo", 1211 | "bibliographic": "", 1212 | "name": "Hiri Motu" 1213 | }, 1214 | { 1215 | "alpha2": "hr", 1216 | "alpha3": "hrv", 1217 | "bibliographic": "", 1218 | "name": "Croatian" 1219 | }, 1220 | { 1221 | "alpha2": "", 1222 | "alpha3": "hsb", 1223 | "bibliographic": "", 1224 | "name": "Upper Sorbian" 1225 | }, 1226 | { 1227 | "alpha2": "hu", 1228 | "alpha3": "hun", 1229 | "bibliographic": "", 1230 | "name": "Hungarian" 1231 | }, 1232 | { 1233 | "alpha2": "", 1234 | "alpha3": "hup", 1235 | "bibliographic": "", 1236 | "name": "Hupa" 1237 | }, 1238 | { 1239 | "alpha2": "hy", 1240 | "alpha3": "hye", 1241 | "bibliographic": "arm", 1242 | "name": "Armenian" 1243 | }, 1244 | { 1245 | "alpha2": "", 1246 | "alpha3": "iba", 1247 | "bibliographic": "", 1248 | "name": "Iban" 1249 | }, 1250 | { 1251 | "alpha2": "ig", 1252 | "alpha3": "ibo", 1253 | "bibliographic": "", 1254 | "name": "Igbo" 1255 | }, 1256 | { 1257 | "alpha2": "io", 1258 | "alpha3": "ido", 1259 | "bibliographic": "", 1260 | "name": "Ido" 1261 | }, 1262 | { 1263 | "alpha2": "ii", 1264 | "alpha3": "iii", 1265 | "bibliographic": "", 1266 | "name": "Nuosu" 1267 | }, 1268 | { 1269 | "alpha2": "ii", 1270 | "alpha3": "iii", 1271 | "bibliographic": "", 1272 | "name": "Sichuan Yi" 1273 | }, 1274 | { 1275 | "alpha2": "", 1276 | "alpha3": "ijo", 1277 | "bibliographic": "", 1278 | "name": "Ijo languages" 1279 | }, 1280 | { 1281 | "alpha2": "iu", 1282 | "alpha3": "iku", 1283 | "bibliographic": "", 1284 | "name": "Inuktitut" 1285 | }, 1286 | { 1287 | "alpha2": "ie", 1288 | "alpha3": "ile", 1289 | "bibliographic": "", 1290 | "name": "Interlingue" 1291 | }, 1292 | { 1293 | "alpha2": "ie", 1294 | "alpha3": "ile", 1295 | "bibliographic": "", 1296 | "name": "Occidental" 1297 | }, 1298 | { 1299 | "alpha2": "", 1300 | "alpha3": "ilo", 1301 | "bibliographic": "", 1302 | "name": "Iloko" 1303 | }, 1304 | { 1305 | "alpha2": "ia", 1306 | "alpha3": "ina", 1307 | "bibliographic": "", 1308 | "name": "Interlingua (International Auxiliary Language Association)" 1309 | }, 1310 | { 1311 | "alpha2": "", 1312 | "alpha3": "inc", 1313 | "bibliographic": "", 1314 | "name": "Indic languages" 1315 | }, 1316 | { 1317 | "alpha2": "id", 1318 | "alpha3": "ind", 1319 | "bibliographic": "", 1320 | "name": "Indonesian" 1321 | }, 1322 | { 1323 | "alpha2": "", 1324 | "alpha3": "ine", 1325 | "bibliographic": "", 1326 | "name": "Indo-European languages" 1327 | }, 1328 | { 1329 | "alpha2": "", 1330 | "alpha3": "inh", 1331 | "bibliographic": "", 1332 | "name": "Ingush" 1333 | }, 1334 | { 1335 | "alpha2": "ik", 1336 | "alpha3": "ipk", 1337 | "bibliographic": "", 1338 | "name": "Inupiaq" 1339 | }, 1340 | { 1341 | "alpha2": "", 1342 | "alpha3": "ira", 1343 | "bibliographic": "", 1344 | "name": "Iranian languages" 1345 | }, 1346 | { 1347 | "alpha2": "", 1348 | "alpha3": "iro", 1349 | "bibliographic": "", 1350 | "name": "Iroquoian languages" 1351 | }, 1352 | { 1353 | "alpha2": "is", 1354 | "alpha3": "isl", 1355 | "bibliographic": "ice", 1356 | "name": "Icelandic" 1357 | }, 1358 | { 1359 | "alpha2": "it", 1360 | "alpha3": "ita", 1361 | "bibliographic": "", 1362 | "name": "Italian" 1363 | }, 1364 | { 1365 | "alpha2": "jv", 1366 | "alpha3": "jav", 1367 | "bibliographic": "", 1368 | "name": "Javanese" 1369 | }, 1370 | { 1371 | "alpha2": "", 1372 | "alpha3": "jbo", 1373 | "bibliographic": "", 1374 | "name": "Lojban" 1375 | }, 1376 | { 1377 | "alpha2": "ja", 1378 | "alpha3": "jpn", 1379 | "bibliographic": "", 1380 | "name": "Japanese" 1381 | }, 1382 | { 1383 | "alpha2": "", 1384 | "alpha3": "jpr", 1385 | "bibliographic": "", 1386 | "name": "Judeo-Persian" 1387 | }, 1388 | { 1389 | "alpha2": "", 1390 | "alpha3": "jrb", 1391 | "bibliographic": "", 1392 | "name": "Judeo-Arabic" 1393 | }, 1394 | { 1395 | "alpha2": "", 1396 | "alpha3": "kaa", 1397 | "bibliographic": "", 1398 | "name": "Kara-Kalpak" 1399 | }, 1400 | { 1401 | "alpha2": "", 1402 | "alpha3": "kab", 1403 | "bibliographic": "", 1404 | "name": "Kabyle" 1405 | }, 1406 | { 1407 | "alpha2": "", 1408 | "alpha3": "kac", 1409 | "bibliographic": "", 1410 | "name": "Jingpho" 1411 | }, 1412 | { 1413 | "alpha2": "", 1414 | "alpha3": "kac", 1415 | "bibliographic": "", 1416 | "name": "Kachin" 1417 | }, 1418 | { 1419 | "alpha2": "kl", 1420 | "alpha3": "kal", 1421 | "bibliographic": "", 1422 | "name": "Greenlandic" 1423 | }, 1424 | { 1425 | "alpha2": "kl", 1426 | "alpha3": "kal", 1427 | "bibliographic": "", 1428 | "name": "Kalaallisut" 1429 | }, 1430 | { 1431 | "alpha2": "", 1432 | "alpha3": "kam", 1433 | "bibliographic": "", 1434 | "name": "Kamba" 1435 | }, 1436 | { 1437 | "alpha2": "kn", 1438 | "alpha3": "kan", 1439 | "bibliographic": "", 1440 | "name": "Kannada" 1441 | }, 1442 | { 1443 | "alpha2": "", 1444 | "alpha3": "kar", 1445 | "bibliographic": "", 1446 | "name": "Karen languages" 1447 | }, 1448 | { 1449 | "alpha2": "ks", 1450 | "alpha3": "kas", 1451 | "bibliographic": "", 1452 | "name": "Kashmiri" 1453 | }, 1454 | { 1455 | "alpha2": "ka", 1456 | "alpha3": "kat", 1457 | "bibliographic": "geo", 1458 | "name": "Georgian" 1459 | }, 1460 | { 1461 | "alpha2": "kr", 1462 | "alpha3": "kau", 1463 | "bibliographic": "", 1464 | "name": "Kanuri" 1465 | }, 1466 | { 1467 | "alpha2": "", 1468 | "alpha3": "kaw", 1469 | "bibliographic": "", 1470 | "name": "Kawi" 1471 | }, 1472 | { 1473 | "alpha2": "kk", 1474 | "alpha3": "kaz", 1475 | "bibliographic": "", 1476 | "name": "Kazakh" 1477 | }, 1478 | { 1479 | "alpha2": "", 1480 | "alpha3": "kbd", 1481 | "bibliographic": "", 1482 | "name": "Kabardian" 1483 | }, 1484 | { 1485 | "alpha2": "", 1486 | "alpha3": "kha", 1487 | "bibliographic": "", 1488 | "name": "Khasi" 1489 | }, 1490 | { 1491 | "alpha2": "", 1492 | "alpha3": "khi", 1493 | "bibliographic": "", 1494 | "name": "Khoisan languages" 1495 | }, 1496 | { 1497 | "alpha2": "km", 1498 | "alpha3": "khm", 1499 | "bibliographic": "", 1500 | "name": "Central Khmer" 1501 | }, 1502 | { 1503 | "alpha2": "", 1504 | "alpha3": "kho", 1505 | "bibliographic": "", 1506 | "name": "Khotanese" 1507 | }, 1508 | { 1509 | "alpha2": "", 1510 | "alpha3": "kho", 1511 | "bibliographic": "", 1512 | "name": "Sakan" 1513 | }, 1514 | { 1515 | "alpha2": "ki", 1516 | "alpha3": "kik", 1517 | "bibliographic": "", 1518 | "name": "Gikuyu" 1519 | }, 1520 | { 1521 | "alpha2": "ki", 1522 | "alpha3": "kik", 1523 | "bibliographic": "", 1524 | "name": "Kikuyu" 1525 | }, 1526 | { 1527 | "alpha2": "rw", 1528 | "alpha3": "kin", 1529 | "bibliographic": "", 1530 | "name": "Kinyarwanda" 1531 | }, 1532 | { 1533 | "alpha2": "ky", 1534 | "alpha3": "kir", 1535 | "bibliographic": "", 1536 | "name": "Kirghiz" 1537 | }, 1538 | { 1539 | "alpha2": "ky", 1540 | "alpha3": "kir", 1541 | "bibliographic": "", 1542 | "name": "Kyrgyz" 1543 | }, 1544 | { 1545 | "alpha2": "", 1546 | "alpha3": "kmb", 1547 | "bibliographic": "", 1548 | "name": "Kimbundu" 1549 | }, 1550 | { 1551 | "alpha2": "", 1552 | "alpha3": "kok", 1553 | "bibliographic": "", 1554 | "name": "Konkani" 1555 | }, 1556 | { 1557 | "alpha2": "kv", 1558 | "alpha3": "kom", 1559 | "bibliographic": "", 1560 | "name": "Komi" 1561 | }, 1562 | { 1563 | "alpha2": "kg", 1564 | "alpha3": "kon", 1565 | "bibliographic": "", 1566 | "name": "Kongo" 1567 | }, 1568 | { 1569 | "alpha2": "ko", 1570 | "alpha3": "kor", 1571 | "bibliographic": "", 1572 | "name": "Korean" 1573 | }, 1574 | { 1575 | "alpha2": "", 1576 | "alpha3": "kos", 1577 | "bibliographic": "", 1578 | "name": "Kosraean" 1579 | }, 1580 | { 1581 | "alpha2": "", 1582 | "alpha3": "kpe", 1583 | "bibliographic": "", 1584 | "name": "Kpelle" 1585 | }, 1586 | { 1587 | "alpha2": "", 1588 | "alpha3": "krc", 1589 | "bibliographic": "", 1590 | "name": "Karachay-Balkar" 1591 | }, 1592 | { 1593 | "alpha2": "", 1594 | "alpha3": "krl", 1595 | "bibliographic": "", 1596 | "name": "Karelian" 1597 | }, 1598 | { 1599 | "alpha2": "", 1600 | "alpha3": "kro", 1601 | "bibliographic": "", 1602 | "name": "Kru languages" 1603 | }, 1604 | { 1605 | "alpha2": "", 1606 | "alpha3": "kru", 1607 | "bibliographic": "", 1608 | "name": "Kurukh" 1609 | }, 1610 | { 1611 | "alpha2": "kj", 1612 | "alpha3": "kua", 1613 | "bibliographic": "", 1614 | "name": "Kuanyama" 1615 | }, 1616 | { 1617 | "alpha2": "kj", 1618 | "alpha3": "kua", 1619 | "bibliographic": "", 1620 | "name": "Kwanyama" 1621 | }, 1622 | { 1623 | "alpha2": "", 1624 | "alpha3": "kum", 1625 | "bibliographic": "", 1626 | "name": "Kumyk" 1627 | }, 1628 | { 1629 | "alpha2": "ku", 1630 | "alpha3": "kur", 1631 | "bibliographic": "", 1632 | "name": "Kurdish" 1633 | }, 1634 | { 1635 | "alpha2": "", 1636 | "alpha3": "kut", 1637 | "bibliographic": "", 1638 | "name": "Kutenai" 1639 | }, 1640 | { 1641 | "alpha2": "", 1642 | "alpha3": "lad", 1643 | "bibliographic": "", 1644 | "name": "Ladino" 1645 | }, 1646 | { 1647 | "alpha2": "", 1648 | "alpha3": "lah", 1649 | "bibliographic": "", 1650 | "name": "Lahnda" 1651 | }, 1652 | { 1653 | "alpha2": "", 1654 | "alpha3": "lam", 1655 | "bibliographic": "", 1656 | "name": "Lamba" 1657 | }, 1658 | { 1659 | "alpha2": "lo", 1660 | "alpha3": "lao", 1661 | "bibliographic": "", 1662 | "name": "Lao" 1663 | }, 1664 | { 1665 | "alpha2": "la", 1666 | "alpha3": "lat", 1667 | "bibliographic": "", 1668 | "name": "Latin" 1669 | }, 1670 | { 1671 | "alpha2": "lv", 1672 | "alpha3": "lav", 1673 | "bibliographic": "", 1674 | "name": "Latvian" 1675 | }, 1676 | { 1677 | "alpha2": "", 1678 | "alpha3": "lez", 1679 | "bibliographic": "", 1680 | "name": "Lezghian" 1681 | }, 1682 | { 1683 | "alpha2": "li", 1684 | "alpha3": "lim", 1685 | "bibliographic": "", 1686 | "name": "Limburgan" 1687 | }, 1688 | { 1689 | "alpha2": "li", 1690 | "alpha3": "lim", 1691 | "bibliographic": "", 1692 | "name": "Limburger" 1693 | }, 1694 | { 1695 | "alpha2": "li", 1696 | "alpha3": "lim", 1697 | "bibliographic": "", 1698 | "name": "Limburgish" 1699 | }, 1700 | { 1701 | "alpha2": "ln", 1702 | "alpha3": "lin", 1703 | "bibliographic": "", 1704 | "name": "Lingala" 1705 | }, 1706 | { 1707 | "alpha2": "lt", 1708 | "alpha3": "lit", 1709 | "bibliographic": "", 1710 | "name": "Lithuanian" 1711 | }, 1712 | { 1713 | "alpha2": "", 1714 | "alpha3": "lol", 1715 | "bibliographic": "", 1716 | "name": "Mongo" 1717 | }, 1718 | { 1719 | "alpha2": "", 1720 | "alpha3": "loz", 1721 | "bibliographic": "", 1722 | "name": "Lozi" 1723 | }, 1724 | { 1725 | "alpha2": "lb", 1726 | "alpha3": "ltz", 1727 | "bibliographic": "", 1728 | "name": "Letzeburgesch" 1729 | }, 1730 | { 1731 | "alpha2": "lb", 1732 | "alpha3": "ltz", 1733 | "bibliographic": "", 1734 | "name": "Luxembourgish" 1735 | }, 1736 | { 1737 | "alpha2": "", 1738 | "alpha3": "lua", 1739 | "bibliographic": "", 1740 | "name": "Luba-Lulua" 1741 | }, 1742 | { 1743 | "alpha2": "lu", 1744 | "alpha3": "lub", 1745 | "bibliographic": "", 1746 | "name": "Luba-Katanga" 1747 | }, 1748 | { 1749 | "alpha2": "lg", 1750 | "alpha3": "lug", 1751 | "bibliographic": "", 1752 | "name": "Ganda" 1753 | }, 1754 | { 1755 | "alpha2": "", 1756 | "alpha3": "lui", 1757 | "bibliographic": "", 1758 | "name": "Luiseno" 1759 | }, 1760 | { 1761 | "alpha2": "", 1762 | "alpha3": "lun", 1763 | "bibliographic": "", 1764 | "name": "Lunda" 1765 | }, 1766 | { 1767 | "alpha2": "", 1768 | "alpha3": "luo", 1769 | "bibliographic": "", 1770 | "name": "Luo (Kenya and Tanzania)" 1771 | }, 1772 | { 1773 | "alpha2": "", 1774 | "alpha3": "lus", 1775 | "bibliographic": "", 1776 | "name": "Lushai" 1777 | }, 1778 | { 1779 | "alpha2": "", 1780 | "alpha3": "mad", 1781 | "bibliographic": "", 1782 | "name": "Madurese" 1783 | }, 1784 | { 1785 | "alpha2": "", 1786 | "alpha3": "mag", 1787 | "bibliographic": "", 1788 | "name": "Magahi" 1789 | }, 1790 | { 1791 | "alpha2": "mh", 1792 | "alpha3": "mah", 1793 | "bibliographic": "", 1794 | "name": "Marshallese" 1795 | }, 1796 | { 1797 | "alpha2": "", 1798 | "alpha3": "mai", 1799 | "bibliographic": "", 1800 | "name": "Maithili" 1801 | }, 1802 | { 1803 | "alpha2": "", 1804 | "alpha3": "mak", 1805 | "bibliographic": "", 1806 | "name": "Makasar" 1807 | }, 1808 | { 1809 | "alpha2": "ml", 1810 | "alpha3": "mal", 1811 | "bibliographic": "", 1812 | "name": "Malayalam" 1813 | }, 1814 | { 1815 | "alpha2": "", 1816 | "alpha3": "man", 1817 | "bibliographic": "", 1818 | "name": "Mandingo" 1819 | }, 1820 | { 1821 | "alpha2": "", 1822 | "alpha3": "map", 1823 | "bibliographic": "", 1824 | "name": "Austronesian languages" 1825 | }, 1826 | { 1827 | "alpha2": "mr", 1828 | "alpha3": "mar", 1829 | "bibliographic": "", 1830 | "name": "Marathi" 1831 | }, 1832 | { 1833 | "alpha2": "", 1834 | "alpha3": "mas", 1835 | "bibliographic": "", 1836 | "name": "Masai" 1837 | }, 1838 | { 1839 | "alpha2": "", 1840 | "alpha3": "mdf", 1841 | "bibliographic": "", 1842 | "name": "Moksha" 1843 | }, 1844 | { 1845 | "alpha2": "", 1846 | "alpha3": "mdr", 1847 | "bibliographic": "", 1848 | "name": "Mandar" 1849 | }, 1850 | { 1851 | "alpha2": "", 1852 | "alpha3": "men", 1853 | "bibliographic": "", 1854 | "name": "Mende" 1855 | }, 1856 | { 1857 | "alpha2": "", 1858 | "alpha3": "mga", 1859 | "bibliographic": "", 1860 | "name": "Irish, Middle (900-1200)" 1861 | }, 1862 | { 1863 | "alpha2": "", 1864 | "alpha3": "mic", 1865 | "bibliographic": "", 1866 | "name": "Mi'kmaq" 1867 | }, 1868 | { 1869 | "alpha2": "", 1870 | "alpha3": "mic", 1871 | "bibliographic": "", 1872 | "name": "Micmac" 1873 | }, 1874 | { 1875 | "alpha2": "", 1876 | "alpha3": "min", 1877 | "bibliographic": "", 1878 | "name": "Minangkabau" 1879 | }, 1880 | { 1881 | "alpha2": "", 1882 | "alpha3": "mis", 1883 | "bibliographic": "", 1884 | "name": "Uncoded languages" 1885 | }, 1886 | { 1887 | "alpha2": "mk", 1888 | "alpha3": "mkd", 1889 | "bibliographic": "mac", 1890 | "name": "Macedonian" 1891 | }, 1892 | { 1893 | "alpha2": "", 1894 | "alpha3": "mkh", 1895 | "bibliographic": "", 1896 | "name": "Mon-Khmer languages" 1897 | }, 1898 | { 1899 | "alpha2": "mg", 1900 | "alpha3": "mlg", 1901 | "bibliographic": "", 1902 | "name": "Malagasy" 1903 | }, 1904 | { 1905 | "alpha2": "mt", 1906 | "alpha3": "mlt", 1907 | "bibliographic": "", 1908 | "name": "Maltese" 1909 | }, 1910 | { 1911 | "alpha2": "", 1912 | "alpha3": "mnc", 1913 | "bibliographic": "", 1914 | "name": "Manchu" 1915 | }, 1916 | { 1917 | "alpha2": "", 1918 | "alpha3": "mni", 1919 | "bibliographic": "", 1920 | "name": "Manipuri" 1921 | }, 1922 | { 1923 | "alpha2": "", 1924 | "alpha3": "mno", 1925 | "bibliographic": "", 1926 | "name": "Manobo languages" 1927 | }, 1928 | { 1929 | "alpha2": "", 1930 | "alpha3": "moh", 1931 | "bibliographic": "", 1932 | "name": "Mohawk" 1933 | }, 1934 | { 1935 | "alpha2": "mn", 1936 | "alpha3": "mon", 1937 | "bibliographic": "", 1938 | "name": "Mongolian" 1939 | }, 1940 | { 1941 | "alpha2": "", 1942 | "alpha3": "mos", 1943 | "bibliographic": "", 1944 | "name": "Mossi" 1945 | }, 1946 | { 1947 | "alpha2": "", 1948 | "alpha3": "mot", 1949 | "bibliographic": "", 1950 | "name": "Montenegrin" 1951 | }, 1952 | { 1953 | "alpha2": "mi", 1954 | "alpha3": "mri", 1955 | "bibliographic": "mao", 1956 | "name": "Maori" 1957 | }, 1958 | { 1959 | "alpha2": "ms", 1960 | "alpha3": "msa", 1961 | "bibliographic": "may", 1962 | "name": "Malay" 1963 | }, 1964 | { 1965 | "alpha2": "", 1966 | "alpha3": "mul", 1967 | "bibliographic": "", 1968 | "name": "Multiple languages" 1969 | }, 1970 | { 1971 | "alpha2": "", 1972 | "alpha3": "mun", 1973 | "bibliographic": "", 1974 | "name": "Munda languages" 1975 | }, 1976 | { 1977 | "alpha2": "", 1978 | "alpha3": "mus", 1979 | "bibliographic": "", 1980 | "name": "Creek" 1981 | }, 1982 | { 1983 | "alpha2": "", 1984 | "alpha3": "mwl", 1985 | "bibliographic": "", 1986 | "name": "Mirandese" 1987 | }, 1988 | { 1989 | "alpha2": "", 1990 | "alpha3": "mwr", 1991 | "bibliographic": "", 1992 | "name": "Marwari" 1993 | }, 1994 | { 1995 | "alpha2": "my", 1996 | "alpha3": "mya", 1997 | "bibliographic": "bur", 1998 | "name": "Burmese" 1999 | }, 2000 | { 2001 | "alpha2": "", 2002 | "alpha3": "myn", 2003 | "bibliographic": "", 2004 | "name": "Mayan languages" 2005 | }, 2006 | { 2007 | "alpha2": "", 2008 | "alpha3": "myv", 2009 | "bibliographic": "", 2010 | "name": "Erzya" 2011 | }, 2012 | { 2013 | "alpha2": "", 2014 | "alpha3": "nah", 2015 | "bibliographic": "", 2016 | "name": "Nahuatl languages" 2017 | }, 2018 | { 2019 | "alpha2": "", 2020 | "alpha3": "nai", 2021 | "bibliographic": "", 2022 | "name": "North American Indian languages" 2023 | }, 2024 | { 2025 | "alpha2": "", 2026 | "alpha3": "nap", 2027 | "bibliographic": "", 2028 | "name": "Neapolitan" 2029 | }, 2030 | { 2031 | "alpha2": "na", 2032 | "alpha3": "nau", 2033 | "bibliographic": "", 2034 | "name": "Nauru" 2035 | }, 2036 | { 2037 | "alpha2": "nv", 2038 | "alpha3": "nav", 2039 | "bibliographic": "", 2040 | "name": "Navaho" 2041 | }, 2042 | { 2043 | "alpha2": "nv", 2044 | "alpha3": "nav", 2045 | "bibliographic": "", 2046 | "name": "Navajo" 2047 | }, 2048 | { 2049 | "alpha2": "nr", 2050 | "alpha3": "nbl", 2051 | "bibliographic": "", 2052 | "name": "Ndebele, South" 2053 | }, 2054 | { 2055 | "alpha2": "nr", 2056 | "alpha3": "nbl", 2057 | "bibliographic": "", 2058 | "name": "South Ndebele" 2059 | }, 2060 | { 2061 | "alpha2": "nd", 2062 | "alpha3": "nde", 2063 | "bibliographic": "", 2064 | "name": "Ndebele, North" 2065 | }, 2066 | { 2067 | "alpha2": "nd", 2068 | "alpha3": "nde", 2069 | "bibliographic": "", 2070 | "name": "North Ndebele" 2071 | }, 2072 | { 2073 | "alpha2": "ng", 2074 | "alpha3": "ndo", 2075 | "bibliographic": "", 2076 | "name": "Ndonga" 2077 | }, 2078 | { 2079 | "alpha2": "", 2080 | "alpha3": "nds", 2081 | "bibliographic": "", 2082 | "name": "German, Low" 2083 | }, 2084 | { 2085 | "alpha2": "", 2086 | "alpha3": "nds", 2087 | "bibliographic": "", 2088 | "name": "Low German" 2089 | }, 2090 | { 2091 | "alpha2": "", 2092 | "alpha3": "nds", 2093 | "bibliographic": "", 2094 | "name": "Low Saxon" 2095 | }, 2096 | { 2097 | "alpha2": "", 2098 | "alpha3": "nds", 2099 | "bibliographic": "", 2100 | "name": "Saxon, Low" 2101 | }, 2102 | { 2103 | "alpha2": "ne", 2104 | "alpha3": "nep", 2105 | "bibliographic": "", 2106 | "name": "Nepali" 2107 | }, 2108 | { 2109 | "alpha2": "", 2110 | "alpha3": "new", 2111 | "bibliographic": "", 2112 | "name": "Nepal Bhasa" 2113 | }, 2114 | { 2115 | "alpha2": "", 2116 | "alpha3": "new", 2117 | "bibliographic": "", 2118 | "name": "Newari" 2119 | }, 2120 | { 2121 | "alpha2": "", 2122 | "alpha3": "nia", 2123 | "bibliographic": "", 2124 | "name": "Nias" 2125 | }, 2126 | { 2127 | "alpha2": "", 2128 | "alpha3": "nic", 2129 | "bibliographic": "", 2130 | "name": "Niger-Kordofanian languages" 2131 | }, 2132 | { 2133 | "alpha2": "", 2134 | "alpha3": "niu", 2135 | "bibliographic": "", 2136 | "name": "Niuean" 2137 | }, 2138 | { 2139 | "alpha2": "nl", 2140 | "alpha3": "nld", 2141 | "bibliographic": "dut", 2142 | "name": "Dutch" 2143 | }, 2144 | { 2145 | "alpha2": "nl", 2146 | "alpha3": "nld", 2147 | "bibliographic": "dut", 2148 | "name": "Flemish" 2149 | }, 2150 | { 2151 | "alpha2": "nn", 2152 | "alpha3": "nno", 2153 | "bibliographic": "", 2154 | "name": "Norwegian Nynorsk" 2155 | }, 2156 | { 2157 | "alpha2": "nn", 2158 | "alpha3": "nno", 2159 | "bibliographic": "", 2160 | "name": "Nynorsk, Norwegian" 2161 | }, 2162 | { 2163 | "alpha2": "nb", 2164 | "alpha3": "nob", 2165 | "bibliographic": "", 2166 | "name": "Bokmål, Norwegian" 2167 | }, 2168 | { 2169 | "alpha2": "nb", 2170 | "alpha3": "nob", 2171 | "bibliographic": "", 2172 | "name": "Norwegian Bokmål" 2173 | }, 2174 | { 2175 | "alpha2": "", 2176 | "alpha3": "nog", 2177 | "bibliographic": "", 2178 | "name": "Nogai" 2179 | }, 2180 | { 2181 | "alpha2": "", 2182 | "alpha3": "non", 2183 | "bibliographic": "", 2184 | "name": "Norse, Old" 2185 | }, 2186 | { 2187 | "alpha2": "no", 2188 | "alpha3": "nor", 2189 | "bibliographic": "", 2190 | "name": "Norwegian" 2191 | }, 2192 | { 2193 | "alpha2": "", 2194 | "alpha3": "nqo", 2195 | "bibliographic": "", 2196 | "name": "N'Ko" 2197 | }, 2198 | { 2199 | "alpha2": "", 2200 | "alpha3": "nso", 2201 | "bibliographic": "", 2202 | "name": "Northern Sotho" 2203 | }, 2204 | { 2205 | "alpha2": "", 2206 | "alpha3": "nso", 2207 | "bibliographic": "", 2208 | "name": "Pedi" 2209 | }, 2210 | { 2211 | "alpha2": "", 2212 | "alpha3": "nso", 2213 | "bibliographic": "", 2214 | "name": "Sepedi" 2215 | }, 2216 | { 2217 | "alpha2": "", 2218 | "alpha3": "nso", 2219 | "bibliographic": "", 2220 | "name": "Sotho, Northern" 2221 | }, 2222 | { 2223 | "alpha2": "", 2224 | "alpha3": "nub", 2225 | "bibliographic": "", 2226 | "name": "Nubian languages" 2227 | }, 2228 | { 2229 | "alpha2": "", 2230 | "alpha3": "nwc", 2231 | "bibliographic": "", 2232 | "name": "Classical Nepal Bhasa" 2233 | }, 2234 | { 2235 | "alpha2": "", 2236 | "alpha3": "nwc", 2237 | "bibliographic": "", 2238 | "name": "Classical Newari" 2239 | }, 2240 | { 2241 | "alpha2": "", 2242 | "alpha3": "nwc", 2243 | "bibliographic": "", 2244 | "name": "Old Newari" 2245 | }, 2246 | { 2247 | "alpha2": "ny", 2248 | "alpha3": "nya", 2249 | "bibliographic": "", 2250 | "name": "Chewa" 2251 | }, 2252 | { 2253 | "alpha2": "ny", 2254 | "alpha3": "nya", 2255 | "bibliographic": "", 2256 | "name": "Chichewa" 2257 | }, 2258 | { 2259 | "alpha2": "ny", 2260 | "alpha3": "nya", 2261 | "bibliographic": "", 2262 | "name": "Nyanja" 2263 | }, 2264 | { 2265 | "alpha2": "", 2266 | "alpha3": "nym", 2267 | "bibliographic": "", 2268 | "name": "Nyamwezi" 2269 | }, 2270 | { 2271 | "alpha2": "", 2272 | "alpha3": "nyn", 2273 | "bibliographic": "", 2274 | "name": "Nyankole" 2275 | }, 2276 | { 2277 | "alpha2": "", 2278 | "alpha3": "nyo", 2279 | "bibliographic": "", 2280 | "name": "Nyoro" 2281 | }, 2282 | { 2283 | "alpha2": "", 2284 | "alpha3": "nzi", 2285 | "bibliographic": "", 2286 | "name": "Nzima" 2287 | }, 2288 | { 2289 | "alpha2": "oc", 2290 | "alpha3": "oci", 2291 | "bibliographic": "", 2292 | "name": "Occitan (post 1500)" 2293 | }, 2294 | { 2295 | "alpha2": "oj", 2296 | "alpha3": "oji", 2297 | "bibliographic": "", 2298 | "name": "Ojibwa" 2299 | }, 2300 | { 2301 | "alpha2": "or", 2302 | "alpha3": "ori", 2303 | "bibliographic": "", 2304 | "name": "Oriya" 2305 | }, 2306 | { 2307 | "alpha2": "om", 2308 | "alpha3": "orm", 2309 | "bibliographic": "", 2310 | "name": "Oromo" 2311 | }, 2312 | { 2313 | "alpha2": "", 2314 | "alpha3": "osa", 2315 | "bibliographic": "", 2316 | "name": "Osage" 2317 | }, 2318 | { 2319 | "alpha2": "os", 2320 | "alpha3": "oss", 2321 | "bibliographic": "", 2322 | "name": "Ossetian" 2323 | }, 2324 | { 2325 | "alpha2": "os", 2326 | "alpha3": "oss", 2327 | "bibliographic": "", 2328 | "name": "Ossetic" 2329 | }, 2330 | { 2331 | "alpha2": "", 2332 | "alpha3": "ota", 2333 | "bibliographic": "", 2334 | "name": "Turkish, Ottoman (1500-1928)" 2335 | }, 2336 | { 2337 | "alpha2": "", 2338 | "alpha3": "oto", 2339 | "bibliographic": "", 2340 | "name": "Otomian languages" 2341 | }, 2342 | { 2343 | "alpha2": "", 2344 | "alpha3": "paa", 2345 | "bibliographic": "", 2346 | "name": "Papuan languages" 2347 | }, 2348 | { 2349 | "alpha2": "", 2350 | "alpha3": "pag", 2351 | "bibliographic": "", 2352 | "name": "Pangasinan" 2353 | }, 2354 | { 2355 | "alpha2": "", 2356 | "alpha3": "pal", 2357 | "bibliographic": "", 2358 | "name": "Pahlavi" 2359 | }, 2360 | { 2361 | "alpha2": "", 2362 | "alpha3": "pam", 2363 | "bibliographic": "", 2364 | "name": "Kapampangan" 2365 | }, 2366 | { 2367 | "alpha2": "", 2368 | "alpha3": "pam", 2369 | "bibliographic": "", 2370 | "name": "Pampanga" 2371 | }, 2372 | { 2373 | "alpha2": "pa", 2374 | "alpha3": "pan", 2375 | "bibliographic": "", 2376 | "name": "Panjabi" 2377 | }, 2378 | { 2379 | "alpha2": "pa", 2380 | "alpha3": "pan", 2381 | "bibliographic": "", 2382 | "name": "Punjabi" 2383 | }, 2384 | { 2385 | "alpha2": "", 2386 | "alpha3": "pap", 2387 | "bibliographic": "", 2388 | "name": "Papiamento" 2389 | }, 2390 | { 2391 | "alpha2": "", 2392 | "alpha3": "pau", 2393 | "bibliographic": "", 2394 | "name": "Palauan" 2395 | }, 2396 | { 2397 | "alpha2": "", 2398 | "alpha3": "peo", 2399 | "bibliographic": "", 2400 | "name": "Persian, Old (ca.600-400 B.C.)" 2401 | }, 2402 | { 2403 | "alpha2": "", 2404 | "alpha3": "phi", 2405 | "bibliographic": "", 2406 | "name": "Philippine languages" 2407 | }, 2408 | { 2409 | "alpha2": "", 2410 | "alpha3": "phn", 2411 | "bibliographic": "", 2412 | "name": "Phoenician" 2413 | }, 2414 | { 2415 | "alpha2": "pi", 2416 | "alpha3": "pli", 2417 | "bibliographic": "", 2418 | "name": "Pali" 2419 | }, 2420 | { 2421 | "alpha2": "pl", 2422 | "alpha3": "pol", 2423 | "bibliographic": "", 2424 | "name": "Polish" 2425 | }, 2426 | { 2427 | "alpha2": "", 2428 | "alpha3": "pon", 2429 | "bibliographic": "", 2430 | "name": "Pohnpeian" 2431 | }, 2432 | { 2433 | "alpha2": "pt", 2434 | "alpha3": "por", 2435 | "bibliographic": "", 2436 | "name": "Portuguese" 2437 | }, 2438 | { 2439 | "alpha2": "", 2440 | "alpha3": "pra", 2441 | "bibliographic": "", 2442 | "name": "Prakrit languages" 2443 | }, 2444 | { 2445 | "alpha2": "", 2446 | "alpha3": "pro", 2447 | "bibliographic": "", 2448 | "name": "Occitan, Old (to 1500)" 2449 | }, 2450 | { 2451 | "alpha2": "", 2452 | "alpha3": "pro", 2453 | "bibliographic": "", 2454 | "name": "Provençal, Old (to 1500)" 2455 | }, 2456 | { 2457 | "alpha2": "ps", 2458 | "alpha3": "pus", 2459 | "bibliographic": "", 2460 | "name": "Pashto" 2461 | }, 2462 | { 2463 | "alpha2": "ps", 2464 | "alpha3": "pus", 2465 | "bibliographic": "", 2466 | "name": "Pushto" 2467 | }, 2468 | { 2469 | "alpha2": "qu", 2470 | "alpha3": "que", 2471 | "bibliographic": "", 2472 | "name": "Quechua" 2473 | }, 2474 | { 2475 | "alpha2": "", 2476 | "alpha3": "raj", 2477 | "bibliographic": "", 2478 | "name": "Rajasthani" 2479 | }, 2480 | { 2481 | "alpha2": "", 2482 | "alpha3": "rap", 2483 | "bibliographic": "", 2484 | "name": "Rapanui" 2485 | }, 2486 | { 2487 | "alpha2": "", 2488 | "alpha3": "rar", 2489 | "bibliographic": "", 2490 | "name": "Cook Islands Maori" 2491 | }, 2492 | { 2493 | "alpha2": "", 2494 | "alpha3": "rar", 2495 | "bibliographic": "", 2496 | "name": "Rarotongan" 2497 | }, 2498 | { 2499 | "alpha2": "", 2500 | "alpha3": "roa", 2501 | "bibliographic": "", 2502 | "name": "Romance languages" 2503 | }, 2504 | { 2505 | "alpha2": "rm", 2506 | "alpha3": "roh", 2507 | "bibliographic": "", 2508 | "name": "Romansh" 2509 | }, 2510 | { 2511 | "alpha2": "", 2512 | "alpha3": "rom", 2513 | "bibliographic": "", 2514 | "name": "Romany" 2515 | }, 2516 | { 2517 | "alpha2": "ro", 2518 | "alpha3": "ron", 2519 | "bibliographic": "rum", 2520 | "name": "Moldavian" 2521 | }, 2522 | { 2523 | "alpha2": "ro", 2524 | "alpha3": "ron", 2525 | "bibliographic": "rum", 2526 | "name": "Romanian" 2527 | }, 2528 | { 2529 | "alpha2": "rn", 2530 | "alpha3": "run", 2531 | "bibliographic": "", 2532 | "name": "Rundi" 2533 | }, 2534 | { 2535 | "alpha2": "", 2536 | "alpha3": "rup", 2537 | "bibliographic": "", 2538 | "name": "Aromanian" 2539 | }, 2540 | { 2541 | "alpha2": "", 2542 | "alpha3": "rup", 2543 | "bibliographic": "", 2544 | "name": "Arumanian" 2545 | }, 2546 | { 2547 | "alpha2": "", 2548 | "alpha3": "rup", 2549 | "bibliographic": "", 2550 | "name": "Macedo-Romanian" 2551 | }, 2552 | { 2553 | "alpha2": "ru", 2554 | "alpha3": "rus", 2555 | "bibliographic": "", 2556 | "name": "Russian" 2557 | }, 2558 | { 2559 | "alpha2": "", 2560 | "alpha3": "sad", 2561 | "bibliographic": "", 2562 | "name": "Sandawe" 2563 | }, 2564 | { 2565 | "alpha2": "sg", 2566 | "alpha3": "sag", 2567 | "bibliographic": "", 2568 | "name": "Sango" 2569 | }, 2570 | { 2571 | "alpha2": "", 2572 | "alpha3": "sah", 2573 | "bibliographic": "", 2574 | "name": "Yakut" 2575 | }, 2576 | { 2577 | "alpha2": "", 2578 | "alpha3": "sai", 2579 | "bibliographic": "", 2580 | "name": "South American Indian languages" 2581 | }, 2582 | { 2583 | "alpha2": "", 2584 | "alpha3": "sal", 2585 | "bibliographic": "", 2586 | "name": "Salishan languages" 2587 | }, 2588 | { 2589 | "alpha2": "", 2590 | "alpha3": "sam", 2591 | "bibliographic": "", 2592 | "name": "Samaritan Aramaic" 2593 | }, 2594 | { 2595 | "alpha2": "sa", 2596 | "alpha3": "san", 2597 | "bibliographic": "", 2598 | "name": "Sanskrit" 2599 | }, 2600 | { 2601 | "alpha2": "", 2602 | "alpha3": "sas", 2603 | "bibliographic": "", 2604 | "name": "Sasak" 2605 | }, 2606 | { 2607 | "alpha2": "", 2608 | "alpha3": "sat", 2609 | "bibliographic": "", 2610 | "name": "Santali" 2611 | }, 2612 | { 2613 | "alpha2": "", 2614 | "alpha3": "scn", 2615 | "bibliographic": "", 2616 | "name": "Sicilian" 2617 | }, 2618 | { 2619 | "alpha2": "", 2620 | "alpha3": "sco", 2621 | "bibliographic": "", 2622 | "name": "Scots" 2623 | }, 2624 | { 2625 | "alpha2": "", 2626 | "alpha3": "sel", 2627 | "bibliographic": "", 2628 | "name": "Selkup" 2629 | }, 2630 | { 2631 | "alpha2": "", 2632 | "alpha3": "sem", 2633 | "bibliographic": "", 2634 | "name": "Semitic languages" 2635 | }, 2636 | { 2637 | "alpha2": "", 2638 | "alpha3": "sga", 2639 | "bibliographic": "", 2640 | "name": "Irish, Old (to 900)" 2641 | }, 2642 | { 2643 | "alpha2": "", 2644 | "alpha3": "sgn", 2645 | "bibliographic": "", 2646 | "name": "Sign Languages" 2647 | }, 2648 | { 2649 | "alpha2": "", 2650 | "alpha3": "shn", 2651 | "bibliographic": "", 2652 | "name": "Shan" 2653 | }, 2654 | { 2655 | "alpha2": "", 2656 | "alpha3": "sid", 2657 | "bibliographic": "", 2658 | "name": "Sidamo" 2659 | }, 2660 | { 2661 | "alpha2": "si", 2662 | "alpha3": "sin", 2663 | "bibliographic": "", 2664 | "name": "Sinhala" 2665 | }, 2666 | { 2667 | "alpha2": "si", 2668 | "alpha3": "sin", 2669 | "bibliographic": "", 2670 | "name": "Sinhalese" 2671 | }, 2672 | { 2673 | "alpha2": "", 2674 | "alpha3": "sio", 2675 | "bibliographic": "", 2676 | "name": "Siouan languages" 2677 | }, 2678 | { 2679 | "alpha2": "", 2680 | "alpha3": "sit", 2681 | "bibliographic": "", 2682 | "name": "Sino-Tibetan languages" 2683 | }, 2684 | { 2685 | "alpha2": "", 2686 | "alpha3": "sla", 2687 | "bibliographic": "", 2688 | "name": "Slavic languages" 2689 | }, 2690 | { 2691 | "alpha2": "sk", 2692 | "alpha3": "slk", 2693 | "bibliographic": "slo", 2694 | "name": "Slovak" 2695 | }, 2696 | { 2697 | "alpha2": "sl", 2698 | "alpha3": "slv", 2699 | "bibliographic": "", 2700 | "name": "Slovenian" 2701 | }, 2702 | { 2703 | "alpha2": "", 2704 | "alpha3": "sma", 2705 | "bibliographic": "", 2706 | "name": "Southern Sami" 2707 | }, 2708 | { 2709 | "alpha2": "se", 2710 | "alpha3": "sme", 2711 | "bibliographic": "", 2712 | "name": "Northern Sami" 2713 | }, 2714 | { 2715 | "alpha2": "", 2716 | "alpha3": "smi", 2717 | "bibliographic": "", 2718 | "name": "Sami languages" 2719 | }, 2720 | { 2721 | "alpha2": "", 2722 | "alpha3": "smj", 2723 | "bibliographic": "", 2724 | "name": "Lule Sami" 2725 | }, 2726 | { 2727 | "alpha2": "", 2728 | "alpha3": "smn", 2729 | "bibliographic": "", 2730 | "name": "Inari Sami" 2731 | }, 2732 | { 2733 | "alpha2": "sm", 2734 | "alpha3": "smo", 2735 | "bibliographic": "", 2736 | "name": "Samoan" 2737 | }, 2738 | { 2739 | "alpha2": "", 2740 | "alpha3": "sms", 2741 | "bibliographic": "", 2742 | "name": "Skolt Sami" 2743 | }, 2744 | { 2745 | "alpha2": "sn", 2746 | "alpha3": "sna", 2747 | "bibliographic": "", 2748 | "name": "Shona" 2749 | }, 2750 | { 2751 | "alpha2": "sd", 2752 | "alpha3": "snd", 2753 | "bibliographic": "", 2754 | "name": "Sindhi" 2755 | }, 2756 | { 2757 | "alpha2": "", 2758 | "alpha3": "snk", 2759 | "bibliographic": "", 2760 | "name": "Soninke" 2761 | }, 2762 | { 2763 | "alpha2": "", 2764 | "alpha3": "sog", 2765 | "bibliographic": "", 2766 | "name": "Sogdian" 2767 | }, 2768 | { 2769 | "alpha2": "so", 2770 | "alpha3": "som", 2771 | "bibliographic": "", 2772 | "name": "Somali" 2773 | }, 2774 | { 2775 | "alpha2": "", 2776 | "alpha3": "son", 2777 | "bibliographic": "", 2778 | "name": "Songhai languages" 2779 | }, 2780 | { 2781 | "alpha2": "st", 2782 | "alpha3": "sot", 2783 | "bibliographic": "", 2784 | "name": "Sotho, Southern" 2785 | }, 2786 | { 2787 | "alpha2": "es", 2788 | "alpha3": "spa", 2789 | "bibliographic": "", 2790 | "name": "Castilian" 2791 | }, 2792 | { 2793 | "alpha2": "es", 2794 | "alpha3": "spa", 2795 | "bibliographic": "", 2796 | "name": "Spanish" 2797 | }, 2798 | { 2799 | "alpha2": "sq", 2800 | "alpha3": "sqi", 2801 | "bibliographic": "alb", 2802 | "name": "Albanian" 2803 | }, 2804 | { 2805 | "alpha2": "sc", 2806 | "alpha3": "srd", 2807 | "bibliographic": "", 2808 | "name": "Sardinian" 2809 | }, 2810 | { 2811 | "alpha2": "", 2812 | "alpha3": "srn", 2813 | "bibliographic": "", 2814 | "name": "Sranan Tongo" 2815 | }, 2816 | { 2817 | "alpha2": "sr", 2818 | "alpha3": "srp", 2819 | "bibliographic": "", 2820 | "name": "Serbian" 2821 | }, 2822 | { 2823 | "alpha2": "", 2824 | "alpha3": "srr", 2825 | "bibliographic": "", 2826 | "name": "Serer" 2827 | }, 2828 | { 2829 | "alpha2": "", 2830 | "alpha3": "ssa", 2831 | "bibliographic": "", 2832 | "name": "Nilo-Saharan languages" 2833 | }, 2834 | { 2835 | "alpha2": "ss", 2836 | "alpha3": "ssw", 2837 | "bibliographic": "", 2838 | "name": "Swati" 2839 | }, 2840 | { 2841 | "alpha2": "", 2842 | "alpha3": "suk", 2843 | "bibliographic": "", 2844 | "name": "Sukuma" 2845 | }, 2846 | { 2847 | "alpha2": "su", 2848 | "alpha3": "sun", 2849 | "bibliographic": "", 2850 | "name": "Sundanese" 2851 | }, 2852 | { 2853 | "alpha2": "", 2854 | "alpha3": "sus", 2855 | "bibliographic": "", 2856 | "name": "Susu" 2857 | }, 2858 | { 2859 | "alpha2": "", 2860 | "alpha3": "sux", 2861 | "bibliographic": "", 2862 | "name": "Sumerian" 2863 | }, 2864 | { 2865 | "alpha2": "sw", 2866 | "alpha3": "swa", 2867 | "bibliographic": "", 2868 | "name": "Swahili" 2869 | }, 2870 | { 2871 | "alpha2": "sv", 2872 | "alpha3": "swe", 2873 | "bibliographic": "", 2874 | "name": "Swedish" 2875 | }, 2876 | { 2877 | "alpha2": "", 2878 | "alpha3": "syc", 2879 | "bibliographic": "", 2880 | "name": "Classical Syriac" 2881 | }, 2882 | { 2883 | "alpha2": "", 2884 | "alpha3": "syr", 2885 | "bibliographic": "", 2886 | "name": "Syriac" 2887 | }, 2888 | { 2889 | "alpha2": "ty", 2890 | "alpha3": "tah", 2891 | "bibliographic": "", 2892 | "name": "Tahitian" 2893 | }, 2894 | { 2895 | "alpha2": "", 2896 | "alpha3": "tai", 2897 | "bibliographic": "", 2898 | "name": "Tai languages" 2899 | }, 2900 | { 2901 | "alpha2": "ta", 2902 | "alpha3": "tam", 2903 | "bibliographic": "", 2904 | "name": "Tamil" 2905 | }, 2906 | { 2907 | "alpha2": "tt", 2908 | "alpha3": "tat", 2909 | "bibliographic": "", 2910 | "name": "Tatar" 2911 | }, 2912 | { 2913 | "alpha2": "te", 2914 | "alpha3": "tel", 2915 | "bibliographic": "", 2916 | "name": "Telugu" 2917 | }, 2918 | { 2919 | "alpha2": "", 2920 | "alpha3": "tem", 2921 | "bibliographic": "", 2922 | "name": "Timne" 2923 | }, 2924 | { 2925 | "alpha2": "", 2926 | "alpha3": "ter", 2927 | "bibliographic": "", 2928 | "name": "Tereno" 2929 | }, 2930 | { 2931 | "alpha2": "", 2932 | "alpha3": "tet", 2933 | "bibliographic": "", 2934 | "name": "Tetum" 2935 | }, 2936 | { 2937 | "alpha2": "tg", 2938 | "alpha3": "tgk", 2939 | "bibliographic": "", 2940 | "name": "Tajik" 2941 | }, 2942 | { 2943 | "alpha2": "tl", 2944 | "alpha3": "tgl", 2945 | "bibliographic": "", 2946 | "name": "Tagalog" 2947 | }, 2948 | { 2949 | "alpha2": "th", 2950 | "alpha3": "tha", 2951 | "bibliographic": "", 2952 | "name": "Thai" 2953 | }, 2954 | { 2955 | "alpha2": "", 2956 | "alpha3": "tig", 2957 | "bibliographic": "", 2958 | "name": "Tigre" 2959 | }, 2960 | { 2961 | "alpha2": "ti", 2962 | "alpha3": "tir", 2963 | "bibliographic": "", 2964 | "name": "Tigrinya" 2965 | }, 2966 | { 2967 | "alpha2": "", 2968 | "alpha3": "tiv", 2969 | "bibliographic": "", 2970 | "name": "Tiv" 2971 | }, 2972 | { 2973 | "alpha2": "", 2974 | "alpha3": "tkl", 2975 | "bibliographic": "", 2976 | "name": "Tokelau" 2977 | }, 2978 | { 2979 | "alpha2": "", 2980 | "alpha3": "tlh", 2981 | "bibliographic": "", 2982 | "name": "Klingon" 2983 | }, 2984 | { 2985 | "alpha2": "", 2986 | "alpha3": "tlh", 2987 | "bibliographic": "", 2988 | "name": "tlhIngan-Hol" 2989 | }, 2990 | { 2991 | "alpha2": "", 2992 | "alpha3": "tli", 2993 | "bibliographic": "", 2994 | "name": "Tlingit" 2995 | }, 2996 | { 2997 | "alpha2": "", 2998 | "alpha3": "tmh", 2999 | "bibliographic": "", 3000 | "name": "Tamashek" 3001 | }, 3002 | { 3003 | "alpha2": "", 3004 | "alpha3": "tog", 3005 | "bibliographic": "", 3006 | "name": "Tonga (Nyasa)" 3007 | }, 3008 | { 3009 | "alpha2": "to", 3010 | "alpha3": "ton", 3011 | "bibliographic": "", 3012 | "name": "Tonga (Tonga Islands)" 3013 | }, 3014 | { 3015 | "alpha2": "", 3016 | "alpha3": "tpi", 3017 | "bibliographic": "", 3018 | "name": "Tok Pisin" 3019 | }, 3020 | { 3021 | "alpha2": "", 3022 | "alpha3": "tsi", 3023 | "bibliographic": "", 3024 | "name": "Tsimshian" 3025 | }, 3026 | { 3027 | "alpha2": "tn", 3028 | "alpha3": "tsn", 3029 | "bibliographic": "", 3030 | "name": "Tswana" 3031 | }, 3032 | { 3033 | "alpha2": "ts", 3034 | "alpha3": "tso", 3035 | "bibliographic": "", 3036 | "name": "Tsonga" 3037 | }, 3038 | { 3039 | "alpha2": "tk", 3040 | "alpha3": "tuk", 3041 | "bibliographic": "", 3042 | "name": "Turkmen" 3043 | }, 3044 | { 3045 | "alpha2": "", 3046 | "alpha3": "tum", 3047 | "bibliographic": "", 3048 | "name": "Tumbuka" 3049 | }, 3050 | { 3051 | "alpha2": "", 3052 | "alpha3": "tup", 3053 | "bibliographic": "", 3054 | "name": "Tupi languages" 3055 | }, 3056 | { 3057 | "alpha2": "tr", 3058 | "alpha3": "tur", 3059 | "bibliographic": "", 3060 | "name": "Turkish" 3061 | }, 3062 | { 3063 | "alpha2": "", 3064 | "alpha3": "tut", 3065 | "bibliographic": "", 3066 | "name": "Altaic languages" 3067 | }, 3068 | { 3069 | "alpha2": "", 3070 | "alpha3": "tvl", 3071 | "bibliographic": "", 3072 | "name": "Tuvalu" 3073 | }, 3074 | { 3075 | "alpha2": "tw", 3076 | "alpha3": "twi", 3077 | "bibliographic": "", 3078 | "name": "Twi" 3079 | }, 3080 | { 3081 | "alpha2": "", 3082 | "alpha3": "tyv", 3083 | "bibliographic": "", 3084 | "name": "Tuvinian" 3085 | }, 3086 | { 3087 | "alpha2": "", 3088 | "alpha3": "udm", 3089 | "bibliographic": "", 3090 | "name": "Udmurt" 3091 | }, 3092 | { 3093 | "alpha2": "", 3094 | "alpha3": "uga", 3095 | "bibliographic": "", 3096 | "name": "Ugaritic" 3097 | }, 3098 | { 3099 | "alpha2": "ug", 3100 | "alpha3": "uig", 3101 | "bibliographic": "", 3102 | "name": "Uighur" 3103 | }, 3104 | { 3105 | "alpha2": "ug", 3106 | "alpha3": "uig", 3107 | "bibliographic": "", 3108 | "name": "Uyghur" 3109 | }, 3110 | { 3111 | "alpha2": "uk", 3112 | "alpha3": "ukr", 3113 | "bibliographic": "", 3114 | "name": "Ukrainian" 3115 | }, 3116 | { 3117 | "alpha2": "", 3118 | "alpha3": "umb", 3119 | "bibliographic": "", 3120 | "name": "Umbundu" 3121 | }, 3122 | { 3123 | "alpha2": "", 3124 | "alpha3": "und", 3125 | "bibliographic": "", 3126 | "name": "Undetermined" 3127 | }, 3128 | { 3129 | "alpha2": "ur", 3130 | "alpha3": "urd", 3131 | "bibliographic": "", 3132 | "name": "Urdu" 3133 | }, 3134 | { 3135 | "alpha2": "uz", 3136 | "alpha3": "uzb", 3137 | "bibliographic": "", 3138 | "name": "Uzbek" 3139 | }, 3140 | { 3141 | "alpha2": "", 3142 | "alpha3": "vai", 3143 | "bibliographic": "", 3144 | "name": "Vai" 3145 | }, 3146 | { 3147 | "alpha2": "ve", 3148 | "alpha3": "ven", 3149 | "bibliographic": "", 3150 | "name": "Venda" 3151 | }, 3152 | { 3153 | "alpha2": "vi", 3154 | "alpha3": "vie", 3155 | "bibliographic": "", 3156 | "name": "Vietnamese" 3157 | }, 3158 | { 3159 | "alpha2": "vo", 3160 | "alpha3": "vol", 3161 | "bibliographic": "", 3162 | "name": "Volapük" 3163 | }, 3164 | { 3165 | "alpha2": "", 3166 | "alpha3": "vot", 3167 | "bibliographic": "", 3168 | "name": "Votic" 3169 | }, 3170 | { 3171 | "alpha2": "", 3172 | "alpha3": "wak", 3173 | "bibliographic": "", 3174 | "name": "Wakashan languages" 3175 | }, 3176 | { 3177 | "alpha2": "", 3178 | "alpha3": "wal", 3179 | "bibliographic": "", 3180 | "name": "Wolaitta" 3181 | }, 3182 | { 3183 | "alpha2": "", 3184 | "alpha3": "wal", 3185 | "bibliographic": "", 3186 | "name": "Wolaytta" 3187 | }, 3188 | { 3189 | "alpha2": "", 3190 | "alpha3": "war", 3191 | "bibliographic": "", 3192 | "name": "Waray" 3193 | }, 3194 | { 3195 | "alpha2": "", 3196 | "alpha3": "was", 3197 | "bibliographic": "", 3198 | "name": "Washo" 3199 | }, 3200 | { 3201 | "alpha2": "", 3202 | "alpha3": "wen", 3203 | "bibliographic": "", 3204 | "name": "Sorbian languages" 3205 | }, 3206 | { 3207 | "alpha2": "wa", 3208 | "alpha3": "wln", 3209 | "bibliographic": "", 3210 | "name": "Walloon" 3211 | }, 3212 | { 3213 | "alpha2": "wo", 3214 | "alpha3": "wol", 3215 | "bibliographic": "", 3216 | "name": "Wolof" 3217 | }, 3218 | { 3219 | "alpha2": "", 3220 | "alpha3": "xal", 3221 | "bibliographic": "", 3222 | "name": "Kalmyk" 3223 | }, 3224 | { 3225 | "alpha2": "", 3226 | "alpha3": "xal", 3227 | "bibliographic": "", 3228 | "name": "Oirat" 3229 | }, 3230 | { 3231 | "alpha2": "xh", 3232 | "alpha3": "xho", 3233 | "bibliographic": "", 3234 | "name": "Xhosa" 3235 | }, 3236 | { 3237 | "alpha2": "", 3238 | "alpha3": "yao", 3239 | "bibliographic": "", 3240 | "name": "Yao" 3241 | }, 3242 | { 3243 | "alpha2": "", 3244 | "alpha3": "yap", 3245 | "bibliographic": "", 3246 | "name": "Yapese" 3247 | }, 3248 | { 3249 | "alpha2": "yi", 3250 | "alpha3": "yid", 3251 | "bibliographic": "", 3252 | "name": "Yiddish" 3253 | }, 3254 | { 3255 | "alpha2": "yo", 3256 | "alpha3": "yor", 3257 | "bibliographic": "", 3258 | "name": "Yoruba" 3259 | }, 3260 | { 3261 | "alpha2": "", 3262 | "alpha3": "ypk", 3263 | "bibliographic": "", 3264 | "name": "Yupik languages" 3265 | }, 3266 | { 3267 | "alpha2": "", 3268 | "alpha3": "zap", 3269 | "bibliographic": "", 3270 | "name": "Zapotec" 3271 | }, 3272 | { 3273 | "alpha2": "", 3274 | "alpha3": "zbl", 3275 | "bibliographic": "", 3276 | "name": "Bliss" 3277 | }, 3278 | { 3279 | "alpha2": "", 3280 | "alpha3": "zbl", 3281 | "bibliographic": "", 3282 | "name": "Blissymbolics" 3283 | }, 3284 | { 3285 | "alpha2": "", 3286 | "alpha3": "zbl", 3287 | "bibliographic": "", 3288 | "name": "Blissymbols" 3289 | }, 3290 | { 3291 | "alpha2": "", 3292 | "alpha3": "zen", 3293 | "bibliographic": "", 3294 | "name": "Zenaga" 3295 | }, 3296 | { 3297 | "alpha2": "", 3298 | "alpha3": "zgh", 3299 | "bibliographic": "", 3300 | "name": "Standard Moroccan Tamazight" 3301 | }, 3302 | { 3303 | "alpha2": "za", 3304 | "alpha3": "zha", 3305 | "bibliographic": "", 3306 | "name": "Chuang" 3307 | }, 3308 | { 3309 | "alpha2": "za", 3310 | "alpha3": "zha", 3311 | "bibliographic": "", 3312 | "name": "Zhuang" 3313 | }, 3314 | { 3315 | "alpha2": "zh", 3316 | "alpha3": "zho", 3317 | "bibliographic": "chi", 3318 | "name": "Chinese" 3319 | }, 3320 | { 3321 | "alpha2": "", 3322 | "alpha3": "znd", 3323 | "bibliographic": "", 3324 | "name": "Zande languages" 3325 | }, 3326 | { 3327 | "alpha2": "zu", 3328 | "alpha3": "zul", 3329 | "bibliographic": "", 3330 | "name": "Zulu" 3331 | }, 3332 | { 3333 | "alpha2": "", 3334 | "alpha3": "zun", 3335 | "bibliographic": "", 3336 | "name": "Zuni" 3337 | }, 3338 | { 3339 | "alpha2": "", 3340 | "alpha3": "zxx", 3341 | "bibliographic": "", 3342 | "name": "No linguistic content" 3343 | }, 3344 | { 3345 | "alpha2": "", 3346 | "alpha3": "zxx", 3347 | "bibliographic": "", 3348 | "name": "Not applicable" 3349 | }, 3350 | { 3351 | "alpha2": "", 3352 | "alpha3": "zza", 3353 | "bibliographic": "", 3354 | "name": "Dimili" 3355 | }, 3356 | { 3357 | "alpha2": "", 3358 | "alpha3": "zza", 3359 | "bibliographic": "", 3360 | "name": "Dimli" 3361 | }, 3362 | { 3363 | "alpha2": "", 3364 | "alpha3": "zza", 3365 | "bibliographic": "", 3366 | "name": "Kirdki" 3367 | }, 3368 | { 3369 | "alpha2": "", 3370 | "alpha3": "zza", 3371 | "bibliographic": "", 3372 | "name": "Kirmanjki" 3373 | }, 3374 | { 3375 | "alpha2": "", 3376 | "alpha3": "zza", 3377 | "bibliographic": "", 3378 | "name": "Zaza" 3379 | }, 3380 | { 3381 | "alpha2": "", 3382 | "alpha3": "zza", 3383 | "bibliographic": "", 3384 | "name": "Zazaki" 3385 | } 3386 | ] 3387 | --------------------------------------------------------------------------------