ISO 639-1 is the alpha-2 code. Multiple codes for the same language are to
be considered synonyms.  Entries marked with '*' have Unicode orthographies
built.

    639-2 	639-1	Language Name (English)				Language Name (French)
    
*   aar		aa	Afar 						afar
*   abk		ab	Abkhazian 					abkhaze
    ace			Achinese 					aceh
    ach			Acoli 						acoli
    ada			Adangme 					adangme
    afa			Afro-Asiatic (Other)				afro-asiatiques, autres langues
    afh			Afrihili 					afrihili
*   afr		af	Afrikaans 					afrikaans
    aka			Akan 						akan
    akk			Akkadian 					akkadien
*   alb/sqi*	sq	Albanian 					albanais
    ale			Aleut 						aléoute
    alg			Algonquian languages				algonquines, langues
*   amh		am	Amharic 					amharique
    ang			English, Old (ca.450-1100)			anglo-saxon (ca.450-1100)
    apa			Apache languages				apache
*   ara		ar	Arabic 						arabe
    arc			Aramaic 					araméen
*   arm/hye*	hy	Armenian 					arménien
    arn			Araucanian 					araucan
    arp			Arapaho 					arapaho
    art			Artificial (Other)				artificielles, autres langues
    arw			Arawak 						arawak
    asm		as	Assamese 					assamais
*   ast			Asturian; Bable					asturien; bable
    ath			Athapascan languages				athapascanes, langues
    aus			Australian languages				australiennes, langues
*   ava			Avaric						avar
    ave		ae	Avestan						avestique
    awa			Awadhi						awadhi
*   aym		ay	Aymara						aymara
*   aze		az	Azerbaijani					azéri
    bad			Banda						banda
    bai			Bamileke languages				bamilékés, langues
*   bak		ba	Bashkir						bachkir
    bal			Baluchi						baloutchi
*   bam			Bambara						bambara
    ban			Balinese					balinais
*   baq/eus*	eu	Basque						basque
    bas			Basa						basa
    bat			Baltic (Other)					baltiques, autres langues
    bej			Beja						bedja
*   bel		be	Belarusian					biélorusse
    bem			Bemba						bemba
*   ben		bn	Bengali						bengali
    ber			Berber (Other)					berbères, autres langues
    bho			Bhojpuri					bhojpuri
*   bih		bh	Bihari						bihari
    bik			Bikol						bikol
*   bin			Bini						bini
*   bis		bi	Bislama						bichlamar
    bla			Siksika						blackfoot
    bnt			Bantu (Other)					bantoues, autres langues
*   tib/bod*	bo	Tibetan						tibétain
*   bos		bs	Bosnian						bosniaque
    bra			Braj						braj
*   bre		br	Breton						breton
    btk			Batak (Indonesia)				batak (Indonésie)
*   bua			Buriat						bouriate
    bug			Buginese					bugi
*   bul		bg	Bulgarian					bulgare
*   bur/mya*	my	Burmese						birman
    cad			Caddo						caddo
    cai			Central American Indian (Other)			indiennes d'Amérique centrale, autres langues
    car			Carib						caribe
*   cat		ca	Catalan						catalan
    cau			Caucasian (Other)				caucasiennes, autres langues
    ceb			Cebuano						cebuano
    cel			Celtic (Other)					celtiques, autres langues
*   cze/ces*	cs	Czech						tchèque
*   cha		ch	Chamorro					chamorro
    chb			Chibcha						chibcha
*   che		ce	Chechen						tchétchène
    chg			Chagatai					djaghataï
*   chi/zho*	zh	Chinese						chinois
    chk			Chuukese					chuuk
*   chm			Mari						mari
    chn			Chinook jargon					chinook, jargon
    cho			Choctaw						choctaw
    chp			Chipewyan					chipewyan
*   chr			Cherokee					cherokee
*   chu		cu	Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic	slavon d'église; vieux slave; slavon liturgique; vieux bulgare
*   chv		cv	Chuvash						tchouvache
    chy			Cheyenne					cheyenne
    cmc			Chamic languages				chames, langues
    cop			Coptic						copte
*   cor		kw	Cornish						cornique
*   cos		co	Corsican					corse
    cpe			Creoles and pidgins, English based (Other)	créoles et pidgins anglais, autres
    cpf			Creoles and pidgins, French-based (Other)	créoles et pidgins français, autres
    cpp			Creoles and pidgins, Portuguese-based (Other)	créoles et pidgins portugais, autres
    cre			Cree						cree
    crp			Creoles and pidgins (Other)			créoles et pidgins divers
    cus			Cushitic (Other)				couchitiques, autres langues
