YAML 或 JSON 语言代码列表? ?

在 YAML 或 JSON 中是否有 语言代码列表?

另一种格式是好的,我可以转换它,如果必要的。

67080 次浏览

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.

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.

/**
* @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"
}
}

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;
}

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);
}


?>

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"
}
]

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"}
]

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;
}

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