iso-639-2.lisp 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500
  1. ;;; -*- Mode: Lisp; show-trailing-whitespace: t; Base: 10; indent-tabs: nil; Syntax: ANSI-Common-Lisp; Package: ISO-639-2; -*-
  2. ;;; Copyright (c) 2013, Mark VandenBrink. All rights reserved.
  3. (in-package #:iso-639-2)
  4. (defparameter *langs*
  5. '(:aar "Afar"
  6. :abk "Abkhazian"
  7. :ace "Achinese"
  8. :ach "Acoli"
  9. :ada "Adangme"
  10. :ady "Adyghe"
  11. :afa "Afro-Asiatic languages"
  12. :afh "Afrihili"
  13. :afr "Afrikaans"
  14. :ain "Ainu"
  15. :aka "Akan"
  16. :akk "Akkadian"
  17. :alb "Albanian"
  18. :ale "Aleut"
  19. :alg "Algonquian languages"
  20. :alt "Southern Altai"
  21. :amh "Amharic"
  22. :ang "English, Old (ca.450-1100)"
  23. :anp "Angika"
  24. :apa "Apache languages"
  25. :ara "Arabic"
  26. :arc "Official Aramaic (700-300 BCE)"
  27. :arg "Aragonese"
  28. :arm "Armenian"
  29. :arn "Mapudungun"
  30. :arp "Arapaho"
  31. :art "Artificial languages"
  32. :arw "Arawak"
  33. :asm "Assamese"
  34. :ast "Asturian"
  35. :ath "Athapascan languages"
  36. :aus "Australian languages"
  37. :ava "Avaric"
  38. :ave "Avestan"
  39. :awa "Awadhi"
  40. :aym "Aymara"
  41. :aze "Azerbaijani"
  42. :bad "Banda languages"
  43. :bai "Bamileke languages"
  44. :bak "Bashkir"
  45. :bal "Baluchi"
  46. :bam "Bambara"
  47. :ban "Balinese"
  48. :baq "Basque"
  49. :bas "Basa"
  50. :bat "Baltic languages"
  51. :bej "Beja"
  52. :bel "Belarusian"
  53. :bem "Bemba"
  54. :ben "Bengali"
  55. :ber "Berber languages"
  56. :bho "Bhojpuri"
  57. :bih "Bihari languages"
  58. :bik "Bikol"
  59. :bin "Bini"
  60. :bis "Bislama"
  61. :bla "Siksika"
  62. :bnt "Bantu languages"
  63. :bos "Bosnian"
  64. :bra "Braj"
  65. :bre "Breton"
  66. :btk "Batak languages"
  67. :bua "Buriat"
  68. :bug "Buginese"
  69. :bul "Bulgarian"
  70. :bur "Burmese"
  71. :byn "Blin"
  72. :cad "Caddo"
  73. :cai "Central American Indian languages"
  74. :car "Galibi Carib"
  75. :cat "Catalan"
  76. :cau "Caucasian languages"
  77. :ceb "Cebuano"
  78. :cel "Celtic languages"
  79. :cha "Chamorro"
  80. :chb "Chibcha"
  81. :che "Chechen"
  82. :chg "Chagatai"
  83. :chi "Chinese"
  84. :chk "Chuukese"
  85. :chm "Mari"
  86. :chn "Chinook jargon"
  87. :cho "Choctaw"
  88. :chp "Chipewyan"
  89. :chr "Cherokee"
  90. :chu "Church Slavic"
  91. :chv "Chuvash"
  92. :chy "Cheyenne"
  93. :cmc "Chamic languages"
  94. :cop "Coptic"
  95. :cor "Cornish"
  96. :cos "Corsican"
  97. :cpe "Creoles and pidgins, English based"
  98. :cpf "Creoles and pidgins, French-based"
  99. :cpp "Creoles and pidgins, Portuguese-based"
  100. :cre "Cree"
  101. :crh "Crimean Tatar"
  102. :crp "Creoles and pidgins"
  103. :csb "Kashubian"
  104. :cus "Cushitic languages"
  105. :cze "Czech"
  106. :dak "Dakota"
  107. :dan "Danish"
  108. :dar "Dargwa"
  109. :day "Land Dayak languages"
  110. :del "Delaware"
  111. :den "Slave (Athapascan)"
  112. :dgr "Dogrib"
  113. :din "Dinka"
  114. :div "Divehi"
  115. :doi "Dogri"
  116. :dra "Dravidian languages"
  117. :dsb "Lower Sorbian"
  118. :dua "Duala"
  119. :dum "Dutch, Middle (ca.1050-1350)"
  120. :dut "Dutch"
  121. :dyu "Dyula"
  122. :dzo "Dzongkha"
  123. :efi "Efik"
  124. :egy "Egyptian (Ancient)"
  125. :eka "Ekajuk"
  126. :elx "Elamite"
  127. :eng "English"
  128. :enm "English, Middle (1100-1500)"
  129. :epo "Esperanto"
  130. :est "Estonian"
  131. :ewe "Ewe"
  132. :ewo "Ewondo"
  133. :fan "Fang"
  134. :fao "Faroese"
  135. :fat "Fanti"
  136. :fij "Fijian"
  137. :fil "Filipino"
  138. :fin "Finnish"
  139. :fiu "Finno-Ugrian languages"
  140. :fon "Fon"
  141. :fre "French"
  142. :frm "French, Middle (ca.1400-1600)"
  143. :fro "French, Old (842-ca.1400)"
  144. :frr "Northern Frisian"
  145. :frs "Eastern Frisian"
  146. :fry "Western Frisian"
  147. :ful "Fulah"
  148. :fur "Friulian"
  149. :gaa "Ga"
  150. :gay "Gayo"
  151. :gba "Gbaya"
  152. :gem "Germanic languages"
  153. :geo "Georgian"
  154. :ger "German"
  155. :gez "Geez"
  156. :gil "Gilbertese"
  157. :gla "Gaelic"
  158. :gle "Irish"
  159. :glg "Galician"
  160. :glv "Manx"
  161. :gmh "German, Middle High (ca.1050-1500)"
  162. :goh "German, Old High (ca.750-1050)"
  163. :gon "Gondi"
  164. :gor "Gorontalo"
  165. :got "Gothic"
  166. :grb "Grebo"
  167. :grc "Greek, Ancient (to 1453)"
  168. :gre "Greek, Modern (1453-)"
  169. :grn "Guarani"
  170. :gsw "Swiss German"
  171. :guj "Gujarati"
  172. :gwi "Gwich'in"
  173. :hai "Haida"
  174. :hat "Haitian"
  175. :hau "Hausa"
  176. :haw "Hawaiian"
  177. :heb "Hebrew"
  178. :her "Herero"
  179. :hil "Hiligaynon"
  180. :him "Himachali languages"
  181. :hin "Hindi"
  182. :hit "Hittite"
  183. :hmn "Hmong"
  184. :hmo "Hiri Motu"
  185. :hrv "Croatian"
  186. :hsb "Upper Sorbian"
  187. :hun "Hungarian"
  188. :hup "Hupa"
  189. :iba "Iban"
  190. :ibo "Igbo"
  191. :ice "Icelandic"
  192. :ido "Ido"
  193. :iii "Sichuan Yi"
  194. :ijo "Ijo languages"
  195. :iku "Inuktitut"
  196. :ile "Interlingue"
  197. :ilo "Iloko"
  198. :ina "Interlingua (International Auxiliary Language Association)"
  199. :inc "Indic languages"
  200. :ind "Indonesian"
  201. :ine "Indo-European languages"
  202. :inh "Ingush"
  203. :ipk "Inupiaq"
  204. :ira "Iranian languages"
  205. :iro "Iroquoian languages"
  206. :ita "Italian"
  207. :jav "Javanese"
  208. :jbo "Lojban"
  209. :jpn "Japanese"
  210. :jpr "Judeo-Persian"
  211. :jrb "Judeo-Arabic"
  212. :kaa "Kara-Kalpak"
  213. :kab "Kabyle"
  214. :kac "Kachin"
  215. :kal "Kalaallisut"
  216. :kam "Kamba"
  217. :kan "Kannada"
  218. :kar "Karen languages"
  219. :kas "Kashmiri"
  220. :kau "Kanuri"
  221. :kaw "Kawi"
  222. :kaz "Kazakh"
  223. :kbd "Kabardian"
  224. :kha "Khasi"
  225. :khi "Khoisan languages"
  226. :khm "Central Khmer"
  227. :kho "Khotanese"
  228. :kik "Kikuyu"
  229. :kin "Kinyarwanda"
  230. :kir "Kirghiz"
  231. :kmb "Kimbundu"
  232. :kok "Konkani"
  233. :kom "Komi"
  234. :kon "Kongo"
  235. :kor "Korean"
  236. :kos "Kosraean"
  237. :kpe "Kpelle"
  238. :krc "Karachay-Balkar"
  239. :krl "Karelian"
  240. :kro "Kru languages"
  241. :kru "Kurukh"
  242. :kua "Kuanyama"
  243. :kum "Kumyk"
  244. :kur "Kurdish"
  245. :kut "Kutenai"
  246. :lad "Ladino"
  247. :lah "Lahnda"
  248. :lam "Lamba"
  249. :lao "Lao"
  250. :lat "Latin"
  251. :lav "Latvian"
  252. :lez "Lezghian"
  253. :lim "Limburgan"
  254. :lin "Lingala"
  255. :lit "Lithuanian"
  256. :lol "Mongo"
  257. :loz "Lozi"
  258. :ltz "Luxembourgish"
  259. :lua "Luba-Lulua"
  260. :lub "Luba-Katanga"
  261. :lug "Ganda"
  262. :lui "Luiseno"
  263. :lun "Lunda"
  264. :luo "Luo (Kenya and Tanzania)"
  265. :lus "Lushai"
  266. :mac "Macedonian"
  267. :mad "Madurese"
  268. :mag "Magahi"
  269. :mah "Marshallese"
  270. :mai "Maithili"
  271. :mak "Makasar"
  272. :mal "Malayalam"
  273. :man "Mandingo"
  274. :mao "Maori"
  275. :map "Austronesian languages"
  276. :mar "Marathi"
  277. :mas "Masai"
  278. :may "Malay"
  279. :mdf "Moksha"
  280. :mdr "Mandar"
  281. :men "Mende"
  282. :mga "Irish, Middle (900-1200)"
  283. :mic "Mi'kmaq"
  284. :min "Minangkabau"
  285. :mis "Uncoded languages"
  286. :mkh "Mon-Khmer languages"
  287. :mlg "Malagasy"
  288. :mlt "Maltese"
  289. :mnc "Manchu"
  290. :mni "Manipuri"
  291. :mno "Manobo languages"
  292. :moh "Mohawk"
  293. :mon "Mongolian"
  294. :mos "Mossi"
  295. :mul "Multiple languages"
  296. :mun "Munda languages"
  297. :mus "Creek"
  298. :mwl "Mirandese"
  299. :mwr "Marwari"
  300. :myn "Mayan languages"
  301. :myv "Erzya"
  302. :nah "Nahuatl languages"
  303. :nai "North American Indian languages"
  304. :nap "Neapolitan"
  305. :nau "Nauru"
  306. :nav "Navajo"
  307. :nbl "Ndebele, South"
  308. :nde "Ndebele, North"
  309. :ndo "Ndonga"
  310. :nds "Low German"
  311. :nep "Nepali"
  312. :new "Nepal Bhasa"
  313. :nia "Nias"
  314. :nic "Niger-Kordofanian languages"
  315. :niu "Niuean"
  316. :nno "Norwegian Nynorsk"
  317. :nob "Bokmål, Norwegian"
  318. :nog "Nogai"
  319. :non "Norse, Old"
  320. :nor "Norwegian"
  321. :nqo "N'Ko"
  322. :nso "Pedi"
  323. :nub "Nubian languages"
  324. :nwc "Classical Newari"
  325. :nya "Chichewa"
  326. :nym "Nyamwezi"
  327. :nyn "Nyankole"
  328. :nyo "Nyoro"
  329. :nzi "Nzima"
  330. :oci "Occitan (post 1500)"
  331. :oji "Ojibwa"
  332. :ori "Oriya"
  333. :orm "Oromo"
  334. :osa "Osage"
  335. :oss "Ossetian"
  336. :ota "Turkish, Ottoman (1500-1928)"
  337. :oto "Otomian languages"
  338. :paa "Papuan languages"
  339. :pag "Pangasinan"
  340. :pal "Pahlavi"
  341. :pam "Pampanga"
  342. :pan "Panjabi"
  343. :pap "Papiamento"
  344. :pau "Palauan"
  345. :peo "Persian, Old (ca.600-400 B.C.)"
  346. :per "Persian"
  347. :phi "Philippine languages"
  348. :phn "Phoenician"
  349. :pli "Pali"
  350. :pol "Polish"
  351. :pon "Pohnpeian"
  352. :por "Portuguese"
  353. :pra "Prakrit languages"
  354. :pro "Provençal, Old (to 1500)"
  355. :pus "Pushto"
  356. :qaa-"qtz Reserved for local use"
  357. :que "Quechua"
  358. :raj "Rajasthani"
  359. :rap "Rapanui"
  360. :rar "Rarotongan"
  361. :roa "Romance languages"
  362. :roh "Romansh"
  363. :rom "Romany"
  364. :rum "Romanian"
  365. :run "Rundi"
  366. :rup "Aromanian"
  367. :rus "Russian"
  368. :sad "Sandawe"
  369. :sag "Sango"
  370. :sah "Yakut"
  371. :sai "South American Indian languages"
  372. :sal "Salishan languages"
  373. :sam "Samaritan Aramaic"
  374. :san "Sanskrit"
  375. :sas "Sasak"
  376. :sat "Santali"
  377. :scn "Sicilian"
  378. :sco "Scots"
  379. :sel "Selkup"
  380. :sem "Semitic languages"
  381. :sga "Irish, Old (to 900)"
  382. :sgn "Sign Languages"
  383. :shn "Shan"
  384. :sid "Sidamo"
  385. :sin "Sinhala"
  386. :sio "Siouan languages"
  387. :sit "Sino-Tibetan languages"
  388. :sla "Slavic languages"
  389. :slo "Slovak"
  390. :slv "Slovenian"
  391. :sma "Southern Sami"
  392. :sme "Northern Sami"
  393. :smi "Sami languages"
  394. :smj "Lule Sami"
  395. :smn "Inari Sami"
  396. :smo "Samoan"
  397. :sms "Skolt Sami"
  398. :sna "Shona"
  399. :snd "Sindhi"
  400. :snk "Soninke"
  401. :sog "Sogdian"
  402. :som "Somali"
  403. :son "Songhai languages"
  404. :sot "Sotho, Southern"
  405. :spa "Spanish"
  406. :srd "Sardinian"
  407. :srn "Sranan Tongo"
  408. :srp "Serbian"
  409. :srr "Serer"
  410. :ssa "Nilo-Saharan languages"
  411. :ssw "Swati"
  412. :suk "Sukuma"
  413. :sun "Sundanese"
  414. :sus "Susu"
  415. :sux "Sumerian"
  416. :swa "Swahili"
  417. :swe "Swedish"
  418. :syc "Classical Syriac"
  419. :syr "Syriac"
  420. :tah "Tahitian"
  421. :tai "Tai languages"
  422. :tam "Tamil"
  423. :tat "Tatar"
  424. :tel "Telugu"
  425. :tem "Timne"
  426. :ter "Tereno"
  427. :tet "Tetum"
  428. :tgk "Tajik"
  429. :tgl "Tagalog"
  430. :tha "Thai"
  431. :tib "Tibetan"
  432. :tig "Tigre"
  433. :tir "Tigrinya"
  434. :tiv "Tiv"
  435. :tkl "Tokelau"
  436. :tlh "Klingon"
  437. :tli "Tlingit"
  438. :tmh "Tamashek"
  439. :tog "Tonga (Nyasa)"
  440. :ton "Tonga (Tonga Islands)"
  441. :tpi "Tok Pisin"
  442. :tsi "Tsimshian"
  443. :tsn "Tswana"
  444. :tso "Tsonga"
  445. :tuk "Turkmen"
  446. :tum "Tumbuka"
  447. :tup "Tupi languages"
  448. :tur "Turkish"
  449. :tut "Altaic languages"
  450. :tvl "Tuvalu"
  451. :twi "Twi"
  452. :tyv "Tuvinian"
  453. :udm "Udmurt"
  454. :uga "Ugaritic"
  455. :uig "Uighur"
  456. :ukr "Ukrainian"
  457. :umb "Umbundu"
  458. :und "Undetermined"
  459. :urd "Urdu"
  460. :uzb "Uzbek"
  461. :vai "Vai"
  462. :ven "Venda"
  463. :vie "Vietnamese"
  464. :vol "Volapük"
  465. :vot "Votic"
  466. :wak "Wakashan languages"
  467. :wal "Wolaitta"
  468. :war "Waray"
  469. :was "Washo"
  470. :wel "Welsh"
  471. :wen "Sorbian languages"
  472. :wln "Walloon"
  473. :wol "Wolof"
  474. :xal "Kalmyk"
  475. :xho "Xhosa"
  476. :yao "Yao"
  477. :yap "Yapese"
  478. :yid "Yiddish"
  479. :yor "Yoruba"
  480. :ypk "Yupik languages"
  481. :zap "Zapotec"
  482. :zbl "Blissymbols"
  483. :zen "Zenaga"
  484. :zgh "Standard Moroccan Tamazight"
  485. :zha "Zhuang"
  486. :znd "Zande languages"
  487. :zul "Zulu"
  488. :zun "Zuni"
  489. :zxx "No linguistic content"
  490. :zza "Zaza"
  491. :XXX "Not Used"))
  492. (defun get-iso-639-2-language (l)
  493. "Convert an ISO-639-2 language tag into a readable language."
  494. (declare #.utils:*standard-optimize-settings*)
  495. (let* ((lang (getf *langs* (make-keyword (string-upcase l)))))
  496. (if lang lang "Bad ISO-639-2 language")))