101

Is there a list of language codes in YAML or JSON somewhere out there?

Another format is fine, I can convert it if necessary.

marcgg
  • 65,020
  • 52
  • 178
  • 231
RyanScottLewis
  • 13,396
  • 16
  • 56
  • 84
  • 5
    How about Wikipedia/HTML format? :) – Adrian Jul 10 '10 at 01:52
  • 2
    Yes does the list need to be machine-readable or not? Some of the more regular information on Wikipedia can be accessed in a machine-readable manner from [DBpedia](http://dbpedia.org). – hippietrail Aug 06 '12 at 11:44
  • 1
    People looking at this question might also be interested in [free flag icons](http://www.famfamfam.com/lab/icons/flags/). – Martin Thoma May 04 '14 at 11:09
  • According to the W3C [*Language tags in HTML and XML*](http://www.w3.org/International/articles/language-tags/), the list should be based on the [*IANA Language Subtag Registry*](http://www.iana.org/assignments/language-subtag-registry) which lists in excess of 8,000 languages and 300 regions. – RobG Aug 05 '14 at 10:36
  • 2
    A language list is available here as CSV or JSON http://data.okfn.org/data/core/language-codes. – Pea Feb 09 '16 at 18:58
  • I would like to throw in the words: autoglottonyms and endonymic glossonyms: then names of the languages in their own language. I tried finding the resources mentioned in the answer using the terms above. Maybe this helps others finding the answer(s) below. :) – Ideogram Feb 05 '17 at 07:00

9 Answers9

224
/**
 * @author Phil Teare
 * using wikipedia data
 */
isoLangs = {
    "ab":{
        "name":"Abkhaz",
        "nativeName":"аҧсуа"
    },
    "aa":{
        "name":"Afar",
        "nativeName":"Afaraf"
    },
    "af":{
        "name":"Afrikaans",
        "nativeName":"Afrikaans"
    },
    "ak":{
        "name":"Akan",
        "nativeName":"Akan"
    },
    "sq":{
        "name":"Albanian",
        "nativeName":"Shqip"
    },
    "am":{
        "name":"Amharic",
        "nativeName":"አማርኛ"
    },
    "ar":{
        "name":"Arabic",
        "nativeName":"العربية"
    },
    "an":{
        "name":"Aragonese",
        "nativeName":"Aragonés"
    },
    "hy":{
        "name":"Armenian",
        "nativeName":"Հայերեն"
    },
    "as":{
        "name":"Assamese",
        "nativeName":"অসমীয়া"
    },
    "av":{
        "name":"Avaric",
        "nativeName":"авар мацӀ, магӀарул мацӀ"
    },
    "ae":{
        "name":"Avestan",
        "nativeName":"avesta"
    },
    "ay":{
        "name":"Aymara",
        "nativeName":"aymar aru"
    },
    "az":{
        "name":"Azerbaijani",
        "nativeName":"azərbaycan dili"
    },
    "bm":{
        "name":"Bambara",
        "nativeName":"bamanankan"
    },
    "ba":{
        "name":"Bashkir",
        "nativeName":"башҡорт теле"
    },
    "eu":{
        "name":"Basque",
        "nativeName":"euskara, euskera"
    },
    "be":{
        "name":"Belarusian",
        "nativeName":"Беларуская"
    },
    "bn":{
        "name":"Bengali",
        "nativeName":"বাংলা"
    },
    "bh":{
        "name":"Bihari",
        "nativeName":"भोजपुरी"
    },
    "bi":{
        "name":"Bislama",
        "nativeName":"Bislama"
    },
    "bs":{
        "name":"Bosnian",
        "nativeName":"bosanski jezik"
    },
    "br":{
        "name":"Breton",
        "nativeName":"brezhoneg"
    },
    "bg":{
        "name":"Bulgarian",
        "nativeName":"български език"
    },
    "my":{
        "name":"Burmese",
        "nativeName":"ဗမာစာ"
    },
    "ca":{
        "name":"Catalan; Valencian",
        "nativeName":"Català"
    },
    "ch":{
        "name":"Chamorro",
        "nativeName":"Chamoru"
    },
    "ce":{
        "name":"Chechen",
        "nativeName":"нохчийн мотт"
    },
    "ny":{
        "name":"Chichewa; Chewa; Nyanja",
        "nativeName":"chiCheŵa, chinyanja"
    },
    "zh":{
        "name":"Chinese",
        "nativeName":"中文 (Zhōngwén), 汉语, 漢語"
    },
    "cv":{
        "name":"Chuvash",
        "nativeName":"чӑваш чӗлхи"
    },
    "kw":{
        "name":"Cornish",
        "nativeName":"Kernewek"
    },
    "co":{
        "name":"Corsican",
        "nativeName":"corsu, lingua corsa"
    },
    "cr":{
        "name":"Cree",
        "nativeName":"ᓀᐦᐃᔭᐍᐏᐣ"
    },
    "hr":{
        "name":"Croatian",
        "nativeName":"hrvatski"
    },
    "cs":{
        "name":"Czech",
        "nativeName":"česky, čeština"
    },
    "da":{
        "name":"Danish",
        "nativeName":"dansk"
    },
    "dv":{
        "name":"Divehi; Dhivehi; Maldivian;",
        "nativeName":"ދިވެހި"
    },
    "nl":{
        "name":"Dutch",
        "nativeName":"Nederlands, Vlaams"
    },
    "en":{
        "name":"English",
        "nativeName":"English"
    },
    "eo":{
        "name":"Esperanto",
        "nativeName":"Esperanto"
    },
    "et":{
        "name":"Estonian",
        "nativeName":"eesti, eesti keel"
    },
    "ee":{
        "name":"Ewe",
        "nativeName":"Eʋegbe"
    },
    "fo":{
        "name":"Faroese",
        "nativeName":"føroyskt"
    },
    "fj":{
        "name":"Fijian",
        "nativeName":"vosa Vakaviti"
    },
    "fi":{
        "name":"Finnish",
        "nativeName":"suomi, suomen kieli"
    },
    "fr":{
        "name":"French",
        "nativeName":"français, langue française"
    },
    "ff":{
        "name":"Fula; Fulah; Pulaar; Pular",
        "nativeName":"Fulfulde, Pulaar, Pular"
    },
    "gl":{
        "name":"Galician",
        "nativeName":"Galego"
    },
    "ka":{
        "name":"Georgian",
        "nativeName":"ქართული"
    },
    "de":{
        "name":"German",
        "nativeName":"Deutsch"
    },
    "el":{
        "name":"Greek, Modern",
        "nativeName":"Ελληνικά"
    },
    "gn":{
        "name":"Guaraní",
        "nativeName":"Avañeẽ"
    },
    "gu":{
        "name":"Gujarati",
        "nativeName":"ગુજરાતી"
    },
    "ht":{
        "name":"Haitian; Haitian Creole",
        "nativeName":"Kreyòl ayisyen"
    },
    "ha":{
        "name":"Hausa",
        "nativeName":"Hausa, هَوُسَ"
    },
    "he":{
        "name":"Hebrew (modern)",
        "nativeName":"עברית"
    },
    "hz":{
        "name":"Herero",
        "nativeName":"Otjiherero"
    },
    "hi":{
        "name":"Hindi",
        "nativeName":"हिन्दी, हिंदी"
    },
    "ho":{
        "name":"Hiri Motu",
        "nativeName":"Hiri Motu"
    },
    "hu":{
        "name":"Hungarian",
        "nativeName":"Magyar"
    },
    "ia":{
        "name":"Interlingua",
        "nativeName":"Interlingua"
    },
    "id":{
        "name":"Indonesian",
        "nativeName":"Bahasa Indonesia"
    },
    "ie":{
        "name":"Interlingue",
        "nativeName":"Originally called Occidental; then Interlingue after WWII"
    },
    "ga":{
        "name":"Irish",
        "nativeName":"Gaeilge"
    },
    "ig":{
        "name":"Igbo",
        "nativeName":"Asụsụ Igbo"
    },
    "ik":{
        "name":"Inupiaq",
        "nativeName":"Iñupiaq, Iñupiatun"
    },
    "io":{
        "name":"Ido",
        "nativeName":"Ido"
    },
    "is":{
        "name":"Icelandic",
        "nativeName":"Íslenska"
    },
    "it":{
        "name":"Italian",
        "nativeName":"Italiano"
    },
    "iu":{
        "name":"Inuktitut",
        "nativeName":"ᐃᓄᒃᑎᑐᑦ"
    },
    "ja":{
        "name":"Japanese",
        "nativeName":"日本語 (にほんご/にっぽんご)"
    },
    "jv":{
        "name":"Javanese",
        "nativeName":"basa Jawa"
    },
    "kl":{
        "name":"Kalaallisut, Greenlandic",
        "nativeName":"kalaallisut, kalaallit oqaasii"
    },
    "kn":{
        "name":"Kannada",
        "nativeName":"ಕನ್ನಡ"
    },
    "kr":{
        "name":"Kanuri",
        "nativeName":"Kanuri"
    },
    "ks":{
        "name":"Kashmiri",
        "nativeName":"कश्मीरी, كشميري‎"
    },
    "kk":{
        "name":"Kazakh",
        "nativeName":"Қазақ тілі"
    },
    "km":{
        "name":"Khmer",
        "nativeName":"ភាសាខ្មែរ"
    },
    "ki":{
        "name":"Kikuyu, Gikuyu",
        "nativeName":"Gĩkũyũ"
    },
    "rw":{
        "name":"Kinyarwanda",
        "nativeName":"Ikinyarwanda"
    },
    "ky":{
        "name":"Kirghiz, Kyrgyz",
        "nativeName":"кыргыз тили"
    },
    "kv":{
        "name":"Komi",
        "nativeName":"коми кыв"
    },
    "kg":{
        "name":"Kongo",
        "nativeName":"KiKongo"
    },
    "ko":{
        "name":"Korean",
        "nativeName":"한국어 (韓國語), 조선말 (朝鮮語)"
    },
    "ku":{
        "name":"Kurdish",
        "nativeName":"Kurdî, كوردی‎"
    },
    "kj":{
        "name":"Kwanyama, Kuanyama",
        "nativeName":"Kuanyama"
    },
    "la":{
        "name":"Latin",
        "nativeName":"latine, lingua latina"
    },
    "lb":{
        "name":"Luxembourgish, Letzeburgesch",
        "nativeName":"Lëtzebuergesch"
    },
    "lg":{
        "name":"Luganda",
        "nativeName":"Luganda"
    },
    "li":{
        "name":"Limburgish, Limburgan, Limburger",
        "nativeName":"Limburgs"
    },
    "ln":{
        "name":"Lingala",
        "nativeName":"Lingála"
    },
    "lo":{
        "name":"Lao",
        "nativeName":"ພາສາລາວ"
    },
    "lt":{
        "name":"Lithuanian",
        "nativeName":"lietuvių kalba"
    },
    "lu":{
        "name":"Luba-Katanga",
        "nativeName":""
    },
    "lv":{
        "name":"Latvian",
        "nativeName":"latviešu valoda"
    },
    "gv":{
        "name":"Manx",
        "nativeName":"Gaelg, Gailck"
    },
    "mk":{
        "name":"Macedonian",
        "nativeName":"македонски јазик"
    },
    "mg":{
        "name":"Malagasy",
        "nativeName":"Malagasy fiteny"
    },
    "ms":{
        "name":"Malay",
        "nativeName":"bahasa Melayu, بهاس ملايو‎"
    },
    "ml":{
        "name":"Malayalam",
        "nativeName":"മലയാളം"
    },
    "mt":{
        "name":"Maltese",
        "nativeName":"Malti"
    },
    "mi":{
        "name":"Māori",
        "nativeName":"te reo Māori"
    },
    "mr":{
        "name":"Marathi (Marāṭhī)",
        "nativeName":"मराठी"
    },
    "mh":{
        "name":"Marshallese",
        "nativeName":"Kajin M̧ajeļ"
    },
    "mn":{
        "name":"Mongolian",
        "nativeName":"монгол"
    },
    "na":{
        "name":"Nauru",
        "nativeName":"Ekakairũ Naoero"
    },
    "nv":{
        "name":"Navajo, Navaho",
        "nativeName":"Diné bizaad, Dinékʼehǰí"
    },
    "nb":{
        "name":"Norwegian Bokmål",
        "nativeName":"Norsk bokmål"
    },
    "nd":{
        "name":"North Ndebele",
        "nativeName":"isiNdebele"
    },
    "ne":{
        "name":"Nepali",
        "nativeName":"नेपाली"
    },
    "ng":{
        "name":"Ndonga",
        "nativeName":"Owambo"
    },
    "nn":{
        "name":"Norwegian Nynorsk",
        "nativeName":"Norsk nynorsk"
    },
    "no":{
        "name":"Norwegian",
        "nativeName":"Norsk"
    },
    "ii":{
        "name":"Nuosu",
        "nativeName":"ꆈꌠ꒿ Nuosuhxop"
    },
    "nr":{
        "name":"South Ndebele",
        "nativeName":"isiNdebele"
    },
    "oc":{
        "name":"Occitan",
        "nativeName":"Occitan"
    },
    "oj":{
        "name":"Ojibwe, Ojibwa",
        "nativeName":"ᐊᓂᔑᓈᐯᒧᐎᓐ"
    },
    "cu":{
        "name":"Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic",
        "nativeName":"ѩзыкъ словѣньскъ"
    },
    "om":{
        "name":"Oromo",
        "nativeName":"Afaan Oromoo"
    },
    "or":{
        "name":"Oriya",
        "nativeName":"ଓଡ଼ିଆ"
    },
    "os":{
        "name":"Ossetian, Ossetic",
        "nativeName":"ирон æвзаг"
    },
    "pa":{
        "name":"Panjabi, Punjabi",
        "nativeName":"ਪੰਜਾਬੀ, پنجابی‎"
    },
    "pi":{
        "name":"Pāli",
        "nativeName":"पाऴि"
    },
    "fa":{
        "name":"Persian",
        "nativeName":"فارسی"
    },
    "pl":{
        "name":"Polish",
        "nativeName":"polski"
    },
    "ps":{
        "name":"Pashto, Pushto",
        "nativeName":"پښتو"
    },
    "pt":{
        "name":"Portuguese",
        "nativeName":"Português"
    },
    "qu":{
        "name":"Quechua",
        "nativeName":"Runa Simi, Kichwa"
    },
    "rm":{
        "name":"Romansh",
        "nativeName":"rumantsch grischun"
    },
    "rn":{
        "name":"Kirundi",
        "nativeName":"kiRundi"
    },
    "ro":{
        "name":"Romanian, Moldavian, Moldovan",
        "nativeName":"română"
    },
    "ru":{
        "name":"Russian",
        "nativeName":"русский язык"
    },
    "sa":{
        "name":"Sanskrit (Saṁskṛta)",
        "nativeName":"संस्कृतम्"
    },
    "sc":{
        "name":"Sardinian",
        "nativeName":"sardu"
    },
    "sd":{
        "name":"Sindhi",
        "nativeName":"सिन्धी, سنڌي، سندھی‎"
    },
    "se":{
        "name":"Northern Sami",
        "nativeName":"Davvisámegiella"
    },
    "sm":{
        "name":"Samoan",
        "nativeName":"gagana faa Samoa"
    },
    "sg":{
        "name":"Sango",
        "nativeName":"yângâ tî sängö"
    },
    "sr":{
        "name":"Serbian",
        "nativeName":"српски језик"
    },
    "gd":{
        "name":"Scottish Gaelic; Gaelic",
        "nativeName":"Gàidhlig"
    },
    "sn":{
        "name":"Shona",
        "nativeName":"chiShona"
    },
    "si":{
        "name":"Sinhala, Sinhalese",
        "nativeName":"සිංහල"
    },
    "sk":{
        "name":"Slovak",
        "nativeName":"slovenčina"
    },
    "sl":{
        "name":"Slovene",
        "nativeName":"slovenščina"
    },
    "so":{
        "name":"Somali",
        "nativeName":"Soomaaliga, af Soomaali"
    },
    "st":{
        "name":"Southern Sotho",
        "nativeName":"Sesotho"
    },
    "es":{
        "name":"Spanish; Castilian",
        "nativeName":"español, castellano"
    },
    "su":{
        "name":"Sundanese",
        "nativeName":"Basa Sunda"
    },
    "sw":{
        "name":"Swahili",
        "nativeName":"Kiswahili"
    },
    "ss":{
        "name":"Swati",
        "nativeName":"SiSwati"
    },
    "sv":{
        "name":"Swedish",
        "nativeName":"svenska"
    },
    "ta":{
        "name":"Tamil",
        "nativeName":"தமிழ்"
    },
    "te":{
        "name":"Telugu",
        "nativeName":"తెలుగు"
    },
    "tg":{
        "name":"Tajik",
        "nativeName":"тоҷикӣ, toğikī, تاجیکی‎"
    },
    "th":{
        "name":"Thai",
        "nativeName":"ไทย"
    },
    "ti":{
        "name":"Tigrinya",
        "nativeName":"ትግርኛ"
    },
    "bo":{
        "name":"Tibetan Standard, Tibetan, Central",
        "nativeName":"བོད་ཡིག"
    },
    "tk":{
        "name":"Turkmen",
        "nativeName":"Türkmen, Түркмен"
    },
    "tl":{
        "name":"Tagalog",
        "nativeName":"Wikang Tagalog, ᜏᜒᜃᜅ᜔ ᜆᜄᜎᜓᜄ᜔"
    },
    "tn":{
        "name":"Tswana",
        "nativeName":"Setswana"
    },
    "to":{
        "name":"Tonga (Tonga Islands)",
        "nativeName":"faka Tonga"
    },
    "tr":{
        "name":"Turkish",
        "nativeName":"Türkçe"
    },
    "ts":{
        "name":"Tsonga",
        "nativeName":"Xitsonga"
    },
    "tt":{
        "name":"Tatar",
        "nativeName":"татарча, tatarça, تاتارچا‎"
    },
    "tw":{
        "name":"Twi",
        "nativeName":"Twi"
    },
    "ty":{
        "name":"Tahitian",
        "nativeName":"Reo Tahiti"
    },
    "ug":{
        "name":"Uighur, Uyghur",
        "nativeName":"Uyƣurqə, ئۇيغۇرچە‎"
    },
    "uk":{
        "name":"Ukrainian",
        "nativeName":"українська"
    },
    "ur":{
        "name":"Urdu",
        "nativeName":"اردو"
    },
    "uz":{
        "name":"Uzbek",
        "nativeName":"zbek, Ўзбек, أۇزبېك‎"
    },
    "ve":{
        "name":"Venda",
        "nativeName":"Tshivenḓa"
    },
    "vi":{
        "name":"Vietnamese",
        "nativeName":"Tiếng Việt"
    },
    "vo":{
        "name":"Volapük",
        "nativeName":"Volapük"
    },
    "wa":{
        "name":"Walloon",
        "nativeName":"Walon"
    },
    "cy":{
        "name":"Welsh",
        "nativeName":"Cymraeg"
    },
    "wo":{
        "name":"Wolof",
        "nativeName":"Wollof"
    },
    "fy":{
        "name":"Western Frisian",
        "nativeName":"Frysk"
    },
    "xh":{
        "name":"Xhosa",
        "nativeName":"isiXhosa"
    },
    "yi":{
        "name":"Yiddish",
        "nativeName":"ייִדיש"
    },
    "yo":{
        "name":"Yoruba",
        "nativeName":"Yorùbá"
    },
    "za":{
        "name":"Zhuang, Chuang",
        "nativeName":"Saɯ cueŋƅ, Saw cuengh"
    }
}
np_6
  • 514
  • 1
  • 6
  • 19
Instine
  • 2,342
  • 1
  • 14
  • 7
  • 21
    Raw version of this same json available for easier copying and pasting at: http://pastebin.com/raw.php?i=ppdMS687 – Eric S. Bullington Nov 21 '12 at 16:54
  • Accidentally found an error: _uz_ (Uzbek) is not _zbek_ but _Oʻzbekcha_ – 18446744073709551615 Oct 22 '13 at 05:54
  • Is it just me or does "Divehi" look like a flying spaghetti monster? Anyway, if you want it in MySQL, take a look at http://pastebin.com/EZ5Xqybh – Martin Thoma May 04 '14 at 10:41
  • 3
    No Chinese traditional? – Toolkit Aug 11 '14 at 01:53
  • you scraped that and made an error... all the single quotes are missing in the languages... see Guarani, Occitan, Samoan, Uzbek – Toby Sep 01 '15 at 22:59
  • This list is not correct, you should do some research before adding this. "se" = Swedish. Now imagine a "lang select" having "Davvisámegiella" instead of "Svenska", that is a non usuable select I can tell you. – Eduardo in Norway Jan 05 '16 at 15:48
  • Clean version without the duplicates (commas): http://pastebin.com/raw/7fzHWKHi – Guy Sep 08 '16 at 04:33
  • Use with care. Marvelous work, for sure, but over-correct for user-interfaces. For example, NL = "Nederlands, Vlaams" and "ie: "ie":"Originally called Occidental; then Interlingue after WWII". Sometimes it uses the word "language" after the name, sometimes it doesn't, sometimes it uses both. Also the use of capitals is not consistent. ( ”dansk" v.s. "Norwegian") – Ideogram Feb 05 '17 at 07:14
  • the question requested for a **list** but this answer is in **map** format – Abel Callejo Apr 13 '17 at 15:40
  • 1
    Do you know where one could get such lists for different languages (German / Frensh / etc. ? ) – Adam Jun 26 '17 at 09:17
  • @Pea the list that you linked to does not contain the native language names which are very important. – AsGoodAsItGets Aug 03 '17 at 14:16
  • is this list still correct, I saw online that Russian locale is 'ru-RU' but the answer here says 'ru' – amaugo somto Jun 15 '23 at 11:48
135

julianromera's and instine's answers merged:

[
  {"code":"ab","name":"Abkhaz","nativeName":"аҧсуа"},
  {"code":"aa","name":"Afar","nativeName":"Afaraf"},
  {"code":"af","name":"Afrikaans","nativeName":"Afrikaans"},
  {"code":"ak","name":"Akan","nativeName":"Akan"},
  {"code":"sq","name":"Albanian","nativeName":"Shqip"},
  {"code":"am","name":"Amharic","nativeName":"አማርኛ"},
  {"code":"ar","name":"Arabic","nativeName":"العربية"},
  {"code":"an","name":"Aragonese","nativeName":"Aragonés"},
  {"code":"hy","name":"Armenian","nativeName":"Հայերեն"},
  {"code":"as","name":"Assamese","nativeName":"অসমীয়া"},
  {"code":"av","name":"Avaric","nativeName":"авар мацӀ, магӀарул мацӀ"},
  {"code":"ae","name":"Avestan","nativeName":"avesta"},
  {"code":"ay","name":"Aymara","nativeName":"aymar aru"},
  {"code":"az","name":"Azerbaijani","nativeName":"azərbaycan dili"},
  {"code":"bm","name":"Bambara","nativeName":"bamanankan"},
  {"code":"ba","name":"Bashkir","nativeName":"башҡорт теле"},
  {"code":"eu","name":"Basque","nativeName":"euskara, euskera"},
  {"code":"be","name":"Belarusian","nativeName":"Беларуская"},
  {"code":"bn","name":"Bengali","nativeName":"বাংলা"},
  {"code":"bh","name":"Bihari","nativeName":"भोजपुरी"},
  {"code":"bi","name":"Bislama","nativeName":"Bislama"},
  {"code":"bs","name":"Bosnian","nativeName":"bosanski jezik"},
  {"code":"br","name":"Breton","nativeName":"brezhoneg"},
  {"code":"bg","name":"Bulgarian","nativeName":"български език"},
  {"code":"my","name":"Burmese","nativeName":"ဗမာစာ"},
  {"code":"ca","name":"Catalan; Valencian","nativeName":"Català"},
  {"code":"ch","name":"Chamorro","nativeName":"Chamoru"},
  {"code":"ce","name":"Chechen","nativeName":"нохчийн мотт"},
  {"code":"ny","name":"Chichewa; Chewa; Nyanja","nativeName":"chiCheŵa, chinyanja"},
  {"code":"zh","name":"Chinese","nativeName":"中文 (Zhōngwén), 汉语, 漢語"},
  {"code":"cv","name":"Chuvash","nativeName":"чӑваш чӗлхи"},
  {"code":"kw","name":"Cornish","nativeName":"Kernewek"},
  {"code":"co","name":"Corsican","nativeName":"corsu, lingua corsa"},
  {"code":"cr","name":"Cree","nativeName":"ᓀᐦᐃᔭᐍᐏᐣ"},
  {"code":"hr","name":"Croatian","nativeName":"hrvatski"},
  {"code":"cs","name":"Czech","nativeName":"česky, čeština"},
  {"code":"da","name":"Danish","nativeName":"dansk"},
  {"code":"dv","name":"Divehi; Dhivehi; Maldivian;","nativeName":"ދިވެހި"},
  {"code":"nl","name":"Dutch","nativeName":"Nederlands, Vlaams"},
  {"code":"en","name":"English","nativeName":"English"},
  {"code":"eo","name":"Esperanto","nativeName":"Esperanto"},
  {"code":"et","name":"Estonian","nativeName":"eesti, eesti keel"},
  {"code":"ee","name":"Ewe","nativeName":"Eʋegbe"},
  {"code":"fo","name":"Faroese","nativeName":"føroyskt"},
  {"code":"fj","name":"Fijian","nativeName":"vosa Vakaviti"},
  {"code":"fi","name":"Finnish","nativeName":"suomi, suomen kieli"},
  {"code":"fr","name":"French","nativeName":"français, langue française"},
  {"code":"ff","name":"Fula; Fulah; Pulaar; Pular","nativeName":"Fulfulde, Pulaar, Pular"},
  {"code":"gl","name":"Galician","nativeName":"Galego"},
  {"code":"ka","name":"Georgian","nativeName":"ქართული"},
  {"code":"de","name":"German","nativeName":"Deutsch"},
  {"code":"el","name":"Greek, Modern","nativeName":"Ελληνικά"},
  {"code":"gn","name":"Guaraní","nativeName":"Avañeẽ"},
  {"code":"gu","name":"Gujarati","nativeName":"ગુજરાતી"},
  {"code":"ht","name":"Haitian; Haitian Creole","nativeName":"Kreyòl ayisyen"},
  {"code":"ha","name":"Hausa","nativeName":"Hausa, هَوُسَ"},
  {"code":"he","name":"Hebrew (modern)","nativeName":"עברית"},
  {"code":"hz","name":"Herero","nativeName":"Otjiherero"},
  {"code":"hi","name":"Hindi","nativeName":"हिन्दी, हिंदी"},
  {"code":"ho","name":"Hiri Motu","nativeName":"Hiri Motu"},
  {"code":"hu","name":"Hungarian","nativeName":"Magyar"},
  {"code":"ia","name":"Interlingua","nativeName":"Interlingua"},
  {"code":"id","name":"Indonesian","nativeName":"Bahasa Indonesia"},
  {"code":"ie","name":"Interlingue","nativeName":"Originally called Occidental; then Interlingue after WWII"},
  {"code":"ga","name":"Irish","nativeName":"Gaeilge"},
  {"code":"ig","name":"Igbo","nativeName":"Asụsụ Igbo"},
  {"code":"ik","name":"Inupiaq","nativeName":"Iñupiaq, Iñupiatun"},
  {"code":"io","name":"Ido","nativeName":"Ido"},
  {"code":"is","name":"Icelandic","nativeName":"Íslenska"},
  {"code":"it","name":"Italian","nativeName":"Italiano"},
  {"code":"iu","name":"Inuktitut","nativeName":"ᐃᓄᒃᑎᑐᑦ"},
  {"code":"ja","name":"Japanese","nativeName":"日本語 (にほんご/にっぽんご)"},
  {"code":"jv","name":"Javanese","nativeName":"basa Jawa"},
  {"code":"kl","name":"Kalaallisut, Greenlandic","nativeName":"kalaallisut, kalaallit oqaasii"},
  {"code":"kn","name":"Kannada","nativeName":"ಕನ್ನಡ"},
  {"code":"kr","name":"Kanuri","nativeName":"Kanuri"},
  {"code":"ks","name":"Kashmiri","nativeName":"कश्मीरी, كشميري‎"},
  {"code":"kk","name":"Kazakh","nativeName":"Қазақ тілі"},
  {"code":"km","name":"Khmer","nativeName":"ភាសាខ្មែរ"},
  {"code":"ki","name":"Kikuyu, Gikuyu","nativeName":"Gĩkũyũ"},
  {"code":"rw","name":"Kinyarwanda","nativeName":"Ikinyarwanda"},
  {"code":"ky","name":"Kirghiz, Kyrgyz","nativeName":"кыргыз тили"},
  {"code":"kv","name":"Komi","nativeName":"коми кыв"},
  {"code":"kg","name":"Kongo","nativeName":"KiKongo"},
  {"code":"ko","name":"Korean","nativeName":"한국어 (韓國語), 조선말 (朝鮮語)"},
  {"code":"ku","name":"Kurdish","nativeName":"Kurdî, كوردی‎"},
  {"code":"kj","name":"Kwanyama, Kuanyama","nativeName":"Kuanyama"},
  {"code":"la","name":"Latin","nativeName":"latine, lingua latina"},
  {"code":"lb","name":"Luxembourgish, Letzeburgesch","nativeName":"Lëtzebuergesch"},
  {"code":"lg","name":"Luganda","nativeName":"Luganda"},
  {"code":"li","name":"Limburgish, Limburgan, Limburger","nativeName":"Limburgs"},
  {"code":"ln","name":"Lingala","nativeName":"Lingála"},
  {"code":"lo","name":"Lao","nativeName":"ພາສາລາວ"},
  {"code":"lt","name":"Lithuanian","nativeName":"lietuvių kalba"},
  {"code":"lu","name":"Luba-Katanga","nativeName":""},
  {"code":"lv","name":"Latvian","nativeName":"latviešu valoda"},
  {"code":"gv","name":"Manx","nativeName":"Gaelg, Gailck"},
  {"code":"mk","name":"Macedonian","nativeName":"македонски јазик"},
  {"code":"mg","name":"Malagasy","nativeName":"Malagasy fiteny"},
  {"code":"ms","name":"Malay","nativeName":"bahasa Melayu, بهاس ملايو‎"},
  {"code":"ml","name":"Malayalam","nativeName":"മലയാളം"},
  {"code":"mt","name":"Maltese","nativeName":"Malti"},
  {"code":"mi","name":"Māori","nativeName":"te reo Māori"},
  {"code":"mr","name":"Marathi (Marāṭhī)","nativeName":"मराठी"},
  {"code":"mh","name":"Marshallese","nativeName":"Kajin M̧ajeļ"},
  {"code":"mn","name":"Mongolian","nativeName":"монгол"},
  {"code":"na","name":"Nauru","nativeName":"Ekakairũ Naoero"},
  {"code":"nv","name":"Navajo, Navaho","nativeName":"Diné bizaad, Dinékʼehǰí"},
  {"code":"nb","name":"Norwegian Bokmål","nativeName":"Norsk bokmål"},
  {"code":"nd","name":"North Ndebele","nativeName":"isiNdebele"},
  {"code":"ne","name":"Nepali","nativeName":"नेपाली"},
  {"code":"ng","name":"Ndonga","nativeName":"Owambo"},
  {"code":"nn","name":"Norwegian Nynorsk","nativeName":"Norsk nynorsk"},
  {"code":"no","name":"Norwegian","nativeName":"Norsk"},
  {"code":"ii","name":"Nuosu","nativeName":"ꆈꌠ꒿ Nuosuhxop"},
  {"code":"nr","name":"South Ndebele","nativeName":"isiNdebele"},
  {"code":"oc","name":"Occitan","nativeName":"Occitan"},
  {"code":"oj","name":"Ojibwe, Ojibwa","nativeName":"ᐊᓂᔑᓈᐯᒧᐎᓐ"},
  {"code":"cu","name":"Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic","nativeName":"ѩзыкъ словѣньскъ"},
  {"code":"om","name":"Oromo","nativeName":"Afaan Oromoo"},
  {"code":"or","name":"Oriya","nativeName":"ଓଡ଼ିଆ"},
  {"code":"os","name":"Ossetian, Ossetic","nativeName":"ирон æвзаг"},
  {"code":"pa","name":"Panjabi, Punjabi","nativeName":"ਪੰਜਾਬੀ, پنجابی‎"},
  {"code":"pi","name":"Pāli","nativeName":"पाऴि"},
  {"code":"fa","name":"Persian","nativeName":"فارسی"},
  {"code":"pl","name":"Polish","nativeName":"polski"},
  {"code":"ps","name":"Pashto, Pushto","nativeName":"پښتو"},
  {"code":"pt","name":"Portuguese","nativeName":"Português"},
  {"code":"qu","name":"Quechua","nativeName":"Runa Simi, Kichwa"},
  {"code":"rm","name":"Romansh","nativeName":"rumantsch grischun"},
  {"code":"rn","name":"Kirundi","nativeName":"kiRundi"},
  {"code":"ro","name":"Romanian, Moldavian, Moldovan","nativeName":"română"},
  {"code":"ru","name":"Russian","nativeName":"русский язык"},
  {"code":"sa","name":"Sanskrit (Saṁskṛta)","nativeName":"संस्कृतम्"},
  {"code":"sc","name":"Sardinian","nativeName":"sardu"},
  {"code":"sd","name":"Sindhi","nativeName":"सिन्धी, سنڌي، سندھی‎"},
  {"code":"se","name":"Northern Sami","nativeName":"Davvisámegiella"},
  {"code":"sm","name":"Samoan","nativeName":"gagana faa Samoa"},
  {"code":"sg","name":"Sango","nativeName":"yângâ tî sängö"},
  {"code":"sr","name":"Serbian","nativeName":"српски језик"},
  {"code":"gd","name":"Scottish Gaelic; Gaelic","nativeName":"Gàidhlig"},
  {"code":"sn","name":"Shona","nativeName":"chiShona"},
  {"code":"si","name":"Sinhala, Sinhalese","nativeName":"සිංහල"},
  {"code":"sk","name":"Slovak","nativeName":"slovenčina"},
  {"code":"sl","name":"Slovene","nativeName":"slovenščina"},
  {"code":"so","name":"Somali","nativeName":"Soomaaliga, af Soomaali"},
  {"code":"st","name":"Southern Sotho","nativeName":"Sesotho"},
  {"code":"es","name":"Spanish; Castilian","nativeName":"español, castellano"},
  {"code":"su","name":"Sundanese","nativeName":"Basa Sunda"},
  {"code":"sw","name":"Swahili","nativeName":"Kiswahili"},
  {"code":"ss","name":"Swati","nativeName":"SiSwati"},
  {"code":"sv","name":"Swedish","nativeName":"svenska"},
  {"code":"ta","name":"Tamil","nativeName":"தமிழ்"},
  {"code":"te","name":"Telugu","nativeName":"తెలుగు"},
  {"code":"tg","name":"Tajik","nativeName":"тоҷикӣ, toğikī, تاجیکی‎"},
  {"code":"th","name":"Thai","nativeName":"ไทย"},
  {"code":"ti","name":"Tigrinya","nativeName":"ትግርኛ"},
  {"code":"bo","name":"Tibetan Standard, Tibetan, Central","nativeName":"བོད་ཡིག"},
  {"code":"tk","name":"Turkmen","nativeName":"Türkmen, Түркмен"},
  {"code":"tl","name":"Tagalog","nativeName":"Wikang Tagalog, ᜏᜒᜃᜅ᜔ ᜆᜄᜎᜓᜄ᜔"},
  {"code":"tn","name":"Tswana","nativeName":"Setswana"},
  {"code":"to","name":"Tonga (Tonga Islands)","nativeName":"faka Tonga"},
  {"code":"tr","name":"Turkish","nativeName":"Türkçe"},
  {"code":"ts","name":"Tsonga","nativeName":"Xitsonga"},
  {"code":"tt","name":"Tatar","nativeName":"татарча, tatarça, تاتارچا‎"},
  {"code":"tw","name":"Twi","nativeName":"Twi"},
  {"code":"ty","name":"Tahitian","nativeName":"Reo Tahiti"},
  {"code":"ug","name":"Uighur, Uyghur","nativeName":"Uyƣurqə, ئۇيغۇرچە‎"},
  {"code":"uk","name":"Ukrainian","nativeName":"українська"},
  {"code":"ur","name":"Urdu","nativeName":"اردو"},
  {"code":"uz","name":"Uzbek","nativeName":"zbek, Ўзбек, أۇزبېك‎"},
  {"code":"ve","name":"Venda","nativeName":"Tshivenḓa"},
  {"code":"vi","name":"Vietnamese","nativeName":"Tiếng Việt"},
  {"code":"vo","name":"Volapük","nativeName":"Volapük"},
  {"code":"wa","name":"Walloon","nativeName":"Walon"},
  {"code":"cy","name":"Welsh","nativeName":"Cymraeg"},
  {"code":"wo","name":"Wolof","nativeName":"Wollof"},
  {"code":"fy","name":"Western Frisian","nativeName":"Frysk"},
  {"code":"xh","name":"Xhosa","nativeName":"isiXhosa"},
  {"code":"yi","name":"Yiddish","nativeName":"ייִדיש"},
  {"code":"yo","name":"Yoruba","nativeName":"Yorùbá"},
  {"code":"za","name":"Zhuang, Chuang","nativeName":"Saɯ cueŋƅ, Saw cuengh"}
]
np_6
  • 514
  • 1
  • 6
  • 19
cjerez
  • 1,493
  • 1
  • 9
  • 8
29

I think the United Nations or the ISO actually publish that list in CSV format. That would be the ultimate source.

However, I'm not sure if they publish it for free.

EDIT: Actually, the link is in the Wikipedia article you linked to. The US Library of Congress has been designated the official registration authority by the ISO and they publish the entire, official, up-to-date list as a trivial to parse text file for free.

The format looks like this:

ara||ar|Arabic|arabe
arc|||Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE)|araméen d'empire (700-300 BCE)
arg||an|Aragonese|aragonais
arm|hye|hy|Armenian|arménien
arn|||Mapudungun; Mapuche|mapudungun; mapuche; mapuce
arp|||Arapaho|arapaho
art|||Artificial languages|artificielles, langues
arw|||Arawak|arawak
asm||as|Assamese|assamais
ast|||Asturian; Bable; Leonese; Asturleonese|asturien; bable; léonais; asturoléonais
ath|||Athapascan languages|athapascanes, langues