*   wel/cym*	cy	Welsh						gallois
*   cze/ces*	cs	Czech						tchèque
    dak			Dakota						dakota
*   dan		da	Danish						danois
    day			Dayak						dayak
    del			Delaware					delaware
    den			Slave (Athapascan)				esclave (athapascan)
*   ger/deu*	de	German						allemand
    dgr			Dogrib						dogrib
    din			Dinka						dinka
    div			Divehi						maldivien
    doi			Dogri						dogri
    dra			Dravidian (Other)				dravidiennes, autres langues
    dua			Duala						douala
    dum			Dutch, Middle (ca.1050-1350)			néerlandais moyen (ca. 1050-1350)
*   dut/nld*	nl	Dutch						néerlandais
    dyu			Dyula						dioula
*   dzo		dz	Dzongkha					dzongkha
    efi			Efik						efik
    egy			Egyptian (Ancient)				égyptien
    eka			Ekajuk						ekajuk
*   gre/ell*	el	Greek, Modern (1453-)				grec moderne (après 1453)
    elx			Elamite						élamite
*   eng		en	English						anglais
    enm			English, Middle (1100-1500)			anglais moyen (1100-1500)
*   epo		eo	Esperanto					espéranto
*   est		et	Estonian					estonien
*   baq/eus*	eu	Basque						basque
    ewe			Ewe						éwé
    ewo			Ewondo						éwondo
    fan			Fang						fang
*   fao		fo	Faroese						féroïen
*   per/fas*	fa	Persian						persan
    fat			Fanti						fanti
*   fij		fj	Fijian						fidjien
*   fin		fi	Finnish						finnois
    fiu			Finno-Ugrian (Other)				finno-ougriennes, autres langues
    fon			Fon						fon
*   fre/fra*	fr	French						français
    frm			French, Middle (ca.1400-1800)			français moyen (1400-1800)
    fro			French, Old (842-ca.1400)			français ancien (842-ca.1400)
*   fry		fy	Frisian						frison
*   ful			Fulah						peul
*   fur			Friulian					frioulan
    gaa			Ga						ga
    gay			Gayo						gayo
    gba			Gbaya						gbaya
    gem			Germanic (Other)				germaniques, autres langues
*   geo/kat*	ka	Georgian					géorgien
*   ger/deu*	de	German						allemand
*   gez			Geez						guèze
    gil			Gilbertese					kiribati
