rustybuzz/hb/
tag_table.rs

1// WARNING: this file was generated by ../scripts/gen-tag-table.py
2
3use ttf_parser::Tag;
4
5pub struct LangTag {
6    pub language: &'static str,
7    pub tag: Tag,
8}
9
10#[rustfmt::skip]
11pub const OPEN_TYPE_LANGUAGES: &[LangTag] = &[
12    LangTag { language: "aa", 	tag: Tag::from_bytes(b"AFR ") }, // Afar
13    LangTag { language: "aae", 	tag: Tag::from_bytes(b"SQI ") }, // Arbëreshë Albanian -> Albanian
14    LangTag { language: "aao", 	tag: Tag::from_bytes(b"ARA ") }, // Algerian Saharan Arabic -> Arabic
15//  LangTag { language: "aaq", 	tag: Tag::from_bytes(b"AAQ ") }, // Eastern Abnaki -> Eastern Abenaki
16    LangTag { language: "aat", 	tag: Tag::from_bytes(b"SQI ") }, // Arvanitika Albanian -> Albanian
17    LangTag { language: "ab", 	tag: Tag::from_bytes(b"ABK ") }, // Abkhazian
18    LangTag { language: "aba", 	tag: Tag(0)	            }, // Abé != Abaza
19    LangTag { language: "abh", 	tag: Tag::from_bytes(b"ARA ") }, // Tajiki Arabic -> Arabic
20    LangTag { language: "abq", 	tag: Tag::from_bytes(b"ABA ") }, // Abaza
21    LangTag { language: "abs", 	tag: Tag::from_bytes(b"CPP ") }, // Ambonese Malay -> Creoles
22    LangTag { language: "abv", 	tag: Tag::from_bytes(b"ARA ") }, // Baharna Arabic -> Arabic
23    LangTag { language: "acf", 	tag: Tag::from_bytes(b"FAN ") }, // Saint Lucian Creole French -> French Antillean
24    LangTag { language: "acf", 	tag: Tag::from_bytes(b"CPP ") }, // Saint Lucian Creole French -> Creoles
25//  LangTag { language: "ach", 	tag: Tag::from_bytes(b"ACH ") }, // Acoli -> Acholi
26    LangTag { language: "acm", 	tag: Tag::from_bytes(b"ARA ") }, // Mesopotamian Arabic -> Arabic
27    LangTag { language: "acq", 	tag: Tag::from_bytes(b"ARA ") }, // Ta'izzi-Adeni Arabic -> Arabic
28    LangTag { language: "acr", 	tag: Tag::from_bytes(b"ACR ") }, // Achi
29    LangTag { language: "acr", 	tag: Tag::from_bytes(b"MYN ") }, // Achi -> Mayan
30    LangTag { language: "acw", 	tag: Tag::from_bytes(b"ARA ") }, // Hijazi Arabic -> Arabic
31    LangTag { language: "acx", 	tag: Tag::from_bytes(b"ARA ") }, // Omani Arabic -> Arabic
32    LangTag { language: "acy", 	tag: Tag::from_bytes(b"ACY ") }, // Cypriot Arabic
33    LangTag { language: "acy", 	tag: Tag::from_bytes(b"ARA ") }, // Cypriot Arabic -> Arabic
34    LangTag { language: "ada", 	tag: Tag::from_bytes(b"DNG ") }, // Adangme -> Dangme
35    LangTag { language: "adf", 	tag: Tag::from_bytes(b"ARA ") }, // Dhofari Arabic -> Arabic
36    LangTag { language: "adp", 	tag: Tag::from_bytes(b"DZN ") }, // Adap(retired code) -> Dzongkha
37//  LangTag { language: "ady", 	tag: Tag::from_bytes(b"ADY ") }, // Adyghe
38    LangTag { language: "aeb", 	tag: Tag::from_bytes(b"ARA ") }, // Tunisian Arabic -> Arabic
39    LangTag { language: "aec", 	tag: Tag::from_bytes(b"ARA ") }, // Saidi Arabic -> Arabic
40    LangTag { language: "af", 	tag: Tag::from_bytes(b"AFK ") }, // Afrikaans
41    LangTag { language: "afb", 	tag: Tag::from_bytes(b"ARA ") }, // Gulf Arabic -> Arabic
42    LangTag { language: "afk", 	tag: Tag(0)	            }, // Nanubae != Afrikaans
43    LangTag { language: "afs", 	tag: Tag::from_bytes(b"CPP ") }, // Afro-Seminole Creole -> Creoles
44    LangTag { language: "agu", 	tag: Tag::from_bytes(b"MYN ") }, // Aguacateco -> Mayan
45    LangTag { language: "agw", 	tag: Tag(0)	            }, // Kahua != Agaw
46    LangTag { language: "ahg", 	tag: Tag::from_bytes(b"AGW ") }, // Qimant -> Agaw
47    LangTag { language: "aht", 	tag: Tag::from_bytes(b"ATH ") }, // Ahtena -> Athapaskan
48    LangTag { language: "aig", 	tag: Tag::from_bytes(b"CPP ") }, // Antigua and Barbuda Creole English -> Creoles
49    LangTag { language: "aii", 	tag: Tag::from_bytes(b"SWA ") }, // Assyrian Neo-Aramaic -> Swadaya Aramaic
50    LangTag { language: "aii", 	tag: Tag::from_bytes(b"SYR ") }, // Assyrian Neo-Aramaic -> Syriac
51//  LangTag { language: "aio", 	tag: Tag::from_bytes(b"AIO ") }, // Aiton
52    LangTag { language: "aiw", 	tag: Tag::from_bytes(b"ARI ") }, // Aari
53    LangTag { language: "ajp", 	tag: Tag::from_bytes(b"ARA ") }, // South Levantine Arabic(retired code) -> Arabic
54    LangTag { language: "ajt", 	tag: Tag::from_bytes(b"ARA ") }, // Judeo-Tunisian Arabic(retired code) -> Arabic
55    LangTag { language: "ak", 	tag: Tag::from_bytes(b"AKA ") }, // Akan [macrolanguage]
56    LangTag { language: "akb", 	tag: Tag::from_bytes(b"AKB ") }, // Batak Angkola
57    LangTag { language: "akb", 	tag: Tag::from_bytes(b"BTK ") }, // Batak Angkola -> Batak
58    LangTag { language: "aln", 	tag: Tag::from_bytes(b"SQI ") }, // Gheg Albanian -> Albanian
59    LangTag { language: "als", 	tag: Tag::from_bytes(b"SQI ") }, // Tosk Albanian -> Albanian
60//  LangTag { language: "alt", 	tag: Tag::from_bytes(b"ALT ") }, // Southern Altai -> Altai
61    LangTag { language: "am", 	tag: Tag::from_bytes(b"AMH ") }, // Amharic
62    LangTag { language: "amf", 	tag: Tag::from_bytes(b"HBN ") }, // Hamer-Banna -> Hammer-Banna
63    LangTag { language: "amw", 	tag: Tag::from_bytes(b"SYR ") }, // Western Neo-Aramaic -> Syriac
64    LangTag { language: "an", 	tag: Tag::from_bytes(b"ARG ") }, // Aragonese
65//  LangTag { language: "ang", 	tag: Tag::from_bytes(b"ANG ") }, // Old English (ca. 450-1100) -> Anglo-Saxon
66    LangTag { language: "aoa", 	tag: Tag::from_bytes(b"CPP ") }, // Angolar -> Creoles
67    LangTag { language: "apa", 	tag: Tag::from_bytes(b"ATH ") }, // Apache  [collection] -> Athapaskan
68    LangTag { language: "apc", 	tag: Tag::from_bytes(b"ARA ") }, // Levantine Arabic -> Arabic
69    LangTag { language: "apd", 	tag: Tag::from_bytes(b"ARA ") }, // Sudanese Arabic -> Arabic
70    LangTag { language: "apj", 	tag: Tag::from_bytes(b"ATH ") }, // Jicarilla Apache -> Athapaskan
71    LangTag { language: "apk", 	tag: Tag::from_bytes(b"ATH ") }, // Kiowa Apache -> Athapaskan
72    LangTag { language: "apl", 	tag: Tag::from_bytes(b"ATH ") }, // Lipan Apache -> Athapaskan
73    LangTag { language: "apm", 	tag: Tag::from_bytes(b"ATH ") }, // Mescalero-Chiricahua Apache -> Athapaskan
74    LangTag { language: "apw", 	tag: Tag::from_bytes(b"ATH ") }, // Western Apache -> Athapaskan
75    LangTag { language: "ar", 	tag: Tag::from_bytes(b"ARA ") }, // Arabic [macrolanguage]
76    LangTag { language: "arb", 	tag: Tag::from_bytes(b"ARA ") }, // Standard Arabic -> Arabic
77    LangTag { language: "ari", 	tag: Tag(0)	            }, // Arikara != Aari
78    LangTag { language: "ark", 	tag: Tag(0)	            }, // Arikapú != Rakhine
79    LangTag { language: "arn", 	tag: Tag::from_bytes(b"MAP ") }, // Mapudungun
80    LangTag { language: "arq", 	tag: Tag::from_bytes(b"ARA ") }, // Algerian Arabic -> Arabic
81    LangTag { language: "ars", 	tag: Tag::from_bytes(b"ARA ") }, // Najdi Arabic -> Arabic
82    LangTag { language: "ary", 	tag: Tag::from_bytes(b"MOR ") }, // Moroccan Arabic -> Moroccan
83    LangTag { language: "ary", 	tag: Tag::from_bytes(b"ARA ") }, // Moroccan Arabic -> Arabic
84    LangTag { language: "arz", 	tag: Tag::from_bytes(b"ARA ") }, // Egyptian Arabic -> Arabic
85    LangTag { language: "as", 	tag: Tag::from_bytes(b"ASM ") }, // Assamese
86//  LangTag { language: "ast", 	tag: Tag::from_bytes(b"AST ") }, // Asturian
87//  LangTag { language: "ath", 	tag: Tag::from_bytes(b"ATH ") }, // Athapascan  [collection] -> Athapaskan
88    LangTag { language: "atj", 	tag: Tag::from_bytes(b"RCR ") }, // Atikamekw -> R-Cree
89//  LangTag { language: "ats", 	tag: Tag::from_bytes(b"ATS ") }, // Gros Ventre (Atsina)
90    LangTag { language: "atv", 	tag: Tag::from_bytes(b"ALT ") }, // Northern Altai -> Altai
91    LangTag { language: "auj", 	tag: Tag::from_bytes(b"BBR ") }, // Awjilah -> Berber
92    LangTag { language: "auz", 	tag: Tag::from_bytes(b"ARA ") }, // Uzbeki Arabic -> Arabic
93    LangTag { language: "av", 	tag: Tag::from_bytes(b"AVR ") }, // Avaric -> Avar
94    LangTag { language: "avl", 	tag: Tag::from_bytes(b"ARA ") }, // Eastern Egyptian Bedawi Arabic -> Arabic
95//  LangTag { language: "avn", 	tag: Tag::from_bytes(b"AVN ") }, // Avatime
96//  LangTag { language: "awa", 	tag: Tag::from_bytes(b"AWA ") }, // Awadhi
97    LangTag { language: "ay", 	tag: Tag::from_bytes(b"AYM ") }, // Aymara [macrolanguage]
98    LangTag { language: "ayc", 	tag: Tag::from_bytes(b"AYM ") }, // Southern Aymara -> Aymara
99    LangTag { language: "ayh", 	tag: Tag::from_bytes(b"ARA ") }, // Hadrami Arabic -> Arabic
100    LangTag { language: "ayl", 	tag: Tag::from_bytes(b"ARA ") }, // Libyan Arabic -> Arabic
101    LangTag { language: "ayn", 	tag: Tag::from_bytes(b"ARA ") }, // Sanaani Arabic -> Arabic
102    LangTag { language: "ayp", 	tag: Tag::from_bytes(b"ARA ") }, // North Mesopotamian Arabic -> Arabic
103    LangTag { language: "ayr", 	tag: Tag::from_bytes(b"AYM ") }, // Central Aymara -> Aymara
104    LangTag { language: "az", 	tag: Tag::from_bytes(b"AZE ") }, // Azerbaijani [macrolanguage]
105    LangTag { language: "azb", 	tag: Tag::from_bytes(b"AZB ") }, // South Azerbaijani -> Torki
106    LangTag { language: "azb", 	tag: Tag::from_bytes(b"AZE ") }, // South Azerbaijani -> Azerbaijani
107    LangTag { language: "azd", 	tag: Tag::from_bytes(b"NAH ") }, // Eastern Durango Nahuatl -> Nahuatl
108    LangTag { language: "azj", 	tag: Tag::from_bytes(b"AZE ") }, // North Azerbaijani -> Azerbaijani
109    LangTag { language: "azn", 	tag: Tag::from_bytes(b"NAH ") }, // Western Durango Nahuatl -> Nahuatl
110    LangTag { language: "azz", 	tag: Tag::from_bytes(b"NAH ") }, // Highland Puebla Nahuatl -> Nahuatl
111    LangTag { language: "ba", 	tag: Tag::from_bytes(b"BSH ") }, // Bashkir
112    LangTag { language: "bad", 	tag: Tag::from_bytes(b"BAD0") }, // Banda  [collection]
113    LangTag { language: "bag", 	tag: Tag(0)	            }, // Tuki != Baghelkhandi
114    LangTag { language: "bah", 	tag: Tag::from_bytes(b"CPP ") }, // Bahamas Creole English -> Creoles
115    LangTag { language: "bai", 	tag: Tag::from_bytes(b"BML ") }, // Bamileke  [collection]
116    LangTag { language: "bal", 	tag: Tag::from_bytes(b"BLI ") }, // Baluchi [macrolanguage]
117//  LangTag { language: "ban", 	tag: Tag::from_bytes(b"BAN ") }, // Balinese
118//  LangTag { language: "bar", 	tag: Tag::from_bytes(b"BAR ") }, // Bavarian
119    LangTag { language: "bau", 	tag: Tag(0)	            }, // Bada (Nigeria) != Baulé
120    LangTag { language: "bbc", 	tag: Tag::from_bytes(b"BBC ") }, // Batak Toba
121    LangTag { language: "bbc", 	tag: Tag::from_bytes(b"BTK ") }, // Batak Toba -> Batak
122    LangTag { language: "bbj", 	tag: Tag::from_bytes(b"BML ") }, // Ghomálá' -> Bamileke
123    LangTag { language: "bbp", 	tag: Tag::from_bytes(b"BAD0") }, // West Central Banda -> Banda
124    LangTag { language: "bbr", 	tag: Tag(0)	            }, // Girawa != Berber
125    LangTag { language: "bbz", 	tag: Tag::from_bytes(b"ARA ") }, // Babalia Creole Arabic(retired code) -> Arabic
126    LangTag { language: "bcc", 	tag: Tag::from_bytes(b"BLI ") }, // Southern Balochi -> Baluchi
127    LangTag { language: "bch", 	tag: Tag(0)	            }, // Bariai != Bench
128    LangTag { language: "bci", 	tag: Tag::from_bytes(b"BAU ") }, // Baoulé -> Baulé
129    LangTag { language: "bcl", 	tag: Tag::from_bytes(b"BIK ") }, // Central Bikol -> Bikol
130    LangTag { language: "bcq", 	tag: Tag::from_bytes(b"BCH ") }, // Bench
131    LangTag { language: "bcr", 	tag: Tag::from_bytes(b"ATH ") }, // Babine -> Athapaskan
132//  LangTag { language: "bdc", 	tag: Tag::from_bytes(b"BDC ") }, // Emberá-Baudó
133//  LangTag { language: "bdy", 	tag: Tag::from_bytes(b"BDY ") }, // Bandjalang
134    LangTag { language: "be", 	tag: Tag::from_bytes(b"BEL ") }, // Belarusian
135    LangTag { language: "bea", 	tag: Tag::from_bytes(b"ATH ") }, // Beaver -> Athapaskan
136    LangTag { language: "beb", 	tag: Tag::from_bytes(b"BTI ") }, // Bebele -> Beti
137//  LangTag { language: "bem", 	tag: Tag::from_bytes(b"BEM ") }, // Bemba (Zambia)
138    LangTag { language: "ber", 	tag: Tag::from_bytes(b"BBR ") }, // Berber  [collection]
139    LangTag { language: "bew", 	tag: Tag::from_bytes(b"CPP ") }, // Betawi -> Creoles
140    LangTag { language: "bfl", 	tag: Tag::from_bytes(b"BAD0") }, // Banda-Ndélé -> Banda
141    LangTag { language: "bfq", 	tag: Tag::from_bytes(b"BAD ") }, // Badaga
142    LangTag { language: "bft", 	tag: Tag::from_bytes(b"BLT ") }, // Balti
143    LangTag { language: "bfu", 	tag: Tag::from_bytes(b"LAH ") }, // Gahri -> Lahuli
144    LangTag { language: "bfy", 	tag: Tag::from_bytes(b"BAG ") }, // Bagheli -> Baghelkhandi
145    LangTag { language: "bg", 	tag: Tag::from_bytes(b"BGR ") }, // Bulgarian
146//  LangTag { language: "bgc", 	tag: Tag::from_bytes(b"BGC ") }, // Haryanvi
147    LangTag { language: "bgn", 	tag: Tag::from_bytes(b"BLI ") }, // Western Balochi -> Baluchi
148    LangTag { language: "bgp", 	tag: Tag::from_bytes(b"BLI ") }, // Eastern Balochi -> Baluchi
149    LangTag { language: "bgq", 	tag: Tag::from_bytes(b"BGQ ") }, // Bagri
150    LangTag { language: "bgq", 	tag: Tag::from_bytes(b"RAJ ") }, // Bagri -> Rajasthani
151    LangTag { language: "bgr", 	tag: Tag::from_bytes(b"QIN ") }, // Bawm Chin -> Chin
152    LangTag { language: "bhb", 	tag: Tag::from_bytes(b"BHI ") }, // Bhili
153//  LangTag { language: "bhi", 	tag: Tag::from_bytes(b"BHI ") }, // Bhilali -> Bhili
154    LangTag { language: "bhk", 	tag: Tag::from_bytes(b"BIK ") }, // Albay Bicolano(retired code) -> Bikol
155//  LangTag { language: "bho", 	tag: Tag::from_bytes(b"BHO ") }, // Bhojpuri
156    LangTag { language: "bhr", 	tag: Tag::from_bytes(b"MLG ") }, // Bara Malagasy -> Malagasy
157    LangTag { language: "bi", 	tag: Tag::from_bytes(b"BIS ") }, // Bislama
158    LangTag { language: "bi", 	tag: Tag::from_bytes(b"CPP ") }, // Bislama -> Creoles
159//  LangTag { language: "bik", 	tag: Tag::from_bytes(b"BIK ") }, // Bikol [macrolanguage]
160    LangTag { language: "bil", 	tag: Tag(0)	            }, // Bile != Bilen
161    LangTag { language: "bin", 	tag: Tag::from_bytes(b"EDO ") }, // Edo
162    LangTag { language: "biu", 	tag: Tag::from_bytes(b"QIN ") }, // Biete -> Chin
163//  LangTag { language: "bjj", 	tag: Tag::from_bytes(b"BJJ ") }, // Kanauji
164    LangTag { language: "bjn", 	tag: Tag::from_bytes(b"MLY ") }, // Banjar -> Malay
165    LangTag { language: "bjo", 	tag: Tag::from_bytes(b"BAD0") }, // Mid-Southern Banda -> Banda
166    LangTag { language: "bjq", 	tag: Tag::from_bytes(b"MLG ") }, // Southern Betsimisaraka Malagasy(retired code) -> Malagasy
167    LangTag { language: "bjs", 	tag: Tag::from_bytes(b"CPP ") }, // Bajan -> Creoles
168    LangTag { language: "bjt", 	tag: Tag::from_bytes(b"BLN ") }, // Balanta-Ganja -> Balante
169    LangTag { language: "bkf", 	tag: Tag(0)	            }, // Beeke != Blackfoot
170    LangTag { language: "bko", 	tag: Tag::from_bytes(b"BML ") }, // Kwa' -> Bamileke
171    LangTag { language: "bla", 	tag: Tag::from_bytes(b"BKF ") }, // Siksika -> Blackfoot
172    LangTag { language: "ble", 	tag: Tag::from_bytes(b"BLN ") }, // Balanta-Kentohe -> Balante
173    LangTag { language: "blg", 	tag: Tag::from_bytes(b"IBA ") }, // Balau(retired code) -> Iban
174    LangTag { language: "bli", 	tag: Tag(0)	            }, // Bolia != Baluchi
175    LangTag { language: "blk", 	tag: Tag::from_bytes(b"BLK ") }, // Pa’o Karen
176    LangTag { language: "blk", 	tag: Tag::from_bytes(b"KRN ") }, // Pa'o Karen -> Karen
177    LangTag { language: "bln", 	tag: Tag::from_bytes(b"BIK ") }, // Southern Catanduanes Bikol -> Bikol
178    LangTag { language: "blt", 	tag: Tag(0)	            }, // Tai Dam != Balti
179    LangTag { language: "bm", 	tag: Tag::from_bytes(b"BMB ") }, // Bambara (Bamanankan)
180    LangTag { language: "bmb", 	tag: Tag(0)	            }, // Bembe != Bambara (Bamanankan)
181    LangTag { language: "bml", 	tag: Tag(0)	            }, // Bomboli != Bamileke
182    LangTag { language: "bmm", 	tag: Tag::from_bytes(b"MLG ") }, // Northern Betsimisaraka Malagasy -> Malagasy
183    LangTag { language: "bn", 	tag: Tag::from_bytes(b"BEN ") }, // Bangla
184    LangTag { language: "bo", 	tag: Tag::from_bytes(b"TIB ") }, // Tibetan
185    LangTag { language: "bpd", 	tag: Tag::from_bytes(b"BAD0") }, // Banda-Banda -> Banda
186    LangTag { language: "bpl", 	tag: Tag::from_bytes(b"CPP ") }, // Broome Pearling Lugger Pidgin -> Creoles
187    LangTag { language: "bpq", 	tag: Tag::from_bytes(b"CPP ") }, // Banda Malay -> Creoles
188//  LangTag { language: "bpy", 	tag: Tag::from_bytes(b"BPY ") }, // Bishnupriya -> Bishnupriya Manipuri
189    LangTag { language: "bqi", 	tag: Tag::from_bytes(b"LRC ") }, // Bakhtiari -> Luri
190    LangTag { language: "bqk", 	tag: Tag::from_bytes(b"BAD0") }, // Banda-Mbrès -> Banda
191    LangTag { language: "br", 	tag: Tag::from_bytes(b"BRE ") }, // Breton
192    LangTag { language: "bra", 	tag: Tag::from_bytes(b"BRI ") }, // Braj -> Braj Bhasha
193    LangTag { language: "brc", 	tag: Tag::from_bytes(b"CPP ") }, // Berbice Creole Dutch -> Creoles
194//  LangTag { language: "brh", 	tag: Tag::from_bytes(b"BRH ") }, // Brahui
195    LangTag { language: "bri", 	tag: Tag(0)	            }, // Mokpwe != Braj Bhasha
196    LangTag { language: "brm", 	tag: Tag(0)	            }, // Barambu != Burmese
197//  LangTag { language: "brx", 	tag: Tag::from_bytes(b"BRX ") }, // Bodo (India)
198    LangTag { language: "bs", 	tag: Tag::from_bytes(b"BOS ") }, // Bosnian
199    LangTag { language: "bsh", 	tag: Tag(0)	            }, // Kati != Bashkir
200//  LangTag { language: "bsk", 	tag: Tag::from_bytes(b"BSK ") }, // Burushaski
201    LangTag { language: "btb", 	tag: Tag::from_bytes(b"BTI ") }, // Beti (Cameroon)(retired code)
202    LangTag { language: "btd", 	tag: Tag::from_bytes(b"BTD ") }, // Batak Dairi (Pakpak)
203    LangTag { language: "btd", 	tag: Tag::from_bytes(b"BTK ") }, // Batak Dairi -> Batak
204    LangTag { language: "bti", 	tag: Tag(0)	            }, // Burate != Beti
205    LangTag { language: "btj", 	tag: Tag::from_bytes(b"MLY ") }, // Bacanese Malay -> Malay
206//  LangTag { language: "btk", 	tag: Tag::from_bytes(b"BTK ") }, // Batak  [collection]
207    LangTag { language: "btm", 	tag: Tag::from_bytes(b"BTM ") }, // Batak Mandailing
208    LangTag { language: "btm", 	tag: Tag::from_bytes(b"BTK ") }, // Batak Mandailing -> Batak
209    LangTag { language: "bto", 	tag: Tag::from_bytes(b"BIK ") }, // Rinconada Bikol -> Bikol
210    LangTag { language: "bts", 	tag: Tag::from_bytes(b"BTS ") }, // Batak Simalungun
211    LangTag { language: "bts", 	tag: Tag::from_bytes(b"BTK ") }, // Batak Simalungun -> Batak
212    LangTag { language: "btx", 	tag: Tag::from_bytes(b"BTX ") }, // Batak Karo
213    LangTag { language: "btx", 	tag: Tag::from_bytes(b"BTK ") }, // Batak Karo -> Batak
214    LangTag { language: "btz", 	tag: Tag::from_bytes(b"BTZ ") }, // Batak Alas-Kluet
215    LangTag { language: "btz", 	tag: Tag::from_bytes(b"BTK ") }, // Batak Alas-Kluet -> Batak
216//  LangTag { language: "bug", 	tag: Tag::from_bytes(b"BUG ") }, // Buginese -> Bugis
217    LangTag { language: "bum", 	tag: Tag::from_bytes(b"BTI ") }, // Bulu (Cameroon) -> Beti
218    LangTag { language: "bve", 	tag: Tag::from_bytes(b"MLY ") }, // Berau Malay -> Malay
219    LangTag { language: "bvu", 	tag: Tag::from_bytes(b"MLY ") }, // Bukit Malay -> Malay
220    LangTag { language: "bwe", 	tag: Tag::from_bytes(b"KRN ") }, // Bwe Karen -> Karen
221    LangTag { language: "bxk", 	tag: Tag::from_bytes(b"LUH ") }, // Bukusu -> Luyia
222    LangTag { language: "bxo", 	tag: Tag::from_bytes(b"CPP ") }, // Barikanchi -> Creoles
223    LangTag { language: "bxp", 	tag: Tag::from_bytes(b"BTI ") }, // Bebil -> Beti
224    LangTag { language: "bxr", 	tag: Tag::from_bytes(b"RBU ") }, // Russia Buriat -> Russian Buriat
225    LangTag { language: "byn", 	tag: Tag::from_bytes(b"BIL ") }, // Bilin -> Bilen
226    LangTag { language: "byv", 	tag: Tag::from_bytes(b"BYV ") }, // Medumba
227    LangTag { language: "byv", 	tag: Tag::from_bytes(b"BML ") }, // Medumba -> Bamileke
228    LangTag { language: "bzc", 	tag: Tag::from_bytes(b"MLG ") }, // Southern Betsimisaraka Malagasy -> Malagasy
229    LangTag { language: "bzj", 	tag: Tag::from_bytes(b"CPP ") }, // Belize Kriol English -> Creoles
230    LangTag { language: "bzk", 	tag: Tag::from_bytes(b"CPP ") }, // Nicaragua Creole English -> Creoles
231    LangTag { language: "ca", 	tag: Tag::from_bytes(b"CAT ") }, // Catalan
232    LangTag { language: "caa", 	tag: Tag::from_bytes(b"MYN ") }, // Chortí -> Mayan
233    LangTag { language: "cac", 	tag: Tag::from_bytes(b"MYN ") }, // Chuj -> Mayan
234    LangTag { language: "caf", 	tag: Tag::from_bytes(b"CRR ") }, // Southern Carrier -> Carrier
235    LangTag { language: "caf", 	tag: Tag::from_bytes(b"ATH ") }, // Southern Carrier -> Athapaskan
236    LangTag { language: "cak", 	tag: Tag::from_bytes(b"CAK ") }, // Kaqchikel
237    LangTag { language: "cak", 	tag: Tag::from_bytes(b"MYN ") }, // Kaqchikel -> Mayan
238//  LangTag { language: "cay", 	tag: Tag::from_bytes(b"CAY ") }, // Cayuga
239//  LangTag { language: "cbg", 	tag: Tag::from_bytes(b"CBG ") }, // Chimila
240    LangTag { language: "cbk", 	tag: Tag::from_bytes(b"CBK ") }, // Chavacano -> Zamboanga Chavacano
241    LangTag { language: "cbk", 	tag: Tag::from_bytes(b"CPP ") }, // Chavacano -> Creoles
242    LangTag { language: "cbl", 	tag: Tag::from_bytes(b"QIN ") }, // Bualkhaw Chin -> Chin
243    LangTag { language: "ccl", 	tag: Tag::from_bytes(b"CPP ") }, // Cutchi-Swahili -> Creoles
244    LangTag { language: "ccm", 	tag: Tag::from_bytes(b"CPP ") }, // Malaccan Creole Malay -> Creoles
245    LangTag { language: "cco", 	tag: Tag::from_bytes(b"CCHN") }, // Comaltepec Chinantec -> Chinantec
246    LangTag { language: "ccq", 	tag: Tag::from_bytes(b"ARK ") }, // Chaungtha(retired code) -> Rakhine
247    LangTag { language: "cdo", 	tag: Tag::from_bytes(b"ZHS ") }, // Min Dong Chinese -> Chinese, Simplified
248    LangTag { language: "ce", 	tag: Tag::from_bytes(b"CHE ") }, // Chechen
249//  LangTag { language: "ceb", 	tag: Tag::from_bytes(b"CEB ") }, // Cebuano
250    LangTag { language: "cek", 	tag: Tag::from_bytes(b"QIN ") }, // Eastern Khumi Chin -> Chin
251    LangTag { language: "cey", 	tag: Tag::from_bytes(b"QIN ") }, // Ekai Chin -> Chin
252    LangTag { language: "cfm", 	tag: Tag::from_bytes(b"HAL ") }, // Halam (Falam Chin)
253    LangTag { language: "cfm", 	tag: Tag::from_bytes(b"QIN ") }, // Falam Chin -> Chin
254//  LangTag { language: "cgg", 	tag: Tag::from_bytes(b"CGG ") }, // Chiga
255    LangTag { language: "ch", 	tag: Tag::from_bytes(b"CHA ") }, // Chamorro
256    LangTag { language: "chf", 	tag: Tag::from_bytes(b"MYN ") }, // Tabasco Chontal -> Mayan
257    LangTag { language: "chg", 	tag: Tag(0)	            }, // Chagatai != Chaha Gurage
258    LangTag { language: "chh", 	tag: Tag(0)	            }, // Chinook != Chattisgarhi
259    LangTag { language: "chj", 	tag: Tag::from_bytes(b"CCHN") }, // Ojitlán Chinantec -> Chinantec
260    LangTag { language: "chk", 	tag: Tag::from_bytes(b"CHK0") }, // Chuukese
261    LangTag { language: "chm", 	tag: Tag::from_bytes(b"HMA ") }, // Mari (Russia) [macrolanguage] -> High Mari
262    LangTag { language: "chm", 	tag: Tag::from_bytes(b"LMA ") }, // Mari (Russia) [macrolanguage] -> Low Mari
263    LangTag { language: "chn", 	tag: Tag::from_bytes(b"CPP ") }, // Chinook jargon -> Creoles
264//  LangTag { language: "cho", 	tag: Tag::from_bytes(b"CHO ") }, // Choctaw
265    LangTag { language: "chp", 	tag: Tag::from_bytes(b"CHP ") }, // Chipewyan
266    LangTag { language: "chp", 	tag: Tag::from_bytes(b"SAY ") }, // Chipewyan -> Sayisi
267    LangTag { language: "chp", 	tag: Tag::from_bytes(b"ATH ") }, // Chipewyan -> Athapaskan
268    LangTag { language: "chq", 	tag: Tag::from_bytes(b"CCHN") }, // Quiotepec Chinantec -> Chinantec
269//  LangTag { language: "chr", 	tag: Tag::from_bytes(b"CHR ") }, // Cherokee
270//  LangTag { language: "chy", 	tag: Tag::from_bytes(b"CHY ") }, // Cheyenne
271    LangTag { language: "chz", 	tag: Tag::from_bytes(b"CCHN") }, // Ozumacín Chinantec -> Chinantec
272    LangTag { language: "ciw", 	tag: Tag::from_bytes(b"OJB ") }, // Chippewa -> Ojibway
273//  LangTag { language: "cja", 	tag: Tag::from_bytes(b"CJA ") }, // Western Cham
274//  LangTag { language: "cjm", 	tag: Tag::from_bytes(b"CJM ") }, // Eastern Cham
275    LangTag { language: "cjy", 	tag: Tag::from_bytes(b"ZHS ") }, // Jinyu Chinese -> Chinese, Simplified
276    LangTag { language: "cka", 	tag: Tag::from_bytes(b"QIN ") }, // Khumi Awa Chin(retired code) -> Chin
277    LangTag { language: "ckb", 	tag: Tag::from_bytes(b"KUR ") }, // Central Kurdish -> Kurdish
278    LangTag { language: "ckn", 	tag: Tag::from_bytes(b"QIN ") }, // Kaang Chin -> Chin
279    LangTag { language: "cks", 	tag: Tag::from_bytes(b"CPP ") }, // Tayo -> Creoles
280    LangTag { language: "ckt", 	tag: Tag::from_bytes(b"CHK ") }, // Chukot -> Chukchi
281    LangTag { language: "ckz", 	tag: Tag::from_bytes(b"MYN ") }, // Cakchiquel-Quiché Mixed Language -> Mayan
282    LangTag { language: "clc", 	tag: Tag::from_bytes(b"ATH ") }, // Chilcotin -> Athapaskan
283    LangTag { language: "cld", 	tag: Tag::from_bytes(b"SYR ") }, // Chaldean Neo-Aramaic -> Syriac
284    LangTag { language: "cle", 	tag: Tag::from_bytes(b"CCHN") }, // Lealao Chinantec -> Chinantec
285    LangTag { language: "clj", 	tag: Tag::from_bytes(b"QIN ") }, // Laitu Chin -> Chin
286    LangTag { language: "cls", 	tag: Tag::from_bytes(b"SAN ") }, // Classical Sanskrit -> Sanskrit
287    LangTag { language: "clt", 	tag: Tag::from_bytes(b"QIN ") }, // Lautu Chin -> Chin
288//  LangTag { language: "cmi", 	tag: Tag::from_bytes(b"CMI ") }, // Emberá-Chamí
289    LangTag { language: "cmn", 	tag: Tag::from_bytes(b"ZHS ") }, // Mandarin Chinese -> Chinese, Simplified
290    LangTag { language: "cmr", 	tag: Tag::from_bytes(b"QIN ") }, // Mro-Khimi Chin -> Chin
291    LangTag { language: "cnb", 	tag: Tag::from_bytes(b"QIN ") }, // Chinbon Chin -> Chin
292    LangTag { language: "cnh", 	tag: Tag::from_bytes(b"QIN ") }, // Hakha Chin -> Chin
293    LangTag { language: "cnk", 	tag: Tag::from_bytes(b"QIN ") }, // Khumi Chin -> Chin
294    LangTag { language: "cnl", 	tag: Tag::from_bytes(b"CCHN") }, // Lalana Chinantec -> Chinantec
295    LangTag { language: "cnp", 	tag: Tag::from_bytes(b"ZHS ") }, // Northern Ping Chinese -> Chinese, Simplified
296    LangTag { language: "cnr", 	tag: Tag::from_bytes(b"SRB ") }, // Montenegrin -> Serbian
297    LangTag { language: "cnt", 	tag: Tag::from_bytes(b"CCHN") }, // Tepetotutla Chinantec -> Chinantec
298    LangTag { language: "cnu", 	tag: Tag::from_bytes(b"BBR ") }, // Chenoua -> Berber
299    LangTag { language: "cnw", 	tag: Tag::from_bytes(b"QIN ") }, // Ngawn Chin -> Chin
300    LangTag { language: "co", 	tag: Tag::from_bytes(b"COS ") }, // Corsican
301    LangTag { language: "coa", 	tag: Tag::from_bytes(b"MLY ") }, // Cocos Islands Malay -> Malay
302    LangTag { language: "cob", 	tag: Tag::from_bytes(b"MYN ") }, // Chicomuceltec -> Mayan
303//  LangTag { language: "coo", 	tag: Tag::from_bytes(b"COO ") }, // Comox
304//  LangTag { language: "cop", 	tag: Tag::from_bytes(b"COP ") }, // Coptic
305    LangTag { language: "coq", 	tag: Tag::from_bytes(b"ATH ") }, // Coquille -> Athapaskan
306    LangTag { language: "cpa", 	tag: Tag::from_bytes(b"CCHN") }, // Palantla Chinantec -> Chinantec
307    LangTag { language: "cpe", 	tag: Tag::from_bytes(b"CPP ") }, // English-based creoles and pidgins [collection] -> Creoles
308    LangTag { language: "cpf", 	tag: Tag::from_bytes(b"CPP ") }, // French-based creoles and pidgins [collection] -> Creoles
309    LangTag { language: "cpi", 	tag: Tag::from_bytes(b"CPP ") }, // Chinese Pidgin English -> Creoles
310//  LangTag { language: "cpp", 	tag: Tag::from_bytes(b"CPP ") }, // Portuguese-based creoles and pidgins [collection] -> Creoles
311    LangTag { language: "cpx", 	tag: Tag::from_bytes(b"ZHS ") }, // Pu-Xian Chinese -> Chinese, Simplified
312    LangTag { language: "cqd", 	tag: Tag::from_bytes(b"HMN ") }, // Chuanqiandian Cluster Miao -> Hmong
313    LangTag { language: "cqu", 	tag: Tag::from_bytes(b"QUH ") }, // Chilean Quechua(retired code) -> Quechua (Bolivia)
314    LangTag { language: "cqu", 	tag: Tag::from_bytes(b"QUZ ") }, // Chilean Quechua(retired code) -> Quechua
315    LangTag { language: "cr", 	tag: Tag::from_bytes(b"CRE ") }, // Cree [macrolanguage]
316    LangTag { language: "crh", 	tag: Tag::from_bytes(b"CRT ") }, // Crimean Tatar
317    LangTag { language: "cri", 	tag: Tag::from_bytes(b"CPP ") }, // Sãotomense -> Creoles
318    LangTag { language: "crj", 	tag: Tag::from_bytes(b"ECR ") }, // Southern East Cree -> Eastern Cree
319    LangTag { language: "crj", 	tag: Tag::from_bytes(b"YCR ") }, // Southern East Cree -> Y-Cree
320    LangTag { language: "crj", 	tag: Tag::from_bytes(b"CRE ") }, // Southern East Cree -> Cree
321    LangTag { language: "crk", 	tag: Tag::from_bytes(b"WCR ") }, // Plains Cree -> West-Cree
322    LangTag { language: "crk", 	tag: Tag::from_bytes(b"YCR ") }, // Plains Cree -> Y-Cree
323    LangTag { language: "crk", 	tag: Tag::from_bytes(b"CRE ") }, // Plains Cree -> Cree
324    LangTag { language: "crl", 	tag: Tag::from_bytes(b"ECR ") }, // Northern East Cree -> Eastern Cree
325    LangTag { language: "crl", 	tag: Tag::from_bytes(b"YCR ") }, // Northern East Cree -> Y-Cree
326    LangTag { language: "crl", 	tag: Tag::from_bytes(b"CRE ") }, // Northern East Cree -> Cree
327    LangTag { language: "crm", 	tag: Tag::from_bytes(b"MCR ") }, // Moose Cree
328    LangTag { language: "crm", 	tag: Tag::from_bytes(b"LCR ") }, // Moose Cree -> L-Cree
329    LangTag { language: "crm", 	tag: Tag::from_bytes(b"CRE ") }, // Moose Cree -> Cree
330    LangTag { language: "crp", 	tag: Tag::from_bytes(b"CPP ") }, // Creoles and pidgins [collection] -> Creoles
331    LangTag { language: "crr", 	tag: Tag(0)	            }, // Carolina Algonquian != Carrier
332    LangTag { language: "crs", 	tag: Tag::from_bytes(b"CPP ") }, // Seselwa Creole French -> Creoles
333    LangTag { language: "crt", 	tag: Tag(0)	            }, // Iyojwa'ja Chorote != Crimean Tatar
334    LangTag { language: "crx", 	tag: Tag::from_bytes(b"CRR ") }, // Carrier
335    LangTag { language: "crx", 	tag: Tag::from_bytes(b"ATH ") }, // Carrier -> Athapaskan
336    LangTag { language: "cs", 	tag: Tag::from_bytes(b"CSY ") }, // Czech
337    LangTag { language: "csa", 	tag: Tag::from_bytes(b"CCHN") }, // Chiltepec Chinantec -> Chinantec
338//  LangTag { language: "csb", 	tag: Tag::from_bytes(b"CSB ") }, // Kashubian
339    LangTag { language: "csh", 	tag: Tag::from_bytes(b"QIN ") }, // Asho Chin -> Chin
340    LangTag { language: "csj", 	tag: Tag::from_bytes(b"QIN ") }, // Songlai Chin -> Chin
341    LangTag { language: "csl", 	tag: Tag(0)	            }, // Chinese Sign Language != Church Slavonic
342    LangTag { language: "cso", 	tag: Tag::from_bytes(b"CCHN") }, // Sochiapam Chinantec -> Chinantec
343    LangTag { language: "csp", 	tag: Tag::from_bytes(b"ZHS ") }, // Southern Ping Chinese -> Chinese, Simplified
344    LangTag { language: "csv", 	tag: Tag::from_bytes(b"QIN ") }, // Sumtu Chin -> Chin
345    LangTag { language: "csw", 	tag: Tag::from_bytes(b"NCR ") }, // Swampy Cree -> N-Cree
346    LangTag { language: "csw", 	tag: Tag::from_bytes(b"NHC ") }, // Swampy Cree -> Norway House Cree
347    LangTag { language: "csw", 	tag: Tag::from_bytes(b"CRE ") }, // Swampy Cree -> Cree
348    LangTag { language: "csy", 	tag: Tag::from_bytes(b"QIN ") }, // Siyin Chin -> Chin
349    LangTag { language: "ctc", 	tag: Tag::from_bytes(b"ATH ") }, // Chetco -> Athapaskan
350    LangTag { language: "ctd", 	tag: Tag::from_bytes(b"QIN ") }, // Tedim Chin -> Chin
351    LangTag { language: "cte", 	tag: Tag::from_bytes(b"CCHN") }, // Tepinapa Chinantec -> Chinantec
352//  LangTag { language: "ctg", 	tag: Tag::from_bytes(b"CTG ") }, // Chittagonian
353    LangTag { language: "cth", 	tag: Tag::from_bytes(b"QIN ") }, // Thaiphum Chin -> Chin
354    LangTag { language: "ctl", 	tag: Tag::from_bytes(b"CCHN") }, // Tlacoatzintepec Chinantec -> Chinantec
355//  LangTag { language: "cto", 	tag: Tag::from_bytes(b"CTO ") }, // Emberá-Catío
356    LangTag { language: "cts", 	tag: Tag::from_bytes(b"BIK ") }, // Northern Catanduanes Bikol -> Bikol
357//  LangTag { language: "ctt", 	tag: Tag::from_bytes(b"CTT ") }, // Wayanad Chetti
358    LangTag { language: "ctu", 	tag: Tag::from_bytes(b"MYN ") }, // Chol -> Mayan
359    LangTag { language: "cu", 	tag: Tag::from_bytes(b"CSL ") }, // Church Slavonic
360    LangTag { language: "cuc", 	tag: Tag::from_bytes(b"CCHN") }, // Usila Chinantec -> Chinantec
361//  LangTag { language: "cuk", 	tag: Tag::from_bytes(b"CUK ") }, // San Blas Kuna
362    LangTag { language: "cv", 	tag: Tag::from_bytes(b"CHU ") }, // Chuvash
363    LangTag { language: "cvn", 	tag: Tag::from_bytes(b"CCHN") }, // Valle Nacional Chinantec -> Chinantec
364    LangTag { language: "cwd", 	tag: Tag::from_bytes(b"DCR ") }, // Woods Cree
365    LangTag { language: "cwd", 	tag: Tag::from_bytes(b"TCR ") }, // Woods Cree -> TH-Cree
366    LangTag { language: "cwd", 	tag: Tag::from_bytes(b"CRE ") }, // Woods Cree -> Cree
367    LangTag { language: "cy", 	tag: Tag::from_bytes(b"WEL ") }, // Welsh
368    LangTag { language: "czh", 	tag: Tag::from_bytes(b"ZHS ") }, // Huizhou Chinese -> Chinese, Simplified
369    LangTag { language: "czo", 	tag: Tag::from_bytes(b"ZHS ") }, // Min Zhong Chinese -> Chinese, Simplified
370    LangTag { language: "czt", 	tag: Tag::from_bytes(b"QIN ") }, // Zotung Chin -> Chin
371    LangTag { language: "da", 	tag: Tag::from_bytes(b"DAN ") }, // Danish
372//  LangTag { language: "dag", 	tag: Tag::from_bytes(b"DAG ") }, // Dagbani
373    LangTag { language: "dao", 	tag: Tag::from_bytes(b"QIN ") }, // Daai Chin -> Chin
374    LangTag { language: "dap", 	tag: Tag::from_bytes(b"NIS ") }, // Nisi (India)(retired code)
375//  LangTag { language: "dar", 	tag: Tag::from_bytes(b"DAR ") }, // Dargwa
376//  LangTag { language: "dax", 	tag: Tag::from_bytes(b"DAX ") }, // Dayi
377    LangTag { language: "dcr", 	tag: Tag::from_bytes(b"CPP ") }, // Negerhollands -> Creoles
378    LangTag { language: "de", 	tag: Tag::from_bytes(b"DEU ") }, // German
379    LangTag { language: "den", 	tag: Tag::from_bytes(b"SLA ") }, // Slave (Athapascan) [macrolanguage] -> Slavey
380    LangTag { language: "den", 	tag: Tag::from_bytes(b"ATH ") }, // Slave (Athapascan) [macrolanguage] -> Athapaskan
381    LangTag { language: "dep", 	tag: Tag::from_bytes(b"CPP ") }, // Pidgin Delaware -> Creoles
382    LangTag { language: "dgo", 	tag: Tag::from_bytes(b"DGO ") }, // Dogri (individual language)
383    LangTag { language: "dgo", 	tag: Tag::from_bytes(b"DGR ") }, // Dogri (macrolanguage)
384    LangTag { language: "dgr", 	tag: Tag::from_bytes(b"ATH ") }, // Tlicho -> Athapaskan
385    LangTag { language: "dhd", 	tag: Tag::from_bytes(b"MAW ") }, // Dhundari -> Marwari
386//  LangTag { language: "dhg", 	tag: Tag::from_bytes(b"DHG ") }, // Dhangu
387    LangTag { language: "dhv", 	tag: Tag(0)	            }, // Dehu != Divehi (Dhivehi, Maldivian)(deprecated)
388    LangTag { language: "dib", 	tag: Tag::from_bytes(b"DNK ") }, // South Central Dinka -> Dinka
389    LangTag { language: "dik", 	tag: Tag::from_bytes(b"DNK ") }, // Southwestern Dinka -> Dinka
390    LangTag { language: "din", 	tag: Tag::from_bytes(b"DNK ") }, // Dinka [macrolanguage]
391    LangTag { language: "dip", 	tag: Tag::from_bytes(b"DNK ") }, // Northeastern Dinka -> Dinka
392    LangTag { language: "diq", 	tag: Tag::from_bytes(b"DIQ ") }, // Dimli 
393    LangTag { language: "diq", 	tag: Tag::from_bytes(b"ZZA ") }, // Dimli  -> Zazaki
394    LangTag { language: "diw", 	tag: Tag::from_bytes(b"DNK ") }, // Northwestern Dinka -> Dinka
395    LangTag { language: "dje", 	tag: Tag::from_bytes(b"DJR ") }, // Zarma
396    LangTag { language: "djk", 	tag: Tag::from_bytes(b"CPP ") }, // Eastern Maroon Creole -> Creoles
397    LangTag { language: "djr", 	tag: Tag::from_bytes(b"DJR0") }, // Djambarrpuyngu
398    LangTag { language: "dks", 	tag: Tag::from_bytes(b"DNK ") }, // Southeastern Dinka -> Dinka
399    LangTag { language: "dng", 	tag: Tag::from_bytes(b"DUN ") }, // Dungan
400//  LangTag { language: "dnj", 	tag: Tag::from_bytes(b"DNJ ") }, // Dan
401    LangTag { language: "dnk", 	tag: Tag(0)	            }, // Dengka != Dinka
402    LangTag { language: "doi", 	tag: Tag::from_bytes(b"DGR ") }, // Dogri (macrolanguage) [macrolanguage]
403    LangTag { language: "drh", 	tag: Tag::from_bytes(b"MNG ") }, // Darkhat(retired code) -> Mongolian
404    LangTag { language: "dri", 	tag: Tag(0)	            }, // C'Lela != Dari
405    LangTag { language: "drw", 	tag: Tag::from_bytes(b"DRI ") }, // Darwazi(retired code) -> Dari
406    LangTag { language: "drw", 	tag: Tag::from_bytes(b"FAR ") }, // Darwazi(retired code) -> Persian
407    LangTag { language: "dsb", 	tag: Tag::from_bytes(b"LSB ") }, // Lower Sorbian
408    LangTag { language: "dty", 	tag: Tag::from_bytes(b"NEP ") }, // Dotyali -> Nepali
409//  LangTag { language: "duj", 	tag: Tag::from_bytes(b"DUJ ") }, // Dhuwal(retired code)
410    LangTag { language: "dun", 	tag: Tag(0)	            }, // Dusun Deyah != Dungan
411    LangTag { language: "dup", 	tag: Tag::from_bytes(b"MLY ") }, // Duano -> Malay
412    LangTag { language: "dv", 	tag: Tag::from_bytes(b"DIV ") }, // Divehi (Dhivehi, Maldivian)
413    LangTag { language: "dv", 	tag: Tag::from_bytes(b"DHV ") }, // Divehi (Dhivehi, Maldivian)(deprecated)
414    LangTag { language: "dwk", 	tag: Tag::from_bytes(b"KUI ") }, // Dawik Kui -> Kui
415    LangTag { language: "dwu", 	tag: Tag::from_bytes(b"DUJ ") }, // Dhuwal
416    LangTag { language: "dwy", 	tag: Tag::from_bytes(b"DUJ ") }, // Dhuwaya -> Dhuwal
417    LangTag { language: "dyu", 	tag: Tag::from_bytes(b"JUL ") }, // Dyula -> Jula
418    LangTag { language: "dz", 	tag: Tag::from_bytes(b"DZN ") }, // Dzongkha
419    LangTag { language: "dzn", 	tag: Tag(0)	            }, // Dzando != Dzongkha
420    LangTag { language: "ecr", 	tag: Tag(0)	            }, // Eteocretan != Eastern Cree
421    LangTag { language: "ee", 	tag: Tag::from_bytes(b"EWE ") }, // Ewe
422//  LangTag { language: "efi", 	tag: Tag::from_bytes(b"EFI ") }, // Efik
423    LangTag { language: "ekk", 	tag: Tag::from_bytes(b"ETI ") }, // Standard Estonian -> Estonian
424    LangTag { language: "eky", 	tag: Tag::from_bytes(b"KRN ") }, // Eastern Kayah -> Karen
425    LangTag { language: "el", 	tag: Tag::from_bytes(b"ELL ") }, // Modern Greek (1453-) -> Greek
426    LangTag { language: "emk", 	tag: Tag::from_bytes(b"EMK ") }, // Eastern Maninkakan
427    LangTag { language: "emk", 	tag: Tag::from_bytes(b"MNK ") }, // Eastern Maninkakan -> Maninka
428//  LangTag { language: "emp", 	tag: Tag::from_bytes(b"EMP ") }, // Northern Emberá
429    LangTag { language: "emy", 	tag: Tag::from_bytes(b"MYN ") }, // Epigraphic Mayan -> Mayan
430    LangTag { language: "en", 	tag: Tag::from_bytes(b"ENG ") }, // English
431    LangTag { language: "enb", 	tag: Tag::from_bytes(b"KAL ") }, // Markweeta -> Kalenjin
432    LangTag { language: "enf", 	tag: Tag::from_bytes(b"FNE ") }, // Forest Enets
433    LangTag { language: "enh", 	tag: Tag::from_bytes(b"TNE ") }, // Tundra Enets
434    LangTag { language: "eo", 	tag: Tag::from_bytes(b"NTO ") }, // Esperanto
435    LangTag { language: "es", 	tag: Tag::from_bytes(b"ESP ") }, // Spanish
436    LangTag { language: "esg", 	tag: Tag::from_bytes(b"GON ") }, // Aheri Gondi -> Gondi
437    LangTag { language: "esi", 	tag: Tag::from_bytes(b"IPK ") }, // North Alaskan Inupiatun -> Inupiat
438    LangTag { language: "esk", 	tag: Tag::from_bytes(b"IPK ") }, // Northwest Alaska Inupiatun -> Inupiat
439//  LangTag { language: "esu", 	tag: Tag::from_bytes(b"ESU ") }, // Central Yupik
440    LangTag { language: "et", 	tag: Tag::from_bytes(b"ETI ") }, // Estonian [macrolanguage]
441    LangTag { language: "eto", 	tag: Tag::from_bytes(b"BTI ") }, // Eton (Cameroon) -> Beti
442    LangTag { language: "eu", 	tag: Tag::from_bytes(b"EUQ ") }, // Basque
443    LangTag { language: "euq", 	tag: Tag(0)	            }, // Basque  [collection] != Basque
444    LangTag { language: "eve", 	tag: Tag::from_bytes(b"EVN ") }, // Even
445    LangTag { language: "evn", 	tag: Tag::from_bytes(b"EVK ") }, // Evenki
446    LangTag { language: "ewo", 	tag: Tag::from_bytes(b"BTI ") }, // Ewondo -> Beti
447    LangTag { language: "eyo", 	tag: Tag::from_bytes(b"KAL ") }, // Keiyo -> Kalenjin
448    LangTag { language: "fa", 	tag: Tag::from_bytes(b"FAR ") }, // Persian [macrolanguage]
449    LangTag { language: "fab", 	tag: Tag::from_bytes(b"CPP ") }, // Fa d'Ambu -> Creoles
450    LangTag { language: "fan", 	tag: Tag::from_bytes(b"FAN0") }, // Fang (Equatorial Guinea)
451    LangTag { language: "fan", 	tag: Tag::from_bytes(b"BTI ") }, // Fang (Equatorial Guinea) -> Beti
452    LangTag { language: "far", 	tag: Tag(0)	            }, // Fataleka != Persian
453    LangTag { language: "fat", 	tag: Tag::from_bytes(b"FAT ") }, // Fanti
454    LangTag { language: "fat", 	tag: Tag::from_bytes(b"AKA ") }, // Fanti -> Akan
455    LangTag { language: "fbl", 	tag: Tag::from_bytes(b"BIK ") }, // West Albay Bikol -> Bikol
456    LangTag { language: "ff", 	tag: Tag::from_bytes(b"FUL ") }, // Fulah [macrolanguage]
457    LangTag { language: "ffm", 	tag: Tag::from_bytes(b"FUL ") }, // Maasina Fulfulde -> Fulah
458    LangTag { language: "fi", 	tag: Tag::from_bytes(b"FIN ") }, // Finnish
459    LangTag { language: "fil", 	tag: Tag::from_bytes(b"PIL ") }, // Filipino
460    LangTag { language: "fj", 	tag: Tag::from_bytes(b"FJI ") }, // Fijian
461    LangTag { language: "flm", 	tag: Tag::from_bytes(b"HAL ") }, // Halam (Falam Chin)(retired code)
462    LangTag { language: "flm", 	tag: Tag::from_bytes(b"QIN ") }, // Falam Chin(retired code) -> Chin
463    LangTag { language: "fmp", 	tag: Tag::from_bytes(b"FMP ") }, // Fe’fe’
464    LangTag { language: "fmp", 	tag: Tag::from_bytes(b"BML ") }, // Fe'fe' -> Bamileke
465    LangTag { language: "fng", 	tag: Tag::from_bytes(b"CPP ") }, // Fanagalo -> Creoles
466    LangTag { language: "fo", 	tag: Tag::from_bytes(b"FOS ") }, // Faroese
467//  LangTag { language: "fon", 	tag: Tag::from_bytes(b"FON ") }, // Fon
468    LangTag { language: "fos", 	tag: Tag(0)	            }, // Siraya != Faroese
469    LangTag { language: "fpe", 	tag: Tag::from_bytes(b"CPP ") }, // Fernando Po Creole English -> Creoles
470    LangTag { language: "fr", 	tag: Tag::from_bytes(b"FRA ") }, // French
471//  LangTag { language: "frc", 	tag: Tag::from_bytes(b"FRC ") }, // Cajun French
472//  LangTag { language: "frp", 	tag: Tag::from_bytes(b"FRP ") }, // Arpitan
473    LangTag { language: "fub", 	tag: Tag::from_bytes(b"FUL ") }, // Adamawa Fulfulde -> Fulah
474    LangTag { language: "fuc", 	tag: Tag::from_bytes(b"FUL ") }, // Pulaar -> Fulah
475    LangTag { language: "fue", 	tag: Tag::from_bytes(b"FUL ") }, // Borgu Fulfulde -> Fulah
476    LangTag { language: "fuf", 	tag: Tag::from_bytes(b"FTA ") }, // Pular -> Futa
477    LangTag { language: "fuf", 	tag: Tag::from_bytes(b"FUL ") }, // Pular -> Fulah
478    LangTag { language: "fuh", 	tag: Tag::from_bytes(b"FUL ") }, // Western Niger Fulfulde -> Fulah
479    LangTag { language: "fui", 	tag: Tag::from_bytes(b"FUL ") }, // Bagirmi Fulfulde -> Fulah
480    LangTag { language: "fuq", 	tag: Tag::from_bytes(b"FUL ") }, // Central-Eastern Niger Fulfulde -> Fulah
481    LangTag { language: "fur", 	tag: Tag::from_bytes(b"FRL ") }, // Friulian
482    LangTag { language: "fuv", 	tag: Tag::from_bytes(b"FUV ") }, // Nigerian Fulfulde
483    LangTag { language: "fuv", 	tag: Tag::from_bytes(b"FUL ") }, // Nigerian Fulfulde -> Fulah
484    LangTag { language: "fy", 	tag: Tag::from_bytes(b"FRI ") }, // Western Frisian -> Frisian
485    LangTag { language: "ga", 	tag: Tag::from_bytes(b"IRI ") }, // Irish
486    LangTag { language: "ga", 	tag: Tag::from_bytes(b"IRT ") }, // Irish -> Irish Traditional
487    LangTag { language: "gaa", 	tag: Tag::from_bytes(b"GAD ") }, // Ga
488    LangTag { language: "gac", 	tag: Tag::from_bytes(b"CPP ") }, // Mixed Great Andamanese -> Creoles
489    LangTag { language: "gad", 	tag: Tag(0)	            }, // Gaddang != Ga
490    LangTag { language: "gae", 	tag: Tag(0)	            }, // Guarequena != Scottish Gaelic
491//  LangTag { language: "gag", 	tag: Tag::from_bytes(b"GAG ") }, // Gagauz
492    LangTag { language: "gal", 	tag: Tag(0)	            }, // Galolen != Galician
493    LangTag { language: "gan", 	tag: Tag::from_bytes(b"ZHS ") }, // Gan Chinese -> Chinese, Simplified
494    LangTag { language: "gar", 	tag: Tag(0)	            }, // Galeya != Garshuni
495    LangTag { language: "gaw", 	tag: Tag(0)	            }, // Nobonob != Garhwali
496    LangTag { language: "gax", 	tag: Tag::from_bytes(b"ORO ") }, // Borana-Arsi-Guji Oromo -> Oromo
497    LangTag { language: "gaz", 	tag: Tag::from_bytes(b"ORO ") }, // West Central Oromo -> Oromo
498    LangTag { language: "gbm", 	tag: Tag::from_bytes(b"GAW ") }, // Garhwali
499    LangTag { language: "gce", 	tag: Tag::from_bytes(b"ATH ") }, // Galice -> Athapaskan
500    LangTag { language: "gcf", 	tag: Tag::from_bytes(b"CPP ") }, // Guadeloupean Creole French -> Creoles
501    LangTag { language: "gcl", 	tag: Tag::from_bytes(b"CPP ") }, // Grenadian Creole English -> Creoles
502    LangTag { language: "gcr", 	tag: Tag::from_bytes(b"CPP ") }, // Guianese Creole French -> Creoles
503    LangTag { language: "gd", 	tag: Tag::from_bytes(b"GAE ") }, // Scottish Gaelic
504    LangTag { language: "gda", 	tag: Tag::from_bytes(b"RAJ ") }, // Gade Lohar -> Rajasthani
505//  LangTag { language: "gez", 	tag: Tag::from_bytes(b"GEZ ") }, // Geez
506    LangTag { language: "ggo", 	tag: Tag::from_bytes(b"GON ") }, // Southern Gondi(retired code) -> Gondi
507    LangTag { language: "gha", 	tag: Tag::from_bytes(b"BBR ") }, // Ghadamès -> Berber
508    LangTag { language: "ghc", 	tag: Tag::from_bytes(b"IRT ") }, // Hiberno-Scottish Gaelic -> Irish Traditional
509    LangTag { language: "ghk", 	tag: Tag::from_bytes(b"KRN ") }, // Geko Karen -> Karen
510    LangTag { language: "gho", 	tag: Tag::from_bytes(b"BBR ") }, // Ghomara -> Berber
511    LangTag { language: "gib", 	tag: Tag::from_bytes(b"CPP ") }, // Gibanawa -> Creoles
512//  LangTag { language: "gih", 	tag: Tag::from_bytes(b"GIH ") }, // Githabul
513    LangTag { language: "gil", 	tag: Tag::from_bytes(b"GIL0") }, // Kiribati (Gilbertese)
514    LangTag { language: "gju", 	tag: Tag::from_bytes(b"RAJ ") }, // Gujari -> Rajasthani
515    LangTag { language: "gkp", 	tag: Tag::from_bytes(b"GKP ") }, // Guinea Kpelle -> Kpelle (Guinea)
516    LangTag { language: "gkp", 	tag: Tag::from_bytes(b"KPL ") }, // Guinea Kpelle -> Kpelle
517    LangTag { language: "gl", 	tag: Tag::from_bytes(b"GAL ") }, // Galician
518    LangTag { language: "gld", 	tag: Tag::from_bytes(b"NAN ") }, // Nanai
519//  LangTag { language: "glk", 	tag: Tag::from_bytes(b"GLK ") }, // Gilaki
520    LangTag { language: "gmz", 	tag: Tag(0)	            }, // Mgbolizhia != Gumuz
521    LangTag { language: "gn", 	tag: Tag::from_bytes(b"GUA ") }, // Guarani [macrolanguage]
522    LangTag { language: "gnb", 	tag: Tag::from_bytes(b"QIN ") }, // Gangte -> Chin
523//  LangTag { language: "gnn", 	tag: Tag::from_bytes(b"GNN ") }, // Gumatj
524    LangTag { language: "gno", 	tag: Tag::from_bytes(b"GON ") }, // Northern Gondi -> Gondi
525    LangTag { language: "gnw", 	tag: Tag::from_bytes(b"GUA ") }, // Western Bolivian Guaraní -> Guarani
526//  LangTag { language: "gog", 	tag: Tag::from_bytes(b"GOG ") }, // Gogo
527    LangTag { language: "gom", 	tag: Tag::from_bytes(b"KOK ") }, // Goan Konkani -> Konkani
528//  LangTag { language: "gon", 	tag: Tag::from_bytes(b"GON ") }, // Gondi [macrolanguage]
529    LangTag { language: "goq", 	tag: Tag::from_bytes(b"CPP ") }, // Gorap -> Creoles
530    LangTag { language: "gox", 	tag: Tag::from_bytes(b"BAD0") }, // Gobu -> Banda
531    LangTag { language: "gpe", 	tag: Tag::from_bytes(b"CPP ") }, // Ghanaian Pidgin English -> Creoles
532    LangTag { language: "gro", 	tag: Tag(0)	            }, // Groma != Garo
533    LangTag { language: "grr", 	tag: Tag::from_bytes(b"BBR ") }, // Taznatit -> Berber
534    LangTag { language: "grt", 	tag: Tag::from_bytes(b"GRO ") }, // Garo
535    LangTag { language: "gru", 	tag: Tag::from_bytes(b"SOG ") }, // Kistane -> Sodo Gurage
536    LangTag { language: "gsw", 	tag: Tag::from_bytes(b"ALS ") }, // Alsatian
537    LangTag { language: "gu", 	tag: Tag::from_bytes(b"GUJ ") }, // Gujarati
538    LangTag { language: "gua", 	tag: Tag(0)	            }, // Shiki != Guarani
539//  LangTag { language: "guc", 	tag: Tag::from_bytes(b"GUC ") }, // Wayuu
540//  LangTag { language: "guf", 	tag: Tag::from_bytes(b"GUF ") }, // Gupapuyngu
541    LangTag { language: "gug", 	tag: Tag::from_bytes(b"GUA ") }, // Paraguayan Guaraní -> Guarani
542    LangTag { language: "gui", 	tag: Tag::from_bytes(b"GUA ") }, // Eastern Bolivian Guaraní -> Guarani
543    LangTag { language: "guk", 	tag: Tag::from_bytes(b"GMZ ") }, // Gumuz
544    LangTag { language: "gul", 	tag: Tag::from_bytes(b"CPP ") }, // Sea Island Creole English -> Creoles
545    LangTag { language: "gun", 	tag: Tag::from_bytes(b"GUA ") }, // Mbyá Guaraní -> Guarani
546//  LangTag { language: "guz", 	tag: Tag::from_bytes(b"GUZ ") }, // Gusii
547    LangTag { language: "gv", 	tag: Tag::from_bytes(b"MNX ") }, // Manx
548    LangTag { language: "gwi", 	tag: Tag::from_bytes(b"ATH ") }, // Gwichʼin -> Athapaskan
549    LangTag { language: "gyn", 	tag: Tag::from_bytes(b"CPP ") }, // Guyanese Creole English -> Creoles
550    LangTag { language: "ha", 	tag: Tag::from_bytes(b"HAU ") }, // Hausa
551    LangTag { language: "haa", 	tag: Tag::from_bytes(b"ATH ") }, // Han -> Athapaskan
552    LangTag { language: "hae", 	tag: Tag::from_bytes(b"ORO ") }, // Eastern Oromo -> Oromo
553    LangTag { language: "hai", 	tag: Tag::from_bytes(b"HAI0") }, // Haida [macrolanguage]
554    LangTag { language: "hak", 	tag: Tag::from_bytes(b"ZHS ") }, // Hakka Chinese -> Chinese, Simplified
555    LangTag { language: "hal", 	tag: Tag(0)	            }, // Halang != Halam (Falam Chin)
556    LangTag { language: "har", 	tag: Tag::from_bytes(b"HRI ") }, // Harari
557//  LangTag { language: "haw", 	tag: Tag::from_bytes(b"HAW ") }, // Hawaiian
558    LangTag { language: "hax", 	tag: Tag::from_bytes(b"HAI0") }, // Southern Haida -> Haida
559//  LangTag { language: "hay", 	tag: Tag::from_bytes(b"HAY ") }, // Haya
560//  LangTag { language: "haz", 	tag: Tag::from_bytes(b"HAZ ") }, // Hazaragi
561    LangTag { language: "hbn", 	tag: Tag(0)	            }, // Heiban != Hammer-Banna
562    LangTag { language: "hca", 	tag: Tag::from_bytes(b"CPP ") }, // Andaman Creole Hindi -> Creoles
563    LangTag { language: "hdn", 	tag: Tag::from_bytes(b"HAI0") }, // Northern Haida -> Haida
564    LangTag { language: "he", 	tag: Tag::from_bytes(b"IWR ") }, // Hebrew
565    LangTag { language: "hea", 	tag: Tag::from_bytes(b"HMN ") }, // Northern Qiandong Miao -> Hmong
566//  LangTag { language: "hei", 	tag: Tag::from_bytes(b"HEI ") }, // Heiltsuk
567    LangTag { language: "hi", 	tag: Tag::from_bytes(b"HIN ") }, // Hindi
568//  LangTag { language: "hil", 	tag: Tag::from_bytes(b"HIL ") }, // Hiligaynon
569    LangTag { language: "hji", 	tag: Tag::from_bytes(b"MLY ") }, // Haji -> Malay
570    LangTag { language: "hlt", 	tag: Tag::from_bytes(b"QIN ") }, // Matu Chin -> Chin
571    LangTag { language: "hma", 	tag: Tag::from_bytes(b"HMN ") }, // Southern Mashan Hmong -> Hmong
572    LangTag { language: "hmc", 	tag: Tag::from_bytes(b"HMN ") }, // Central Huishui Hmong -> Hmong
573    LangTag { language: "hmd", 	tag: Tag::from_bytes(b"HMD ") }, // Large Flowery Miao -> A-Hmao
574    LangTag { language: "hmd", 	tag: Tag::from_bytes(b"HMN ") }, // Large Flowery Miao -> Hmong
575    LangTag { language: "hme", 	tag: Tag::from_bytes(b"HMN ") }, // Eastern Huishui Hmong -> Hmong
576    LangTag { language: "hmg", 	tag: Tag::from_bytes(b"HMN ") }, // Southwestern Guiyang Hmong -> Hmong
577    LangTag { language: "hmh", 	tag: Tag::from_bytes(b"HMN ") }, // Southwestern Huishui Hmong -> Hmong
578    LangTag { language: "hmi", 	tag: Tag::from_bytes(b"HMN ") }, // Northern Huishui Hmong -> Hmong
579    LangTag { language: "hmj", 	tag: Tag::from_bytes(b"HMN ") }, // Ge -> Hmong
580    LangTag { language: "hml", 	tag: Tag::from_bytes(b"HMN ") }, // Luopohe Hmong -> Hmong
581    LangTag { language: "hmm", 	tag: Tag::from_bytes(b"HMN ") }, // Central Mashan Hmong -> Hmong
582//  LangTag { language: "hmn", 	tag: Tag::from_bytes(b"HMN ") }, // Hmong [macrolanguage]
583    LangTag { language: "hmp", 	tag: Tag::from_bytes(b"HMN ") }, // Northern Mashan Hmong -> Hmong
584    LangTag { language: "hmq", 	tag: Tag::from_bytes(b"HMN ") }, // Eastern Qiandong Miao -> Hmong
585    LangTag { language: "hmr", 	tag: Tag::from_bytes(b"QIN ") }, // Hmar -> Chin
586    LangTag { language: "hms", 	tag: Tag::from_bytes(b"HMN ") }, // Southern Qiandong Miao -> Hmong
587    LangTag { language: "hmw", 	tag: Tag::from_bytes(b"HMN ") }, // Western Mashan Hmong -> Hmong
588    LangTag { language: "hmy", 	tag: Tag::from_bytes(b"HMN ") }, // Southern Guiyang Hmong -> Hmong
589    LangTag { language: "hmz", 	tag: Tag::from_bytes(b"HMZ ") }, // Hmong Shua -> Hmong Shuat
590    LangTag { language: "hmz", 	tag: Tag::from_bytes(b"HMN ") }, // Hmong Shua -> Hmong
591//  LangTag { language: "hnd", 	tag: Tag::from_bytes(b"HND ") }, // Southern Hindko -> Hindko
592    LangTag { language: "hne", 	tag: Tag::from_bytes(b"CHH ") }, // Chhattisgarhi -> Chattisgarhi
593    LangTag { language: "hnj", 	tag: Tag::from_bytes(b"HMN ") }, // Hmong Njua -> Hmong
594    LangTag { language: "hno", 	tag: Tag::from_bytes(b"HND ") }, // Northern Hindko -> Hindko
595    LangTag { language: "ho", 	tag: Tag::from_bytes(b"HMO ") }, // Hiri Motu
596    LangTag { language: "ho", 	tag: Tag::from_bytes(b"CPP ") }, // Hiri Motu -> Creoles
597    LangTag { language: "hoc", 	tag: Tag::from_bytes(b"HO  ") }, // Ho
598    LangTag { language: "hoi", 	tag: Tag::from_bytes(b"ATH ") }, // Holikachuk -> Athapaskan
599    LangTag { language: "hoj", 	tag: Tag::from_bytes(b"HAR ") }, // Hadothi -> Harauti
600    LangTag { language: "hoj", 	tag: Tag::from_bytes(b"RAJ ") }, // Hadothi -> Rajasthani
601    LangTag { language: "hr", 	tag: Tag::from_bytes(b"HRV ") }, // Croatian
602    LangTag { language: "hra", 	tag: Tag::from_bytes(b"QIN ") }, // Hrangkhol -> Chin
603    LangTag { language: "hrm", 	tag: Tag::from_bytes(b"HMN ") }, // Horned Miao -> Hmong
604    LangTag { language: "hsb", 	tag: Tag::from_bytes(b"USB ") }, // Upper Sorbian
605    LangTag { language: "hsn", 	tag: Tag::from_bytes(b"ZHS ") }, // Xiang Chinese -> Chinese, Simplified
606    LangTag { language: "ht", 	tag: Tag::from_bytes(b"HAI ") }, // Haitian (Haitian Creole)
607    LangTag { language: "ht", 	tag: Tag::from_bytes(b"CPP ") }, // Haitian -> Creoles
608    LangTag { language: "hu", 	tag: Tag::from_bytes(b"HUN ") }, // Hungarian
609    LangTag { language: "huj", 	tag: Tag::from_bytes(b"HMN ") }, // Northern Guiyang Hmong -> Hmong
610    LangTag { language: "hup", 	tag: Tag::from_bytes(b"ATH ") }, // Hupa -> Athapaskan
611//  LangTag { language: "hur", 	tag: Tag::from_bytes(b"HUR ") }, // Halkomelem
612    LangTag { language: "hus", 	tag: Tag::from_bytes(b"MYN ") }, // Huastec -> Mayan
613    LangTag { language: "hwc", 	tag: Tag::from_bytes(b"CPP ") }, // Hawai'i Creole English -> Creoles
614    LangTag { language: "hy", 	tag: Tag::from_bytes(b"HYE0") }, // Armenian -> Armenian East
615    LangTag { language: "hy", 	tag: Tag::from_bytes(b"HYE ") }, // Armenian
616    LangTag { language: "hyw", 	tag: Tag::from_bytes(b"HYE ") }, // Western Armenian -> Armenian
617    LangTag { language: "hz", 	tag: Tag::from_bytes(b"HER ") }, // Herero
618    LangTag { language: "ia", 	tag: Tag::from_bytes(b"INA ") }, // Interlingua (International Auxiliary Language Association)
619//  LangTag { language: "iba", 	tag: Tag::from_bytes(b"IBA ") }, // Iban
620//  LangTag { language: "ibb", 	tag: Tag::from_bytes(b"IBB ") }, // Ibibio
621    LangTag { language: "iby", 	tag: Tag::from_bytes(b"IJO ") }, // Ibani -> Ijo
622    LangTag { language: "icr", 	tag: Tag::from_bytes(b"CPP ") }, // Islander Creole English -> Creoles
623    LangTag { language: "id", 	tag: Tag::from_bytes(b"IND ") }, // Indonesian
624    LangTag { language: "id", 	tag: Tag::from_bytes(b"MLY ") }, // Indonesian -> Malay
625    LangTag { language: "ida", 	tag: Tag::from_bytes(b"LUH ") }, // Idakho-Isukha-Tiriki -> Luyia
626    LangTag { language: "idb", 	tag: Tag::from_bytes(b"CPP ") }, // Indo-Portuguese -> Creoles
627    LangTag { language: "ie", 	tag: Tag::from_bytes(b"ILE ") }, // Interlingue
628    LangTag { language: "ig", 	tag: Tag::from_bytes(b"IBO ") }, // Igbo
629    LangTag { language: "igb", 	tag: Tag::from_bytes(b"EBI ") }, // Ebira
630    LangTag { language: "ihb", 	tag: Tag::from_bytes(b"CPP ") }, // Iha Based Pidgin -> Creoles
631    LangTag { language: "ii", 	tag: Tag::from_bytes(b"YIM ") }, // Sichuan Yi -> Yi Modern
632    LangTag { language: "ijc", 	tag: Tag::from_bytes(b"IJO ") }, // Izon -> Ijo
633    LangTag { language: "ije", 	tag: Tag::from_bytes(b"IJO ") }, // Biseni -> Ijo
634    LangTag { language: "ijn", 	tag: Tag::from_bytes(b"IJO ") }, // Kalabari -> Ijo
635//  LangTag { language: "ijo", 	tag: Tag::from_bytes(b"IJO ") }, // Ijo  [collection]
636    LangTag { language: "ijs", 	tag: Tag::from_bytes(b"IJO ") }, // Southeast Ijo -> Ijo
637    LangTag { language: "ik", 	tag: Tag::from_bytes(b"IPK ") }, // Inupiaq [macrolanguage] -> Inupiat
638    LangTag { language: "ike", 	tag: Tag::from_bytes(b"INU ") }, // Eastern Canadian Inuktitut -> Inuktitut
639    LangTag { language: "ike", 	tag: Tag::from_bytes(b"INUK") }, // Eastern Canadian Inuktitut -> Nunavik Inuktitut
640    LangTag { language: "ikt", 	tag: Tag::from_bytes(b"INU ") }, // Inuinnaqtun -> Inuktitut
641//  LangTag { language: "ilo", 	tag: Tag::from_bytes(b"ILO ") }, // Iloko -> Ilokano
642    LangTag { language: "in", 	tag: Tag::from_bytes(b"IND ") }, // Indonesian(retired code)
643    LangTag { language: "in", 	tag: Tag::from_bytes(b"MLY ") }, // Indonesian(retired code) -> Malay
644    LangTag { language: "ing", 	tag: Tag::from_bytes(b"ATH ") }, // Degexit'an -> Athapaskan
645    LangTag { language: "inh", 	tag: Tag::from_bytes(b"ING ") }, // Ingush
646    LangTag { language: "io", 	tag: Tag::from_bytes(b"IDO ") }, // Ido
647    LangTag { language: "iri", 	tag: Tag(0)	            }, // Rigwe != Irish
648//  LangTag { language: "iru", 	tag: Tag::from_bytes(b"IRU ") }, // Irula
649    LangTag { language: "is", 	tag: Tag::from_bytes(b"ISL ") }, // Icelandic
650    LangTag { language: "ism", 	tag: Tag(0)	            }, // Masimasi != Inari Sami
651    LangTag { language: "it", 	tag: Tag::from_bytes(b"ITA ") }, // Italian
652    LangTag { language: "itz", 	tag: Tag::from_bytes(b"MYN ") }, // Itzá -> Mayan
653    LangTag { language: "iu", 	tag: Tag::from_bytes(b"INU ") }, // Inuktitut [macrolanguage]
654    LangTag { language: "iu", 	tag: Tag::from_bytes(b"INUK") }, // Inuktitut [macrolanguage] -> Nunavik Inuktitut
655    LangTag { language: "iw", 	tag: Tag::from_bytes(b"IWR ") }, // Hebrew(retired code)
656    LangTag { language: "ixl", 	tag: Tag::from_bytes(b"MYN ") }, // Ixil -> Mayan
657    LangTag { language: "ja", 	tag: Tag::from_bytes(b"JAN ") }, // Japanese
658    LangTag { language: "jac", 	tag: Tag::from_bytes(b"MYN ") }, // Popti' -> Mayan
659    LangTag { language: "jak", 	tag: Tag::from_bytes(b"MLY ") }, // Jakun -> Malay
660    LangTag { language: "jam", 	tag: Tag::from_bytes(b"JAM ") }, // Jamaican Creole English -> Jamaican Creole
661    LangTag { language: "jam", 	tag: Tag::from_bytes(b"CPP ") }, // Jamaican Creole English -> Creoles
662    LangTag { language: "jan", 	tag: Tag(0)	            }, // Jandai != Japanese
663    LangTag { language: "jax", 	tag: Tag::from_bytes(b"MLY ") }, // Jambi Malay -> Malay
664    LangTag { language: "jbe", 	tag: Tag::from_bytes(b"BBR ") }, // Judeo-Berber -> Berber
665    LangTag { language: "jbn", 	tag: Tag::from_bytes(b"BBR ") }, // Nafusi -> Berber
666//  LangTag { language: "jbo", 	tag: Tag::from_bytes(b"JBO ") }, // Lojban
667//  LangTag { language: "jct", 	tag: Tag::from_bytes(b"JCT ") }, // Krymchak
668//  LangTag { language: "jdt", 	tag: Tag::from_bytes(b"JDT ") }, // Judeo-Tat
669    LangTag { language: "jgo", 	tag: Tag::from_bytes(b"BML ") }, // Ngomba -> Bamileke
670    LangTag { language: "ji", 	tag: Tag::from_bytes(b"JII ") }, // Yiddish(retired code)
671    LangTag { language: "jii", 	tag: Tag(0)	            }, // Jiiddu != Yiddish
672    LangTag { language: "jkm", 	tag: Tag::from_bytes(b"KRN ") }, // Mobwa Karen -> Karen
673    LangTag { language: "jkp", 	tag: Tag::from_bytes(b"KRN ") }, // Paku Karen -> Karen
674    LangTag { language: "jud", 	tag: Tag(0)	            }, // Worodougou != Ladino
675    LangTag { language: "jul", 	tag: Tag(0)	            }, // Jirel != Jula
676    LangTag { language: "jv", 	tag: Tag::from_bytes(b"JAV ") }, // Javanese
677    LangTag { language: "jvd", 	tag: Tag::from_bytes(b"CPP ") }, // Javindo -> Creoles
678    LangTag { language: "jw", 	tag: Tag::from_bytes(b"JAV ") }, // Javanese(retired code)
679    LangTag { language: "ka", 	tag: Tag::from_bytes(b"KAT ") }, // Georgian
680    LangTag { language: "kaa", 	tag: Tag::from_bytes(b"KRK ") }, // Karakalpak
681    LangTag { language: "kab", 	tag: Tag::from_bytes(b"KAB0") }, // Kabyle
682    LangTag { language: "kab", 	tag: Tag::from_bytes(b"BBR ") }, // Kabyle -> Berber
683    LangTag { language: "kac", 	tag: Tag(0)	            }, // Kachin != Kachchi
684    LangTag { language: "kam", 	tag: Tag::from_bytes(b"KMB ") }, // Kamba (Kenya)
685    LangTag { language: "kar", 	tag: Tag::from_bytes(b"KRN ") }, // Karen  [collection]
686//  LangTag { language: "kaw", 	tag: Tag::from_bytes(b"KAW ") }, // Kawi (Old Javanese)
687//  LangTag { language: "kbc", 	tag: Tag::from_bytes(b"KBC ") }, // Kadiwéu
688    LangTag { language: "kbd", 	tag: Tag::from_bytes(b"KAB ") }, // Kabardian
689    LangTag { language: "kby", 	tag: Tag::from_bytes(b"KNR ") }, // Manga Kanuri -> Kanuri
690    LangTag { language: "kca", 	tag: Tag::from_bytes(b"KHK ") }, // Khanty -> Khanty-Kazim
691    LangTag { language: "kca", 	tag: Tag::from_bytes(b"KHS ") }, // Khanty -> Khanty-Shurishkar
692    LangTag { language: "kca", 	tag: Tag::from_bytes(b"KHV ") }, // Khanty -> Khanty-Vakhi
693    LangTag { language: "kcn", 	tag: Tag::from_bytes(b"CPP ") }, // Nubi -> Creoles
694//  LangTag { language: "kde", 	tag: Tag::from_bytes(b"KDE ") }, // Makonde
695    LangTag { language: "kdr", 	tag: Tag::from_bytes(b"KRM ") }, // Karaim
696    LangTag { language: "kdt", 	tag: Tag::from_bytes(b"KUY ") }, // Kuy
697    LangTag { language: "kea", 	tag: Tag::from_bytes(b"KEA ") }, // Kabuverdianu (Crioulo)
698    LangTag { language: "kea", 	tag: Tag::from_bytes(b"CPP ") }, // Kabuverdianu -> Creoles
699    LangTag { language: "keb", 	tag: Tag(0)	            }, // Kélé != Kebena
700    LangTag { language: "kek", 	tag: Tag::from_bytes(b"KEK ") }, // Kekchi
701    LangTag { language: "kek", 	tag: Tag::from_bytes(b"MYN ") }, // Kekchí -> Mayan
702    LangTag { language: "kex", 	tag: Tag::from_bytes(b"KKN ") }, // Kukna -> Kokni
703    LangTag { language: "kfa", 	tag: Tag::from_bytes(b"KOD ") }, // Kodava -> Kodagu
704    LangTag { language: "kfr", 	tag: Tag::from_bytes(b"KAC ") }, // Kachhi -> Kachchi
705    LangTag { language: "kfx", 	tag: Tag::from_bytes(b"KUL ") }, // Kullu Pahari -> Kulvi
706    LangTag { language: "kfy", 	tag: Tag::from_bytes(b"KMN ") }, // Kumaoni
707    LangTag { language: "kg", 	tag: Tag::from_bytes(b"KON0") }, // Kongo [macrolanguage]
708    LangTag { language: "kge", 	tag: Tag(0)	            }, // Komering != Khutsuri Georgian
709    LangTag { language: "kha", 	tag: Tag::from_bytes(b"KSI ") }, // Khasi
710    LangTag { language: "khb", 	tag: Tag::from_bytes(b"XBD ") }, // Lü
711    LangTag { language: "khk", 	tag: Tag::from_bytes(b"MNG ") }, // Halh Mongolian -> Mongolian
712    LangTag { language: "khn", 	tag: Tag(0)	            }, // Khandesi != Khamti Shan(Microsoft fonts)
713    LangTag { language: "khs", 	tag: Tag(0)	            }, // Kasua != Khanty-Shurishkar
714    LangTag { language: "kht", 	tag: Tag::from_bytes(b"KHT ") }, // Khamti -> Khamti Shan
715    LangTag { language: "kht", 	tag: Tag::from_bytes(b"KHN ") }, // Khamti -> Khamti Shan(Microsoft fonts)
716    LangTag { language: "khv", 	tag: Tag(0)	            }, // Khvarshi != Khanty-Vakhi
717//  LangTag { language: "khw", 	tag: Tag::from_bytes(b"KHW ") }, // Khowar
718    LangTag { language: "ki", 	tag: Tag::from_bytes(b"KIK ") }, // Kikuyu (Gikuyu)
719    LangTag { language: "kis", 	tag: Tag(0)	            }, // Kis != Kisii
720    LangTag { language: "kiu", 	tag: Tag::from_bytes(b"KIU ") }, // Kirmanjki 
721    LangTag { language: "kiu", 	tag: Tag::from_bytes(b"ZZA ") }, // Kirmanjki  -> Zazaki
722    LangTag { language: "kj", 	tag: Tag::from_bytes(b"KUA ") }, // Kuanyama
723    LangTag { language: "kjb", 	tag: Tag::from_bytes(b"MYN ") }, // Q'anjob'al -> Mayan
724//  LangTag { language: "kjd", 	tag: Tag::from_bytes(b"KJD ") }, // Southern Kiwai
725    LangTag { language: "kjh", 	tag: Tag::from_bytes(b"KHA ") }, // Khakas -> Khakass
726//  LangTag { language: "kjj", 	tag: Tag::from_bytes(b"KJJ ") }, // Khinalugh -> Khinalug
727    LangTag { language: "kjp", 	tag: Tag::from_bytes(b"KJP ") }, // Pwo Eastern Karen -> Eastern Pwo Karen
728    LangTag { language: "kjp", 	tag: Tag::from_bytes(b"KRN ") }, // Pwo Eastern Karen -> Karen
729    LangTag { language: "kjt", 	tag: Tag::from_bytes(b"KRN ") }, // Phrae Pwo Karen -> Karen
730//  LangTag { language: "kjz", 	tag: Tag::from_bytes(b"KJZ ") }, // Bumthangkha
731    LangTag { language: "kk", 	tag: Tag::from_bytes(b"KAZ ") }, // Kazakh
732    LangTag { language: "kkn", 	tag: Tag(0)	            }, // Kon Keu != Kokni
733    LangTag { language: "kkz", 	tag: Tag::from_bytes(b"ATH ") }, // Kaska -> Athapaskan
734    LangTag { language: "kl", 	tag: Tag::from_bytes(b"GRN ") }, // Greenlandic
735    LangTag { language: "klm", 	tag: Tag(0)	            }, // Migum != Kalmyk
736    LangTag { language: "kln", 	tag: Tag::from_bytes(b"KAL ") }, // Kalenjin [macrolanguage]
737    LangTag { language: "km", 	tag: Tag::from_bytes(b"KHM ") }, // Khmer
738    LangTag { language: "kmb", 	tag: Tag::from_bytes(b"MBN ") }, // Kimbundu -> Mbundu
739    LangTag { language: "kmn", 	tag: Tag(0)	            }, // Awtuw != Kumaoni
740    LangTag { language: "kmo", 	tag: Tag(0)	            }, // Kwoma != Komo
741    LangTag { language: "kmr", 	tag: Tag::from_bytes(b"KUR ") }, // Northern Kurdish -> Kurdish
742    LangTag { language: "kms", 	tag: Tag(0)	            }, // Kamasau != Komso
743    LangTag { language: "kmv", 	tag: Tag::from_bytes(b"CPP ") }, // Karipúna Creole French -> Creoles
744    LangTag { language: "kmw", 	tag: Tag::from_bytes(b"KMO ") }, // Komo (Democratic Republic of Congo)
745//  LangTag { language: "kmz", 	tag: Tag::from_bytes(b"KMZ ") }, // Khorasani Turkish -> Khorasani Turkic
746    LangTag { language: "kn", 	tag: Tag::from_bytes(b"KAN ") }, // Kannada
747    LangTag { language: "knc", 	tag: Tag::from_bytes(b"KNR ") }, // Central Kanuri -> Kanuri
748    LangTag { language: "kng", 	tag: Tag::from_bytes(b"KON0") }, // Koongo -> Kongo
749    LangTag { language: "knj", 	tag: Tag::from_bytes(b"MYN ") }, // Western Kanjobal -> Mayan
750    LangTag { language: "knn", 	tag: Tag::from_bytes(b"KOK ") }, // Konkani 
751    LangTag { language: "knr", 	tag: Tag(0)	            }, // Kaningra != Kanuri
752    LangTag { language: "ko", 	tag: Tag::from_bytes(b"KOR ") }, // Korean
753    LangTag { language: "ko", 	tag: Tag::from_bytes(b"KOH ") }, // Korean -> Korean Old Hangul
754    LangTag { language: "kod", 	tag: Tag(0)	            }, // Kodi != Kodagu
755    LangTag { language: "koh", 	tag: Tag(0)	            }, // Koyo != Korean Old Hangul
756    LangTag { language: "koi", 	tag: Tag::from_bytes(b"KOP ") }, // Komi-Permyak
757    LangTag { language: "koi", 	tag: Tag::from_bytes(b"KOM ") }, // Komi-Permyak -> Komi
758//  LangTag { language: "kok", 	tag: Tag::from_bytes(b"KOK ") }, // Konkani  [macrolanguage]
759    LangTag { language: "kop", 	tag: Tag(0)	            }, // Waube != Komi-Permyak
760//  LangTag { language: "kos", 	tag: Tag::from_bytes(b"KOS ") }, // Kosraean
761    LangTag { language: "koy", 	tag: Tag::from_bytes(b"ATH ") }, // Koyukon -> Athapaskan
762    LangTag { language: "koz", 	tag: Tag(0)	            }, // Korak != Komi-Zyrian
763    LangTag { language: "kpe", 	tag: Tag::from_bytes(b"KPL ") }, // Kpelle [macrolanguage]
764    LangTag { language: "kpl", 	tag: Tag(0)	            }, // Kpala != Kpelle
765    LangTag { language: "kpp", 	tag: Tag::from_bytes(b"KRN ") }, // Paku Karen(retired code) -> Karen
766    LangTag { language: "kpv", 	tag: Tag::from_bytes(b"KOZ ") }, // Komi-Zyrian
767    LangTag { language: "kpv", 	tag: Tag::from_bytes(b"KOM ") }, // Komi-Zyrian -> Komi
768    LangTag { language: "kpy", 	tag: Tag::from_bytes(b"KYK ") }, // Koryak
769    LangTag { language: "kqs", 	tag: Tag::from_bytes(b"KIS ") }, // Northern Kissi -> Kisii
770    LangTag { language: "kqy", 	tag: Tag::from_bytes(b"KRT ") }, // Koorete
771    LangTag { language: "kr", 	tag: Tag::from_bytes(b"KNR ") }, // Kanuri [macrolanguage]
772    LangTag { language: "krc", 	tag: Tag::from_bytes(b"KAR ") }, // Karachay-Balkar -> Karachay
773    LangTag { language: "krc", 	tag: Tag::from_bytes(b"BAL ") }, // Karachay-Balkar -> Balkar
774    LangTag { language: "kri", 	tag: Tag::from_bytes(b"KRI ") }, // Krio
775    LangTag { language: "kri", 	tag: Tag::from_bytes(b"CPP ") }, // Krio -> Creoles
776    LangTag { language: "krk", 	tag: Tag(0)	            }, // Kerek != Karakalpak
777//  LangTag { language: "krl", 	tag: Tag::from_bytes(b"KRL ") }, // Karelian
778    LangTag { language: "krm", 	tag: Tag(0)	            }, // Krim(retired code) != Karaim
779    LangTag { language: "krn", 	tag: Tag(0)	            }, // Sapo != Karen
780    LangTag { language: "krt", 	tag: Tag::from_bytes(b"KNR ") }, // Tumari Kanuri -> Kanuri
781    LangTag { language: "kru", 	tag: Tag::from_bytes(b"KUU ") }, // Kurukh
782    LangTag { language: "ks", 	tag: Tag::from_bytes(b"KSH ") }, // Kashmiri
783    LangTag { language: "ksh", 	tag: Tag::from_bytes(b"KSH0") }, // Kölsch -> Ripuarian
784    LangTag { language: "ksi", 	tag: Tag(0)	            }, // Krisa != Khasi
785    LangTag { language: "ksm", 	tag: Tag(0)	            }, // Kumba != Kildin Sami
786    LangTag { language: "kss", 	tag: Tag::from_bytes(b"KIS ") }, // Southern Kisi -> Kisii
787    LangTag { language: "ksw", 	tag: Tag::from_bytes(b"KSW ") }, // S’gaw Karen
788    LangTag { language: "ksw", 	tag: Tag::from_bytes(b"KRN ") }, // S'gaw Karen -> Karen
789    LangTag { language: "ktb", 	tag: Tag::from_bytes(b"KEB ") }, // Kambaata -> Kebena
790    LangTag { language: "ktu", 	tag: Tag::from_bytes(b"KON ") }, // Kituba (Democratic Republic of Congo) -> Kikongo
791    LangTag { language: "ktw", 	tag: Tag::from_bytes(b"ATH ") }, // Kato -> Athapaskan
792    LangTag { language: "ku", 	tag: Tag::from_bytes(b"KUR ") }, // Kurdish [macrolanguage]
793    LangTag { language: "kui", 	tag: Tag(0)	            }, // Kuikúro-Kalapálo != Kui
794    LangTag { language: "kul", 	tag: Tag(0)	            }, // Kulere != Kulvi
795//  LangTag { language: "kum", 	tag: Tag::from_bytes(b"KUM ") }, // Kumyk
796    LangTag { language: "kuu", 	tag: Tag::from_bytes(b"ATH ") }, // Upper Kuskokwim -> Athapaskan
797    LangTag { language: "kuw", 	tag: Tag::from_bytes(b"BAD0") }, // Kpagua -> Banda
798    LangTag { language: "kuy", 	tag: Tag(0)	            }, // Kuuku-Ya'u != Kuy
799    LangTag { language: "kv", 	tag: Tag::from_bytes(b"KOM ") }, // Komi [macrolanguage]
800    LangTag { language: "kvb", 	tag: Tag::from_bytes(b"MLY ") }, // Kubu -> Malay
801    LangTag { language: "kvl", 	tag: Tag::from_bytes(b"KRN ") }, // Kayaw -> Karen
802    LangTag { language: "kvq", 	tag: Tag::from_bytes(b"KRN ") }, // Geba Karen -> Karen
803    LangTag { language: "kvr", 	tag: Tag::from_bytes(b"MLY ") }, // Kerinci -> Malay
804    LangTag { language: "kvt", 	tag: Tag::from_bytes(b"KRN ") }, // Lahta Karen -> Karen
805    LangTag { language: "kvu", 	tag: Tag::from_bytes(b"KRN ") }, // Yinbaw Karen -> Karen
806    LangTag { language: "kvy", 	tag: Tag::from_bytes(b"KRN ") }, // Yintale Karen -> Karen
807    LangTag { language: "kw", 	tag: Tag::from_bytes(b"COR ") }, // Cornish
808//  LangTag { language: "kwk", 	tag: Tag::from_bytes(b"KWK ") }, // Kwakiutl -> Kwakʼwala
809    LangTag { language: "kww", 	tag: Tag::from_bytes(b"CPP ") }, // Kwinti -> Creoles
810    LangTag { language: "kwy", 	tag: Tag::from_bytes(b"KON0") }, // San Salvador Kongo -> Kongo
811    LangTag { language: "kxc", 	tag: Tag::from_bytes(b"KMS ") }, // Konso -> Komso
812    LangTag { language: "kxd", 	tag: Tag::from_bytes(b"MLY ") }, // Brunei -> Malay
813    LangTag { language: "kxf", 	tag: Tag::from_bytes(b"KRN ") }, // Manumanaw Karen -> Karen
814    LangTag { language: "kxk", 	tag: Tag::from_bytes(b"KRN ") }, // Zayein Karen -> Karen
815    LangTag { language: "kxl", 	tag: Tag::from_bytes(b"KUU ") }, // Nepali Kurux(retired code) -> Kurukh
816    LangTag { language: "kxu", 	tag: Tag::from_bytes(b"KUI ") }, // Kui (India)(retired code)
817    LangTag { language: "ky", 	tag: Tag::from_bytes(b"KIR ") }, // Kirghiz (Kyrgyz)
818    LangTag { language: "kyk", 	tag: Tag(0)	            }, // Kamayo != Koryak
819    LangTag { language: "kyu", 	tag: Tag::from_bytes(b"KYU ") }, // Western Kayah
820    LangTag { language: "kyu", 	tag: Tag::from_bytes(b"KRN ") }, // Western Kayah -> Karen
821    LangTag { language: "la", 	tag: Tag::from_bytes(b"LAT ") }, // Latin
822    LangTag { language: "lac", 	tag: Tag::from_bytes(b"MYN ") }, // Lacandon -> Mayan
823    LangTag { language: "lad", 	tag: Tag::from_bytes(b"JUD ") }, // Ladino
824    LangTag { language: "lah", 	tag: Tag(0)	            }, // Lahnda [macrolanguage] != Lahuli
825    LangTag { language: "lak", 	tag: Tag(0)	            }, // Laka (Nigeria)(retired code) != Lak
826    LangTag { language: "lam", 	tag: Tag(0)	            }, // Lamba != Lambani
827    LangTag { language: "laz", 	tag: Tag(0)	            }, // Aribwatsa != Laz
828    LangTag { language: "lb", 	tag: Tag::from_bytes(b"LTZ ") }, // Luxembourgish
829    LangTag { language: "lbe", 	tag: Tag::from_bytes(b"LAK ") }, // Lak
830    LangTag { language: "lbj", 	tag: Tag::from_bytes(b"LDK ") }, // Ladakhi
831    LangTag { language: "lbl", 	tag: Tag::from_bytes(b"BIK ") }, // Libon Bikol -> Bikol
832    LangTag { language: "lce", 	tag: Tag::from_bytes(b"MLY ") }, // Loncong -> Malay
833    LangTag { language: "lcf", 	tag: Tag::from_bytes(b"MLY ") }, // Lubu -> Malay
834    LangTag { language: "ldi", 	tag: Tag::from_bytes(b"KON0") }, // Laari -> Kongo
835    LangTag { language: "ldk", 	tag: Tag(0)	            }, // Leelau != Ladakhi
836//  LangTag { language: "lef", 	tag: Tag::from_bytes(b"LEF ") }, // Lelemi
837//  LangTag { language: "lez", 	tag: Tag::from_bytes(b"LEZ ") }, // Lezghian -> Lezgi
838    LangTag { language: "lg", 	tag: Tag::from_bytes(b"LUG ") }, // Ganda
839    LangTag { language: "li", 	tag: Tag::from_bytes(b"LIM ") }, // Limburgish
840    LangTag { language: "lif", 	tag: Tag::from_bytes(b"LMB ") }, // Limbu
841//  LangTag { language: "lij", 	tag: Tag::from_bytes(b"LIJ ") }, // Ligurian
842    LangTag { language: "lir", 	tag: Tag::from_bytes(b"CPP ") }, // Liberian English -> Creoles
843//  LangTag { language: "lis", 	tag: Tag::from_bytes(b"LIS ") }, // Lisu
844//  LangTag { language: "liv", 	tag: Tag::from_bytes(b"LIV ") }, // Liv
845    LangTag { language: "liw", 	tag: Tag::from_bytes(b"MLY ") }, // Col -> Malay
846    LangTag { language: "liy", 	tag: Tag::from_bytes(b"BAD0") }, // Banda-Bambari -> Banda
847//  LangTag { language: "ljp", 	tag: Tag::from_bytes(b"LJP ") }, // Lampung Api -> Lampung
848    LangTag { language: "lkb", 	tag: Tag::from_bytes(b"LUH ") }, // Kabras -> Luyia
849//  LangTag { language: "lki", 	tag: Tag::from_bytes(b"LKI ") }, // Laki
850    LangTag { language: "lko", 	tag: Tag::from_bytes(b"LUH ") }, // Khayo -> Luyia
851    LangTag { language: "lks", 	tag: Tag::from_bytes(b"LUH ") }, // Kisa -> Luyia
852    LangTag { language: "lld", 	tag: Tag::from_bytes(b"LAD ") }, // Ladin
853    LangTag { language: "lma", 	tag: Tag(0)	            }, // East Limba != Low Mari
854    LangTag { language: "lmb", 	tag: Tag(0)	            }, // Merei != Limbu
855    LangTag { language: "lmn", 	tag: Tag::from_bytes(b"LAM ") }, // Lambadi -> Lambani
856//  LangTag { language: "lmo", 	tag: Tag::from_bytes(b"LMO ") }, // Lombard
857    LangTag { language: "lmw", 	tag: Tag(0)	            }, // Lake Miwok != Lomwe
858    LangTag { language: "ln", 	tag: Tag::from_bytes(b"LIN ") }, // Lingala
859    LangTag { language: "lna", 	tag: Tag::from_bytes(b"BAD0") }, // Langbashe -> Banda
860    LangTag { language: "lnl", 	tag: Tag::from_bytes(b"BAD0") }, // South Central Banda -> Banda
861    LangTag { language: "lo", 	tag: Tag::from_bytes(b"LAO ") }, // Lao
862//  LangTag { language: "lom", 	tag: Tag::from_bytes(b"LOM ") }, // Loma (Liberia)
863    LangTag { language: "lou", 	tag: Tag::from_bytes(b"CPP ") }, // Louisiana Creole -> Creoles
864//  LangTag { language: "lpo", 	tag: Tag::from_bytes(b"LPO ") }, // Lipo
865//  LangTag { language: "lrc", 	tag: Tag::from_bytes(b"LRC ") }, // Northern Luri -> Luri
866    LangTag { language: "lri", 	tag: Tag::from_bytes(b"LUH ") }, // Marachi -> Luyia
867    LangTag { language: "lrm", 	tag: Tag::from_bytes(b"LUH ") }, // Marama -> Luyia
868    LangTag { language: "lrt", 	tag: Tag::from_bytes(b"CPP ") }, // Larantuka Malay -> Creoles
869    LangTag { language: "lsb", 	tag: Tag(0)	            }, // Burundian Sign Language != Lower Sorbian
870    LangTag { language: "lsm", 	tag: Tag::from_bytes(b"LUH ") }, // Saamia -> Luyia
871    LangTag { language: "lt", 	tag: Tag::from_bytes(b"LTH ") }, // Lithuanian
872    LangTag { language: "ltg", 	tag: Tag::from_bytes(b"LVI ") }, // Latgalian -> Latvian
873    LangTag { language: "lth", 	tag: Tag(0)	            }, // Thur != Lithuanian
874    LangTag { language: "lto", 	tag: Tag::from_bytes(b"LUH ") }, // Tsotso -> Luyia
875    LangTag { language: "lts", 	tag: Tag::from_bytes(b"LUH ") }, // Tachoni -> Luyia
876    LangTag { language: "lu", 	tag: Tag::from_bytes(b"LUB ") }, // Luba-Katanga
877//  LangTag { language: "lua", 	tag: Tag::from_bytes(b"LUA ") }, // Luba-Lulua
878//  LangTag { language: "luo", 	tag: Tag::from_bytes(b"LUO ") }, // Luo (Kenya and Tanzania)
879    LangTag { language: "lus", 	tag: Tag::from_bytes(b"MIZ ") }, // Lushai -> Mizo
880    LangTag { language: "lus", 	tag: Tag::from_bytes(b"QIN ") }, // Lushai -> Chin
881    LangTag { language: "luy", 	tag: Tag::from_bytes(b"LUH ") }, // Luyia [macrolanguage]
882    LangTag { language: "luz", 	tag: Tag::from_bytes(b"LRC ") }, // Southern Luri -> Luri
883    LangTag { language: "lv", 	tag: Tag::from_bytes(b"LVI ") }, // Latvian [macrolanguage]
884    LangTag { language: "lvi", 	tag: Tag(0)	            }, // Lavi != Latvian
885    LangTag { language: "lvs", 	tag: Tag::from_bytes(b"LVI ") }, // Standard Latvian -> Latvian
886    LangTag { language: "lwg", 	tag: Tag::from_bytes(b"LUH ") }, // Wanga -> Luyia
887    LangTag { language: "lzh", 	tag: Tag::from_bytes(b"ZHT ") }, // Literary Chinese -> Chinese, Traditional
888    LangTag { language: "lzz", 	tag: Tag::from_bytes(b"LAZ ") }, // Laz
889//  LangTag { language: "mad", 	tag: Tag::from_bytes(b"MAD ") }, // Madurese -> Madura
890//  LangTag { language: "mag", 	tag: Tag::from_bytes(b"MAG ") }, // Magahi
891    LangTag { language: "mai", 	tag: Tag::from_bytes(b"MTH ") }, // Maithili
892    LangTag { language: "maj", 	tag: Tag(0)	            }, // Jalapa De Díaz Mazatec != Majang
893    LangTag { language: "mak", 	tag: Tag::from_bytes(b"MKR ") }, // Makasar
894    LangTag { language: "mam", 	tag: Tag::from_bytes(b"MAM ") }, // Mam
895    LangTag { language: "mam", 	tag: Tag::from_bytes(b"MYN ") }, // Mam -> Mayan
896    LangTag { language: "man", 	tag: Tag::from_bytes(b"MNK ") }, // Mandingo [macrolanguage] -> Maninka
897    LangTag { language: "map", 	tag: Tag(0)	            }, // Austronesian  [collection] != Mapudungun
898    LangTag { language: "maw", 	tag: Tag(0)	            }, // Mampruli != Marwari
899    LangTag { language: "max", 	tag: Tag::from_bytes(b"MLY ") }, // North Moluccan Malay -> Malay
900    LangTag { language: "max", 	tag: Tag::from_bytes(b"CPP ") }, // North Moluccan Malay -> Creoles
901    LangTag { language: "mbf", 	tag: Tag::from_bytes(b"CPP ") }, // Baba Malay -> Creoles
902    LangTag { language: "mbn", 	tag: Tag(0)	            }, // Macaguán != Mbundu
903//  LangTag { language: "mbo", 	tag: Tag::from_bytes(b"MBO ") }, // Mbo (Cameroon)
904    LangTag { language: "mch", 	tag: Tag(0)	            }, // Maquiritari != Manchu
905    LangTag { language: "mcm", 	tag: Tag::from_bytes(b"CPP ") }, // Malaccan Creole Portuguese -> Creoles
906    LangTag { language: "mcr", 	tag: Tag(0)	            }, // Menya != Moose Cree
907    LangTag { language: "mct", 	tag: Tag::from_bytes(b"BTI ") }, // Mengisa -> Beti
908    LangTag { language: "mde", 	tag: Tag(0)	            }, // Maba (Chad) != Mende
909    LangTag { language: "mdf", 	tag: Tag::from_bytes(b"MOK ") }, // Moksha
910//  LangTag { language: "mdr", 	tag: Tag::from_bytes(b"MDR ") }, // Mandar
911    LangTag { language: "mdy", 	tag: Tag::from_bytes(b"MLE ") }, // Male (Ethiopia)
912    LangTag { language: "men", 	tag: Tag::from_bytes(b"MDE ") }, // Mende (Sierra Leone)
913    LangTag { language: "meo", 	tag: Tag::from_bytes(b"MLY ") }, // Kedah Malay -> Malay
914//  LangTag { language: "mer", 	tag: Tag::from_bytes(b"MER ") }, // Meru
915//  LangTag { language: "mev", 	tag: Tag::from_bytes(b"MEV ") }, // Mano
916    LangTag { language: "mfa", 	tag: Tag::from_bytes(b"MFA ") }, // Pattani Malay
917    LangTag { language: "mfa", 	tag: Tag::from_bytes(b"MLY ") }, // Pattani Malay -> Malay
918    LangTag { language: "mfb", 	tag: Tag::from_bytes(b"MLY ") }, // Bangka -> Malay
919    LangTag { language: "mfe", 	tag: Tag::from_bytes(b"MFE ") }, // Morisyen
920    LangTag { language: "mfe", 	tag: Tag::from_bytes(b"CPP ") }, // Morisyen -> Creoles
921    LangTag { language: "mfp", 	tag: Tag::from_bytes(b"CPP ") }, // Makassar Malay -> Creoles
922    LangTag { language: "mg", 	tag: Tag::from_bytes(b"MLG ") }, // Malagasy [macrolanguage]
923    LangTag { language: "mga", 	tag: Tag::from_bytes(b"SGA ") }, // Middle Irish (900-1200) -> Old Irish
924    LangTag { language: "mh", 	tag: Tag::from_bytes(b"MAH ") }, // Marshallese
925    LangTag { language: "mhc", 	tag: Tag::from_bytes(b"MYN ") }, // Mocho -> Mayan
926    LangTag { language: "mhr", 	tag: Tag::from_bytes(b"LMA ") }, // Eastern Mari -> Low Mari
927    LangTag { language: "mhv", 	tag: Tag::from_bytes(b"ARK ") }, // Arakanese(retired code) -> Rakhine
928    LangTag { language: "mi", 	tag: Tag::from_bytes(b"MRI ") }, // Maori
929    LangTag { language: "min", 	tag: Tag::from_bytes(b"MIN ") }, // Minangkabau
930    LangTag { language: "min", 	tag: Tag::from_bytes(b"MLY ") }, // Minangkabau -> Malay
931    LangTag { language: "miz", 	tag: Tag(0)	            }, // Coatzospan Mixtec != Mizo
932    LangTag { language: "mk", 	tag: Tag::from_bytes(b"MKD ") }, // Macedonian
933    LangTag { language: "mkn", 	tag: Tag::from_bytes(b"CPP ") }, // Kupang Malay -> Creoles
934    LangTag { language: "mkr", 	tag: Tag(0)	            }, // Malas != Makasar
935    LangTag { language: "mku", 	tag: Tag::from_bytes(b"MNK ") }, // Konyanka Maninka -> Maninka
936//  LangTag { language: "mkw", 	tag: Tag::from_bytes(b"MKW ") }, // Kituba (Congo)
937    LangTag { language: "ml", 	tag: Tag::from_bytes(b"MAL ") }, // Malayalam -> Malayalam Traditional
938    LangTag { language: "ml", 	tag: Tag::from_bytes(b"MLR ") }, // Malayalam -> Malayalam Reformed
939    LangTag { language: "mle", 	tag: Tag(0)	            }, // Manambu != Male
940    LangTag { language: "mln", 	tag: Tag(0)	            }, // Malango != Malinke
941    LangTag { language: "mlq", 	tag: Tag::from_bytes(b"MLN ") }, // Western Maninkakan -> Malinke
942    LangTag { language: "mlq", 	tag: Tag::from_bytes(b"MNK ") }, // Western Maninkakan -> Maninka
943    LangTag { language: "mlr", 	tag: Tag(0)	            }, // Vame != Malayalam Reformed
944    LangTag { language: "mmr", 	tag: Tag::from_bytes(b"HMN ") }, // Western Xiangxi Miao -> Hmong
945    LangTag { language: "mn", 	tag: Tag::from_bytes(b"MNG ") }, // Mongolian [macrolanguage]
946    LangTag { language: "mnc", 	tag: Tag::from_bytes(b"MCH ") }, // Manchu
947    LangTag { language: "mnd", 	tag: Tag(0)	            }, // Mondé != Mandinka
948    LangTag { language: "mng", 	tag: Tag(0)	            }, // Eastern Mnong != Mongolian
949    LangTag { language: "mnh", 	tag: Tag::from_bytes(b"BAD0") }, // Mono (Democratic Republic of Congo) -> Banda
950//  LangTag { language: "mni", 	tag: Tag::from_bytes(b"MNI ") }, // Manipuri
951    LangTag { language: "mnk", 	tag: Tag::from_bytes(b"MND ") }, // Mandinka
952    LangTag { language: "mnk", 	tag: Tag::from_bytes(b"MNK ") }, // Mandinka -> Maninka
953    LangTag { language: "mnp", 	tag: Tag::from_bytes(b"ZHS ") }, // Min Bei Chinese -> Chinese, Simplified
954    LangTag { language: "mns", 	tag: Tag::from_bytes(b"MAN ") }, // Mansi
955    LangTag { language: "mnw", 	tag: Tag::from_bytes(b"MON ") }, // Mon
956    LangTag { language: "mnw", 	tag: Tag::from_bytes(b"MONT") }, // Mon -> Thailand Mon
957    LangTag { language: "mnx", 	tag: Tag(0)	            }, // Manikion != Manx
958    LangTag { language: "mo", 	tag: Tag::from_bytes(b"MOL ") }, // Moldavian(retired code)
959    LangTag { language: "mo", 	tag: Tag::from_bytes(b"ROM ") }, // Moldavian(retired code) -> Romanian
960    LangTag { language: "mod", 	tag: Tag::from_bytes(b"CPP ") }, // Mobilian -> Creoles
961//  LangTag { language: "moh", 	tag: Tag::from_bytes(b"MOH ") }, // Mohawk
962    LangTag { language: "mok", 	tag: Tag(0)	            }, // Morori != Moksha
963    LangTag { language: "mop", 	tag: Tag::from_bytes(b"MYN ") }, // Mopán Maya -> Mayan
964    LangTag { language: "mor", 	tag: Tag(0)	            }, // Moro != Moroccan
965//  LangTag { language: "mos", 	tag: Tag::from_bytes(b"MOS ") }, // Mossi
966    LangTag { language: "mpe", 	tag: Tag::from_bytes(b"MAJ ") }, // Majang
967    LangTag { language: "mqg", 	tag: Tag::from_bytes(b"MLY ") }, // Kota Bangun Kutai Malay -> Malay
968    LangTag { language: "mr", 	tag: Tag::from_bytes(b"MAR ") }, // Marathi
969    LangTag { language: "mrh", 	tag: Tag::from_bytes(b"QIN ") }, // Mara Chin -> Chin
970    LangTag { language: "mrj", 	tag: Tag::from_bytes(b"HMA ") }, // Western Mari -> High Mari
971    LangTag { language: "ms", 	tag: Tag::from_bytes(b"MLY ") }, // Malay  [macrolanguage]
972    LangTag { language: "msc", 	tag: Tag::from_bytes(b"MNK ") }, // Sankaran Maninka -> Maninka
973    LangTag { language: "msh", 	tag: Tag::from_bytes(b"MLG ") }, // Masikoro Malagasy -> Malagasy
974    LangTag { language: "msi", 	tag: Tag::from_bytes(b"MLY ") }, // Sabah Malay -> Malay
975    LangTag { language: "msi", 	tag: Tag::from_bytes(b"CPP ") }, // Sabah Malay -> Creoles
976    LangTag { language: "mt", 	tag: Tag::from_bytes(b"MTS ") }, // Maltese
977    LangTag { language: "mth", 	tag: Tag(0)	            }, // Munggui != Maithili
978    LangTag { language: "mtr", 	tag: Tag::from_bytes(b"MAW ") }, // Mewari -> Marwari
979    LangTag { language: "mts", 	tag: Tag(0)	            }, // Yora != Maltese
980    LangTag { language: "mud", 	tag: Tag::from_bytes(b"CPP ") }, // Mednyj Aleut -> Creoles
981    LangTag { language: "mui", 	tag: Tag::from_bytes(b"MLY ") }, // Musi -> Malay
982    LangTag { language: "mun", 	tag: Tag(0)	            }, // Munda  [collection] != Mundari
983    LangTag { language: "mup", 	tag: Tag::from_bytes(b"RAJ ") }, // Malvi -> Rajasthani
984    LangTag { language: "muq", 	tag: Tag::from_bytes(b"HMN ") }, // Eastern Xiangxi Miao -> Hmong
985//  LangTag { language: "mus", 	tag: Tag::from_bytes(b"MUS ") }, // Creek -> Muscogee
986    LangTag { language: "mvb", 	tag: Tag::from_bytes(b"ATH ") }, // Mattole -> Athapaskan
987    LangTag { language: "mve", 	tag: Tag::from_bytes(b"MAW ") }, // Marwari (Pakistan)
988    LangTag { language: "mvf", 	tag: Tag::from_bytes(b"MNG ") }, // Peripheral Mongolian -> Mongolian
989    LangTag { language: "mwk", 	tag: Tag::from_bytes(b"MNK ") }, // Kita Maninkakan -> Maninka
990//  LangTag { language: "mwl", 	tag: Tag::from_bytes(b"MWL ") }, // Mirandese
991    LangTag { language: "mwq", 	tag: Tag::from_bytes(b"QIN ") }, // Mün Chin -> Chin
992    LangTag { language: "mwr", 	tag: Tag::from_bytes(b"MAW ") }, // Marwari [macrolanguage]
993    LangTag { language: "mww", 	tag: Tag::from_bytes(b"MWW ") }, // Hmong Daw
994    LangTag { language: "mww", 	tag: Tag::from_bytes(b"HMN ") }, // Hmong Daw -> Hmong
995    LangTag { language: "my", 	tag: Tag::from_bytes(b"BRM ") }, // Burmese
996    LangTag { language: "mym", 	tag: Tag::from_bytes(b"MEN ") }, // Me’en
997//  LangTag { language: "myn", 	tag: Tag::from_bytes(b"MYN ") }, // Mayan  [collection]
998    LangTag { language: "myq", 	tag: Tag::from_bytes(b"MNK ") }, // Forest Maninka(retired code) -> Maninka
999    LangTag { language: "myv", 	tag: Tag::from_bytes(b"ERZ ") }, // Erzya
1000    LangTag { language: "mzb", 	tag: Tag::from_bytes(b"BBR ") }, // Tumzabt -> Berber
1001//  LangTag { language: "mzn", 	tag: Tag::from_bytes(b"MZN ") }, // Mazanderani
1002    LangTag { language: "mzs", 	tag: Tag::from_bytes(b"CPP ") }, // Macanese -> Creoles
1003    LangTag { language: "na", 	tag: Tag::from_bytes(b"NAU ") }, // Nauru -> Nauruan
1004    LangTag { language: "nag", 	tag: Tag::from_bytes(b"NAG ") }, // Naga Pidgin -> Naga-Assamese
1005    LangTag { language: "nag", 	tag: Tag::from_bytes(b"CPP ") }, // Naga Pidgin -> Creoles
1006//  LangTag { language: "nah", 	tag: Tag::from_bytes(b"NAH ") }, // Nahuatl  [collection]
1007    LangTag { language: "nan", 	tag: Tag::from_bytes(b"ZHS ") }, // Min Nan Chinese -> Chinese, Simplified
1008//  LangTag { language: "nap", 	tag: Tag::from_bytes(b"NAP ") }, // Neapolitan
1009    LangTag { language: "nas", 	tag: Tag(0)	            }, // Naasioi != Naskapi
1010    LangTag { language: "naz", 	tag: Tag::from_bytes(b"NAH ") }, // Coatepec Nahuatl -> Nahuatl
1011    LangTag { language: "nb", 	tag: Tag::from_bytes(b"NOR ") }, // Norwegian Bokmål -> Norwegian
1012    LangTag { language: "nch", 	tag: Tag::from_bytes(b"NAH ") }, // Central Huasteca Nahuatl -> Nahuatl
1013    LangTag { language: "nci", 	tag: Tag::from_bytes(b"NAH ") }, // Classical Nahuatl -> Nahuatl
1014    LangTag { language: "ncj", 	tag: Tag::from_bytes(b"NAH ") }, // Northern Puebla Nahuatl -> Nahuatl
1015    LangTag { language: "ncl", 	tag: Tag::from_bytes(b"NAH ") }, // Michoacán Nahuatl -> Nahuatl
1016    LangTag { language: "ncr", 	tag: Tag(0)	            }, // Ncane != N-Cree
1017    LangTag { language: "ncx", 	tag: Tag::from_bytes(b"NAH ") }, // Central Puebla Nahuatl -> Nahuatl
1018    LangTag { language: "nd", 	tag: Tag::from_bytes(b"NDB ") }, // North Ndebele -> Ndebele
1019    LangTag { language: "ndb", 	tag: Tag(0)	            }, // Kenswei Nsei != Ndebele
1020//  LangTag { language: "ndc", 	tag: Tag::from_bytes(b"NDC ") }, // Ndau
1021    LangTag { language: "ndg", 	tag: Tag(0)	            }, // Ndengereko != Ndonga
1022//  LangTag { language: "nds", 	tag: Tag::from_bytes(b"NDS ") }, // Low Saxon
1023    LangTag { language: "ne", 	tag: Tag::from_bytes(b"NEP ") }, // Nepali  [macrolanguage]
1024    LangTag { language: "nef", 	tag: Tag::from_bytes(b"CPP ") }, // Nefamese -> Creoles
1025//  LangTag { language: "new", 	tag: Tag::from_bytes(b"NEW ") }, // Newari
1026    LangTag { language: "ng", 	tag: Tag::from_bytes(b"NDG ") }, // Ndonga
1027//  LangTag { language: "nga", 	tag: Tag::from_bytes(b"NGA ") }, // Ngbaka
1028    LangTag { language: "ngl", 	tag: Tag::from_bytes(b"LMW ") }, // Lomwe
1029    LangTag { language: "ngm", 	tag: Tag::from_bytes(b"CPP ") }, // Ngatik Men's Creole -> Creoles
1030    LangTag { language: "ngo", 	tag: Tag::from_bytes(b"SXT ") }, // Ngoni(retired code) -> Sutu
1031    LangTag { language: "ngr", 	tag: Tag(0)	            }, // Engdewu != Nagari
1032    LangTag { language: "ngu", 	tag: Tag::from_bytes(b"NAH ") }, // Guerrero Nahuatl -> Nahuatl
1033    LangTag { language: "nhc", 	tag: Tag::from_bytes(b"NAH ") }, // Tabasco Nahuatl -> Nahuatl
1034    LangTag { language: "nhd", 	tag: Tag::from_bytes(b"GUA ") }, // Chiripá -> Guarani
1035    LangTag { language: "nhe", 	tag: Tag::from_bytes(b"NAH ") }, // Eastern Huasteca Nahuatl -> Nahuatl
1036    LangTag { language: "nhg", 	tag: Tag::from_bytes(b"NAH ") }, // Tetelcingo Nahuatl -> Nahuatl
1037    LangTag { language: "nhi", 	tag: Tag::from_bytes(b"NAH ") }, // Zacatlán-Ahuacatlán-Tepetzintla Nahuatl -> Nahuatl
1038    LangTag { language: "nhk", 	tag: Tag::from_bytes(b"NAH ") }, // Isthmus-Cosoleacaque Nahuatl -> Nahuatl
1039    LangTag { language: "nhm", 	tag: Tag::from_bytes(b"NAH ") }, // Morelos Nahuatl -> Nahuatl
1040    LangTag { language: "nhn", 	tag: Tag::from_bytes(b"NAH ") }, // Central Nahuatl -> Nahuatl
1041    LangTag { language: "nhp", 	tag: Tag::from_bytes(b"NAH ") }, // Isthmus-Pajapan Nahuatl -> Nahuatl
1042    LangTag { language: "nhq", 	tag: Tag::from_bytes(b"NAH ") }, // Huaxcaleca Nahuatl -> Nahuatl
1043    LangTag { language: "nht", 	tag: Tag::from_bytes(b"NAH ") }, // Ometepec Nahuatl -> Nahuatl
1044    LangTag { language: "nhv", 	tag: Tag::from_bytes(b"NAH ") }, // Temascaltepec Nahuatl -> Nahuatl
1045    LangTag { language: "nhw", 	tag: Tag::from_bytes(b"NAH ") }, // Western Huasteca Nahuatl -> Nahuatl
1046    LangTag { language: "nhx", 	tag: Tag::from_bytes(b"NAH ") }, // Isthmus-Mecayapan Nahuatl -> Nahuatl
1047    LangTag { language: "nhy", 	tag: Tag::from_bytes(b"NAH ") }, // Northern Oaxaca Nahuatl -> Nahuatl
1048    LangTag { language: "nhz", 	tag: Tag::from_bytes(b"NAH ") }, // Santa María La Alta Nahuatl -> Nahuatl
1049    LangTag { language: "niq", 	tag: Tag::from_bytes(b"KAL ") }, // Nandi -> Kalenjin
1050    LangTag { language: "nis", 	tag: Tag(0)	            }, // Nimi != Nisi
1051//  LangTag { language: "niu", 	tag: Tag::from_bytes(b"NIU ") }, // Niuean
1052    LangTag { language: "niv", 	tag: Tag::from_bytes(b"GIL ") }, // Gilyak
1053    LangTag { language: "njt", 	tag: Tag::from_bytes(b"CPP ") }, // Ndyuka-Trio Pidgin -> Creoles
1054    LangTag { language: "njz", 	tag: Tag::from_bytes(b"NIS ") }, // Nyishi -> Nisi
1055    LangTag { language: "nko", 	tag: Tag(0)	            }, // Nkonya != N’Ko
1056    LangTag { language: "nkx", 	tag: Tag::from_bytes(b"IJO ") }, // Nkoroo -> Ijo
1057    LangTag { language: "nl", 	tag: Tag::from_bytes(b"NLD ") }, // Dutch
1058    LangTag { language: "nla", 	tag: Tag::from_bytes(b"BML ") }, // Ngombale -> Bamileke
1059    LangTag { language: "nle", 	tag: Tag::from_bytes(b"LUH ") }, // East Nyala -> Luyia
1060    LangTag { language: "nln", 	tag: Tag::from_bytes(b"NAH ") }, // Durango Nahuatl(retired code) -> Nahuatl
1061    LangTag { language: "nlv", 	tag: Tag::from_bytes(b"NAH ") }, // Orizaba Nahuatl -> Nahuatl
1062    LangTag { language: "nn", 	tag: Tag::from_bytes(b"NYN ") }, // Norwegian Nynorsk (Nynorsk, Norwegian)
1063    LangTag { language: "nnh", 	tag: Tag::from_bytes(b"BML ") }, // Ngiemboon -> Bamileke
1064    LangTag { language: "nnz", 	tag: Tag::from_bytes(b"BML ") }, // Nda'nda' -> Bamileke
1065    LangTag { language: "no", 	tag: Tag::from_bytes(b"NOR ") }, // Norwegian [macrolanguage]
1066    LangTag { language: "nod", 	tag: Tag::from_bytes(b"NTA ") }, // Northern Thai -> Northern Tai
1067//  LangTag { language: "noe", 	tag: Tag::from_bytes(b"NOE ") }, // Nimadi
1068//  LangTag { language: "nog", 	tag: Tag::from_bytes(b"NOG ") }, // Nogai
1069//  LangTag { language: "nov", 	tag: Tag::from_bytes(b"NOV ") }, // Novial
1070    LangTag { language: "npi", 	tag: Tag::from_bytes(b"NEP ") }, // Nepali 
1071    LangTag { language: "npl", 	tag: Tag::from_bytes(b"NAH ") }, // Southeastern Puebla Nahuatl -> Nahuatl
1072    LangTag { language: "nqo", 	tag: Tag::from_bytes(b"NKO ") }, // N’Ko
1073    LangTag { language: "nr", 	tag: Tag::from_bytes(b"NDB ") }, // South Ndebele -> Ndebele
1074    LangTag { language: "nsk", 	tag: Tag::from_bytes(b"NAS ") }, // Naskapi
1075    LangTag { language: "nsm", 	tag: Tag(0)	            }, // Sumi Naga != Northern Sami
1076//  LangTag { language: "nso", 	tag: Tag::from_bytes(b"NSO ") }, // Northern Sotho
1077    LangTag { language: "nsu", 	tag: Tag::from_bytes(b"NAH ") }, // Sierra Negra Nahuatl -> Nahuatl
1078    LangTag { language: "nto", 	tag: Tag(0)	            }, // Ntomba != Esperanto
1079    LangTag { language: "nue", 	tag: Tag::from_bytes(b"BAD0") }, // Ngundu -> Banda
1080    LangTag { language: "nuu", 	tag: Tag::from_bytes(b"BAD0") }, // Ngbundu -> Banda
1081    LangTag { language: "nuz", 	tag: Tag::from_bytes(b"NAH ") }, // Tlamacazapa Nahuatl -> Nahuatl
1082    LangTag { language: "nv", 	tag: Tag::from_bytes(b"NAV ") }, // Navajo
1083    LangTag { language: "nv", 	tag: Tag::from_bytes(b"ATH ") }, // Navajo -> Athapaskan
1084    LangTag { language: "nwe", 	tag: Tag::from_bytes(b"BML ") }, // Ngwe -> Bamileke
1085    LangTag { language: "ny", 	tag: Tag::from_bytes(b"CHI ") }, // Chichewa (Chewa, Nyanja)
1086    LangTag { language: "nyd", 	tag: Tag::from_bytes(b"LUH ") }, // Nyore -> Luyia
1087//  LangTag { language: "nym", 	tag: Tag::from_bytes(b"NYM ") }, // Nyamwezi
1088    LangTag { language: "nyn", 	tag: Tag::from_bytes(b"NKL ") }, // Nyankole
1089//  LangTag { language: "nza", 	tag: Tag::from_bytes(b"NZA ") }, // Tigon Mbembe -> Mbembe Tigon
1090    LangTag { language: "oc", 	tag: Tag::from_bytes(b"OCI ") }, // Occitan (post 1500)
1091    LangTag { language: "oj", 	tag: Tag::from_bytes(b"OJB ") }, // Ojibwa [macrolanguage] -> Ojibway
1092//  LangTag { language: "ojb", 	tag: Tag::from_bytes(b"OJB ") }, // Northwestern Ojibwa -> Ojibway
1093    LangTag { language: "ojc", 	tag: Tag::from_bytes(b"OJB ") }, // Central Ojibwa -> Ojibway
1094    LangTag { language: "ojg", 	tag: Tag::from_bytes(b"OJB ") }, // Eastern Ojibwa -> Ojibway
1095    LangTag { language: "ojs", 	tag: Tag::from_bytes(b"OCR ") }, // Severn Ojibwa -> Oji-Cree
1096    LangTag { language: "ojs", 	tag: Tag::from_bytes(b"OJB ") }, // Severn Ojibwa -> Ojibway
1097    LangTag { language: "ojw", 	tag: Tag::from_bytes(b"OJB ") }, // Western Ojibwa -> Ojibway
1098    LangTag { language: "okd", 	tag: Tag::from_bytes(b"IJO ") }, // Okodia -> Ijo
1099    LangTag { language: "oki", 	tag: Tag::from_bytes(b"KAL ") }, // Okiek -> Kalenjin
1100    LangTag { language: "okm", 	tag: Tag::from_bytes(b"KOH ") }, // Middle Korean (10th-16th cent.) -> Korean Old Hangul
1101    LangTag { language: "okr", 	tag: Tag::from_bytes(b"IJO ") }, // Kirike -> Ijo
1102    LangTag { language: "om", 	tag: Tag::from_bytes(b"ORO ") }, // Oromo [macrolanguage]
1103//  LangTag { language: "one", 	tag: Tag::from_bytes(b"ONE ") }, // Oneida
1104//  LangTag { language: "ono", 	tag: Tag::from_bytes(b"ONO ") }, // Onondaga
1105    LangTag { language: "onx", 	tag: Tag::from_bytes(b"CPP ") }, // Onin Based Pidgin -> Creoles
1106    LangTag { language: "oor", 	tag: Tag::from_bytes(b"CPP ") }, // Oorlams -> Creoles
1107    LangTag { language: "or", 	tag: Tag::from_bytes(b"ORI ") }, // Odia  [macrolanguage]
1108    LangTag { language: "orc", 	tag: Tag::from_bytes(b"ORO ") }, // Orma -> Oromo
1109    LangTag { language: "orn", 	tag: Tag::from_bytes(b"MLY ") }, // Orang Kanaq -> Malay
1110    LangTag { language: "oro", 	tag: Tag(0)	            }, // Orokolo != Oromo
1111    LangTag { language: "orr", 	tag: Tag::from_bytes(b"IJO ") }, // Oruma -> Ijo
1112    LangTag { language: "ors", 	tag: Tag::from_bytes(b"MLY ") }, // Orang Seletar -> Malay
1113    LangTag { language: "ory", 	tag: Tag::from_bytes(b"ORI ") }, // Odia 
1114    LangTag { language: "os", 	tag: Tag::from_bytes(b"OSS ") }, // Ossetian
1115    LangTag { language: "otw", 	tag: Tag::from_bytes(b"OJB ") }, // Ottawa -> Ojibway
1116    LangTag { language: "oua", 	tag: Tag::from_bytes(b"BBR ") }, // Tagargrent -> Berber
1117    LangTag { language: "pa", 	tag: Tag::from_bytes(b"PAN ") }, // Punjabi
1118    LangTag { language: "paa", 	tag: Tag(0)	            }, // Papuan  [collection] != Palestinian Aramaic
1119//  LangTag { language: "pag", 	tag: Tag::from_bytes(b"PAG ") }, // Pangasinan
1120    LangTag { language: "pal", 	tag: Tag(0)	            }, // Pahlavi != Pali
1121//  LangTag { language: "pam", 	tag: Tag::from_bytes(b"PAM ") }, // Pampanga -> Pampangan
1122    LangTag { language: "pap", 	tag: Tag::from_bytes(b"PAP0") }, // Papiamento -> Papiamentu
1123    LangTag { language: "pap", 	tag: Tag::from_bytes(b"CPP ") }, // Papiamento -> Creoles
1124    LangTag { language: "pas", 	tag: Tag(0)	            }, // Papasena != Pashto
1125//  LangTag { language: "pau", 	tag: Tag::from_bytes(b"PAU ") }, // Palauan
1126    LangTag { language: "pbt", 	tag: Tag::from_bytes(b"PAS ") }, // Southern Pashto -> Pashto
1127    LangTag { language: "pbu", 	tag: Tag::from_bytes(b"PAS ") }, // Northern Pashto -> Pashto
1128//  LangTag { language: "pcc", 	tag: Tag::from_bytes(b"PCC ") }, // Bouyei
1129//  LangTag { language: "pcd", 	tag: Tag::from_bytes(b"PCD ") }, // Picard
1130    LangTag { language: "pce", 	tag: Tag::from_bytes(b"PLG ") }, // Ruching Palaung -> Palaung
1131    LangTag { language: "pck", 	tag: Tag::from_bytes(b"QIN ") }, // Paite Chin -> Chin
1132    LangTag { language: "pcm", 	tag: Tag::from_bytes(b"CPP ") }, // Nigerian Pidgin -> Creoles
1133//  LangTag { language: "pdc", 	tag: Tag::from_bytes(b"PDC ") }, // Pennsylvania German
1134    LangTag { language: "pdu", 	tag: Tag::from_bytes(b"KRN ") }, // Kayan -> Karen
1135    LangTag { language: "pea", 	tag: Tag::from_bytes(b"CPP ") }, // Peranakan Indonesian -> Creoles
1136    LangTag { language: "pel", 	tag: Tag::from_bytes(b"MLY ") }, // Pekal -> Malay
1137    LangTag { language: "pes", 	tag: Tag::from_bytes(b"FAR ") }, // Iranian Persian -> Persian
1138    LangTag { language: "pey", 	tag: Tag::from_bytes(b"CPP ") }, // Petjo -> Creoles
1139    LangTag { language: "pga", 	tag: Tag::from_bytes(b"ARA ") }, // Sudanese Creole Arabic -> Arabic
1140    LangTag { language: "pga", 	tag: Tag::from_bytes(b"CPP ") }, // Sudanese Creole Arabic -> Creoles
1141//  LangTag { language: "phk", 	tag: Tag::from_bytes(b"PHK ") }, // Phake
1142    LangTag { language: "pi", 	tag: Tag::from_bytes(b"PAL ") }, // Pali
1143    LangTag { language: "pih", 	tag: Tag::from_bytes(b"PIH ") }, // Pitcairn-Norfolk -> Norfolk
1144    LangTag { language: "pih", 	tag: Tag::from_bytes(b"CPP ") }, // Pitcairn-Norfolk -> Creoles
1145    LangTag { language: "pil", 	tag: Tag(0)	            }, // Yom != Filipino
1146    LangTag { language: "pis", 	tag: Tag::from_bytes(b"CPP ") }, // Pijin -> Creoles
1147    LangTag { language: "pkh", 	tag: Tag::from_bytes(b"QIN ") }, // Pankhu -> Chin
1148    LangTag { language: "pko", 	tag: Tag::from_bytes(b"KAL ") }, // Pökoot -> Kalenjin
1149    LangTag { language: "pl", 	tag: Tag::from_bytes(b"PLK ") }, // Polish
1150    LangTag { language: "plg", 	tag: Tag::from_bytes(b"PLG0") }, // Pilagá
1151    LangTag { language: "plk", 	tag: Tag(0)	            }, // Kohistani Shina != Polish
1152    LangTag { language: "pll", 	tag: Tag::from_bytes(b"PLG ") }, // Shwe Palaung -> Palaung
1153    LangTag { language: "pln", 	tag: Tag::from_bytes(b"CPP ") }, // Palenquero -> Creoles
1154    LangTag { language: "plp", 	tag: Tag::from_bytes(b"PAP ") }, // Palpa(retired code)
1155    LangTag { language: "plt", 	tag: Tag::from_bytes(b"MLG ") }, // Plateau Malagasy -> Malagasy
1156    LangTag { language: "pml", 	tag: Tag::from_bytes(b"CPP ") }, // Lingua Franca -> Creoles
1157//  LangTag { language: "pms", 	tag: Tag::from_bytes(b"PMS ") }, // Piemontese
1158    LangTag { language: "pmy", 	tag: Tag::from_bytes(b"CPP ") }, // Papuan Malay -> Creoles
1159//  LangTag { language: "pnb", 	tag: Tag::from_bytes(b"PNB ") }, // Western Panjabi
1160    LangTag { language: "poc", 	tag: Tag::from_bytes(b"MYN ") }, // Poqomam -> Mayan
1161    LangTag { language: "poh", 	tag: Tag::from_bytes(b"POH ") }, // Poqomchi' -> Pocomchi
1162    LangTag { language: "poh", 	tag: Tag::from_bytes(b"MYN ") }, // Poqomchi' -> Mayan
1163//  LangTag { language: "pon", 	tag: Tag::from_bytes(b"PON ") }, // Pohnpeian
1164    LangTag { language: "pov", 	tag: Tag::from_bytes(b"CPP ") }, // Upper Guinea Crioulo -> Creoles
1165    LangTag { language: "ppa", 	tag: Tag::from_bytes(b"BAG ") }, // Pao(retired code) -> Baghelkhandi
1166    LangTag { language: "pre", 	tag: Tag::from_bytes(b"CPP ") }, // Principense -> Creoles
1167//  LangTag { language: "pro", 	tag: Tag::from_bytes(b"PRO ") }, // Old Provençal (to 1500) -> Provençal / Old Provençal
1168    LangTag { language: "prp", 	tag: Tag::from_bytes(b"GUJ ") }, // Parsi(retired code) -> Gujarati
1169    LangTag { language: "prs", 	tag: Tag::from_bytes(b"DRI ") }, // Dari
1170    LangTag { language: "prs", 	tag: Tag::from_bytes(b"FAR ") }, // Dari -> Persian
1171    LangTag { language: "ps", 	tag: Tag::from_bytes(b"PAS ") }, // Pashto [macrolanguage]
1172    LangTag { language: "pse", 	tag: Tag::from_bytes(b"MLY ") }, // Central Malay -> Malay
1173    LangTag { language: "pst", 	tag: Tag::from_bytes(b"PAS ") }, // Central Pashto -> Pashto
1174    LangTag { language: "pt", 	tag: Tag::from_bytes(b"PTG ") }, // Portuguese
1175    LangTag { language: "pub", 	tag: Tag::from_bytes(b"QIN ") }, // Purum -> Chin
1176    LangTag { language: "puz", 	tag: Tag::from_bytes(b"QIN ") }, // Purum Naga(retired code) -> Chin
1177    LangTag { language: "pwo", 	tag: Tag::from_bytes(b"PWO ") }, // Pwo Western Karen -> Western Pwo Karen
1178    LangTag { language: "pwo", 	tag: Tag::from_bytes(b"KRN ") }, // Pwo Western Karen -> Karen
1179    LangTag { language: "pww", 	tag: Tag::from_bytes(b"KRN ") }, // Pwo Northern Karen -> Karen
1180    LangTag { language: "qu", 	tag: Tag::from_bytes(b"QUZ ") }, // Quechua [macrolanguage]
1181    LangTag { language: "qub", 	tag: Tag::from_bytes(b"QWH ") }, // Huallaga Huánuco Quechua -> Quechua (Peru)
1182    LangTag { language: "qub", 	tag: Tag::from_bytes(b"QUZ ") }, // Huallaga Huánuco Quechua -> Quechua
1183    LangTag { language: "quc", 	tag: Tag::from_bytes(b"QUC ") }, // K’iche’
1184    LangTag { language: "quc", 	tag: Tag::from_bytes(b"MYN ") }, // K'iche' -> Mayan
1185    LangTag { language: "qud", 	tag: Tag::from_bytes(b"QVI ") }, // Calderón Highland Quichua -> Quechua (Ecuador)
1186    LangTag { language: "qud", 	tag: Tag::from_bytes(b"QUZ ") }, // Calderón Highland Quichua -> Quechua
1187    LangTag { language: "quf", 	tag: Tag::from_bytes(b"QUZ ") }, // Lambayeque Quechua -> Quechua
1188    LangTag { language: "qug", 	tag: Tag::from_bytes(b"QVI ") }, // Chimborazo Highland Quichua -> Quechua (Ecuador)
1189    LangTag { language: "qug", 	tag: Tag::from_bytes(b"QUZ ") }, // Chimborazo Highland Quichua -> Quechua
1190    LangTag { language: "quh", 	tag: Tag::from_bytes(b"QUH ") }, // South Bolivian Quechua -> Quechua (Bolivia)
1191    LangTag { language: "quh", 	tag: Tag::from_bytes(b"QUZ ") }, // South Bolivian Quechua -> Quechua
1192    LangTag { language: "quk", 	tag: Tag::from_bytes(b"QUZ ") }, // Chachapoyas Quechua -> Quechua
1193    LangTag { language: "qul", 	tag: Tag::from_bytes(b"QUH ") }, // North Bolivian Quechua -> Quechua (Bolivia)
1194    LangTag { language: "qul", 	tag: Tag::from_bytes(b"QUZ ") }, // North Bolivian Quechua -> Quechua
1195    LangTag { language: "qum", 	tag: Tag::from_bytes(b"MYN ") }, // Sipacapense -> Mayan
1196    LangTag { language: "qup", 	tag: Tag::from_bytes(b"QVI ") }, // Southern Pastaza Quechua -> Quechua (Ecuador)
1197    LangTag { language: "qup", 	tag: Tag::from_bytes(b"QUZ ") }, // Southern Pastaza Quechua -> Quechua
1198    LangTag { language: "qur", 	tag: Tag::from_bytes(b"QWH ") }, // Yanahuanca Pasco Quechua -> Quechua (Peru)
1199    LangTag { language: "qur", 	tag: Tag::from_bytes(b"QUZ ") }, // Yanahuanca Pasco Quechua -> Quechua
1200    LangTag { language: "qus", 	tag: Tag::from_bytes(b"QUH ") }, // Santiago del Estero Quichua -> Quechua (Bolivia)
1201    LangTag { language: "qus", 	tag: Tag::from_bytes(b"QUZ ") }, // Santiago del Estero Quichua -> Quechua
1202    LangTag { language: "quv", 	tag: Tag::from_bytes(b"MYN ") }, // Sacapulteco -> Mayan
1203    LangTag { language: "quw", 	tag: Tag::from_bytes(b"QVI ") }, // Tena Lowland Quichua -> Quechua (Ecuador)
1204    LangTag { language: "quw", 	tag: Tag::from_bytes(b"QUZ ") }, // Tena Lowland Quichua -> Quechua
1205    LangTag { language: "qux", 	tag: Tag::from_bytes(b"QWH ") }, // Yauyos Quechua -> Quechua (Peru)
1206    LangTag { language: "qux", 	tag: Tag::from_bytes(b"QUZ ") }, // Yauyos Quechua -> Quechua
1207    LangTag { language: "quy", 	tag: Tag::from_bytes(b"QUZ ") }, // Ayacucho Quechua -> Quechua
1208//  LangTag { language: "quz", 	tag: Tag::from_bytes(b"QUZ ") }, // Cusco Quechua -> Quechua
1209    LangTag { language: "qva", 	tag: Tag::from_bytes(b"QWH ") }, // Ambo-Pasco Quechua -> Quechua (Peru)
1210    LangTag { language: "qva", 	tag: Tag::from_bytes(b"QUZ ") }, // Ambo-Pasco Quechua -> Quechua
1211    LangTag { language: "qvc", 	tag: Tag::from_bytes(b"QUZ ") }, // Cajamarca Quechua -> Quechua
1212    LangTag { language: "qve", 	tag: Tag::from_bytes(b"QUZ ") }, // Eastern Apurímac Quechua -> Quechua
1213    LangTag { language: "qvh", 	tag: Tag::from_bytes(b"QWH ") }, // Huamalíes-Dos de Mayo Huánuco Quechua -> Quechua (Peru)
1214    LangTag { language: "qvh", 	tag: Tag::from_bytes(b"QUZ ") }, // Huamalíes-Dos de Mayo Huánuco Quechua -> Quechua
1215    LangTag { language: "qvi", 	tag: Tag::from_bytes(b"QVI ") }, // Imbabura Highland Quichua -> Quechua (Ecuador)
1216    LangTag { language: "qvi", 	tag: Tag::from_bytes(b"QUZ ") }, // Imbabura Highland Quichua -> Quechua
1217    LangTag { language: "qvj", 	tag: Tag::from_bytes(b"QVI ") }, // Loja Highland Quichua -> Quechua (Ecuador)
1218    LangTag { language: "qvj", 	tag: Tag::from_bytes(b"QUZ ") }, // Loja Highland Quichua -> Quechua
1219    LangTag { language: "qvl", 	tag: Tag::from_bytes(b"QWH ") }, // Cajatambo North Lima Quechua -> Quechua (Peru)
1220    LangTag { language: "qvl", 	tag: Tag::from_bytes(b"QUZ ") }, // Cajatambo North Lima Quechua -> Quechua
1221    LangTag { language: "qvm", 	tag: Tag::from_bytes(b"QWH ") }, // Margos-Yarowilca-Lauricocha Quechua -> Quechua (Peru)
1222    LangTag { language: "qvm", 	tag: Tag::from_bytes(b"QUZ ") }, // Margos-Yarowilca-Lauricocha Quechua -> Quechua
1223    LangTag { language: "qvn", 	tag: Tag::from_bytes(b"QWH ") }, // North Junín Quechua -> Quechua (Peru)
1224    LangTag { language: "qvn", 	tag: Tag::from_bytes(b"QUZ ") }, // North Junín Quechua -> Quechua
1225    LangTag { language: "qvo", 	tag: Tag::from_bytes(b"QVI ") }, // Napo Lowland Quechua -> Quechua (Ecuador)
1226    LangTag { language: "qvo", 	tag: Tag::from_bytes(b"QUZ ") }, // Napo Lowland Quechua -> Quechua
1227    LangTag { language: "qvp", 	tag: Tag::from_bytes(b"QWH ") }, // Pacaraos Quechua -> Quechua (Peru)
1228    LangTag { language: "qvp", 	tag: Tag::from_bytes(b"QUZ ") }, // Pacaraos Quechua -> Quechua
1229    LangTag { language: "qvs", 	tag: Tag::from_bytes(b"QUZ ") }, // San Martín Quechua -> Quechua
1230    LangTag { language: "qvw", 	tag: Tag::from_bytes(b"QWH ") }, // Huaylla Wanca Quechua -> Quechua (Peru)
1231    LangTag { language: "qvw", 	tag: Tag::from_bytes(b"QUZ ") }, // Huaylla Wanca Quechua -> Quechua
1232    LangTag { language: "qvz", 	tag: Tag::from_bytes(b"QVI ") }, // Northern Pastaza Quichua -> Quechua (Ecuador)
1233    LangTag { language: "qvz", 	tag: Tag::from_bytes(b"QUZ ") }, // Northern Pastaza Quichua -> Quechua
1234    LangTag { language: "qwa", 	tag: Tag::from_bytes(b"QWH ") }, // Corongo Ancash Quechua -> Quechua (Peru)
1235    LangTag { language: "qwa", 	tag: Tag::from_bytes(b"QUZ ") }, // Corongo Ancash Quechua -> Quechua
1236    LangTag { language: "qwc", 	tag: Tag::from_bytes(b"QUZ ") }, // Classical Quechua -> Quechua
1237    LangTag { language: "qwh", 	tag: Tag::from_bytes(b"QWH ") }, // Huaylas Ancash Quechua -> Quechua (Peru)
1238    LangTag { language: "qwh", 	tag: Tag::from_bytes(b"QUZ ") }, // Huaylas Ancash Quechua -> Quechua
1239    LangTag { language: "qws", 	tag: Tag::from_bytes(b"QWH ") }, // Sihuas Ancash Quechua -> Quechua (Peru)
1240    LangTag { language: "qws", 	tag: Tag::from_bytes(b"QUZ ") }, // Sihuas Ancash Quechua -> Quechua
1241    LangTag { language: "qwt", 	tag: Tag::from_bytes(b"ATH ") }, // Kwalhioqua-Tlatskanai -> Athapaskan
1242    LangTag { language: "qxa", 	tag: Tag::from_bytes(b"QWH ") }, // Chiquián Ancash Quechua -> Quechua (Peru)
1243    LangTag { language: "qxa", 	tag: Tag::from_bytes(b"QUZ ") }, // Chiquián Ancash Quechua -> Quechua
1244    LangTag { language: "qxc", 	tag: Tag::from_bytes(b"QWH ") }, // Chincha Quechua -> Quechua (Peru)
1245    LangTag { language: "qxc", 	tag: Tag::from_bytes(b"QUZ ") }, // Chincha Quechua -> Quechua
1246    LangTag { language: "qxh", 	tag: Tag::from_bytes(b"QWH ") }, // Panao Huánuco Quechua -> Quechua (Peru)
1247    LangTag { language: "qxh", 	tag: Tag::from_bytes(b"QUZ ") }, // Panao Huánuco Quechua -> Quechua
1248    LangTag { language: "qxl", 	tag: Tag::from_bytes(b"QVI ") }, // Salasaca Highland Quichua -> Quechua (Ecuador)
1249    LangTag { language: "qxl", 	tag: Tag::from_bytes(b"QUZ ") }, // Salasaca Highland Quichua -> Quechua
1250    LangTag { language: "qxn", 	tag: Tag::from_bytes(b"QWH ") }, // Northern Conchucos Ancash Quechua -> Quechua (Peru)
1251    LangTag { language: "qxn", 	tag: Tag::from_bytes(b"QUZ ") }, // Northern Conchucos Ancash Quechua -> Quechua
1252    LangTag { language: "qxo", 	tag: Tag::from_bytes(b"QWH ") }, // Southern Conchucos Ancash Quechua -> Quechua (Peru)
1253    LangTag { language: "qxo", 	tag: Tag::from_bytes(b"QUZ ") }, // Southern Conchucos Ancash Quechua -> Quechua
1254    LangTag { language: "qxp", 	tag: Tag::from_bytes(b"QUZ ") }, // Puno Quechua -> Quechua
1255    LangTag { language: "qxr", 	tag: Tag::from_bytes(b"QVI ") }, // Cañar Highland Quichua -> Quechua (Ecuador)
1256    LangTag { language: "qxr", 	tag: Tag::from_bytes(b"QUZ ") }, // Cañar Highland Quichua -> Quechua
1257    LangTag { language: "qxt", 	tag: Tag::from_bytes(b"QWH ") }, // Santa Ana de Tusi Pasco Quechua -> Quechua (Peru)
1258    LangTag { language: "qxt", 	tag: Tag::from_bytes(b"QUZ ") }, // Santa Ana de Tusi Pasco Quechua -> Quechua
1259    LangTag { language: "qxu", 	tag: Tag::from_bytes(b"QUZ ") }, // Arequipa-La Unión Quechua -> Quechua
1260    LangTag { language: "qxw", 	tag: Tag::from_bytes(b"QWH ") }, // Jauja Wanca Quechua -> Quechua (Peru)
1261    LangTag { language: "qxw", 	tag: Tag::from_bytes(b"QUZ ") }, // Jauja Wanca Quechua -> Quechua
1262    LangTag { language: "rag", 	tag: Tag::from_bytes(b"LUH ") }, // Logooli -> Luyia
1263//  LangTag { language: "raj", 	tag: Tag::from_bytes(b"RAJ ") }, // Rajasthani [macrolanguage]
1264    LangTag { language: "ral", 	tag: Tag::from_bytes(b"QIN ") }, // Ralte -> Chin
1265//  LangTag { language: "rar", 	tag: Tag::from_bytes(b"RAR ") }, // Rarotongan
1266    LangTag { language: "rbb", 	tag: Tag::from_bytes(b"PLG ") }, // Rumai Palaung -> Palaung
1267    LangTag { language: "rbl", 	tag: Tag::from_bytes(b"BIK ") }, // Miraya Bikol -> Bikol
1268    LangTag { language: "rcf", 	tag: Tag::from_bytes(b"CPP ") }, // Réunion Creole French -> Creoles
1269//  LangTag { language: "rej", 	tag: Tag::from_bytes(b"REJ ") }, // Rejang
1270//  LangTag { language: "rhg", 	tag: Tag::from_bytes(b"RHG ") }, // Rohingya
1271//  LangTag { language: "ria", 	tag: Tag::from_bytes(b"RIA ") }, // Riang (India)
1272    LangTag { language: "rif", 	tag: Tag::from_bytes(b"RIF ") }, // Tarifit
1273    LangTag { language: "rif", 	tag: Tag::from_bytes(b"BBR ") }, // Tarifit -> Berber
1274//  LangTag { language: "rit", 	tag: Tag::from_bytes(b"RIT ") }, // Ritharrngu -> Ritarungo
1275    LangTag { language: "rki", 	tag: Tag::from_bytes(b"ARK ") }, // Rakhine
1276//  LangTag { language: "rkw", 	tag: Tag::from_bytes(b"RKW ") }, // Arakwal
1277    LangTag { language: "rm", 	tag: Tag::from_bytes(b"RMS ") }, // Romansh
1278    LangTag { language: "rmc", 	tag: Tag::from_bytes(b"ROY ") }, // Carpathian Romani -> Romany
1279    LangTag { language: "rmf", 	tag: Tag::from_bytes(b"ROY ") }, // Kalo Finnish Romani -> Romany
1280    LangTag { language: "rml", 	tag: Tag::from_bytes(b"ROY ") }, // Baltic Romani -> Romany
1281    LangTag { language: "rmn", 	tag: Tag::from_bytes(b"ROY ") }, // Balkan Romani -> Romany
1282    LangTag { language: "rmo", 	tag: Tag::from_bytes(b"ROY ") }, // Sinte Romani -> Romany
1283    LangTag { language: "rms", 	tag: Tag(0)	            }, // Romanian Sign Language != Romansh
1284    LangTag { language: "rmw", 	tag: Tag::from_bytes(b"ROY ") }, // Welsh Romani -> Romany
1285    LangTag { language: "rmy", 	tag: Tag::from_bytes(b"RMY ") }, // Vlax Romani
1286    LangTag { language: "rmy", 	tag: Tag::from_bytes(b"ROY ") }, // Vlax Romani -> Romany
1287    LangTag { language: "rmz", 	tag: Tag::from_bytes(b"ARK ") }, // Marma -> Rakhine
1288    LangTag { language: "rn", 	tag: Tag::from_bytes(b"RUN ") }, // Rundi
1289    LangTag { language: "ro", 	tag: Tag::from_bytes(b"ROM ") }, // Romanian
1290    LangTag { language: "rom", 	tag: Tag::from_bytes(b"ROY ") }, // Romany [macrolanguage]
1291    LangTag { language: "rop", 	tag: Tag::from_bytes(b"CPP ") }, // Kriol -> Creoles
1292    LangTag { language: "rtc", 	tag: Tag::from_bytes(b"QIN ") }, // Rungtu Chin -> Chin
1293//  LangTag { language: "rtm", 	tag: Tag::from_bytes(b"RTM ") }, // Rotuman
1294    LangTag { language: "ru", 	tag: Tag::from_bytes(b"RUS ") }, // Russian
1295    LangTag { language: "rue", 	tag: Tag::from_bytes(b"RSY ") }, // Rusyn
1296//  LangTag { language: "rup", 	tag: Tag::from_bytes(b"RUP ") }, // Aromanian
1297    LangTag { language: "rw", 	tag: Tag::from_bytes(b"RUA ") }, // Kinyarwanda
1298    LangTag { language: "rwr", 	tag: Tag::from_bytes(b"MAW ") }, // Marwari (India)
1299    LangTag { language: "sa", 	tag: Tag::from_bytes(b"SAN ") }, // Sanskrit [macrolanguage]
1300    LangTag { language: "sad", 	tag: Tag(0)	            }, // Sandawe != Sadri
1301    LangTag { language: "sah", 	tag: Tag::from_bytes(b"YAK ") }, // Yakut -> Sakha
1302    LangTag { language: "sam", 	tag: Tag::from_bytes(b"PAA ") }, // Samaritan Aramaic -> Palestinian Aramaic
1303//  LangTag { language: "sas", 	tag: Tag::from_bytes(b"SAS ") }, // Sasak
1304//  LangTag { language: "sat", 	tag: Tag::from_bytes(b"SAT ") }, // Santali
1305    LangTag { language: "say", 	tag: Tag(0)	            }, // Saya != Sayisi
1306    LangTag { language: "sc", 	tag: Tag::from_bytes(b"SRD ") }, // Sardinian [macrolanguage]
1307    LangTag { language: "scf", 	tag: Tag::from_bytes(b"CPP ") }, // San Miguel Creole French -> Creoles
1308    LangTag { language: "sch", 	tag: Tag::from_bytes(b"QIN ") }, // Sakachep -> Chin
1309    LangTag { language: "sci", 	tag: Tag::from_bytes(b"CPP ") }, // Sri Lankan Creole Malay -> Creoles
1310    LangTag { language: "sck", 	tag: Tag::from_bytes(b"SAD ") }, // Sadri
1311//  LangTag { language: "scn", 	tag: Tag::from_bytes(b"SCN ") }, // Sicilian
1312//  LangTag { language: "sco", 	tag: Tag::from_bytes(b"SCO ") }, // Scots
1313    LangTag { language: "scs", 	tag: Tag::from_bytes(b"SCS ") }, // North Slavey
1314    LangTag { language: "scs", 	tag: Tag::from_bytes(b"SLA ") }, // North Slavey -> Slavey
1315    LangTag { language: "scs", 	tag: Tag::from_bytes(b"ATH ") }, // North Slavey -> Athapaskan
1316    LangTag { language: "sd", 	tag: Tag::from_bytes(b"SND ") }, // Sindhi
1317    LangTag { language: "sdc", 	tag: Tag::from_bytes(b"SRD ") }, // Sassarese Sardinian -> Sardinian
1318    LangTag { language: "sdh", 	tag: Tag::from_bytes(b"KUR ") }, // Southern Kurdish -> Kurdish
1319    LangTag { language: "sdn", 	tag: Tag::from_bytes(b"SRD ") }, // Gallurese Sardinian -> Sardinian
1320    LangTag { language: "sds", 	tag: Tag::from_bytes(b"BBR ") }, // Sened -> Berber
1321    LangTag { language: "se", 	tag: Tag::from_bytes(b"NSM ") }, // Northern Sami
1322//  LangTag { language: "see", 	tag: Tag::from_bytes(b"SEE ") }, // Seneca
1323    LangTag { language: "seh", 	tag: Tag::from_bytes(b"SNA ") }, // Sena
1324    LangTag { language: "sek", 	tag: Tag::from_bytes(b"ATH ") }, // Sekani -> Athapaskan
1325//  LangTag { language: "sel", 	tag: Tag::from_bytes(b"SEL ") }, // Selkup
1326    LangTag { language: "sez", 	tag: Tag::from_bytes(b"QIN ") }, // Senthang Chin -> Chin
1327    LangTag { language: "sfm", 	tag: Tag::from_bytes(b"SFM ") }, // Small Flowery Miao
1328    LangTag { language: "sfm", 	tag: Tag::from_bytes(b"HMN ") }, // Small Flowery Miao -> Hmong
1329    LangTag { language: "sg", 	tag: Tag::from_bytes(b"SGO ") }, // Sango
1330//  LangTag { language: "sga", 	tag: Tag::from_bytes(b"SGA ") }, // Old Irish (to 900)
1331    LangTag { language: "sgc", 	tag: Tag::from_bytes(b"KAL ") }, // Kipsigis -> Kalenjin
1332    LangTag { language: "sgo", 	tag: Tag(0)	            }, // Songa(retired code) != Sango
1333//  LangTag { language: "sgs", 	tag: Tag::from_bytes(b"SGS ") }, // Samogitian
1334    LangTag { language: "sgw", 	tag: Tag::from_bytes(b"CHG ") }, // Sebat Bet Gurage -> Chaha Gurage
1335    LangTag { language: "sh", 	tag: Tag::from_bytes(b"BOS ") }, // Serbo-Croatian [macrolanguage] -> Bosnian
1336    LangTag { language: "sh", 	tag: Tag::from_bytes(b"HRV ") }, // Serbo-Croatian [macrolanguage] -> Croatian
1337    LangTag { language: "sh", 	tag: Tag::from_bytes(b"SRB ") }, // Serbo-Croatian [macrolanguage] -> Serbian
1338    LangTag { language: "shi", 	tag: Tag::from_bytes(b"SHI ") }, // Tachelhit
1339    LangTag { language: "shi", 	tag: Tag::from_bytes(b"BBR ") }, // Tachelhit -> Berber
1340    LangTag { language: "shl", 	tag: Tag::from_bytes(b"QIN ") }, // Shendu -> Chin
1341//  LangTag { language: "shn", 	tag: Tag::from_bytes(b"SHN ") }, // Shan
1342    LangTag { language: "shu", 	tag: Tag::from_bytes(b"ARA ") }, // Chadian Arabic -> Arabic
1343    LangTag { language: "shy", 	tag: Tag::from_bytes(b"BBR ") }, // Tachawit -> Berber
1344    LangTag { language: "si", 	tag: Tag::from_bytes(b"SNH ") }, // Sinhala (Sinhalese)
1345    LangTag { language: "sib", 	tag: Tag(0)	            }, // Sebop != Sibe
1346//  LangTag { language: "sid", 	tag: Tag::from_bytes(b"SID ") }, // Sidamo
1347    LangTag { language: "sig", 	tag: Tag(0)	            }, // Paasaal != Silte Gurage
1348    LangTag { language: "siz", 	tag: Tag::from_bytes(b"BBR ") }, // Siwi -> Berber
1349//  LangTag { language: "sja", 	tag: Tag::from_bytes(b"SJA ") }, // Epena
1350    LangTag { language: "sjd", 	tag: Tag::from_bytes(b"KSM ") }, // Kildin Sami
1351    LangTag { language: "sjo", 	tag: Tag::from_bytes(b"SIB ") }, // Xibe -> Sibe
1352    LangTag { language: "sjs", 	tag: Tag::from_bytes(b"BBR ") }, // Senhaja De Srair -> Berber
1353    LangTag { language: "sk", 	tag: Tag::from_bytes(b"SKY ") }, // Slovak
1354    LangTag { language: "skg", 	tag: Tag::from_bytes(b"MLG ") }, // Sakalava Malagasy -> Malagasy
1355    LangTag { language: "skr", 	tag: Tag::from_bytes(b"SRK ") }, // Saraiki
1356    LangTag { language: "sks", 	tag: Tag(0)	            }, // Maia != Skolt Sami
1357    LangTag { language: "skw", 	tag: Tag::from_bytes(b"CPP ") }, // Skepi Creole Dutch -> Creoles
1358    LangTag { language: "sky", 	tag: Tag(0)	            }, // Sikaiana != Slovak
1359    LangTag { language: "sl", 	tag: Tag::from_bytes(b"SLV ") }, // Slovenian
1360    LangTag { language: "sla", 	tag: Tag(0)	            }, // Slavic  [collection] != Slavey
1361    LangTag { language: "sm", 	tag: Tag::from_bytes(b"SMO ") }, // Samoan
1362    LangTag { language: "sma", 	tag: Tag::from_bytes(b"SSM ") }, // Southern Sami
1363    LangTag { language: "smd", 	tag: Tag::from_bytes(b"MBN ") }, // Sama(retired code) -> Mbundu
1364    LangTag { language: "smj", 	tag: Tag::from_bytes(b"LSM ") }, // Lule Sami
1365    LangTag { language: "sml", 	tag: Tag(0)	            }, // Central Sama != Somali
1366    LangTag { language: "smn", 	tag: Tag::from_bytes(b"ISM ") }, // Inari Sami
1367    LangTag { language: "sms", 	tag: Tag::from_bytes(b"SKS ") }, // Skolt Sami
1368    LangTag { language: "smt", 	tag: Tag::from_bytes(b"QIN ") }, // Simte -> Chin
1369    LangTag { language: "sn", 	tag: Tag::from_bytes(b"SNA0") }, // Shona
1370    LangTag { language: "snb", 	tag: Tag::from_bytes(b"IBA ") }, // Sebuyau(retired code) -> Iban
1371    LangTag { language: "snh", 	tag: Tag(0)	            }, // Shinabo(retired code) != Sinhala (Sinhalese)
1372//  LangTag { language: "snk", 	tag: Tag::from_bytes(b"SNK ") }, // Soninke
1373    LangTag { language: "so", 	tag: Tag::from_bytes(b"SML ") }, // Somali
1374    LangTag { language: "sog", 	tag: Tag(0)	            }, // Sogdian != Sodo Gurage
1375//  LangTag { language: "sop", 	tag: Tag::from_bytes(b"SOP ") }, // Songe
1376    LangTag { language: "spv", 	tag: Tag::from_bytes(b"ORI ") }, // Sambalpuri -> Odia
1377    LangTag { language: "spy", 	tag: Tag::from_bytes(b"KAL ") }, // Sabaot -> Kalenjin
1378    LangTag { language: "sq", 	tag: Tag::from_bytes(b"SQI ") }, // Albanian [macrolanguage]
1379    LangTag { language: "sr", 	tag: Tag::from_bytes(b"SRB ") }, // Serbian
1380    LangTag { language: "srb", 	tag: Tag(0)	            }, // Sora != Serbian
1381    LangTag { language: "src", 	tag: Tag::from_bytes(b"SRD ") }, // Logudorese Sardinian -> Sardinian
1382    LangTag { language: "srk", 	tag: Tag(0)	            }, // Serudung Murut != Saraiki
1383    LangTag { language: "srm", 	tag: Tag::from_bytes(b"CPP ") }, // Saramaccan -> Creoles
1384    LangTag { language: "srn", 	tag: Tag::from_bytes(b"CPP ") }, // Sranan Tongo -> Creoles
1385    LangTag { language: "sro", 	tag: Tag::from_bytes(b"SRD ") }, // Campidanese Sardinian -> Sardinian
1386//  LangTag { language: "srr", 	tag: Tag::from_bytes(b"SRR ") }, // Serer
1387    LangTag { language: "srs", 	tag: Tag::from_bytes(b"ATH ") }, // Sarsi -> Athapaskan
1388    LangTag { language: "ss", 	tag: Tag::from_bytes(b"SWZ ") }, // Swati
1389    LangTag { language: "ssh", 	tag: Tag::from_bytes(b"ARA ") }, // Shihhi Arabic -> Arabic
1390    LangTag { language: "ssl", 	tag: Tag(0)	            }, // Western Sisaala != South Slavey
1391    LangTag { language: "ssm", 	tag: Tag(0)	            }, // Semnam != Southern Sami
1392    LangTag { language: "st", 	tag: Tag::from_bytes(b"SOT ") }, // Southern Sotho
1393    LangTag { language: "sta", 	tag: Tag::from_bytes(b"CPP ") }, // Settla -> Creoles
1394//  LangTag { language: "stq", 	tag: Tag::from_bytes(b"STQ ") }, // Saterfriesisch -> Saterland Frisian
1395//  LangTag { language: "str", 	tag: Tag::from_bytes(b"STR ") }, // Straits Salish
1396    LangTag { language: "stv", 	tag: Tag::from_bytes(b"SIG ") }, // Silt'e -> Silte Gurage
1397    LangTag { language: "su", 	tag: Tag::from_bytes(b"SUN ") }, // Sundanese
1398//  LangTag { language: "suk", 	tag: Tag::from_bytes(b"SUK ") }, // Sukuma
1399    LangTag { language: "suq", 	tag: Tag::from_bytes(b"SUR ") }, // Suri
1400    LangTag { language: "sur", 	tag: Tag(0)	            }, // Mwaghavul != Suri
1401    LangTag { language: "sv", 	tag: Tag::from_bytes(b"SVE ") }, // Swedish
1402//  LangTag { language: "sva", 	tag: Tag::from_bytes(b"SVA ") }, // Svan
1403    LangTag { language: "svc", 	tag: Tag::from_bytes(b"CPP ") }, // Vincentian Creole English -> Creoles
1404    LangTag { language: "sve", 	tag: Tag(0)	            }, // Serili != Swedish
1405    LangTag { language: "sw", 	tag: Tag::from_bytes(b"SWK ") }, // Swahili  [macrolanguage]
1406    LangTag { language: "swb", 	tag: Tag::from_bytes(b"CMR ") }, // Maore Comorian -> Comorian
1407    LangTag { language: "swc", 	tag: Tag::from_bytes(b"SWK ") }, // Congo Swahili -> Swahili
1408    LangTag { language: "swh", 	tag: Tag::from_bytes(b"SWK ") }, // Swahili 
1409    LangTag { language: "swk", 	tag: Tag(0)	            }, // Malawi Sena != Swahili
1410    LangTag { language: "swn", 	tag: Tag::from_bytes(b"BBR ") }, // Sawknah -> Berber
1411    LangTag { language: "swv", 	tag: Tag::from_bytes(b"MAW ") }, // Shekhawati -> Marwari
1412//  LangTag { language: "sxu", 	tag: Tag::from_bytes(b"SXU ") }, // Upper Saxon
1413    LangTag { language: "syc", 	tag: Tag::from_bytes(b"SYR ") }, // Classical Syriac -> Syriac
1414//  LangTag { language: "syl", 	tag: Tag::from_bytes(b"SYL ") }, // Sylheti
1415//  LangTag { language: "syr", 	tag: Tag::from_bytes(b"SYR ") }, // Syriac [macrolanguage]
1416//  LangTag { language: "szl", 	tag: Tag::from_bytes(b"SZL ") }, // Silesian
1417    LangTag { language: "ta", 	tag: Tag::from_bytes(b"TAM ") }, // Tamil
1418    LangTag { language: "taa", 	tag: Tag::from_bytes(b"ATH ") }, // Lower Tanana -> Athapaskan
1419//  LangTag { language: "tab", 	tag: Tag::from_bytes(b"TAB ") }, // Tabassaran -> Tabasaran
1420    LangTag { language: "taj", 	tag: Tag(0)	            }, // Eastern Tamang != Tajiki
1421    LangTag { language: "taq", 	tag: Tag::from_bytes(b"TAQ ") }, // Tamasheq
1422    LangTag { language: "taq", 	tag: Tag::from_bytes(b"TMH ") }, // Tamasheq -> Tamashek
1423    LangTag { language: "taq", 	tag: Tag::from_bytes(b"BBR ") }, // Tamasheq -> Berber
1424    LangTag { language: "tas", 	tag: Tag::from_bytes(b"CPP ") }, // Tay Boi -> Creoles
1425    LangTag { language: "tau", 	tag: Tag::from_bytes(b"ATH ") }, // Upper Tanana -> Athapaskan
1426    LangTag { language: "tcb", 	tag: Tag::from_bytes(b"ATH ") }, // Tanacross -> Athapaskan
1427    LangTag { language: "tce", 	tag: Tag::from_bytes(b"ATH ") }, // Southern Tutchone -> Athapaskan
1428    LangTag { language: "tch", 	tag: Tag::from_bytes(b"CPP ") }, // Turks And Caicos Creole English -> Creoles
1429    LangTag { language: "tcp", 	tag: Tag::from_bytes(b"QIN ") }, // Tawr Chin -> Chin
1430    LangTag { language: "tcs", 	tag: Tag::from_bytes(b"CPP ") }, // Torres Strait Creole -> Creoles
1431    LangTag { language: "tcy", 	tag: Tag::from_bytes(b"TUL ") }, // Tulu
1432    LangTag { language: "tcz", 	tag: Tag::from_bytes(b"QIN ") }, // Thado Chin -> Chin
1433//  LangTag { language: "tdc", 	tag: Tag::from_bytes(b"TDC ") }, // Emberá-Tadó
1434//  LangTag { language: "tdd", 	tag: Tag::from_bytes(b"TDD ") }, // Tai Nüa -> Dehong Dai
1435    LangTag { language: "tdx", 	tag: Tag::from_bytes(b"MLG ") }, // Tandroy-Mahafaly Malagasy -> Malagasy
1436    LangTag { language: "te", 	tag: Tag::from_bytes(b"TEL ") }, // Telugu
1437    LangTag { language: "tec", 	tag: Tag::from_bytes(b"KAL ") }, // Terik -> Kalenjin
1438    LangTag { language: "tem", 	tag: Tag::from_bytes(b"TMN ") }, // Timne -> Temne
1439//  LangTag { language: "tet", 	tag: Tag::from_bytes(b"TET ") }, // Tetum
1440    LangTag { language: "tez", 	tag: Tag::from_bytes(b"BBR ") }, // Tetserret -> Berber
1441    LangTag { language: "tfn", 	tag: Tag::from_bytes(b"ATH ") }, // Tanaina -> Athapaskan
1442    LangTag { language: "tg", 	tag: Tag::from_bytes(b"TAJ ") }, // Tajik -> Tajiki
1443    LangTag { language: "tgh", 	tag: Tag::from_bytes(b"CPP ") }, // Tobagonian Creole English -> Creoles
1444    LangTag { language: "tgj", 	tag: Tag::from_bytes(b"NIS ") }, // Tagin -> Nisi
1445    LangTag { language: "tgn", 	tag: Tag(0)	            }, // Tandaganon != Tongan
1446    LangTag { language: "tgr", 	tag: Tag(0)	            }, // Tareng != Tigre
1447    LangTag { language: "tgx", 	tag: Tag::from_bytes(b"ATH ") }, // Tagish -> Athapaskan
1448    LangTag { language: "tgy", 	tag: Tag(0)	            }, // Togoyo != Tigrinya
1449    LangTag { language: "th", 	tag: Tag::from_bytes(b"THA ") }, // Thai
1450//  LangTag { language: "thp", 	tag: Tag::from_bytes(b"THP ") }, // Thompson
1451    LangTag { language: "tht", 	tag: Tag::from_bytes(b"ATH ") }, // Tahltan -> Athapaskan
1452    LangTag { language: "thv", 	tag: Tag::from_bytes(b"THV ") }, // Tahaggart Tamahaq
1453    LangTag { language: "thv", 	tag: Tag::from_bytes(b"TMH ") }, // Tahaggart Tamahaq -> Tamashek
1454    LangTag { language: "thv", 	tag: Tag::from_bytes(b"BBR ") }, // Tahaggart Tamahaq -> Berber
1455    LangTag { language: "thz", 	tag: Tag::from_bytes(b"THZ ") }, // Tayart Tamajeq
1456    LangTag { language: "thz", 	tag: Tag::from_bytes(b"TMH ") }, // Tayart Tamajeq -> Tamashek
1457    LangTag { language: "thz", 	tag: Tag::from_bytes(b"BBR ") }, // Tayart Tamajeq -> Berber
1458    LangTag { language: "ti", 	tag: Tag::from_bytes(b"TGY ") }, // Tigrinya
1459    LangTag { language: "tia", 	tag: Tag::from_bytes(b"BBR ") }, // Tidikelt Tamazight -> Berber
1460    LangTag { language: "tig", 	tag: Tag::from_bytes(b"TGR ") }, // Tigre
1461//  LangTag { language: "tiv", 	tag: Tag::from_bytes(b"TIV ") }, // Tiv
1462//  LangTag { language: "tjl", 	tag: Tag::from_bytes(b"TJL ") }, // Tai Laing
1463    LangTag { language: "tjo", 	tag: Tag::from_bytes(b"BBR ") }, // Temacine Tamazight -> Berber
1464    LangTag { language: "tk", 	tag: Tag::from_bytes(b"TKM ") }, // Turkmen
1465    LangTag { language: "tkg", 	tag: Tag::from_bytes(b"MLG ") }, // Tesaka Malagasy -> Malagasy
1466    LangTag { language: "tkm", 	tag: Tag(0)	            }, // Takelma != Turkmen
1467    LangTag { language: "tl", 	tag: Tag::from_bytes(b"TGL ") }, // Tagalog
1468//  LangTag { language: "tli", 	tag: Tag::from_bytes(b"TLI ") }, // Tlingit
1469//  LangTag { language: "tly", 	tag: Tag::from_bytes(b"TLY ") }, // Talysh
1470    LangTag { language: "tmg", 	tag: Tag::from_bytes(b"CPP ") }, // Ternateño -> Creoles
1471    LangTag { language: "tmh", 	tag: Tag::from_bytes(b"TMH ") }, // Tamashek [macrolanguage]
1472    LangTag { language: "tmh", 	tag: Tag::from_bytes(b"BBR ") }, // Tamashek [macrolanguage] -> Berber
1473    LangTag { language: "tmn", 	tag: Tag(0)	            }, // Taman (Indonesia) != Temne
1474    LangTag { language: "tmw", 	tag: Tag::from_bytes(b"MLY ") }, // Temuan -> Malay
1475    LangTag { language: "tn", 	tag: Tag::from_bytes(b"TNA ") }, // Tswana
1476    LangTag { language: "tna", 	tag: Tag(0)	            }, // Tacana != Tswana
1477    LangTag { language: "tne", 	tag: Tag(0)	            }, // Tinoc Kallahan(retired code) != Tundra Enets
1478    LangTag { language: "tnf", 	tag: Tag::from_bytes(b"DRI ") }, // Tangshewi(retired code) -> Dari
1479    LangTag { language: "tnf", 	tag: Tag::from_bytes(b"FAR ") }, // Tangshewi(retired code) -> Persian
1480    LangTag { language: "tng", 	tag: Tag(0)	            }, // Tobanga != Tonga
1481    LangTag { language: "to", 	tag: Tag::from_bytes(b"TGN ") }, // Tonga (Tonga Islands) -> Tongan
1482    LangTag { language: "tod", 	tag: Tag::from_bytes(b"TOD0") }, // Toma
1483    LangTag { language: "toi", 	tag: Tag::from_bytes(b"TNG ") }, // Tonga (Zambia)
1484    LangTag { language: "toj", 	tag: Tag::from_bytes(b"MYN ") }, // Tojolabal -> Mayan
1485    LangTag { language: "tol", 	tag: Tag::from_bytes(b"ATH ") }, // Tolowa -> Athapaskan
1486    LangTag { language: "tor", 	tag: Tag::from_bytes(b"BAD0") }, // Togbo-Vara Banda -> Banda
1487    LangTag { language: "tpi", 	tag: Tag::from_bytes(b"TPI ") }, // Tok Pisin
1488    LangTag { language: "tpi", 	tag: Tag::from_bytes(b"CPP ") }, // Tok Pisin -> Creoles
1489    LangTag { language: "tr", 	tag: Tag::from_bytes(b"TRK ") }, // Turkish
1490    LangTag { language: "trf", 	tag: Tag::from_bytes(b"CPP ") }, // Trinidadian Creole English -> Creoles
1491    LangTag { language: "trk", 	tag: Tag(0)	            }, // Turkic  [collection] != Turkish
1492    LangTag { language: "tru", 	tag: Tag::from_bytes(b"TUA ") }, // Turoyo -> Turoyo Aramaic
1493    LangTag { language: "tru", 	tag: Tag::from_bytes(b"SYR ") }, // Turoyo -> Syriac
1494    LangTag { language: "ts", 	tag: Tag::from_bytes(b"TSG ") }, // Tsonga
1495    LangTag { language: "tsg", 	tag: Tag(0)	            }, // Tausug != Tsonga
1496//  LangTag { language: "tsj", 	tag: Tag::from_bytes(b"TSJ ") }, // Tshangla
1497    LangTag { language: "tt", 	tag: Tag::from_bytes(b"TAT ") }, // Tatar
1498    LangTag { language: "ttc", 	tag: Tag::from_bytes(b"MYN ") }, // Tektiteko -> Mayan
1499    LangTag { language: "ttm", 	tag: Tag::from_bytes(b"ATH ") }, // Northern Tutchone -> Athapaskan
1500    LangTag { language: "ttq", 	tag: Tag::from_bytes(b"TTQ ") }, // Tawallammat Tamajaq
1501    LangTag { language: "ttq", 	tag: Tag::from_bytes(b"TMH ") }, // Tawallammat Tamajaq -> Tamashek
1502    LangTag { language: "ttq", 	tag: Tag::from_bytes(b"BBR ") }, // Tawallammat Tamajaq -> Berber
1503    LangTag { language: "tua", 	tag: Tag(0)	            }, // Wiarumus != Turoyo Aramaic
1504    LangTag { language: "tul", 	tag: Tag(0)	            }, // Tula != Tulu
1505//  LangTag { language: "tum", 	tag: Tag::from_bytes(b"TUM ") }, // Tumbuka
1506//  LangTag { language: "tus", 	tag: Tag::from_bytes(b"TUS ") }, // Tuscarora
1507    LangTag { language: "tuu", 	tag: Tag::from_bytes(b"ATH ") }, // Tututni -> Athapaskan
1508    LangTag { language: "tuv", 	tag: Tag(0)	            }, // Turkana != Tuvin
1509    LangTag { language: "tuy", 	tag: Tag::from_bytes(b"KAL ") }, // Tugen -> Kalenjin
1510//  LangTag { language: "tvl", 	tag: Tag::from_bytes(b"TVL ") }, // Tuvalu
1511    LangTag { language: "tvy", 	tag: Tag::from_bytes(b"CPP ") }, // Timor Pidgin -> Creoles
1512    LangTag { language: "tw", 	tag: Tag::from_bytes(b"TWI ") }, // Twi
1513    LangTag { language: "tw", 	tag: Tag::from_bytes(b"AKA ") }, // Twi -> Akan
1514    LangTag { language: "txc", 	tag: Tag::from_bytes(b"ATH ") }, // Tsetsaut -> Athapaskan
1515    LangTag { language: "txy", 	tag: Tag::from_bytes(b"MLG ") }, // Tanosy Malagasy -> Malagasy
1516    LangTag { language: "ty", 	tag: Tag::from_bytes(b"THT ") }, // Tahitian
1517    LangTag { language: "tyv", 	tag: Tag::from_bytes(b"TUV ") }, // Tuvinian -> Tuvin
1518//  LangTag { language: "tyz", 	tag: Tag::from_bytes(b"TYZ ") }, // Tày
1519    LangTag { language: "tzh", 	tag: Tag::from_bytes(b"MYN ") }, // Tzeltal -> Mayan
1520    LangTag { language: "tzj", 	tag: Tag::from_bytes(b"MYN ") }, // Tz'utujil -> Mayan
1521    LangTag { language: "tzm", 	tag: Tag::from_bytes(b"TZM ") }, // Central Atlas Tamazight -> Tamazight
1522    LangTag { language: "tzm", 	tag: Tag::from_bytes(b"BBR ") }, // Central Atlas Tamazight -> Berber
1523    LangTag { language: "tzo", 	tag: Tag::from_bytes(b"TZO ") }, // Tzotzil
1524    LangTag { language: "tzo", 	tag: Tag::from_bytes(b"MYN ") }, // Tzotzil -> Mayan
1525    LangTag { language: "ubl", 	tag: Tag::from_bytes(b"BIK ") }, // Buhi'non Bikol -> Bikol
1526//  LangTag { language: "udi", 	tag: Tag::from_bytes(b"UDI ") }, // Udi
1527//  LangTag { language: "udm", 	tag: Tag::from_bytes(b"UDM ") }, // Udmurt
1528    LangTag { language: "ug", 	tag: Tag::from_bytes(b"UYG ") }, // Uyghur
1529    LangTag { language: "uk", 	tag: Tag::from_bytes(b"UKR ") }, // Ukrainian
1530    LangTag { language: "uki", 	tag: Tag::from_bytes(b"KUI ") }, // Kui (India)
1531    LangTag { language: "uln", 	tag: Tag::from_bytes(b"CPP ") }, // Unserdeutsch -> Creoles
1532//  LangTag { language: "umb", 	tag: Tag::from_bytes(b"UMB ") }, // Umbundu
1533    LangTag { language: "unr", 	tag: Tag::from_bytes(b"MUN ") }, // Mundari
1534    LangTag { language: "ur", 	tag: Tag::from_bytes(b"URD ") }, // Urdu
1535    LangTag { language: "urk", 	tag: Tag::from_bytes(b"MLY ") }, // Urak Lawoi' -> Malay
1536    LangTag { language: "usp", 	tag: Tag::from_bytes(b"MYN ") }, // Uspanteco -> Mayan
1537    LangTag { language: "uz", 	tag: Tag::from_bytes(b"UZB ") }, // Uzbek [macrolanguage]
1538    LangTag { language: "uzn", 	tag: Tag::from_bytes(b"UZB ") }, // Northern Uzbek -> Uzbek
1539    LangTag { language: "uzs", 	tag: Tag::from_bytes(b"UZB ") }, // Southern Uzbek -> Uzbek
1540    LangTag { language: "vap", 	tag: Tag::from_bytes(b"QIN ") }, // Vaiphei -> Chin
1541    LangTag { language: "ve", 	tag: Tag::from_bytes(b"VEN ") }, // Venda
1542//  LangTag { language: "vec", 	tag: Tag::from_bytes(b"VEC ") }, // Venetian
1543    LangTag { language: "vi", 	tag: Tag::from_bytes(b"VIT ") }, // Vietnamese
1544    LangTag { language: "vic", 	tag: Tag::from_bytes(b"CPP ") }, // Virgin Islands Creole English -> Creoles
1545    LangTag { language: "vit", 	tag: Tag(0)	            }, // Viti != Vietnamese
1546    LangTag { language: "vkk", 	tag: Tag::from_bytes(b"MLY ") }, // Kaur -> Malay
1547    LangTag { language: "vkp", 	tag: Tag::from_bytes(b"CPP ") }, // Korlai Creole Portuguese -> Creoles
1548    LangTag { language: "vkt", 	tag: Tag::from_bytes(b"MLY ") }, // Tenggarong Kutai Malay -> Malay
1549    LangTag { language: "vls", 	tag: Tag::from_bytes(b"FLE ") }, // Vlaams -> Dutch (Flemish)
1550    LangTag { language: "vmw", 	tag: Tag::from_bytes(b"MAK ") }, // Makhuwa
1551    LangTag { language: "vo", 	tag: Tag::from_bytes(b"VOL ") }, // Volapük
1552    LangTag { language: "vro", 	tag: Tag::from_bytes(b"VRO ") }, // Võro
1553    LangTag { language: "vro", 	tag: Tag::from_bytes(b"ETI ") }, // Võro -> Estonian
1554    LangTag { language: "vsn", 	tag: Tag::from_bytes(b"SAN ") }, // Vedic Sanskrit -> Sanskrit
1555    LangTag { language: "wa", 	tag: Tag::from_bytes(b"WLN ") }, // Walloon
1556    LangTag { language: "wag", 	tag: Tag(0)	            }, // Wa'ema != Wagdi
1557//  LangTag { language: "war", 	tag: Tag::from_bytes(b"WAR ") }, // Waray (Philippines) -> Waray-Waray
1558//  LangTag { language: "wbl", 	tag: Tag::from_bytes(b"WBL ") }, // Wakhi
1559    LangTag { language: "wbm", 	tag: Tag::from_bytes(b"WA  ") }, // Wa
1560    LangTag { language: "wbr", 	tag: Tag::from_bytes(b"WAG ") }, // Wagdi
1561    LangTag { language: "wbr", 	tag: Tag::from_bytes(b"RAJ ") }, // Wagdi -> Rajasthani
1562//  LangTag { language: "wci", 	tag: Tag::from_bytes(b"WCI ") }, // Waci Gbe
1563//  LangTag { language: "wdt", 	tag: Tag::from_bytes(b"WDT ") }, // Wendat
1564    LangTag { language: "wea", 	tag: Tag::from_bytes(b"KRN ") }, // Wewaw -> Karen
1565    LangTag { language: "wes", 	tag: Tag::from_bytes(b"CPP ") }, // Cameroon Pidgin -> Creoles
1566    LangTag { language: "weu", 	tag: Tag::from_bytes(b"QIN ") }, // Rawngtu Chin -> Chin
1567    LangTag { language: "wlc", 	tag: Tag::from_bytes(b"CMR ") }, // Mwali Comorian -> Comorian
1568    LangTag { language: "wle", 	tag: Tag::from_bytes(b"SIG ") }, // Wolane -> Silte Gurage
1569    LangTag { language: "wlk", 	tag: Tag::from_bytes(b"ATH ") }, // Wailaki -> Athapaskan
1570    LangTag { language: "wni", 	tag: Tag::from_bytes(b"CMR ") }, // Ndzwani Comorian -> Comorian
1571    LangTag { language: "wo", 	tag: Tag::from_bytes(b"WLF ") }, // Wolof
1572    LangTag { language: "wry", 	tag: Tag::from_bytes(b"MAW ") }, // Merwari -> Marwari
1573    LangTag { language: "wsg", 	tag: Tag::from_bytes(b"GON ") }, // Adilabad Gondi -> Gondi
1574//  LangTag { language: "wtm", 	tag: Tag::from_bytes(b"WTM ") }, // Mewati
1575    LangTag { language: "wuu", 	tag: Tag::from_bytes(b"ZHS ") }, // Wu Chinese -> Chinese, Simplified
1576    LangTag { language: "wya", 	tag: Tag::from_bytes(b"WDT ") }, // Wyandot(retired code) -> Wendat
1577    LangTag { language: "wya", 	tag: Tag::from_bytes(b"WYN ") }, // Wyandot(retired code)
1578//  LangTag { language: "wyn", 	tag: Tag::from_bytes(b"WYN ") }, // Wyandot
1579    LangTag { language: "xal", 	tag: Tag::from_bytes(b"KLM ") }, // Kalmyk
1580    LangTag { language: "xal", 	tag: Tag::from_bytes(b"TOD ") }, // Kalmyk -> Todo
1581    LangTag { language: "xan", 	tag: Tag::from_bytes(b"SEK ") }, // Xamtanga -> Sekota
1582    LangTag { language: "xbd", 	tag: Tag(0)	            }, // Bindal != Lü
1583    LangTag { language: "xh", 	tag: Tag::from_bytes(b"XHS ") }, // Xhosa
1584//  LangTag { language: "xjb", 	tag: Tag::from_bytes(b"XJB ") }, // Minjungbal -> Minjangbal
1585//  LangTag { language: "xkf", 	tag: Tag::from_bytes(b"XKF ") }, // Khengkha
1586    LangTag { language: "xmg", 	tag: Tag::from_bytes(b"BML ") }, // Mengaka -> Bamileke
1587    LangTag { language: "xmm", 	tag: Tag::from_bytes(b"MLY ") }, // Manado Malay -> Malay
1588    LangTag { language: "xmm", 	tag: Tag::from_bytes(b"CPP ") }, // Manado Malay -> Creoles
1589    LangTag { language: "xmv", 	tag: Tag::from_bytes(b"MLG ") }, // Antankarana Malagasy -> Malagasy
1590    LangTag { language: "xmw", 	tag: Tag::from_bytes(b"MLG ") }, // Tsimihety Malagasy -> Malagasy
1591    LangTag { language: "xnj", 	tag: Tag::from_bytes(b"SXT ") }, // Ngoni (Tanzania) -> Sutu
1592    LangTag { language: "xnq", 	tag: Tag::from_bytes(b"SXT ") }, // Ngoni (Mozambique) -> Sutu
1593    LangTag { language: "xnr", 	tag: Tag::from_bytes(b"DGR ") }, // Kangri -> Dogri (macrolanguage)
1594//  LangTag { language: "xog", 	tag: Tag::from_bytes(b"XOG ") }, // Soga
1595    LangTag { language: "xpe", 	tag: Tag::from_bytes(b"XPE ") }, // Liberia Kpelle -> Kpelle (Liberia)
1596    LangTag { language: "xpe", 	tag: Tag::from_bytes(b"KPL ") }, // Liberia Kpelle -> Kpelle
1597    LangTag { language: "xsl", 	tag: Tag::from_bytes(b"SSL ") }, // South Slavey
1598    LangTag { language: "xsl", 	tag: Tag::from_bytes(b"SLA ") }, // South Slavey -> Slavey
1599    LangTag { language: "xsl", 	tag: Tag::from_bytes(b"ATH ") }, // South Slavey -> Athapaskan
1600    LangTag { language: "xst", 	tag: Tag::from_bytes(b"SIG ") }, // Silt'e(retired code) -> Silte Gurage
1601//  LangTag { language: "xub", 	tag: Tag::from_bytes(b"XUB ") }, // Betta Kurumba -> Bette Kuruma
1602//  LangTag { language: "xuj", 	tag: Tag::from_bytes(b"XUJ ") }, // Jennu Kurumba -> Jennu Kuruma
1603    LangTag { language: "xup", 	tag: Tag::from_bytes(b"ATH ") }, // Upper Umpqua -> Athapaskan
1604    LangTag { language: "xwo", 	tag: Tag::from_bytes(b"TOD ") }, // Written Oirat -> Todo
1605    LangTag { language: "yaj", 	tag: Tag::from_bytes(b"BAD0") }, // Banda-Yangere -> Banda
1606    LangTag { language: "yak", 	tag: Tag(0)	            }, // Yakama != Sakha
1607//  LangTag { language: "yao", 	tag: Tag::from_bytes(b"YAO ") }, // Yao
1608//  LangTag { language: "yap", 	tag: Tag::from_bytes(b"YAP ") }, // Yapese
1609    LangTag { language: "yba", 	tag: Tag(0)	            }, // Yala != Yoruba
1610    LangTag { language: "ybb", 	tag: Tag::from_bytes(b"BML ") }, // Yemba -> Bamileke
1611    LangTag { language: "ybd", 	tag: Tag::from_bytes(b"ARK ") }, // Yangbye(retired code) -> Rakhine
1612    LangTag { language: "ycr", 	tag: Tag(0)	            }, // Yilan Creole != Y-Cree
1613    LangTag { language: "ydd", 	tag: Tag::from_bytes(b"JII ") }, // Eastern Yiddish -> Yiddish
1614//  LangTag { language: "ygp", 	tag: Tag::from_bytes(b"YGP ") }, // Gepo
1615    LangTag { language: "yi", 	tag: Tag::from_bytes(b"JII ") }, // Yiddish [macrolanguage]
1616    LangTag { language: "yih", 	tag: Tag::from_bytes(b"JII ") }, // Western Yiddish -> Yiddish
1617    LangTag { language: "yim", 	tag: Tag(0)	            }, // Yimchungru Naga != Yi Modern
1618//  LangTag { language: "yna", 	tag: Tag::from_bytes(b"YNA ") }, // Aluo
1619    LangTag { language: "yo", 	tag: Tag::from_bytes(b"YBA ") }, // Yoruba
1620    LangTag { language: "yos", 	tag: Tag::from_bytes(b"QIN ") }, // Yos(retired code) -> Chin
1621    LangTag { language: "yua", 	tag: Tag::from_bytes(b"MYN ") }, // Yucateco -> Mayan
1622    LangTag { language: "yue", 	tag: Tag::from_bytes(b"ZHH ") }, // Yue Chinese -> Chinese, Traditional, Hong Kong SAR
1623//  LangTag { language: "yuf", 	tag: Tag::from_bytes(b"YUF ") }, // Havasupai-Walapai-Yavapai
1624//  LangTag { language: "ywq", 	tag: Tag::from_bytes(b"YWQ ") }, // Wuding-Luquan Yi
1625    LangTag { language: "za", 	tag: Tag::from_bytes(b"ZHA ") }, // Zhuang [macrolanguage]
1626    LangTag { language: "zch", 	tag: Tag::from_bytes(b"ZHA ") }, // Central Hongshuihe Zhuang -> Zhuang
1627    LangTag { language: "zdj", 	tag: Tag::from_bytes(b"CMR ") }, // Ngazidja Comorian -> Comorian
1628//  LangTag { language: "zea", 	tag: Tag::from_bytes(b"ZEA ") }, // Zeeuws -> Zealandic
1629    LangTag { language: "zeh", 	tag: Tag::from_bytes(b"ZHA ") }, // Eastern Hongshuihe Zhuang -> Zhuang
1630    LangTag { language: "zen", 	tag: Tag::from_bytes(b"BBR ") }, // Zenaga -> Berber
1631    LangTag { language: "zgb", 	tag: Tag::from_bytes(b"ZHA ") }, // Guibei Zhuang -> Zhuang
1632    LangTag { language: "zgh", 	tag: Tag::from_bytes(b"ZGH ") }, // Standard Moroccan Tamazight
1633    LangTag { language: "zgh", 	tag: Tag::from_bytes(b"BBR ") }, // Standard Moroccan Tamazight -> Berber
1634    LangTag { language: "zgm", 	tag: Tag::from_bytes(b"ZHA ") }, // Minz Zhuang -> Zhuang
1635    LangTag { language: "zgn", 	tag: Tag::from_bytes(b"ZHA ") }, // Guibian Zhuang -> Zhuang
1636    LangTag { language: "zh", 	tag: Tag::from_bytes(b"ZHS ") }, // Chinese, Simplified [macrolanguage]
1637    LangTag { language: "zhd", 	tag: Tag::from_bytes(b"ZHA ") }, // Dai Zhuang -> Zhuang
1638    LangTag { language: "zhn", 	tag: Tag::from_bytes(b"ZHA ") }, // Nong Zhuang -> Zhuang
1639    LangTag { language: "zkb", 	tag: Tag::from_bytes(b"KHA ") }, // Koibal(retired code) -> Khakass
1640    LangTag { language: "zlj", 	tag: Tag::from_bytes(b"ZHA ") }, // Liujiang Zhuang -> Zhuang
1641    LangTag { language: "zlm", 	tag: Tag::from_bytes(b"MLY ") }, // Malay 
1642    LangTag { language: "zln", 	tag: Tag::from_bytes(b"ZHA ") }, // Lianshan Zhuang -> Zhuang
1643    LangTag { language: "zlq", 	tag: Tag::from_bytes(b"ZHA ") }, // Liuqian Zhuang -> Zhuang
1644    LangTag { language: "zmi", 	tag: Tag::from_bytes(b"MLY ") }, // Negeri Sembilan Malay -> Malay
1645    LangTag { language: "zmz", 	tag: Tag::from_bytes(b"BAD0") }, // Mbandja -> Banda
1646    LangTag { language: "znd", 	tag: Tag(0)	            }, // Zande  [collection] != Zande
1647    LangTag { language: "zne", 	tag: Tag::from_bytes(b"ZND ") }, // Zande 
1648    LangTag { language: "zom", 	tag: Tag::from_bytes(b"QIN ") }, // Zou -> Chin
1649    LangTag { language: "zqe", 	tag: Tag::from_bytes(b"ZHA ") }, // Qiubei Zhuang -> Zhuang
1650    LangTag { language: "zsm", 	tag: Tag::from_bytes(b"MLY ") }, // Standard Malay -> Malay
1651    LangTag { language: "zu", 	tag: Tag::from_bytes(b"ZUL ") }, // Zulu
1652    LangTag { language: "zum", 	tag: Tag::from_bytes(b"LRC ") }, // Kumzari -> Luri
1653    LangTag { language: "zyb", 	tag: Tag::from_bytes(b"ZHA ") }, // Yongbei Zhuang -> Zhuang
1654    LangTag { language: "zyg", 	tag: Tag::from_bytes(b"ZHA ") }, // Yang Zhuang -> Zhuang
1655    LangTag { language: "zyj", 	tag: Tag::from_bytes(b"ZHA ") }, // Youjiang Zhuang -> Zhuang
1656    LangTag { language: "zyn", 	tag: Tag::from_bytes(b"ZHA ") }, // Yongnan Zhuang -> Zhuang
1657    LangTag { language: "zyp", 	tag: Tag::from_bytes(b"QIN ") }, // Zyphe Chin -> Chin
1658//  LangTag { language: "zza", 	tag: Tag::from_bytes(b"ZZA ") }, // Zazaki [macrolanguage]
1659    LangTag { language: "zzj", 	tag: Tag::from_bytes(b"ZHA ") }, // Zuojiang Zhuang -> Zhuang
1660];
1661
1662fn subtag_matches(language: &str, subtag: &str) -> bool {
1663    for (i, _) in language.match_indices(subtag) {
1664        if let Some(c) = language.as_bytes().get(i + subtag.len()) {
1665            if !c.is_ascii_alphanumeric() {
1666                return true;
1667            }
1668        } else {
1669            return true;
1670        }
1671    }
1672
1673    false
1674}
1675
1676fn lang_matches(language: &str, spec: &str) -> bool {
1677    if language.starts_with(spec) {
1678        return language.len() == spec.len() || language.as_bytes().get(spec.len()) == Some(&b'-');
1679    }
1680
1681    false
1682}
1683
1684fn strncmp(s1: &str, s2: &str, n: usize) -> bool {
1685    let n1 = core::cmp::min(n, s1.len());
1686    let n2 = core::cmp::min(n, s2.len());
1687    s1[..n1] == s2[..n2]
1688}
1689
1690/// Converts a multi-subtag BCP 47 language tag to language tags.
1691pub fn tags_from_complex_language(language: &str, tags: &mut smallvec::SmallVec<[Tag; 3]>) -> bool {
1692    if subtag_matches(language, "-fonnapa") {
1693        // Undetermined; North American Phonetic Alphabet
1694        tags.push(Tag::from_bytes(b"APPH")); // Phonetic transcription—Americanist conventions
1695        return true;
1696    }
1697    if subtag_matches(language, "-polyton") {
1698        // Modern Greek (1453-); Polytonic Greek
1699        tags.push(Tag::from_bytes(b"PGR ")); // Polytonic Greek
1700        return true;
1701    }
1702    if subtag_matches(language, "-arevmda") {
1703        // Armenian; Western Armenian (retired code)
1704        tags.push(Tag::from_bytes(b"HYE ")); // Armenian
1705        return true;
1706    }
1707    if subtag_matches(language, "-provenc") {
1708        // Occitan (post 1500); Provençal
1709        tags.push(Tag::from_bytes(b"PRO ")); // Provençal / Old Provençal
1710        return true;
1711    }
1712    if subtag_matches(language, "-fonipa") {
1713        // Undetermined; International Phonetic Alphabet
1714        tags.push(Tag::from_bytes(b"IPPH")); // Phonetic transcription—IPA conventions
1715        return true;
1716    }
1717    if subtag_matches(language, "-geok") {
1718        // Undetermined; Khutsuri (Asomtavruli and Nuskhuri)
1719        tags.push(Tag::from_bytes(b"KGE ")); // Khutsuri Georgian
1720        return true;
1721    }
1722    if subtag_matches(language, "-syre") {
1723        // Undetermined; Syriac (Estrangelo variant)
1724        tags.push(Tag::from_bytes(b"SYRE")); // Syriac, Estrangela script-variant (equivalent to ISO 15924 'Syre')
1725        return true;
1726    }
1727    if subtag_matches(language, "-syrj") {
1728        // Undetermined; Syriac (Western variant)
1729        tags.push(Tag::from_bytes(b"SYRJ")); // Syriac, Western script-variant (equivalent to ISO 15924 'Syrj')
1730        return true;
1731    }
1732    if subtag_matches(language, "-syrn") {
1733        // Undetermined; Syriac (Eastern variant)
1734        tags.push(Tag::from_bytes(b"SYRN")); // Syriac, Eastern script-variant (equivalent to ISO 15924 'Syrn')
1735        return true;
1736    }
1737    match language.as_bytes()[0] {
1738        b'a' => {
1739            if &language[1..] == "rt-lojban" {
1740                // Lojban(retired code)
1741                tags.push(Tag::from_bytes(b"JBO ")); // Lojban
1742                return true;
1743            }
1744        }
1745        b'c' => {
1746            if lang_matches(&language[1..], "do-hant-hk") {
1747                // Min Dong Chinese; Han (Traditional variant); Hong Kong
1748                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
1749                return true;
1750            }
1751            if lang_matches(&language[1..], "do-hant-mo") {
1752                // Min Dong Chinese; Han (Traditional variant); Macao
1753                let possible_tags = &[
1754                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
1755                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
1756                ];
1757                tags.extend_from_slice(possible_tags);
1758                return true;
1759            }
1760            if lang_matches(&language[1..], "jy-hant-hk") {
1761                // Jinyu Chinese; Han (Traditional variant); Hong Kong
1762                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
1763                return true;
1764            }
1765            if lang_matches(&language[1..], "jy-hant-mo") {
1766                // Jinyu Chinese; Han (Traditional variant); Macao
1767                let possible_tags = &[
1768                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
1769                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
1770                ];
1771                tags.extend_from_slice(possible_tags);
1772                return true;
1773            }
1774            if lang_matches(&language[1..], "mn-hant-hk") {
1775                // Mandarin Chinese; Han (Traditional variant); Hong Kong
1776                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
1777                return true;
1778            }
1779            if lang_matches(&language[1..], "mn-hant-mo") {
1780                // Mandarin Chinese; Han (Traditional variant); Macao
1781                let possible_tags = &[
1782                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
1783                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
1784                ];
1785                tags.extend_from_slice(possible_tags);
1786                return true;
1787            }
1788            if lang_matches(&language[1..], "np-hant-hk") {
1789                // Northern Ping Chinese; Han (Traditional variant); Hong Kong
1790                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
1791                return true;
1792            }
1793            if lang_matches(&language[1..], "np-hant-mo") {
1794                // Northern Ping Chinese; Han (Traditional variant); Macao
1795                let possible_tags = &[
1796                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
1797                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
1798                ];
1799                tags.extend_from_slice(possible_tags);
1800                return true;
1801            }
1802            if lang_matches(&language[1..], "px-hant-hk") {
1803                // Pu-Xian Chinese; Han (Traditional variant); Hong Kong
1804                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
1805                return true;
1806            }
1807            if lang_matches(&language[1..], "px-hant-mo") {
1808                // Pu-Xian Chinese; Han (Traditional variant); Macao
1809                let possible_tags = &[
1810                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
1811                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
1812                ];
1813                tags.extend_from_slice(possible_tags);
1814                return true;
1815            }
1816            if lang_matches(&language[1..], "sp-hant-hk") {
1817                // Southern Ping Chinese; Han (Traditional variant); Hong Kong
1818                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
1819                return true;
1820            }
1821            if lang_matches(&language[1..], "sp-hant-mo") {
1822                // Southern Ping Chinese; Han (Traditional variant); Macao
1823                let possible_tags = &[
1824                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
1825                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
1826                ];
1827                tags.extend_from_slice(possible_tags);
1828                return true;
1829            }
1830            if lang_matches(&language[1..], "zh-hant-hk") {
1831                // Huizhou Chinese; Han (Traditional variant); Hong Kong
1832                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
1833                return true;
1834            }
1835            if lang_matches(&language[1..], "zh-hant-mo") {
1836                // Huizhou Chinese; Han (Traditional variant); Macao
1837                let possible_tags = &[
1838                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
1839                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
1840                ];
1841                tags.extend_from_slice(possible_tags);
1842                return true;
1843            }
1844            if lang_matches(&language[1..], "zo-hant-hk") {
1845                // Min Zhong Chinese; Han (Traditional variant); Hong Kong
1846                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
1847                return true;
1848            }
1849            if lang_matches(&language[1..], "zo-hant-mo") {
1850                // Min Zhong Chinese; Han (Traditional variant); Macao
1851                let possible_tags = &[
1852                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
1853                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
1854                ];
1855                tags.extend_from_slice(possible_tags);
1856                return true;
1857            }
1858            if lang_matches(&language[1..], "do-hans") {
1859                // Min Dong Chinese; Han (Simplified variant)
1860                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
1861                return true;
1862            }
1863            if lang_matches(&language[1..], "do-hant") {
1864                // Min Dong Chinese; Han (Traditional variant)
1865                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
1866                return true;
1867            }
1868            if lang_matches(&language[1..], "jy-hans") {
1869                // Jinyu Chinese; Han (Simplified variant)
1870                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
1871                return true;
1872            }
1873            if lang_matches(&language[1..], "jy-hant") {
1874                // Jinyu Chinese; Han (Traditional variant)
1875                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
1876                return true;
1877            }
1878            if lang_matches(&language[1..], "mn-hans") {
1879                // Mandarin Chinese; Han (Simplified variant)
1880                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
1881                return true;
1882            }
1883            if lang_matches(&language[1..], "mn-hant") {
1884                // Mandarin Chinese; Han (Traditional variant)
1885                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
1886                return true;
1887            }
1888            if lang_matches(&language[1..], "np-hans") {
1889                // Northern Ping Chinese; Han (Simplified variant)
1890                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
1891                return true;
1892            }
1893            if lang_matches(&language[1..], "np-hant") {
1894                // Northern Ping Chinese; Han (Traditional variant)
1895                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
1896                return true;
1897            }
1898            if lang_matches(&language[1..], "px-hans") {
1899                // Pu-Xian Chinese; Han (Simplified variant)
1900                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
1901                return true;
1902            }
1903            if lang_matches(&language[1..], "px-hant") {
1904                // Pu-Xian Chinese; Han (Traditional variant)
1905                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
1906                return true;
1907            }
1908            if lang_matches(&language[1..], "sp-hans") {
1909                // Southern Ping Chinese; Han (Simplified variant)
1910                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
1911                return true;
1912            }
1913            if lang_matches(&language[1..], "sp-hant") {
1914                // Southern Ping Chinese; Han (Traditional variant)
1915                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
1916                return true;
1917            }
1918            if lang_matches(&language[1..], "zh-hans") {
1919                // Huizhou Chinese; Han (Simplified variant)
1920                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
1921                return true;
1922            }
1923            if lang_matches(&language[1..], "zh-hant") {
1924                // Huizhou Chinese; Han (Traditional variant)
1925                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
1926                return true;
1927            }
1928            if lang_matches(&language[1..], "zo-hans") {
1929                // Min Zhong Chinese; Han (Simplified variant)
1930                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
1931                return true;
1932            }
1933            if lang_matches(&language[1..], "zo-hant") {
1934                // Min Zhong Chinese; Han (Traditional variant)
1935                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
1936                return true;
1937            }
1938            if strncmp(&language[1..], "do-", 3) && subtag_matches(language, "-hk") {
1939                // Min Dong Chinese; Hong Kong
1940                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
1941                return true;
1942            }
1943            if strncmp(&language[1..], "do-", 3) && subtag_matches(language, "-mo") {
1944                // Min Dong Chinese; Macao
1945                let possible_tags = &[
1946                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
1947                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
1948                ];
1949                tags.extend_from_slice(possible_tags);
1950                return true;
1951            }
1952            if strncmp(&language[1..], "do-", 3) && subtag_matches(language, "-tw") {
1953                // Min Dong Chinese; Taiwan, Province of China
1954                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
1955                return true;
1956            }
1957            if strncmp(&language[1..], "jy-", 3) && subtag_matches(language, "-hk") {
1958                // Jinyu Chinese; Hong Kong
1959                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
1960                return true;
1961            }
1962            if strncmp(&language[1..], "jy-", 3) && subtag_matches(language, "-mo") {
1963                // Jinyu Chinese; Macao
1964                let possible_tags = &[
1965                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
1966                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
1967                ];
1968                tags.extend_from_slice(possible_tags);
1969                return true;
1970            }
1971            if strncmp(&language[1..], "jy-", 3) && subtag_matches(language, "-tw") {
1972                // Jinyu Chinese; Taiwan, Province of China
1973                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
1974                return true;
1975            }
1976            if strncmp(&language[1..], "mn-", 3) && subtag_matches(language, "-hk") {
1977                // Mandarin Chinese; Hong Kong
1978                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
1979                return true;
1980            }
1981            if strncmp(&language[1..], "mn-", 3) && subtag_matches(language, "-mo") {
1982                // Mandarin Chinese; Macao
1983                let possible_tags = &[
1984                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
1985                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
1986                ];
1987                tags.extend_from_slice(possible_tags);
1988                return true;
1989            }
1990            if strncmp(&language[1..], "mn-", 3) && subtag_matches(language, "-tw") {
1991                // Mandarin Chinese; Taiwan, Province of China
1992                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
1993                return true;
1994            }
1995            if strncmp(&language[1..], "np-", 3) && subtag_matches(language, "-hk") {
1996                // Northern Ping Chinese; Hong Kong
1997                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
1998                return true;
1999            }
2000            if strncmp(&language[1..], "np-", 3) && subtag_matches(language, "-mo") {
2001                // Northern Ping Chinese; Macao
2002                let possible_tags = &[
2003                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2004                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2005                ];
2006                tags.extend_from_slice(possible_tags);
2007                return true;
2008            }
2009            if strncmp(&language[1..], "np-", 3) && subtag_matches(language, "-tw") {
2010                // Northern Ping Chinese; Taiwan, Province of China
2011                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2012                return true;
2013            }
2014            if strncmp(&language[1..], "px-", 3) && subtag_matches(language, "-hk") {
2015                // Pu-Xian Chinese; Hong Kong
2016                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
2017                return true;
2018            }
2019            if strncmp(&language[1..], "px-", 3) && subtag_matches(language, "-mo") {
2020                // Pu-Xian Chinese; Macao
2021                let possible_tags = &[
2022                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2023                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2024                ];
2025                tags.extend_from_slice(possible_tags);
2026                return true;
2027            }
2028            if strncmp(&language[1..], "px-", 3) && subtag_matches(language, "-tw") {
2029                // Pu-Xian Chinese; Taiwan, Province of China
2030                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2031                return true;
2032            }
2033            if strncmp(&language[1..], "sp-", 3) && subtag_matches(language, "-hk") {
2034                // Southern Ping Chinese; Hong Kong
2035                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
2036                return true;
2037            }
2038            if strncmp(&language[1..], "sp-", 3) && subtag_matches(language, "-mo") {
2039                // Southern Ping Chinese; Macao
2040                let possible_tags = &[
2041                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2042                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2043                ];
2044                tags.extend_from_slice(possible_tags);
2045                return true;
2046            }
2047            if strncmp(&language[1..], "sp-", 3) && subtag_matches(language, "-tw") {
2048                // Southern Ping Chinese; Taiwan, Province of China
2049                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2050                return true;
2051            }
2052            if strncmp(&language[1..], "zh-", 3) && subtag_matches(language, "-hk") {
2053                // Huizhou Chinese; Hong Kong
2054                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
2055                return true;
2056            }
2057            if strncmp(&language[1..], "zh-", 3) && subtag_matches(language, "-mo") {
2058                // Huizhou Chinese; Macao
2059                let possible_tags = &[
2060                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2061                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2062                ];
2063                tags.extend_from_slice(possible_tags);
2064                return true;
2065            }
2066            if strncmp(&language[1..], "zh-", 3) && subtag_matches(language, "-tw") {
2067                // Huizhou Chinese; Taiwan, Province of China
2068                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2069                return true;
2070            }
2071            if strncmp(&language[1..], "zo-", 3) && subtag_matches(language, "-hk") {
2072                // Min Zhong Chinese; Hong Kong
2073                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
2074                return true;
2075            }
2076            if strncmp(&language[1..], "zo-", 3) && subtag_matches(language, "-mo") {
2077                // Min Zhong Chinese; Macao
2078                let possible_tags = &[
2079                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2080                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2081                ];
2082                tags.extend_from_slice(possible_tags);
2083                return true;
2084            }
2085            if strncmp(&language[1..], "zo-", 3) && subtag_matches(language, "-tw") {
2086                // Min Zhong Chinese; Taiwan, Province of China
2087                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2088                return true;
2089            }
2090        }
2091        b'g' => {
2092            if lang_matches(&language[1..], "an-hant-hk") {
2093                // Gan Chinese; Han (Traditional variant); Hong Kong
2094                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
2095                return true;
2096            }
2097            if lang_matches(&language[1..], "an-hant-mo") {
2098                // Gan Chinese; Han (Traditional variant); Macao
2099                let possible_tags = &[
2100                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2101                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2102                ];
2103                tags.extend_from_slice(possible_tags);
2104                return true;
2105            }
2106            if lang_matches(&language[1..], "an-hans") {
2107                // Gan Chinese; Han (Simplified variant)
2108                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
2109                return true;
2110            }
2111            if lang_matches(&language[1..], "an-hant") {
2112                // Gan Chinese; Han (Traditional variant)
2113                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2114                return true;
2115            }
2116            if lang_matches(&language[1..], "a-latg") {
2117                // Irish; Latin (Gaelic variant)
2118                tags.push(Tag::from_bytes(b"IRT ")); // Irish Traditional
2119                return true;
2120            }
2121            if strncmp(&language[1..], "an-", 3) && subtag_matches(language, "-hk") {
2122                // Gan Chinese; Hong Kong
2123                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
2124                return true;
2125            }
2126            if strncmp(&language[1..], "an-", 3) && subtag_matches(language, "-mo") {
2127                // Gan Chinese; Macao
2128                let possible_tags = &[
2129                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2130                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2131                ];
2132                tags.extend_from_slice(possible_tags);
2133                return true;
2134            }
2135            if strncmp(&language[1..], "an-", 3) && subtag_matches(language, "-tw") {
2136                // Gan Chinese; Taiwan, Province of China
2137                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2138                return true;
2139            }
2140        }
2141        b'h' => {
2142            if lang_matches(&language[1..], "ak-hant-hk") {
2143                // Hakka Chinese; Han (Traditional variant); Hong Kong
2144                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
2145                return true;
2146            }
2147            if lang_matches(&language[1..], "ak-hant-mo") {
2148                // Hakka Chinese; Han (Traditional variant); Macao
2149                let possible_tags = &[
2150                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2151                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2152                ];
2153                tags.extend_from_slice(possible_tags);
2154                return true;
2155            }
2156            if lang_matches(&language[1..], "sn-hant-hk") {
2157                // Xiang Chinese; Han (Traditional variant); Hong Kong
2158                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
2159                return true;
2160            }
2161            if lang_matches(&language[1..], "sn-hant-mo") {
2162                // Xiang Chinese; Han (Traditional variant); Macao
2163                let possible_tags = &[
2164                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2165                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2166                ];
2167                tags.extend_from_slice(possible_tags);
2168                return true;
2169            }
2170            if lang_matches(&language[1..], "ak-hans") {
2171                // Hakka Chinese; Han (Simplified variant)
2172                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
2173                return true;
2174            }
2175            if lang_matches(&language[1..], "ak-hant") {
2176                // Hakka Chinese; Han (Traditional variant)
2177                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2178                return true;
2179            }
2180            if lang_matches(&language[1..], "sn-hans") {
2181                // Xiang Chinese; Han (Simplified variant)
2182                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
2183                return true;
2184            }
2185            if lang_matches(&language[1..], "sn-hant") {
2186                // Xiang Chinese; Han (Traditional variant)
2187                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2188                return true;
2189            }
2190            if strncmp(&language[1..], "ak-", 3) && subtag_matches(language, "-hk") {
2191                // Hakka Chinese; Hong Kong
2192                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
2193                return true;
2194            }
2195            if strncmp(&language[1..], "ak-", 3) && subtag_matches(language, "-mo") {
2196                // Hakka Chinese; Macao
2197                let possible_tags = &[
2198                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2199                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2200                ];
2201                tags.extend_from_slice(possible_tags);
2202                return true;
2203            }
2204            if strncmp(&language[1..], "ak-", 3) && subtag_matches(language, "-tw") {
2205                // Hakka Chinese; Taiwan, Province of China
2206                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2207                return true;
2208            }
2209            if strncmp(&language[1..], "sn-", 3) && subtag_matches(language, "-hk") {
2210                // Xiang Chinese; Hong Kong
2211                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
2212                return true;
2213            }
2214            if strncmp(&language[1..], "sn-", 3) && subtag_matches(language, "-mo") {
2215                // Xiang Chinese; Macao
2216                let possible_tags = &[
2217                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2218                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2219                ];
2220                tags.extend_from_slice(possible_tags);
2221                return true;
2222            }
2223            if strncmp(&language[1..], "sn-", 3) && subtag_matches(language, "-tw") {
2224                // Xiang Chinese; Taiwan, Province of China
2225                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2226                return true;
2227            }
2228        }
2229        b'i' => {
2230            if &language[1..] == "-navajo" {
2231                // Navajo(retired code)
2232                let possible_tags = &[
2233                    Tag::from_bytes(b"NAV "), // Navajo
2234                    Tag::from_bytes(b"ATH "), // Athapaskan
2235                ];
2236                tags.extend_from_slice(possible_tags);
2237                return true;
2238            }
2239            if &language[1..] == "-hak" {
2240                // Hakka(retired code)
2241                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
2242                return true;
2243            }
2244            if &language[1..] == "-lux" {
2245                // Luxembourgish(retired code)
2246                tags.push(Tag::from_bytes(b"LTZ ")); // Luxembourgish
2247                return true;
2248            }
2249        }
2250        b'l' => {
2251            if lang_matches(&language[1..], "zh-hans") {
2252                // Literary Chinese; Han (Simplified variant)
2253                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
2254                return true;
2255            }
2256        }
2257        b'm' => {
2258            if lang_matches(&language[1..], "np-hant-hk") {
2259                // Min Bei Chinese; Han (Traditional variant); Hong Kong
2260                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
2261                return true;
2262            }
2263            if lang_matches(&language[1..], "np-hant-mo") {
2264                // Min Bei Chinese; Han (Traditional variant); Macao
2265                let possible_tags = &[
2266                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2267                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2268                ];
2269                tags.extend_from_slice(possible_tags);
2270                return true;
2271            }
2272            if lang_matches(&language[1..], "np-hans") {
2273                // Min Bei Chinese; Han (Simplified variant)
2274                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
2275                return true;
2276            }
2277            if lang_matches(&language[1..], "np-hant") {
2278                // Min Bei Chinese; Han (Traditional variant)
2279                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2280                return true;
2281            }
2282            if strncmp(&language[1..], "np-", 3) && subtag_matches(language, "-hk") {
2283                // Min Bei Chinese; Hong Kong
2284                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
2285                return true;
2286            }
2287            if strncmp(&language[1..], "np-", 3) && subtag_matches(language, "-mo") {
2288                // Min Bei Chinese; Macao
2289                let possible_tags = &[
2290                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2291                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2292                ];
2293                tags.extend_from_slice(possible_tags);
2294                return true;
2295            }
2296            if strncmp(&language[1..], "np-", 3) && subtag_matches(language, "-tw") {
2297                // Min Bei Chinese; Taiwan, Province of China
2298                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2299                return true;
2300            }
2301            if strncmp(&language[1..], "nw-", 3) && subtag_matches(language, "-th") {
2302                // Mon; Thailand
2303                tags.push(Tag::from_bytes(b"MONT")); // Thailand Mon
2304                return true;
2305            }
2306        }
2307        b'n' => {
2308            if lang_matches(&language[1..], "an-hant-hk") {
2309                // Min Nan Chinese; Han (Traditional variant); Hong Kong
2310                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
2311                return true;
2312            }
2313            if lang_matches(&language[1..], "an-hant-mo") {
2314                // Min Nan Chinese; Han (Traditional variant); Macao
2315                let possible_tags = &[
2316                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2317                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2318                ];
2319                tags.extend_from_slice(possible_tags);
2320                return true;
2321            }
2322            if lang_matches(&language[1..], "an-hans") {
2323                // Min Nan Chinese; Han (Simplified variant)
2324                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
2325                return true;
2326            }
2327            if lang_matches(&language[1..], "an-hant") {
2328                // Min Nan Chinese; Han (Traditional variant)
2329                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2330                return true;
2331            }
2332            if strncmp(&language[1..], "an-", 3) && subtag_matches(language, "-hk") {
2333                // Min Nan Chinese; Hong Kong
2334                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
2335                return true;
2336            }
2337            if strncmp(&language[1..], "an-", 3) && subtag_matches(language, "-mo") {
2338                // Min Nan Chinese; Macao
2339                let possible_tags = &[
2340                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2341                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2342                ];
2343                tags.extend_from_slice(possible_tags);
2344                return true;
2345            }
2346            if strncmp(&language[1..], "an-", 3) && subtag_matches(language, "-tw") {
2347                // Min Nan Chinese; Taiwan, Province of China
2348                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2349                return true;
2350            }
2351            if &language[1..] == "o-bok" {
2352                // Norwegian Bokmal(retired code)
2353                tags.push(Tag::from_bytes(b"NOR ")); // Norwegian
2354                return true;
2355            }
2356            if &language[1..] == "o-nyn" {
2357                // Norwegian Nynorsk(retired code)
2358                tags.push(Tag::from_bytes(b"NYN ")); // Norwegian Nynorsk (Nynorsk, Norwegian)
2359                return true;
2360            }
2361        }
2362        b'r' => {
2363            if strncmp(&language[1..], "o-", 2) && subtag_matches(language, "-md") {
2364                // Romanian; Moldova
2365                let possible_tags = &[
2366                    Tag::from_bytes(b"MOL "), // Moldavian
2367                    Tag::from_bytes(b"ROM "), // Romanian
2368                ];
2369                tags.extend_from_slice(possible_tags);
2370                return true;
2371            }
2372        }
2373        b'w' => {
2374            if lang_matches(&language[1..], "uu-hant-hk") {
2375                // Wu Chinese; Han (Traditional variant); Hong Kong
2376                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
2377                return true;
2378            }
2379            if lang_matches(&language[1..], "uu-hant-mo") {
2380                // Wu Chinese; Han (Traditional variant); Macao
2381                let possible_tags = &[
2382                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2383                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2384                ];
2385                tags.extend_from_slice(possible_tags);
2386                return true;
2387            }
2388            if lang_matches(&language[1..], "uu-hans") {
2389                // Wu Chinese; Han (Simplified variant)
2390                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
2391                return true;
2392            }
2393            if lang_matches(&language[1..], "uu-hant") {
2394                // Wu Chinese; Han (Traditional variant)
2395                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2396                return true;
2397            }
2398            if strncmp(&language[1..], "uu-", 3) && subtag_matches(language, "-hk") {
2399                // Wu Chinese; Hong Kong
2400                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
2401                return true;
2402            }
2403            if strncmp(&language[1..], "uu-", 3) && subtag_matches(language, "-mo") {
2404                // Wu Chinese; Macao
2405                let possible_tags = &[
2406                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2407                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2408                ];
2409                tags.extend_from_slice(possible_tags);
2410                return true;
2411            }
2412            if strncmp(&language[1..], "uu-", 3) && subtag_matches(language, "-tw") {
2413                // Wu Chinese; Taiwan, Province of China
2414                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2415                return true;
2416            }
2417        }
2418        b'y' => {
2419            if lang_matches(&language[1..], "ue-hans") {
2420                // Yue Chinese; Han (Simplified variant)
2421                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
2422                return true;
2423            }
2424        }
2425        b'z' => {
2426            if lang_matches(&language[1..], "h-hant-hk") {
2427                // Chinese [macrolanguage]; Han (Traditional variant); Hong Kong
2428                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
2429                return true;
2430            }
2431            if lang_matches(&language[1..], "h-hant-mo") {
2432                // Chinese [macrolanguage]; Han (Traditional variant); Macao
2433                let possible_tags = &[
2434                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2435                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2436                ];
2437                tags.extend_from_slice(possible_tags);
2438                return true;
2439            }
2440            if &language[1..] == "h-min-nan" {
2441                // Minnan, Hokkien, Amoy, Taiwanese, Southern Min, Southern Fujian, Hoklo, Southern Fukien, Ho-lo(retired code)
2442                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
2443                return true;
2444            }
2445            if lang_matches(&language[1..], "h-hans") {
2446                // Chinese [macrolanguage]; Han (Simplified variant)
2447                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
2448                return true;
2449            }
2450            if lang_matches(&language[1..], "h-hant") {
2451                // Chinese [macrolanguage]; Han (Traditional variant)
2452                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2453                return true;
2454            }
2455            if &language[1..] == "h-min" {
2456                // Min, Fuzhou, Hokkien, Amoy, or Taiwanese(retired code)
2457                tags.push(Tag::from_bytes(b"ZHS ")); // Chinese, Simplified
2458                return true;
2459            }
2460            if strncmp(&language[1..], "h-", 2) && subtag_matches(language, "-hk") {
2461                // Chinese [macrolanguage]; Hong Kong
2462                tags.push(Tag::from_bytes(b"ZHH ")); // Chinese, Traditional, Hong Kong SAR
2463                return true;
2464            }
2465            if strncmp(&language[1..], "h-", 2) && subtag_matches(language, "-mo") {
2466                // Chinese [macrolanguage]; Macao
2467                let possible_tags = &[
2468                    Tag::from_bytes(b"ZHTM"), // Chinese, Traditional, Macao SAR
2469                    Tag::from_bytes(b"ZHH "), // Chinese, Traditional, Hong Kong SAR
2470                ];
2471                tags.extend_from_slice(possible_tags);
2472                return true;
2473            }
2474            if strncmp(&language[1..], "h-", 2) && subtag_matches(language, "-tw") {
2475                // Chinese [macrolanguage]; Taiwan, Province of China
2476                tags.push(Tag::from_bytes(b"ZHT ")); // Chinese, Traditional
2477                return true;
2478            }
2479        }
2480        _ => {}
2481    }
2482    false
2483}