That's 5 fields separated by vertical bars:

  1. ISO 639-2 Alpha-3 bibliographic code
  2. ISO 639-2 Alpha-3 terminology code
  3. ISO 639-1 Alpha-2 code
  4. English language name(s)
  5. French language name(s)

So, this is actually in CSV format, if you interpret that as character separated values instead of comma separated values, which most CSV parsers let you do.

Community
  • 1
  • 1
Jörg W Mittag
  • 363,080
  • 75
  • 446
  • 653
7

You can also try this JSON written as a list of objects:

[
  {
    "code": "ab",
    "name": "Abkhaz"
  },
  {
    "code": "aa",
    "name": "Afar"
  },
  {
    "code": "af",
    "name": "Afrikaans"
  },
  {
    "code": "ak",
    "name": "Akan"
  },
  {
    "code": "sq",
    "name": "Albanian"
  },
  {
    "code": "am",
    "name": "Amharic"
  },
  {
    "code": "ar",
    "name": "Arabic"
  },
  {
    "code": "an",
    "name": "Aragonese"
  },
  {
    "code": "hy",
    "name": "Armenian"
  },
  {
    "code": "as",
    "name": "Assamese"
  },
  {
    "code": "av",
    "name": "Avaric"
  },
  {
    "code": "ae",
    "name": "Avestan"
  },
  {
    "code": "ay",
    "name": "Aymara"
  },
  {
    "code": "az",
    "name": "Azerbaijani"
  },
  {
    "code": "bm",
    "name": "Bambara"
  },
  {
    "code": "ba",
    "name": "Bashkir"
  },
  {
    "code": "eu",
    "name": "Basque"
  },
  {
    "code": "be",
    "name": "Belarusian"
  },
  {
    "code": "bn",
    "name": "Bengali; Bangla"
  },
  {
    "code": "bh",
    "name": "Bihari"
  },
  {
    "code": "bi",
    "name": "Bislama"
  },
  {
    "code": "bs",
    "name": "Bosnian"
  },
  {
    "code": "br",
    "name": "Breton"
  },
  {
    "code": "bg",
    "name": "Bulgarian"
  },
  {
    "code": "my",
    "name": "Burmese"
  },
  {
    "code": "ca",
    "name": "Catalan; Valencian"
  },
  {
    "code": "ch",
    "name": "Chamorro"
  },
  {
    "code": "ce",
    "name": "Chechen"
  },
  {
    "code": "ny",
    "name": "Chichewa; Chewa; Nyanja"
  },
  {
    "code": "zh",
    "name": "Chinese"
  },
  {
    "code": "cv",
    "name": "Chuvash"
  },
  {
    "code": "kw",
    "name": "Cornish"
  },
  {
    "code": "co",
    "name": "Corsican"
  },
  {
    "code": "cr",
    "name": "Cree"
  },
  {
    "code": "hr",
    "name": "Croatian"
  },
  {
    "code": "cs",
    "name": "Czech"
  },
  {
    "code": "da",
    "name": "Danish"
  },
  {
    "code": "dv",
    "name": "Divehi; Dhivehi; Maldivian;"
  },
  {
    "code": "nl",
    "name": "Dutch"
  },
  {
    "code": "dz",
    "name": "Dzongkha"
  },
  {
    "code": "en",
    "name": "English"
  },
  {
    "code": "eo",
    "name": "Esperanto"
  },
  {
    "code": "et",
    "name": "Estonian"
  },
  {
    "code": "ee",
    "name": "Ewe"
  },
  {
    "code": "fo",
    "name": "Faroese"
  },
  {
    "code": "fj",
    "name": "Fijian"
  },
  {
    "code": "fi",
    "name": "Finnish"
  },
  {
    "code": "fr",
    "name": "French"
  },
  {
    "code": "ff",
    "name": "Fula; Fulah; Pulaar; Pular"
  },
  {
    "code": "gl",
    "name": "Galician"
  },
  {
    "code": "ka",
    "name": "Georgian"
  },
  {
    "code": "de",
    "name": "German"
  },
  {
    "code": "el",
    "name": "Greek, Modern"
  },
  {
    "code": "gn",
    "name": "Guaraní"
  },
  {
    "code": "gu",
    "name": "Gujarati"
  },
  {
    "code": "ht",
    "name": "Haitian; Haitian Creole"
  },
  {
    "code": "ha",
    "name": "Hausa"
  },
  {
    "code": "he",
    "name": "Hebrew (modern)"
  },
  {
    "code": "hz",
    "name": "Herero"
  },
  {
    "code": "hi",
    "name": "Hindi"
  },
  {
    "code": "ho",
    "name": "Hiri Motu"
  },
  {
    "code": "hu",
    "name": "Hungarian"
  },
  {
    "code": "ia",
    "name": "Interlingua"
  },
  {
    "code": "id",
    "name": "Indonesian"
  },
  {
    "code": "ie",
    "name": "Interlingue"
  },
  {
    "code": "ga",
    "name": "Irish"
  },
  {
    "code": "ig",
    "name": "Igbo"
  },
  {
    "code": "ik",
    "name": "Inupiaq"
  },
  {
    "code": "io",
    "name": "Ido"
  },
  {
    "code": "is",
    "name": "Icelandic"
  },
  {
    "code": "it",
    "name": "Italian"
  },
  {
    "code": "iu",
    "name": "Inuktitut"
  },
  {
    "code": "ja",
    "name": "Japanese"
  },
  {
    "code": "jv",
    "name": "Javanese"
  },
  {
    "code": "kl",
    "name": "Kalaallisut, Greenlandic"
  },
  {
    "code": "kn",
    "name": "Kannada"
  },
  {
    "code": "kr",
    "name": "Kanuri"
  },
  {
    "code": "ks",
    "name": "Kashmiri"
  },
  {
    "code": "kk",
    "name": "Kazakh"
  },
  {
    "code": "km",
    "name": "Khmer"
  },
  {
    "code": "ki",
    "name": "Kikuyu, Gikuyu"
  },
  {
    "code": "rw",
    "name": "Kinyarwanda"
  },
  {
    "code": "ky",
    "name": "Kyrgyz"
  },
  {
    "code": "kv",
    "name": "Komi"
  },
  {
    "code": "kg",
    "name": "Kongo"
  },
  {
    "code": "ko",
    "name": "Korean"
  },
  {
    "code": "ku",
    "name": "Kurdish"
  },
  {
    "code": "kj",
    "name": "Kwanyama, Kuanyama"
  },
  {
    "code": "la",
    "name": "Latin"
  },
  {
    "code": "lb",
    "name": "Luxembourgish, Letzeburgesch"
  },
  {
    "code": "lg",
    "name": "Ganda"
  },
  {
    "code": "li",
    "name": "Limburgish, Limburgan, Limburger"
  },
  {
    "code": "ln",
    "name": "Lingala"
  },
  {
    "code": "lo",
    "name": "Lao"
  },
  {
    "code": "lt",
    "name": "Lithuanian"
  },
  {
    "code": "lu",
    "name": "Luba-Katanga"
  },
  {
    "code": "lv",
    "name": "Latvian"
  },
  {
    "code": "gv",
    "name": "Manx"
  },
  {
    "code": "mk",
    "name": "Macedonian"
  },
  {
    "code": "mg",
    "name": "Malagasy"
  },
  {
    "code": "ms",
    "name": "Malay"
  },
  {
    "code": "ml",
    "name": "Malayalam"
  },
  {
    "code": "mt",
    "name": "Maltese"
  },
  {
    "code": "mi",
    "name": "MÄori"
  },
  {
    "code": "mr",
    "name": "Marathi (MarÄá¹­hÄ«)"
  },
  {
    "code": "mh",
    "name": "Marshallese"
  },
  {
    "code": "mn",
    "name": "Mongolian"
  },
  {
    "code": "na",
    "name": "Nauru"
  },
  {
    "code": "nv",
    "name": "Navajo, Navaho"
  },
  {
    "code": "nb",
    "name": "Norwegian Bokmål"
  },
  {
    "code": "nd",
    "name": "North Ndebele"
  },
  {
    "code": "ne",
    "name": "Nepali"
  },
  {
    "code": "ng",
    "name": "Ndonga"
  },
  {
    "code": "nn",
    "name": "Norwegian Nynorsk"
  },
  {
    "code": "no",
    "name": "Norwegian"
  },
  {
    "code": "ii",
    "name": "Nuosu"
  },
  {
    "code": "nr",
    "name": "South Ndebele"
  },
  {
    "code": "oc",
    "name": "Occitan"
  },
  {
    "code": "oj",
    "name": "Ojibwe, Ojibwa"
  },
  {
    "code": "cu",
    "name": "Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic"
  },
  {
    "code": "om",
    "name": "Oromo"
  },
  {
    "code": "or",
    "name": "Oriya"
  },
  {
    "code": "os",
    "name": "Ossetian, Ossetic"
  },
  {
    "code": "pa",
    "name": "Panjabi, Punjabi"
  },
  {
    "code": "pi",
    "name": "PÄli"
  },
  {
    "code": "fa",
    "name": "Persian (Farsi)"
  },
  {
    "code": "pl",
    "name": "Polish"
  },
  {
    "code": "ps",
    "name": "Pashto, Pushto"
  },
  {
    "code": "pt",
    "name": "Portuguese"
  },
  {
    "code": "qu",
    "name": "Quechua"
  },
  {
    "code": "rm",
    "name": "Romansh"
  },
  {
    "code": "rn",
    "name": "Kirundi"
  },
  {
    "code": "ro",
    "name": "Romanian, [])"
  },
  {
    "code": "ru",
    "name": "Russian"
  },
  {
    "code": "sa",
    "name": "Sanskrit (Saá¹ská¹›ta)"
  },
  {
    "code": "sc",
    "name": "Sardinian"
  },
  {
    "code": "sd",
    "name": "Sindhi"
  },
  {
    "code": "se",
    "name": "Northern Sami"
  },
  {
    "code": "sm",
    "name": "Samoan"
  },
  {
    "code": "sg",
    "name": "Sango"
  },
  {
    "code": "sr",
    "name": "Serbian"
  },
  {
    "code": "gd",
    "name": "Scottish Gaelic; Gaelic"
  },
  {
    "code": "sn",
    "name": "Shona"
  },
  {
    "code": "si",
    "name": "Sinhala, Sinhalese"
  },
  {
    "code": "sk",
    "name": "Slovak"
  },
  {
    "code": "sl",
    "name": "Slovene"
  },
  {
    "code": "so",
    "name": "Somali"
  },
  {
    "code": "st",
    "name": "Southern Sotho"
  },
  {
    "code": "es",
    "name": "Spanish; Castilian"
  },
  {
    "code": "su",
    "name": "Sundanese"
  },
  {
    "code": "sw",
    "name": "Swahili"
  },
  {
    "code": "ss",
    "name": "Swati"
  },
  {
    "code": "sv",
    "name": "Swedish"
  },
  {
    "code": "ta",
    "name": "Tamil"
  },
  {
    "code": "te",
    "name": "Telugu"
  },
  {
    "code": "tg",
    "name": "Tajik"
  },
  {
    "code": "th",
    "name": "Thai"
  },
  {
    "code": "ti",
    "name": "Tigrinya"
  },
  {
    "code": "bo",
    "name": "Tibetan Standard, Tibetan, Central"
  },
  {
    "code": "tk",
    "name": "Turkmen"
  },
  {
    "code": "tl",
    "name": "Tagalog"
  },
  {
    "code": "tn",
    "name": "Tswana"
  },
  {
    "code": "to",
    "name": "Tonga (Tonga Islands)"
  },
  {
    "code": "tr",
    "name": "Turkish"
  },
  {
    "code": "ts",
    "name": "Tsonga"
  },
  {
    "code": "tt",
    "name": "Tatar"
  },
  {
    "code": "tw",
    "name": "Twi"
  },
  {
    "code": "ty",
    "name": "Tahitian"
  },
  {
    "code": "ug",
    "name": "Uyghur, Uighur"
  },
  {
    "code": "uk",
    "name": "Ukrainian"
  },
  {
    "code": "ur",
    "name": "Urdu"
  },
  {
    "code": "uz",
    "name": "Uzbek"
  },
  {
    "code": "ve",
    "name": "Venda"
  },
  {
    "code": "vi",
    "name": "Vietnamese"
  },
  {
    "code": "vo",
    "name": "Volapük"
  },
  {
    "code": "wa",
    "name": "Walloon"
  },
  {
    "code": "cy",
    "name": "Welsh"
  },
  {
    "code": "wo",
    "name": "Wolof"
  },
  {
    "code": "fy",
    "name": "Western Frisian"
  },
  {
    "code": "xh",
    "name": "Xhosa"
  },
  {
    "code": "yi",
    "name": "Yiddish"
  },
  {
    "code": "yo",
    "name": "Yoruba"
  },
  {
    "code": "za",
    "name": "Zhuang, Chuang"
  },
  {
    "code": "zu",
    "name": "Zulu"
  }
]
user9869932
  • 6,571
  • 3
  • 55
  • 49
  • I need date-formats with these language. Let me know if you can help – Ankur Akvaliya Mar 06 '19 at 15:14
  • Now that I went in absolutely thorough check - there is a duplication of "az" code which is not by ISO639-1 standard. The collection should be 184 items and "az" should be present only once. – Kris Bonev Oct 08 '20 at 13:33