*   gla		gd	Gaelic; Scottish Gaelic				gaélique; gaélique écossais
*   gle		ga	Irish						irlandais
*   glg		gl	Gallegan					galicien
*   glv		gv	Manx manx;					mannois
    gmh			German, Middle High (ca.1050-1500)		allemand, moyen haut (ca. 1050-1500)
    goh			German, Old High (ca.750-1050)			allemand, vieux haut (ca. 750-1050)
    gon			Gondi						gond
    gor			Gorontalo					gorontalo
    got			Gothic						gothique
    grb			Grebo						grebo
    grc			Greek, Ancient (to 1453)			grec ancien (jusqu'à 1453)
*   gre/ell*	el	Greek, Modern (1453-)				grec moderne (après 1453)
*   grn		gn	Guarani						guarani
*   guj		gu	Gujarati					goudjrati
    gwi			Gwich´in					gwich´in
    hai			Haida						haida
*   hau		ha	Hausa						haoussa
*   haw			Hawaiian					hawaïen
*   heb		he	Hebrew						hébreu
    her		hz	Herero						herero
    hil			Hiligaynon					hiligaynon
    him			Himachali					himachali
*   hin		hi	Hindi						hindi
    hit			Hittite						hittite
    hmn			Hmong						hmong
*   hmo		ho	Hiri Motu					hiri motu
*   scr/hrv*	hr	Croatian					croate
*   hun		hu	Hungarian					hongrois
    hup			Hupa						hupa
*   arm/hye*	hy	Armenian					arménien
    iba			Iban						iban
*   ibo			Igbo						igbo
*   ice/isl*	is	Icelandic					islandais
*   ido		io	Ido						ido
    ijo			Ijo						ijo
*   iku		iu	Inuktitut					inuktitut
*   ile		ie	Interlingue					interlingue
    ilo			Iloko						ilocano
*   ina		ia	Interlingua (International Auxiliary Language Association)	interlingua (langue auxiliaire internationale)
    inc			Indic (Other)					indo-aryennes, autres langues
*   ind		id	Indonesian					indonésien
    ine			Indo-European (Other)				indo-européennes, autres langues
*   ipk		ik	Inupiaq						inupiaq
    ira			Iranian (Other)					iraniennes, autres langues
    iro			Iroquoian languages				iroquoises, langues (famille)
*   ice/isl*	is	Icelandic					islandais
*   ita		it	Italian						italien
    jav		jv	Javanese					javanais
*   jpn		ja	Japanese					japonais
    jpr			Judeo-Persian					judéo-persan
    jrb			Judeo-Arabic					judéo-arabe
*   kaa			Kara-Kalpak					karakalpak
    kab			Kabyle						kabyle
    kac			Kachin						kachin
*   kal		kl	Kalaallisut					groenlandais
    kam			Kamba						kamba
*   kan		kn	Kannada						kannada
    kar			Karen						karen
*   kas		ks	Kashmiri					kashmiri
*   geo/kat*	ka	Georgian					géorgien
    kau			Kanuri						kanouri
    kaw			Kawi						kawi
*   kaz		kk	Kazakh						kazakh
    kha			Khasi						khasi
    khi			Khoisan (Other)					khoisan, autres langues
*   khm		km	Khmer						khmer
    kho			Khotanese					khotanais
*   kik		ki	Kikuyu; Gikuyu					kikuyu
    kin		rw	Kinyarwanda					rwanda
*   kir		ky	Kirghiz						kirghize
    kmb			Kimbundu					kimbundu
*   kok			Konkani						konkani
*   kom		kv	Komi						kom
    kon			Kongo						kongo
*   kor		ko	Korean						coréen
    kos			Kosraean					kosrae
    kpe			Kpelle						kpellé
    kro			Kru						krou
    kru			Kurukh						kurukh
    kua		kj	Kuanyama; Kwanyama				kuanyama; kwanyama
*   kum			Kumyk						koumyk
*   kur		ku	Kurdish						kurde
    kut			Kutenai						kutenai
    lad			Ladino						judéo-espagnol
    lah			Lahnda						lahnda
    lam			Lamba						lamba
*   lao		lo	Lao						lao
*   lat		la	Latin						latin
*   lav		lv	Latvian						letton
*   lez			Lezghian					lezghien
*   lin		ln	Lingala						lingala
*   lit		lt	Lithuanian					lituanien
    lol			Mongo						mongo
    loz			Lozi						lozi
*   ltz		lb	Luxembourgish; Letzeburgesch			luxembourgeois
    lua			Luba-Lulua					luba-lulua
    lub			Luba-Katanga					luba-katanga
    lug			Ganda						ganda
    lui			Luiseno						luiseno
    lun			Lunda						lunda
    luo			Luo (Kenya and Tanzania)			luo (Kenya et Tanzanie)
    lus			lushai						Lushai
*   mac/mkd*	mk	Macedonian					macédonien
    mad			Madurese					madourais
    mag			Magahi						magahi
*   mah		mh	Marshallese					marshall
    mai			Maithili					maithili
    mak			Makasar						makassar
*   mal		ml	Malayalam					malayalam
    man			Mandingo					mandingue
*   mao/mri*	mi	Maori						maori
    map			Austronesian (Other)				malayo-polynésiennes, autres langues
*   mar		mr	Marathi						marathe
    mas			Masai						massaï
    may/msa*	ms	Malay						malais
    mdr			Mandar						mandar
    men			Mende						mendé
    mga			Irish, Middle (900-1200)			irlandais moyen (900-1200)
    mic			Micmac						micmac
    min			Minangkabau					minangkabau
    mis			Miscellaneous languages				diverses, langues
*   mac/mkd*	mk	Macedonian					macédonien
    mkh			Mon-Khmer (Other)				môn-khmer, autres langues
*   mlg		mg	Malagasy					malgache
*   mlt		mt	Maltese						maltais
    mnc			Manchu						mandchou
    mni			Manipuri					manipuri
    mno			Manobo languages				manobo, langues
    moh			Mohawk						mohawk
*   mol		mo	Moldavian					moldave
*   mon		mn	Mongolian					mongol
    mos			Mossi						moré
*   mao/mri*	mi	Maori						maori
    may/msa*	ms	Malay						malais
    mul			Multiple languages				multilingue
    mun			Munda languages					mounda, langues
    mus			Creek						muskogee
    mwr			Marwari						marvari
*   bur/mya*	my	Burmese						birman
    myn			Mayan languages					maya, langues
    nah			Nahuatl						nahuatl
    nai			North American Indian				indiennes d'Amérique du Nord, autres langues
    nau		na	Nauru						nauruan
    nav		nv	Navajo; Navaho					navaho
*   nbl		nr	Ndebele, South; South Ndebele			ndébélé du Sud
    nde		nd	Ndebele, North; North Ndebele			ndébélé du Nord
    ndo		ng	Ndonga						ndonga
    nds			Low German; Low Saxon; German, Low; Saxon, Low	bas allemand; bas saxon; allemand, bas; saxon, bas
*   nep		ne	Nepali						népalais
    new			Newari						newari
    nia			Nias						nias
    nic			Niger-Kordofanian (Other)			nigéro-congolaises, autres langues
    niu			Niuean						niué
*   dut/nld*	nl	Dutch						néerlandais
    non			Norse, Old					norrois, vieux
*   nor		no	Norwegian					norvégien
*   nno		nn	Norwegian Nynorsk; Nynorsk, Norwegian		norvégien nynorsk; nynorsk, norvégien
*   nob		nb	Norwegian Bokmål; Bokmål, Norwegian		norvégien bokmål; bokmål, norvégien
*   nso			Sotho, Northern					sotho du Nord
    nub			Nubian languages				nubiennes, langues
*   nya		ny	Chichewa; Chewa; Nyanja				chichewa; chewa; nyanja
    nym			Nyamwezi					nyamwezi
    nyn			Nyankole					nyankolé
    nyo			Nyoro						nyoro
    nzi			Nzima						nzema
*   oci		oc	Occitan (post 1500); Provençal			occitan (après 1500); provençal
    oji			Ojibwa						ojibwa
*   ori		or	Oriya						oriya
*   orm		om	Oromo						galla
    osa			Osage						osage
*   oss		os	Ossetian; Ossetic				ossète
    ota			Turkish, Ottoman (1500-1928)			turc ottoman (1500-1928)
    oto			Otomian languages				otomangue, langues
    paa			Papuan (Other)					papoues, autres langues
    pag			Pangasinan					pangasinan
    pal			Pahlavi						pahlavi
    pam			Pampanga					pampangan
    pan		pa	Panjabi						pendjabi
    pap			Papiamento					papiamento
    pau			Palauan						palau
    peo			Persian, Old (ca.600-400 B.C.)			perse, vieux (ca. 600-400 av. J.-C.)
*   per/fas*	fa	Persian						persan
    phi			Philippine (Other)				philippines, autres langues
    phn			Phoenician					phénicien
    pli		pi	Pali						pali
*   pol		pl	Polish						polonais
    pon			Pohnpeian					pohnpei
*   por		pt	Portuguese					portugais
    pra			Prakrit languages				prâkrit
    pro			Provençal, Old (to 1500)			provençal ancien (jusqu'à 1500)
    pus		ps	Pushto						pachto
    qaa-qtz		Reserved for local use				réservée à l'usage local
    que		qu	Quechua						quechua
    raj			Rajasthani					rajasthani
    rap			Rapanui						rapanui
    rar			Rarotongan					rarotonga
    roa			Romance (Other)					romanes, autres langues
*   roh		rm	Raeto-Romance					rhéto-roman
    rom			Romany						tsigane
*   rum/ron*	ro	Romanian					roumain
    run		rn	Rundi						rundi
*   rus		ru	Russian						russe
    sad			Sandawe						sandawe
    sag		sg	Sango						sango
*   sah			Yakut						iakoute
    sai			South American Indian (Other)			indiennes d'Amérique du Sud, autres langues
    sal			Salishan languages				salish, langues
    sam			Samaritan Aramaic				samaritain
*   san		sa	Sanskrit					sanskrit
    sas			Sasak						sasak
    sat			Santali						santal
*   scc/srp*	sr	Serbian						serbe
*   sco			Scots						écossais
*   scr/hrv*	hr	Croatian					croate
*   sel			Selkup						selkoupe
    sem			Semitic (Other)					sémitiques, autres langues
    sga			Irish, Old (to 900)				irlandais ancien (jusqu'à 900)
    sgn			Sign Languages					langues des signes
    shn			Shan						chan
    sid			Sidamo						sidamo
*   sin		si	Sinhalese					singhalais
    sio			Siouan languages				sioux, langues
    sit			Sino-Tibetan (Other)				sino-tibétaines, autres langues
    sla			Slavic (Other)					slaves, autres langues
*   slo/slk*	sk	Slovak						slovaque
*   slv		sl	Slovenian					slovène
*   sma			Southern Sami					sami du Sud
*   sme		se	Northern Sami					sami du Nord
    smi			Sami languages (Other)				sami, autres langues
*   smj			Lule Sami					sami de Lule
*   smn			Inari Sami					sami d'Inari
*   smo		sm	Samoan						samoan
*   sms			Skolt Sami					sami skolt
    sna		sn	Shona						shona
    snd		sd	Sindhi						sindhi
    snk			Soninke						soninké
    sog			Sogdian						sogdien
*   som		so	Somali						somali
    son			Songhai						songhai
*   sot		st	Sotho, Southern					sotho du Sud
*   spa		es	Spanish; Castilian				espagnol; castillan
*   alb/sqi*	sq	Albanian					albanais
    srd		sc	Sardinian					sarde
*   scc/srp*	sr	Serbian						serbe
*		sh	Serbo-Croatian					serbo-croate
    srr			Serer						sérère
    ssa			Nilo-Saharan (Other)				nilo-sahariennes, autres langues
*   ssw		ss	Swati						swati
    suk			Sukuma						sukuma
    sun		su	Sundanese					soundanais
    sus			Susu						soussou
    sux			Sumerian					sumérien
*   swa		sw	Swahili						swahili
*   swe		sv	Swedish						suédois
*   syr			Syriac						syriaque
    tah		ty	Tahitian					tahitien
    tai			Tai (Other)					thaïes, autres langues
*   tam		ta	Tamil						tamoul
*   tat		tt	Tatar						tatar
*   tel		te	Telugu						télougou
    tem			Timne						temne
    ter			Tereno						tereno
    tet			Tetum						tetum
*   tgk		tg	Tajik						tadjik
*   tgl		tl	Tagalog						tagalog
*   tha		th	Thai						thaï
*   tib/bod*	bo	Tibetan						tibétain
    tig			Tigre						tigré
*   tir		ti	Tigrinya					tigrigna
    tiv			Tiv						tiv
    tkl			Tokelau						tokelau
    tli			Tlingit						tlingit
    tmh			Tamashek					tamacheq
    tog			Tonga (Nyasa)					tonga (Nyasa)
*   ton		to	Tonga (Tonga Islands)				tongan (Îles Tonga)
    tpi			Tok Pisin					tok pisin
    tsi			Tsimshian					tsimshian
*   tsn		tn	Tswana						tswana
*   tso		ts	Tsonga						tsonga
*   tuk		tk	Turkmen						turkmène
    tum			Tumbuka						tumbuka
    tup			Tupi languages					tupi, langues
*   tur		tr	Turkish						turc
    tut			Altaic (Other)					altaïques, autres langues
    tvl			Tuvalu						tuvalu
*   twi		tw	Twi						twi
*   tyv			Tuvinian					touva
    uga			Ugaritic					ougaritique
*   uig		ug	Uighur						ouïgour
*   ukr		uk	Ukrainian					ukrainien
    umb			Umbundu						umbundu
    und			Undetermined					indéterminée
*   urd		ur	Urdu						ourdou
*   uzb		uz	Uzbek						ouszbek
    vai			Vai						vaï
*   ven			Venda						venda
*   vie		vi	Vietnamese					vietnamien
*   vol		vo	Volapük						volapük
*   vot			Votic						vote
    wak			Wakashan languages				wakashennes, langues
    wal			Walamo						walamo
    war			Waray						waray
    was			Washo						washo
*   wel/cym*	cy	Welsh						gallois
*   wen			Sorbian languages				sorabes, langues
*   wln		wa	Walloon						wallon
*   wol		wo	Wolof						wolof
*   xho		xh	Xhosa						xhosa
    yao			Yao						yao
*   yap			Yapese						yapois
*   yid		yi	Yiddish						yiddish
*   yor		yo	Yoruba						yoruba
    ypk			Yupik languages					yupik, langues
    zap			Zapotec						zapotèque
    zen			Zenaga						zenaga
    zha		za	Zhuang; Chuang					zhuang; chuang
*   chi/zho*	zh	Chinese						chinois
    znd			Zande						zandé
*   zul		zu	Zulu						zoulou
    zun			Zuni						zuni
    
