diff options
Diffstat (limited to 'support/texlab/crates/bibutils_sys/src/iso639_2.c')
-rw-r--r-- | support/texlab/crates/bibutils_sys/src/iso639_2.c | 647 |
1 files changed, 647 insertions, 0 deletions
diff --git a/support/texlab/crates/bibutils_sys/src/iso639_2.c b/support/texlab/crates/bibutils_sys/src/iso639_2.c new file mode 100644 index 0000000000..e0f07ef0e8 --- /dev/null +++ b/support/texlab/crates/bibutils_sys/src/iso639_2.c @@ -0,0 +1,647 @@ +/* + * iso639-2 language codes + */ +#include <string.h> +#include "iso639_2.h" +#include "msvc_fix.h" + +typedef struct { + char *code1; + char *code2; + unsigned char main; + char *language; +} iso639_2_t; + +static iso639_2_t iso639_2[] = { + { "abk", "", 1, "Abkhazian" }, + { "ace", "", 1, "Achenese" }, + { "ace", "", 1, "Achinese" }, + { "ach", "", 1, "Acoli" }, + { "ada", "", 1, "Adangme" }, + { "ady", "", 1, "Adygei" }, + { "ady", "", 1, "Adyghe" }, + { "aar", "", 1, "Afar" }, + { "afh", "", 1, "Afrihili" }, + { "afr", "", 1, "Afrikaans" }, + { "afa", "", 1, "Afroasiatic languages" }, + { "ain", "", 1, "Ainu" }, + { "aka", "", 1, "Akan" }, + { "akk", "", 1, "Akkadian" }, + { "alb", "sqi", 1, "Albanian" }, + { "gsw", "", 1, "Alemannic" }, + { "ale", "", 1, "Aleut" }, + { "alg", "", 1, "Algonquian languages" }, + { "gsw", "", 1, "Alsatian" }, + { "alt", "", 1, "Altai, Southern" }, + { "tut", "", 1, "Altaic languages" }, + { "amh", "", 1, "Amharic" }, + { "egy", "", 1, "Ancient Egyptian" }, + { "grc", "", 1, "Ancient Greek" }, + { "anp", "", 1, "Angika" }, + { "apa", "", 1, "Apache languages" }, + { "arc", "", 1, "Aramaic, Imperial" }, + { "arc", "", 1, "Aramaic, Official" }, + { "arp", "", 1, "Arapaho" }, + { "arw", "", 1, "Arawak" }, + { "arg", "", 1, "Argonese" }, + { "arm", "hye", 1, "Armenian" }, + { "rup", "", 1, "Aromanian" }, + { "art", "", 1, "Artificial languages" }, + { "rup", "", 1, "Arumanian" }, + { "asm", "", 1, "Assamese" }, + { "ast", "", 1, "Asturian" }, + { "ast", "", 1, "Asturleonese" }, + { "ath", "", 1, "Athabaskan languages" }, + { "aus", "", 1, "Australian languages" }, + { "map", "", 1, "Austronesian languages" }, + { "ava", "", 1, "Avaric" }, + { "ave", "", 1, "Avestan" }, + { "awa", "", 1, "Awadhi" }, + { "aze", "", 1, "Azerbaijani" }, + { "ast", "", 1, "Bable" }, + { "ban", "", 1, "Balinese" }, + { "bat", "", 1, "Baltic languages" }, + { "bal", "", 1, "Baluchi" }, + { "bam", "", 1, "Bambara" }, + { "bai", "", 1, "Bamileke languages" }, + { "bad", "", 1, "Banda languages" }, + { "bnt", "", 1, "Bantu languages" }, + { "bas", "", 1, "Basa" }, + { "bak", "", 1, "Bashkir" }, + { "baq", "eus", 1, "Basque" }, + { "bej", "", 1, "Bedawiyet" }, + { "bej", "", 1, "Beja" }, + { "bel", "", 1, "Belarusian" }, + { "bem", "", 1, "Bemba" }, + { "ben", "", 1, "Bengali" }, + { "ber", "", 1, "Berber languages" }, + { "bho", "", 1, "Bhojpuri" }, + { "bih", "", 1, "Bihari languages" }, + { "bik", "", 1, "Bikol" }, + { "byn", "", 1, "Bilin" }, + { "bin", "", 1, "Bini" }, + { "bis", "", 1, "Bislama" }, + { "bla", "", 1, "Blackfoot" }, + { "byn", "", 1, "Blin" }, + { "zbl", "", 1, "Blissymbols" }, + { "bos", "", 1, "Bosnian" }, + { "bra", "", 1, "Braj" }, + { "btk", "", 1, "Bratak languages" }, + { "bre", "", 1, "Breton" }, + { "bug", "", 1, "Buginese" }, + { "bul", "", 1, "Bulgarian" }, + { "bua", "", 1, "Buriat" }, + { "bur", "mya", 1, "Burmese" }, + { "cad", "", 1, "Caddo" }, + { "spa", "", 0, "Castilian" }, + { "cat", "", 1, "Catalan" }, + { "cau", "", 1, "Caucasian languages" }, + { "ceb", "", 1, "Cebuano" }, + { "cel", "", 1, "Celtic languages" }, + { "cai", "", 1, "Central American Indian languages" }, + { "khm", "", 1, "Central Khmer" }, + { "chg", "", 1, "Chagatai" }, + { "cmc", "", 1, "Chamic languages" }, + { "cha", "", 1, "Chamorro" }, + { "che", "", 1, "Chechen" }, + { "chr", "", 1, "Cherokee" }, + { "nya", "", 1, "Chewa" }, + { "chy", "", 1, "Cheyenne" }, + { "chb", "", 1, "Chibcha" }, + { "nya", "", 1, "Chichewa" }, + { "chi", "zho", 1, "Chinese" }, + { "chn", "", 1, "Chinook Jargon" }, + { "chp", "", 1, "Chipewyan" }, + { "cho", "", 1, "Choctaw" }, + { "zha", "", 1, "Chuang" }, + { "chu", "", 1, "Church Slavic" }, + { "chu", "", 1, "Church Slavonic" }, + { "chk", "", 1, "Chuukese" }, + { "chv", "", 1, "Chuvash" }, + { "kbd", "", 1, "Circassian" }, + { "nwc", "", 1, "Classical Nepal Bhasa" }, + { "nwc", "", 1, "Classical Newari" }, + { "syc", "", 1, "Classical Syriac" }, + { "rar", "", 1, "Cook Islands Maori" }, + { "cop", "", 1, "Coptic" }, + { "cor", "", 1, "Cornish" }, + { "cos", "", 1, "Corsican" }, + { "cre", "", 1, "Cree" }, + { "mus", "", 1, "Creek" }, + { "crp", "", 1, "creoles and pidgins" }, + { "cpe", "", 1, "creoles and pidgins, English-based" }, + { "cpf", "", 1, "creoles and pidgins, French-based" }, + { "cpp", "", 1, "creoles and pidgins, Portuguese-based" }, + { "crh", "", 1, "Crimean Tartar" }, + { "crh", "", 1, "Crimean Turkish" }, + { "hrv", "", 1, "Croatian" }, + { "cus", "", 1, "Cushitic languages" }, + { "cze", "ces", 1, "Czech" }, + { "dak", "", 1, "Dakota" }, + { "dan", "", 1, "Danish" }, + { "dar", "", 1, "Dargwa" }, + { "del", "", 1, "Delaware" }, + { "chp", "", 1, "Dene Suline" }, + { "div", "", 1, "Dhivehi" }, + { "din", "", 1, "Dinka" }, + { "div", "", 1, "Divehi" }, + { "doi", "", 1, "Dogri" }, + { "dgr", "", 1, "Dogrib" }, + { "dra", "", 1, "Dravidian languages" }, + { "dua", "", 1, "Duala" }, + { "dut", "", 1, "Dutch" }, + { "dum", "", 1, "Dutch, Middle" }, + { "dyu", "", 1, "Dyula" }, + { "dzo", "", 1, "Dzongkha" }, + { "frs", "", 1, "Eastern Frisian" }, + { "bin", "", 1, "Edo" }, + { "efi", "", 1, "Efik" }, + { "egy", "", 1, "Egyptian (Ancient)" }, + { "eka", "", 1, "Ekajuk" }, + { "elx", "", 1, "Elamite" }, + { "eng", "", 1, "English" }, + { "enm", "", 0, "English, Middle" }, + { "ang", "", 0, "English, Old" }, + { "myv", "", 1, "Erzya" }, + { "epo", "", 1, "Esperanto" }, + { "est", "", 1, "Estonian" }, + { "ewe", "", 1, "Ewe" }, + { "ewo", "", 1, "Ewondo" }, + { "fan", "", 1, "Fang" }, + { "fat", "", 1, "Fanti" }, + { "fao", "", 1, "Faroese" }, + { "fij", "", 1, "Fijian" }, + { "fil", "", 1, "Filipino" }, + { "fin", "", 1, "Finnish" }, + { "fiu", "", 1, "Finno-Ugric languages" }, + { "dut", "", 1, "Flemish" }, + { "fon", "", 1, "Fon" }, + { "fre", "fra", 1, "French" }, + { "frm", "", 0, "French, Middle" }, + { "fro", "", 0, "French, Old" }, + { "frs", "", 1, "Frisian, Eastern" }, + { "frr", "", 1, "Frisian, Northern" }, + { "fry", "", 1, "Frisian, Western" }, + { "fur", "", 1, "Friulian" }, + { "ful", "", 1, "Fulah" }, + { "gaa", "", 1, "Ga" }, + { "gla", "", 1, "Gaelic" }, + { "car", "", 1, "Galibi Carib" }, + { "lug", "", 1, "Ganda" }, + { "gay", "", 1, "Gayo" }, + { "gba", "", 1, "Gbaya" }, + { "gez", "", 1, "Ge'ez" }, + { "geo", "kat", 1, "Georgian" }, + { "ger", "deu", 1, "German" }, + { "nds", "", 1, "German, Low" }, + { "gmh", "", 1, "German, Middle High" }, + { "goh", "", 1, "German, Old High" }, + { "gem", "", 1, "Germanic languages" }, + { "kik", "", 1, "Gikuyu" }, + { "gil", "", 1, "Gilbertese" }, + { "gon", "", 1, "Gondi" }, + { "gor", "", 1, "Gorontalo" }, + { "got", "", 1, "Gothic" }, + { "grb", "", 1, "Grebo" }, + { "grc", "", 1, "Greek, Ancient" }, + { "gre", "ell", 1, "Greek, Modern" }, + { "kal", "", 1, "Greenlandic" }, + { "grn", "", 1, "Guarani" }, + { "guj", "", 1, "Gujarati" }, + { "gwi", "", 1, "Gwich'in" }, + { "hai", "", 1, "Haida" }, + { "hat", "", 1, "Haitian" }, + { "hat", "", 1, "Haitian Creole" }, + { "hau", "", 1, "Hausa" }, + { "haw", "", 1, "Hawaiian" }, + { "heb", "", 1, "Hebrew" }, + { "hil", "", 1, "Hiligaynon" }, + { "him", "", 1, "Himachali languages" }, + { "hin", "", 1, "Hindi" }, + { "hmo", "", 1, "Hiri Motu" }, + { "hit", "", 1, "Hittite" }, + { "hmn", "", 1, "Hmong" }, + { "hun", "", 1, "Hungarian" }, + { "hup", "", 1, "Hupa" }, + { "iba", "", 1, "Iban" }, + { "ice", "isl", 1, "Icelandic" }, + { "ido", "", 1, "Ido" }, + { "ibo", "", 1, "Igbo" }, + { "ijo", "", 1, "Ijo languages" }, + { "ilo", "", 1, "Iloko" }, + { "arc", "", 1, "Imperial Aramaic" }, + { "smn", "", 1, "Inari Sami" }, + { "inc", "", 1, "Indic languages" }, + { "ine", "", 1, "Indo-European languages" }, + { "ind", "", 1, "Indonesian" }, + { "inh", "", 1, "Ingush" }, + { "ina", "", 1, "Interlingua" }, + { "ile", "", 1, "Interlingue, Occidental" }, + { "iku", "", 1, "Inuktitut" }, + { "ipk", "", 1, "Inupiaq" }, + { "ira", "", 1, "Iranian languages" }, + { "mga", "", 1, "Irish, Middle" }, + { "sga", "", 1, "Irish, Old" }, + { "iro", "", 1, "Iroquoian languages" }, + { "ita", "", 1, "Italian" }, + { "jpn", "", 1, "Japanese" }, + { "jav", "", 1, "Javanese" }, + { "kac", "", 1, "Jingpho" }, + { "jrb", "", 1, "Judaeo-Arabic" }, + { "jpr", "", 1, "Judaeo-Persian" }, + { "kab", "", 1, "Kabyle" }, + { "kac", "", 1, "Kachin" }, + { "kal", "", 1, "Kalaallisut" }, + { "xal", "", 1, "Kalmyk" }, + { "kam", "", 1, "Kamba" }, + { "kan", "", 1, "Kannada" }, + { "kau", "", 1, "Kanuri" }, + { "pam", "", 1, "Kapampangan" }, + { "kaa", "", 1, "Kara-Kalpak" }, + { "krc", "", 1, "Karachay-Balkar" }, + { "krl", "", 1, "Karelian" }, + { "kar", "", 1, "Karen languages" }, + { "kas", "", 1, "Kashmiri" }, + { "csb", "", 1, "Kashubian" }, + { "kaw", "", 1, "Kawi" }, + { "kaz", "", 1, "Kazakh" }, + { "kha", "", 1, "Khasi" }, + { "khi", "", 1, "Khoisan languages" }, + { "kho", "", 1, "Khotanese" }, + { "kik", "", 1, "Kikuyu" }, + { "kmb", "", 1, "Kimbundu" }, + { "kin", "", 1, "Kinyarwanda" }, + { "kir", "", 1, "Kirghiz" }, + { "gil", "", 1, "Kiribati" }, + { "tlh", "", 1, "Klingon" }, + { "kom", "", 1, "Komi" }, + { "kon", "", 1, "Kongo" }, + { "kok", "", 1, "Konkani" }, + { "kor", "", 1, "Korean" }, + { "kos", "", 1, "Kosraean" }, + { "kpe", "", 1, "Kpelle" }, + { "kro", "", 1, "Kru languages" }, + { "kua", "", 1, "Kuanyama" }, + { "kum", "", 1, "Kumyk" }, + { "kur", "", 1, "Kurdish" }, + { "kru", "", 1, "Kurukh" }, + { "kut", "", 1, "Kutenai" }, + { "kua", "", 1, "Kwanyama" }, + { "kir", "", 1, "Kyrgyz" }, + { "lad", "", 1, "Ladino" }, + { "lah", "", 1, "Lahnda" }, + { "lam", "", 1, "Lamba" }, + { "day", "", 1, "Land Dayak languages" }, + { "lao", "", 1, "Lao" }, + { "lat", "", 1, "Latin" }, + { "lav", "", 1, "Latvian" }, + { "ast", "", 1, "Leonese" }, + { "ltz", "", 1, "Letzeburgesch" }, + { "lez", "", 1, "Lezghian" }, + { "lim", "", 1, "Limburgan" }, + { "lim", "", 1, "Limburger" }, + { "lim", "", 1, "Limburgish" }, + { "lin", "", 1, "Lingala" }, + { "lit", "", 1, "Lithuanian" }, + { "jbo", "", 1, "Lojban" }, + { "nds", "", 1, "Low German" }, + { "nds", "", 1, "Low Saxon" }, + { "dsb", "", 1, "Lower Sorbian" }, + { "loz", "", 1, "Lozi" }, + { "lub", "", 1, "Luba-Katanga" }, + { "lua", "", 1, "Luba-Lulua" }, + { "lui", "", 1, "Luiseno" }, + { "smj", "", 1, "Lule Sami" }, + { "lun", "", 1, "Lunda" }, + { "luo", "", 1, "Luo" }, + { "luo", "", 1, "Luo (Kenya and Tanzania)" }, + { "lus", "", 1, "Lushai" }, + { "ltz", "", 1, "Luxembourgish" }, + { "mas", "", 1, "Maasai" }, + { "rup", "", 1, "Macedo-Romanian" }, + { "mac", "mkd", 1, "Macedonian" }, + { "mad", "", 1, "Madurese" }, + { "mag", "", 1, "Magahi" }, + { "mai", "", 1, "Maithili" }, + { "mak", "", 1, "Makasar" }, + { "mlg", "", 1, "Malagasy" }, + { "may", "msa", 1, "Malay" }, + { "mal", "", 1, "Malayalam" }, + { "div", "", 1, "Maldivian" }, + { "mlt", "", 1, "Maltese" }, + { "mnc", "", 1, "Manchu" }, + { "mdr", "", 1, "Mandar" }, + { "man", "", 1, "Mandingo" }, + { "mni", "", 1, "Manipuri" }, + { "mno", "", 1, "Manobo languages" }, + { "glv", "", 1, "Manx" }, + { "mao", "mri", 1, "Maori" }, + { "arn", "", 1, "Mapuche" }, + { "arn", "", 1, "Mapudungun" }, + { "mar", "", 1, "Marathi" }, + { "chm", "", 1, "Mari" }, + { "mah", "", 1, "Marshallese" }, + { "mwr", "", 1, "Marwari" }, + { "myn", "", 1, "Mayan languages" }, + { "men", "", 1, "Mende" }, + { "mic", "", 1, "Mi'kmaq" }, + { "mic", "", 1, "Micmac" }, + { "dum", "", 1, "Middle Dutch" }, + { "enm", "", 1, "Middle English" }, + { "frm", "", 1, "Middle French" }, + { "gmh", "", 1, "Middle High German" }, + { "mga", "", 1, "Middle Irish" }, + { "pal", "", 1, "Middle Persian" }, + { "min", "", 1, "Minangkabau" }, + { "mwl", "", 1, "Mirandese" }, + { "gre", "ell", 1, "Modern Greek" }, + { "moh", "", 1, "Mohawk" }, + { "mdf", "", 1, "Moksha" }, + { "mkh", "", 1, "Mon-Khmer languages" }, + { "lol", "", 1, "Mongo" }, + { "mon", "", 1, "Mongolian" }, + { "mos", "", 1, "Mossi" }, + { "mul", "", 1, "Multiple languages" }, + { "mun", "", 1, "Munda languages" }, + { "nqo", "", 1, "N'Ko" }, + { "nah", "", 1, "Nahuatl" }, + { "nau", "", 1, "Nauruan" }, + { "nav", "", 1, "Navaho" }, + { "nav", "", 1, "Navajo" }, + { "ndo", "", 1, "Ndonga" }, + { "nap", "", 1, "Neapolitan" }, + { "new", "", 1, "Nepal Bhasa" }, + { "nep", "", 1, "Nepali" }, + { "new", "", 1, "Newari" }, + { "nia", "", 1, "Nias" }, + { "nic", "", 1, "Niger-Congo languages" }, + { "ssa", "", 1, "Nilo-Saharan languages" }, + { "niu", "", 1, "Niuean" }, + { "nog", "", 1, "Nogai" }, + { "non", "", 0, "Norse, Old" }, + { "nai", "", 1, "North American Indian languages" }, + { "frr", "", 1, "Northern Frisian" }, + { "nde", "", 1, "Northern Ndebele" }, + { "sme", "", 1, "Northern Sami" }, + { "nso", "", 1, "Northern Sotho" }, + { "nob", "", 1, "Norwegian Bokmaal" }, + { "nno", "", 1, "Norwegian Nynorsk" }, + { "zxx", "", 1, "Not linguistic content; not applicable" }, + { "nub", "", 1, "Nubian languages" }, + { "iii", "", 1, "Nuosu" }, + { "nym", "", 1, "Nyamwezi" }, + { "nya", "", 1, "Nyanja" }, + { "nyn", "", 1, "Nyankole" }, + { "nyr", "", 1, "Nyoro" }, + { "nzi", "", 1, "Nzima" }, + { "oci", "", 1, "Occitan" }, + { "pro", "", 0, "Occitan, Old" }, + { "arc", "", 1, "Official Aramaic" }, + { "xal", "", 1, "Oirat" }, + { "oji", "", 1, "Ojibwa" }, + { "chu", "", 1, "Old Bulgarian" }, + { "chu", "", 1, "Old Church Slavonic" }, + { "ang", "", 1, "Old English" }, + { "fro", "", 1, "Old French" }, + { "goh", "", 1, "Old High German" }, + { "sga", "", 1, "Old Irish" }, + { "nwc", "", 1, "Old Newari" }, + { "non", "", 1, "Old Norse" }, + { "pro", "", 1, "Old Occitan" }, + { "peo", "", 1, "Old Persian" }, + { "pro", "", 1, "Old Provencal" }, + { "chu", "", 1, "Old Slavonic" }, + { "ori", "", 1, "Oriya" }, + { "orm", "", 1, "Oromo" }, + { "osa", "", 1, "Osage" }, + { "oss", "", 1, "Ossetian" }, + { "oss", "", 1, "Ossetic" }, + { "oto", "", 1, "Otomian languages" }, + { "ota", "", 1, "Ottoman Turkish" }, + { "pal", "", 1, "Pahlavi" }, + { "pau", "", 1, "Palauan" }, + { "pli", "", 1, "Pali" }, + { "pam", "", 1, "Pampanga" }, + { "pag", "", 1, "Pangasinan" }, + { "pan", "", 1, "Panjabi" }, + { "pap", "", 1, "Papiamento" }, + { "paa", "", 1, "Papuan languages" }, + { "pus", "", 1, "Pashto" }, + { "pus", "", 1, "Pashto language" }, + { "nso", "", 1, "Pedi" }, + { "per", "fas", 1, "Persian" }, + { "pal", "", 0, "Persian, Middle" }, + { "peo", "", 0, "Persian, Old" }, + { "phi", "", 1, "Philippine languages" }, + { "phn", "", 1, "Phoenician" }, + { "fil", "", 0, "Pilipino" }, + { "pon", "", 1, "Pohnpeian" }, + { "pol", "", 1, "Polish" }, + { "por", "", 1, "Portuguese" }, + { "pra", "", 1, "Prakit" }, + { "pro", "", 0, "Provencal, Old" }, + { "pan", "", 1, "Punjabi" }, + { "que", "", 1, "Quechua" }, + { "raj", "", 1, "Rajasthani" }, + { "rap", "", 1, "Rapanui" }, + { "rar", "", 1, "Rarotongan" }, + { "roa", "", 1, "Romance languages" }, + { "rum", "ron", 1, "Romanian" }, + { "roh", "", 1, "Romansh" }, + { "rom", "", 1, "Romany" }, + { "run", "", 1, "Rundi" }, + { "rus", "", 1, "Russian" }, + { "kho", "", 1, "Sakan" }, + { "sal", "", 1, "Salishan languages" }, + { "sam", "", 1, "Samaritan Aramaic" }, + { "smi", "", 1, "Sami languages" }, + { "smo", "", 1, "Samoan" }, + { "sad", "", 1, "Sandawe" }, + { "sag", "", 1, "Sango" }, + { "san", "", 1, "Sanskrit" }, + { "sat", "", 1, "Santali" }, + { "srd", "", 1, "Sardinian" }, + { "sas", "", 1, "Sasak" }, + { "nds", "", 1, "Saxon, Low" }, + { "sco", "", 1, "Scots" }, + { "gla", "", 1, "Scottish Gaelic" }, + { "sel", "", 1, "Selkup" }, + { "sem", "", 1, "Semitic languages" }, + { "nso", "", 1, "Sepedi" }, + { "srp", "", 1, "Serbian" }, + { "srr", "", 1, "Serer" }, + { "shn", "", 1, "Shan" }, + { "sna", "", 1, "Shona" }, + { "iii", "", 1, "Sichuan Yi" }, + { "scn", "", 1, "Sicilian" }, + { "sid", "", 1, "Sidamo" }, + { "sgn", "", 1, "Sign languages" }, + { "bla", "", 1, "Siksika" }, + { "snd", "", 1, "Sindhi" }, + { "sin", "", 1, "Sinhala" }, + { "sin", "", 1, "Sinhalese" }, + { "sit", "", 1, "Sino-Tibetan languages" }, + { "sio", "", 1, "Siouan languages" }, + { "sms", "", 1, "Skolt Sami" }, + { "den", "", 1, "Slave (Athapascan)" }, + { "sla", "", 1, "Slavic languages" }, + { "slo", "slk", 1, "Slovak" }, + { "slv", "", 1, "Slovenian" }, + { "sog", "", 1, "Sogdian" }, + { "som", "", 1, "Somali" }, + { "son", "", 1, "Songhay languages" }, + { "snk", "", 1, "Soninke" }, + { "wen", "", 1, "Sorbian languages" }, + { "dsb", "", 1, "Sorbian, Lower" }, + { "hsb", "", 1, "Sorbian, Upper" }, + { "sai", "", 1, "South American Indian languages" }, + { "alt", "", 1, "Southern Altai" }, + { "nbl", "", 1, "Southern Ndebele" }, + { "sma", "", 1, "Southern Sami" }, + { "sot", "", 1, "Southern Sotho" }, + { "spa", "", 1, "Spanish" }, + { "srn", "", 1, "Sranan Tongo" }, + { "zgh", "", 1, "Standard Moroccan Tamazight" }, + { "suk", "", 1, "Sukuma" }, + { "sux", "", 1, "Sumerian" }, + { "sun", "", 1, "Sundanese" }, + { "sus", "", 1, "Susu" }, + { "swa", "", 1, "Swahili" }, + { "ssw", "", 1, "Swati" }, + { "swe", "", 1, "Swedish" }, + { "gsw", "", 1, "Swiss German" }, + { "syr", "", 1, "Syriac" }, + { "tgl", "", 1, "Tagalog" }, + { "tah", "", 1, "Tahitian" }, + { "tai", "", 1, "Tai languages" }, + { "tgk", "", 1, "Tajik" }, + { "tmh", "", 1, "Tamashek" }, + { "tam", "", 1, "Tamil" }, + { "tat", "", 1, "Tatar" }, + { "tel", "", 1, "Telugu" }, + { "ter", "", 1, "Tereno" }, + { "tet", "", 1, "Tetum" }, + { "tha", "", 1, "Thai" }, + { "tib", "bod", 1, "Tibetan" }, + { "tig", "", 1, "Tigre" }, + { "tir", "", 1, "Tigrinya" }, + { "tem", "", 1, "Time" }, + { "tiv", "", 1, "Tiv" }, + { "tli", "", 1, "Tlingit" }, + { "tpi", "", 1, "Tok Pisin" }, + { "tkl", "", 1, "Tokelau" }, + { "tog", "", 1, "Tonga (Nyasa)" }, + { "ton", "", 1, "Tonga (Tonga Islands)" }, + { "tsi", "", 1, "Tsimshian" }, + { "tso", "", 1, "Tsonga" }, + { "tsn", "", 1, "Tswana" }, + { "tum", "", 1, "Tumbuka" }, + { "tup", "", 1, "Tupian languages" }, + { "tur", "", 1, "Turkish" }, + { "ota", "", 1, "Turkish, Ottoman" }, + { "tuk", "", 1, "Turkmen" }, + { "tvl", "", 1, "Tuvalu" }, + { "tyv", "", 1, "Tuvinian" }, + { "twi", "", 1, "Twi" }, + { "udm", "", 1, "Udmurt" }, + { "uga", "", 1, "Ugaritic" }, + { "uig", "", 1, "Uighur" }, + { "ukr", "", 1, "Ukranian" }, + { "umb", "", 1, "Umbundu" }, + { "mis", "", 1, "Uncoded languages" }, + { "und", "", 1, "Undetermined language" }, + { "hsb", "", 1, "Upper Sorbian" }, + { "urd", "", 1, "Urdu" }, + { "uig", "", 1, "Uyghur" }, + { "uzb", "", 1, "Uzbek" }, + { "vai", "", 1, "Vai" }, + { "cat", "", 1, "Valencian" }, + { "ven", "", 1, "Venda" }, + { "vie", "", 1, "Vietnamese" }, + { "vol", "", 1, "Volapuk" }, + { "vot", "", 1, "Voltic" }, + { "wak", "", 1, "Wakashan languages" }, + { "wln", "", 1, "Walloon" }, + { "war", "", 1, "Waray-Waray" }, + { "was", "", 1, "Washo" }, + { "wel", "cym", 1, "Welsh" }, + { "fry", "", 1, "Western Frisian" }, + { "wal", "", 1, "Wolaitta" }, + { "wal", "", 1, "Wolaytta" }, + { "wol", "", 1, "Wolof" }, + { "xho", "", 1, "Xhosa" }, + { "sah", "", 1, "Yakut" }, + { "yao", "", 1, "Yao" }, + { "yap", "", 1, "Yapese" }, + { "yid", "", 1, "Yidish" }, + { "yor", "", 1, "Yoruba" }, + { "ypk", "", 1, "Yupik languages" }, + { "znd", "", 1, "Zande languages" }, + { "zap", "", 1, "Zapotec" }, + { "zza", "", 1, "Zaza" }, + { "zza", "", 1, "Zazaki" }, + { "zen", "", 1, "Zenaga" }, + { "zha", "", 1, "Zhuang" }, + { "zul", "", 1, "Zulu" }, + { "zun", "", 1, "Zuni" }, +}; +static int niso639_2= sizeof( iso639_2 ) / sizeof( iso639_2[0] ); + +char * +iso639_2_from_code( char *code ) +{ + int i; + for ( i=0; i<niso639_2; ++i ) { + if ( !iso639_2[i].main ) continue; + if ( !strcasecmp( iso639_2[i].code1, code ) ) + return iso639_2[i].language; + if ( iso639_2[i].code2[0]!='\0' && !strcasecmp( iso639_2[i].code2, code ) ) + return iso639_2[i].language; + } + return NULL; +} + +char * +iso639_2_from_language( char *lang ) +{ + int i, n; + for ( i=0; i<niso639_2; ++i ) { + n = strcasecmp( iso639_2[i].language, lang ); + if ( n==0 ) return iso639_2[i].code1; + if ( n > 0 ) return NULL; + } + return NULL; +} + +#ifdef TEST + +#include <stdio.h> +#include <stdlib.h> + +static int +check_alphabetical( void ) +{ + char *l1, *l2; + int i, ret = 1; + l1 = iso639_2[0].language; + for ( i=0; i<niso639_2-1; ++i ) { + l2 = iso639_2[i+1].language; + if ( strcasecmp( l1, l2 ) >= 0 ) { + fprintf( stderr, "Swap '%s' and '%s'\n", l1, l2 ); + ret = 0; + } + l1 = l2; + } + return ret; +} + +int +main( int argc, char *argv[] ) +{ + int ok; + ok = check_alphabetical(); + if ( ok ) return EXIT_SUCCESS; + return EXIT_FAILURE; +} + +#endif |