4

Here's a small script in Groovy that prints a JSON with all languages codes with their native, English and Portuguese names.

def en = new Locale("en")
def pt = new Locale("pt")
def nameFor(loc, lang) { loc.getDisplayLanguage(lang).replaceAll(/\S+/){ w -> w.toLowerCase().capitalize()} }

println("export default {")
Locale.getISOLanguages().each{
  def l = new Locale(it)
  println("  $it: {native: '${nameFor(l, l)}', en: '${nameFor(l, en)}', pt: '${nameFor(l, pt)}'},")
}
println("}")

$ groovy langs2json.groovy > languagess.json

np_6
  • 514
  • 1
  • 6
  • 19
peleteiro
  • 338
  • 2
  • 5
4

It is available in HTML via the link you have posted in your question :) Seriously, if that list in Wikipedia is complete, than it is easy to grab it using lxml.html (in Python) or any similar library in your favorite language.

Andrey Vlasovskikh
  • 16,489
  • 7
  • 44
  • 62
  • 2
    Hey, this approach does work. Propose a better one before voting down. – Andrey Vlasovskikh Jul 10 '10 at 02:17
  • 3
    For those who don't like Python, use something else. This question has Ruby as a tag; that language certainly is sufficient to extract what is needed from the Wikipedia list. Maybe the OP should post a different question: "How do I extract values from an HTML table in Ruby (or other language of choice)?" ;) (And I wouldn't be surprised if that can be found on Stack Overflow already.) – John Y Jul 10 '10 at 02:29
3

This PHP function will convert the language code to the language name, using the Library of Congress data file:

function lang_code_to_name($code)
{
    // init
    $lines = array();
    $line_items = array();
    $language = '';
    $code = strtolower($code);

    // strip any possible sub-language
    $pos = strpos($code, '-');
    if ($pos) {$code = substr($code, 0, $pos);}

    // get code list from Library of Congress
    // format: five elements per line
    // ISO 639-2 Alpha-3 bibliographic code|ISO 639-2 Alpha-3 terminology code|ISO 639-1 Alpha-2 code|English language name(s)|French language name(s)
    $url = 'http://loc.gov/standards/iso639-2/ISO-639-2_utf-8.txt';
    $list = file_get_contents($url);

    if (!$list) {return $language;}

    // read the file
    $lines = explode("\n", $list);
    for ($i; $i < sizeof($lines); $i++)
    {
        $line_item = explode("|", $lines[$i]);
        if (($line_item[0] == $code) || ($line_item[1] == $code) || ($line_item[2] == $code))
        {
            $language = $line_item[3];
            break;
        }
    }

    // exit
    return $language;
}
np_6
  • 514
  • 1
  • 6
  • 19
2

This small code can help to build an array, using the 2 letter code "iso639-1" as the 'key' and the language name as the 'value' getting data from: from http://loc.gov/standards/iso639-2/ISO-639-2_utf-8.txt

<?php
$lang = array();
$row = 1;
if (($handle = fopen('http://loc.gov/standards/iso639-2/ISO-639-2_utf-8.txt', 'r')) !== FALSE) {
  while (($data = fgetcsv($handle, 1000, '|')) !== FALSE) {
    $row++;
    if (!empty($data[2])) {
      /* to get only the first language (anything before ;) */
      $lang[$data[2]]  = strtok($data[3], ';'); 
     }
  }
  fclose($handle);
}

?>
nbari
  • 25,603
  • 10
  • 76
  • 131
1

I've converted 'Instine' answer to C# format

public class Language
{
    public string Code { get; }
    public string Name { get; }
    public string NativeName { get; }

    public Language(string code, string name, string nativeName)
    {
        Code = code;
        Name = name;
        NativeName = nativeName;
    }
}

public static class Languages
{
    private static readonly List<Language> languagesList = new List<Language>
    {
        new Language("ab", "Abkhaz", "аҧсуа"),
        new Language("aa", "Afar", "Afaraf"),
        new Language("af", "Afrikaans", "Afrikaans"),
        new Language("ak", "Akan", "Akan"),
        new Language("sq", "Albanian", "Shqip"),
        new Language("am", "Amharic", "አማርኛ"),
        new Language("ar", "Arabic", "العربية"),
        new Language("an", "Aragonese", "Aragonés"),
        new Language("hy", "Armenian", "Հայերեն"),
        new Language("as", "Assamese", "অসমীয়া"),
        new Language("av", "Avaric", "авар мацӀ, магӀарул мацӀ"),
        new Language("ae", "Avestan", "avesta"),
        new Language("ay", "Aymara", "aymar aru"),
        new Language("az", "Azerbaijani", "azərbaycan dili"),
        new Language("bm", "Bambara", "bamanankan"),
        new Language("ba", "Bashkir", "башҡорт теле"),
        new Language("eu", "Basque", "euskara, euskera"),
        new Language("be", "Belarusian", "Беларуская"),
        new Language("bn", "Bengali", "বাংলা"),
        new Language("bh", "Bihari", "भोजपुरी"),
        new Language("bi", "Bislama", "Bislama"),
        new Language("bs", "Bosnian", "bosanski jezik"),
        new Language("br", "Breton", "brezhoneg"),
        new Language("bg", "Bulgarian", "български език"),
        new Language("my", "Burmese", "ဗမာစာ"),
        new Language("ca", "Catalan; Valencian", "Català"),
        new Language("ch", "Chamorro", "Chamoru"),
        new Language("ce", "Chechen", "нохчийн мотт"),
        new Language("ny", "Chichewa; Chewa; Nyanja", "chiCheŵa, chinyanja"),
        new Language("zh", "Chinese", "中文 (Zhōngwén), 汉语, 漢語"),
        new Language("cv", "Chuvash", "чӑваш чӗлхи"),
        new Language("kw", "Cornish", "Kernewek"),
        new Language("co", "Corsican", "corsu, lingua corsa"),
        new Language("cr", "Cree", "ᓀᐦᐃᔭᐍᐏᐣ"),
        new Language("hr", "Croatian", "hrvatski"),
        new Language("cs", "Czech", "česky, čeština"),
        new Language("da", "Danish", "dansk"),
        new Language("dv", "Divehi; Dhivehi; Maldivian;", "ދިވެހި"),
        new Language("nl", "Dutch", "Nederlands, Vlaams"),
        new Language("en", "English", "English"),
        new Language("eo", "Esperanto", "Esperanto"),
        new Language("et", "Estonian", "eesti, eesti keel"),
        new Language("ee", "Ewe", "Eʋegbe"),
        new Language("fo", "Faroese", "føroyskt"),
        new Language("fj", "Fijian", "vosa Vakaviti"),
        new Language("fi", "Finnish", "suomi, suomen kieli"),
        new Language("fr", "French", "français, langue française"),
        new Language("ff", "Fula; Fulah; Pulaar; Pular", "Fulfulde, Pulaar, Pular"),
        new Language("gl", "Galician", "Galego"),
        new Language("ka", "Georgian", "ქართული"),
        new Language("de", "German", "Deutsch"),
        new Language("el", "Greek, Modern", "Ελληνικά"),
        new Language("gn", "Guaraní", "Avañeẽ"),
        new Language("gu", "Gujarati", "ગુજરાતી"),
        new Language("ht", "Haitian; Haitian Creole", "Kreyòl ayisyen"),
        new Language("ha", "Hausa", "Hausa, هَوُسَ"),
        new Language("he", "Hebrew (modern)", "עברית"),
        new Language("hz", "Herero", "Otjiherero"),
        new Language("hi", "Hindi", "हिन्दी, हिंदी"),
        new Language("ho", "Hiri Motu", "Hiri Motu"),
        new Language("hu", "Hungarian", "Magyar"),
        new Language("ia", "Interlingua", "Interlingua"),
        new Language("id", "Indonesian", "Bahasa Indonesia"),
        new Language("ie", "Interlingue", "Originally called Occidental; then Interlingue after WWII"),
        new Language("ga", "Irish", "Gaeilge"),
        new Language("ig", "Igbo", "Asụsụ Igbo"),
        new Language("ik", "Inupiaq", "Iñupiaq, Iñupiatun"),
        new Language("io", "Ido", "Ido"),
        new Language("is", "Icelandic", "Íslenska"),
        new Language("it", "Italian", "Italiano"),
        new Language("iu", "Inuktitut", "ᐃᓄᒃᑎᑐᑦ"),
        new Language("ja", "Japanese", "日本語 (にほんご/にっぽんご)"),
        new Language("jv", "Javanese", "basa Jawa"),
        new Language("kl", "Kalaallisut, Greenlandic", "kalaallisut, kalaallit oqaasii"),
        new Language("kn", "Kannada", "ಕನ್ನಡ"),
        new Language("kr", "Kanuri", "Kanuri"),
        new Language("ks", "Kashmiri", "कश्मीरी, كشميري‎"),
        new Language("kk", "Kazakh", "Қазақ тілі"),
        new Language("km", "Khmer", "ភាសាខ្មែរ"),
        new Language("ki", "Kikuyu, Gikuyu", "Gĩkũyũ"),
        new Language("rw", "Kinyarwanda", "Ikinyarwanda"),
        new Language("ky", "Kirghiz, Kyrgyz", "кыргыз тили"),
        new Language("kv", "Komi", "коми кыв"),
        new Language("kg", "Kongo", "KiKongo"),
        new Language("ko", "Korean", "한국어 (韓國語), 조선말 (朝鮮語)"),
        new Language("ku", "Kurdish", "Kurdî, كوردی‎"),
        new Language("kj", "Kwanyama, Kuanyama", "Kuanyama"),
        new Language("la", "Latin", "latine, lingua latina"),
        new Language("lb", "Luxembourgish, Letzeburgesch", "Lëtzebuergesch"),
        new Language("lg", "Luganda", "Luganda"),
        new Language("li", "Limburgish, Limburgan, Limburger", "Limburgs"),
        new Language("ln", "Lingala", "Lingála"),
        new Language("lo", "Lao", "ພາສາລາວ"),
        new Language("lt", "Lithuanian", "lietuvių kalba"),
        new Language("lu", "Luba-Katanga", ""),
        new Language("lv", "Latvian", "latviešu valoda"),
        new Language("gv", "Manx", "Gaelg, Gailck"),
        new Language("mk", "Macedonian", "македонски јазик"),
        new Language("mg", "Malagasy", "Malagasy fiteny"),
        new Language("ms", "Malay", "bahasa Melayu, بهاس ملايو‎"),
        new Language("ml", "Malayalam", "മലയാളം"),
        new Language("mt", "Maltese", "Malti"),
        new Language("mi", "Māori", "te reo Māori"),
        new Language("mr", "Marathi (Marāṭhī)", "मराठी"),
        new Language("mh", "Marshallese", "Kajin M̧ajeļ"),
        new Language("mn", "Mongolian", "монгол"),
        new Language("na", "Nauru", "Ekakairũ Naoero"),
        new Language("nv", "Navajo, Navaho", "Diné bizaad, Dinékʼehǰí"),
        new Language("nb", "Norwegian Bokmål", "Norsk bokmål"),
        new Language("nd", "North Ndebele", "isiNdebele"),
        new Language("ne", "Nepali", "नेपाली"),
        new Language("ng", "Ndonga", "Owambo"),
        new Language("nn", "Norwegian Nynorsk", "Norsk nynorsk"),
        new Language("no", "Norwegian", "Norsk"),
        new Language("ii", "Nuosu", "ꆈꌠ꒿ Nuosuhxop"),
        new Language("nr", "South Ndebele", "isiNdebele"),
        new Language("oc", "Occitan", "Occitan"),
        new Language("oj", "Ojibwe, Ojibwa", "ᐊᓂᔑᓈᐯᒧᐎᓐ"),
        new Language("cu", "Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic", "ѩзыкъ словѣньскъ"),
        new Language("om", "Oromo", "Afaan Oromoo"),
        new Language("or", "Oriya", "ଓଡ଼ିଆ"),
        new Language("os", "Ossetian, Ossetic", "ирон æвзаг"),
        new Language("pa", "Panjabi, Punjabi", "ਪੰਜਾਬੀ, پنجابی‎"),
        new Language("pi", "Pāli", "पाऴि"),
        new Language("fa", "Persian", "فارسی"),
        new Language("pl", "Polish", "Polski"),
        new Language("ps", "Pashto, Pushto", "پښتو"),
        new Language("pt", "Portuguese", "Português"),
        new Language("qu", "Quechua", "Runa Simi, Kichwa"),
        new Language("rm", "Romansh", "rumantsch grischun"),
        new Language("rn", "Kirundi", "kiRundi"),
        new Language("ro", "Romanian, Moldavian, Moldovan", "română"),
        new Language("ru", "Russian", "русский язык"),
        new Language("sa", "Sanskrit (Saṁskṛta)", "संस्कृतम्"),
        new Language("sc", "Sardinian", "sardu"),
        new Language("sd", "Sindhi", "सिन्धी, سنڌي، سندھی‎"),
        new Language("se", "Northern Sami", "Davvisámegiella"),
        new Language("sm", "Samoan", "gagana faa Samoa"),
        new Language("sg", "Sango", "yângâ tî sängö"),
        new Language("sr", "Serbian", "српски језик"),
        new Language("gd", "Scottish Gaelic; Gaelic", "Gàidhlig"),
        new Language("sn", "Shona", "chiShona"),
        new Language("si", "Sinhala, Sinhalese", "සිංහල"),
        new Language("sk", "Slovak", "slovenčina"),
        new Language("sl", "Slovene", "slovenščina"),
        new Language("so", "Somali", "Soomaaliga, af Soomaali"),
        new Language("st", "Southern Sotho", "Sesotho"),
        new Language("es", "Spanish; Castilian", "español, castellano"),
        new Language("su", "Sundanese", "Basa Sunda"),
        new Language("sw", "Swahili", "Kiswahili"),
        new Language("ss", "Swati", "SiSwati"),
        new Language("sv", "Swedish", "svenska"),
        new Language("ta", "Tamil", "தமிழ்"),
        new Language("te", "Telugu", "తెలుగు"),
        new Language("tg", "Tajik", "тоҷикӣ, toğikī, تاجیکی‎"),
        new Language("th", "Thai", "ไทย"),
        new Language("ti", "Tigrinya", "ትግርኛ"),
        new Language("bo", "Tibetan Standard, Tibetan, Central", "བོད་ཡིག"),
        new Language("tk", "Turkmen", "Türkmen, Түркмен"),
        new Language("tl", "Tagalog", "Wikang Tagalog, ᜏᜒᜃᜅ᜔ ᜆᜄᜎᜓᜄ᜔"),
        new Language("tn", "Tswana", "Setswana"),
        new Language("to", "Tonga (Tonga Islands)", "faka Tonga"),
        new Language("tr", "Turkish", "Türkçe"),
        new Language("ts", "Tsonga", "Xitsonga"),
        new Language("tt", "Tatar", "татарча, tatarça, تاتارچا‎"),
        new Language("tw", "Twi", "Twi"),
        new Language("ty", "Tahitian", "Reo Tahiti"),
        new Language("ug", "Uighur, Uyghur", "Uyƣurqə, ئۇيغۇرچە‎"),
        new Language("uk", "Ukrainian", "українська"),
        new Language("ur", "Urdu", "اردو"),
        new Language("uz", "Uzbek", "zbek, Ўзбек, أۇزبېك‎"),
        new Language("ve", "Venda", "Tshivenḓa"),
        new Language("vi", "Vietnamese", "Tiếng Việt"),
        new Language("vo", "Volapük", "Volapük"),
        new Language("wa", "Walloon", "Walon"),
        new Language("cy", "Welsh", "Cymraeg"),
        new Language("wo", "Wolof", "Wollof"),
        new Language("fy", "Western Frisian", "Frysk"),
        new Language("xh", "Xhosa", "isiXhosa"),
        new Language("yi", "Yiddish", "ייִדיש"),
        new Language("yo", "Yoruba", "Yorùbá"),
        new Language("za", "Zhuang, Chuang", "Saɯ cueŋƅ, Saw cuengh"),
    };
    public static IReadOnlyList<Language> LanguagesList => languagesList;
}
CodeAngry
  • 12,760
  • 3
  • 50
  • 57
Tomasz Modelski
  • 412
  • 6
  • 10