1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
#[cfg(test)]
mod tests;

pub struct Language;

pub struct Lang {
    pub code: &'static str,
    pub name: &'static str,
}

impl Language {
    pub const AFRIKAANS: Lang = Lang { code: "af", name: "Afrikaans" };
    pub const AFRIKAANS_SOUTH_AFRICA: Lang = Lang { code: "af-ZA", name: "Afrikaans (South Africa)" };
    pub const ARABIC: Lang = Lang { code: "ar", name: "Arabic" };
    pub const ARABIC_UAE: Lang = Lang { code: "ar-AE", name: "Arabic (U.A.E.)" };
    pub const ARABIC_BAHRAIN: Lang = Lang { code: "ar-BH", name: "Arabic (Bahrain)" };
    pub const ARABIC_ALGERIA: Lang = Lang { code: "ar-DZ", name: "Arabic (Algeria)" };
    pub const ARABIC_EGYPT: Lang = Lang { code: "ar-EG", name: "Arabic (Egypt)" };
    pub const ARABIC_IRAQ: Lang = Lang { code: "ar-IQ", name: "Arabic (Iraq)" };
    pub const ARABIC_JORDAN: Lang = Lang { code: "ar-JO", name: "Arabic (Jordan)" };
    pub const ARABIC_KUWAIT: Lang = Lang { code: "ar-KW", name: "Arabic (Kuwait)" };
    pub const ARABIC_LEBANON: Lang = Lang { code: "ar-LB", name: "Arabic (Lebanon)" };
    pub const ARABIC_LIBYA: Lang = Lang { code: "ar-LY", name: "Arabic (Libya)" };
    pub const ARABIC_MOROCCO: Lang = Lang { code: "ar-MA", name: "Arabic (Morocco)" };
    pub const ARABIC_OMAN: Lang = Lang { code: "ar-OM", name: "Arabic (Oman)" };
    pub const ARABIC_QATAR: Lang = Lang { code: "ar-QA", name: "Arabic (Qatar)" };
    pub const ARABIC_SAUDI_ARABIA: Lang = Lang { code: "ar-SA", name: "Arabic (Saudi Arabia)" };
    pub const ARABIC_SYRIA: Lang = Lang { code: "ar-SY", name: "Arabic (Syria)" };
    pub const ARABIC_TUNISIA: Lang = Lang { code: "ar-TN", name: "Arabic (Tunisia)" };
    pub const ARABIC_YEMEN: Lang = Lang { code: "ar-YE", name: "Arabic (Yemen)" };
    pub const AZERI_LATIN: Lang = Lang { code: "az", name: "Azeri (Latin)" };
    pub const AZERI_LATIN_AZERBAIJAN: Lang = Lang { code: "az-AZ", name: "Azeri (Latin) (Azerbaijan)" };
    pub const AZERI_CYRILLIC_AZERBAIJAN: Lang = Lang { code: "az-AZ", name: "Azeri (Cyrillic) (Azerbaijan)" };
    pub const BELARUSIAN: Lang = Lang { code: "be", name: "Belarusian" };
    pub const BELARUSIAN_BELARUS: Lang = Lang { code: "be-BY", name: "Belarusian (Belarus)" };
    pub const BULGARIAN: Lang = Lang { code: "bg", name: "Bulgarian" };
    pub const BULGARIAN_BULGARIA: Lang = Lang { code: "bg-BG", name: "Bulgarian (Bulgaria)" };
    pub const BOSNIAN_BOSNIA_AND_HERZEGOVINA: Lang = Lang { code: "bs-BA", name: "Bosnian (Bosnia and Herzegovina)" };
    pub const CATALAN: Lang = Lang { code: "ca", name: "Catalan" };
    pub const CATALAN_SPAIN: Lang = Lang { code: "ca-ES", name: "Catalan (Spain)" };
    pub const CZECH: Lang = Lang { code: "cs", name: "Czech" };
    pub const CZECH_CZECH_REPUBLIC: Lang = Lang { code: "cs-CZ", name: "Czech (Czech Republic)" };
    pub const WELSH: Lang = Lang { code: "cy", name: "Welsh" };
    pub const WELSH_UNITED_KINGDOM: Lang = Lang { code: "cy-GB", name: "Welsh (United Kingdom)" };
    pub const DANISH: Lang = Lang { code: "da", name: "Danish" };
    pub const DANISH_DENMARK: Lang = Lang { code: "da-DK", name: "Danish (Denmark)" };
    pub const GERMAN: Lang = Lang { code: "de", name: "German" };
    pub const GERMAN_AUSTRIA: Lang = Lang { code: "de-AT", name: "German (Austria)" };
    pub const GERMAN_SWITZERLAND: Lang = Lang { code: "de-CH", name: "German (Switzerland)" };
    pub const GERMAN_GERMANY: Lang = Lang { code: "de-DE", name: "German (Germany)" };
    pub const GERMAN_LIECHTENSTEIN: Lang = Lang { code: "de-LI", name: "German (Liechtenstein)" };
    pub const GERMAN_LUXEMBOURG: Lang = Lang { code: "de-LU", name: "German (Luxembourg)" };
    pub const DIVEHI: Lang = Lang { code: "dv", name: "Divehi" };
    pub const DIVEHI_MALDIVES: Lang = Lang { code: "dv-MV", name: "Divehi (Maldives)" };
    pub const GREEK: Lang = Lang { code: "el", name: "Greek" };
    pub const GREEK_GREECE: Lang = Lang { code: "el-GR", name: "Greek (Greece)" };
    pub const ENGLISH: Lang = Lang { code: "en", name: "English" };
    pub const ENGLISH_AUSTRALIA: Lang = Lang { code: "en-AU", name: "English (Australia)" };
    pub const ENGLISH_BELIZE: Lang = Lang { code: "en-BZ", name: "English (Belize)" };
    pub const ENGLISH_CANADA: Lang = Lang { code: "en-CA", name: "English (Canada)" };
    pub const ENGLISH_CARIBBEAN: Lang = Lang { code: "en-CB", name: "English (Caribbean)" };
    pub const ENGLISH_UNITED_KINGDOM: Lang = Lang { code: "en-GB", name: "English (United Kingdom)" };
    pub const ENGLISH_IRELAND: Lang = Lang { code: "en-IE", name: "English (Ireland)" };
    pub const ENGLISH_JAMAICA: Lang = Lang { code: "en-JM", name: "English (Jamaica)" };
    pub const ENGLISH_NEW_ZEALAND: Lang = Lang { code: "en-NZ", name: "English (New Zealand)" };
    pub const ENGLISH_REPUBLIC_OF_THE_PHILIPPINES: Lang = Lang { code: "en-PH", name: "English (Republic of the Philippines)" };
    pub const ENGLISH_TRINIDAD_AND_TOBAGO: Lang = Lang { code: "en-TT", name: "English (Trinidad and Tobago)" };
    pub const ENGLISH_UNITED_STATES: Lang = Lang { code: "en-US", name: "English (United States)" };
    pub const ENGLISH_SOUTH_AFRICA: Lang = Lang { code: "en-ZA", name: "English (South Africa)" };
    pub const ENGLISH_ZIMBABWE: Lang = Lang { code: "en-ZW", name: "English (Zimbabwe)" };
    pub const ESPERANTO: Lang = Lang { code: "eo", name: "Esperanto" };
    pub const SPANISH: Lang = Lang { code: "es", name: "Spanish" };
    pub const SPANISH_ARGENTINA: Lang = Lang { code: "es-AR", name: "Spanish (Argentina)" };
    pub const SPANISH_BOLIVIA: Lang = Lang { code: "es-BO", name: "Spanish (Bolivia)" };
    pub const SPANISH_CHILE: Lang = Lang { code: "es-CL", name: "Spanish (Chile)" };
    pub const SPANISH_COLOMBIA: Lang = Lang { code: "es-CO", name: "Spanish (Colombia)" };
    pub const SPANISH_COSTA_RICA: Lang = Lang { code: "es-CR", name: "Spanish (Costa Rica)" };
    pub const SPANISH_DOMINICAN_REPUBLIC: Lang = Lang { code: "es-DO", name: "Spanish (Dominican Republic)" };
    pub const SPANISH_ECUADOR: Lang = Lang { code: "es-EC", name: "Spanish (Ecuador)" };
    pub const SPANISH_CASTILIAN: Lang = Lang { code: "es-ES", name: "Spanish (Castilian)" };
    pub const SPANISH_SPAIN: Lang = Lang { code: "es-ES", name: "Spanish (Spain)" };
    pub const SPANISH_GUATEMALA: Lang = Lang { code: "es-GT", name: "Spanish (Guatemala)" };
    pub const SPANISH_HONDURAS: Lang = Lang { code: "es-HN", name: "Spanish (Honduras)" };
    pub const SPANISH_MEXICO: Lang = Lang { code: "es-MX", name: "Spanish (Mexico)" };
    pub const SPANISH_NICARAGUA: Lang = Lang { code: "es-NI", name: "Spanish (Nicaragua)" };
    pub const SPANISH_PANAMA: Lang = Lang { code: "es-PA", name: "Spanish (Panama)" };
    pub const SPANISH_PERU: Lang = Lang { code: "es-PE", name: "Spanish (Peru)" };
    pub const SPANISH_PUERTO_RICO: Lang = Lang { code: "es-PR", name: "Spanish (Puerto Rico)" };
    pub const SPANISH_PARAGUAY: Lang = Lang { code: "es-PY", name: "Spanish (Paraguay)" };
    pub const SPANISH_EL_SALVADOR: Lang = Lang { code: "es-SV", name: "Spanish (El Salvador)" };
    pub const SPANISH_URUGUAY: Lang = Lang { code: "es-UY", name: "Spanish (Uruguay)" };
    pub const SPANISH_VENEZUELA: Lang = Lang { code: "es-VE", name: "Spanish (Venezuela)" };
    pub const ESTONIAN: Lang = Lang { code: "et", name: "Estonian" };
    pub const ESTONIAN_ESTONIA: Lang = Lang { code: "et-EE", name: "Estonian (Estonia)" };
    pub const BASQUE: Lang = Lang { code: "eu", name: "Basque" };
    pub const BASQUE_SPAIN: Lang = Lang { code: "eu-ES", name: "Basque (Spain)" };
    pub const FARSI: Lang = Lang { code: "fa", name: "Farsi" };
    pub const FARSI_IRAN: Lang = Lang { code: "fa-IR", name: "Farsi (Iran)" };
    pub const FINNISH: Lang = Lang { code: "fi", name: "Finnish" };
    pub const FINNISH_FINLAND: Lang = Lang { code: "fi-FI", name: "Finnish (Finland)" };
    pub const FAROESE: Lang = Lang { code: "fo", name: "Faroese" };
    pub const FAROESE_FAROE_ISLANDS: Lang = Lang { code: "fo-FO", name: "Faroese (Faroe Islands)" };
    pub const FRENCH: Lang = Lang { code: "fr", name: "French" };
    pub const FRENCH_BELGIUM: Lang = Lang { code: "fr-BE", name: "French (Belgium)" };
    pub const FRENCH_CANADA: Lang = Lang { code: "fr-CA", name: "French (Canada)" };
    pub const FRENCH_SWITZERLAND: Lang = Lang { code: "fr-CH", name: "French (Switzerland)" };
    pub const FRENCH_FRANCE: Lang = Lang { code: "fr-FR", name: "French (France)" };
    pub const FRENCH_LUXEMBOURG: Lang = Lang { code: "fr-LU", name: "French (Luxembourg)" };
    pub const FRENCH_PRINCIPALITY_OF_MONACO: Lang = Lang { code: "fr-MC", name: "French (Principality of Monaco)" };
    pub const GALICIAN: Lang = Lang { code: "gl", name: "Galician" };
    pub const GALICIAN_SPAIN: Lang = Lang { code: "gl-ES", name: "Galician (Spain)" };
    pub const GUJARATI: Lang = Lang { code: "gu", name: "Gujarati" };
    pub const GUJARATI_INDIA: Lang = Lang { code: "gu-IN", name: "Gujarati (India)" };
    pub const HEBREW: Lang = Lang { code: "he", name: "Hebrew" };
    pub const HEBREW_ISRAEL: Lang = Lang { code: "he-IL", name: "Hebrew (Israel)" };
    pub const HINDI: Lang = Lang { code: "hi", name: "Hindi" };
    pub const HINDI_INDIA: Lang = Lang { code: "hi-IN", name: "Hindi (India)" };
    pub const CROATIAN: Lang = Lang { code: "hr", name: "Croatian" };
    pub const CROATIAN_BOSNIA_AND_HERZEGOVINA: Lang = Lang { code: "hr-BA", name: "Croatian (Bosnia and Herzegovina)" };
    pub const CROATIAN_CROATIA: Lang = Lang { code: "hr-HR", name: "Croatian (Croatia)" };
    pub const HUNGARIAN: Lang = Lang { code: "hu", name: "Hungarian" };
    pub const HUNGARIAN_HUNGARY: Lang = Lang { code: "hu-HU", name: "Hungarian (Hungary)" };
    pub const ARMENIAN: Lang = Lang { code: "hy", name: "Armenian" };
    pub const ARMENIAN_ARMENIA: Lang = Lang { code: "hy-AM", name: "Armenian (Armenia)" };
    pub const INDONESIAN: Lang = Lang { code: "id", name: "Indonesian" };
    pub const INDONESIAN_INDONESIA: Lang = Lang { code: "id-ID", name: "Indonesian (Indonesia)" };
    pub const ICELANDIC: Lang = Lang { code: "is", name: "Icelandic" };
    pub const ICELANDIC_ICELAND: Lang = Lang { code: "is-IS", name: "Icelandic (Iceland)" };
    pub const ITALIAN: Lang = Lang { code: "it", name: "Italian" };
    pub const ITALIAN_SWITZERLAND: Lang = Lang { code: "it-CH", name: "Italian (Switzerland)" };
    pub const ITALIAN_ITALY: Lang = Lang { code: "it-IT", name: "Italian (Italy)" };
    pub const JAPANESE: Lang = Lang { code: "ja", name: "Japanese" };
    pub const JAPANESE_JAPAN: Lang = Lang { code: "ja-JP", name: "Japanese (Japan)" };
    pub const GEORGIAN: Lang = Lang { code: "ka", name: "Georgian" };
    pub const GEORGIAN_GEORGIA: Lang = Lang { code: "ka-GE", name: "Georgian (Georgia)" };
    pub const KAZAKH: Lang = Lang { code: "kk", name: "Kazakh" };
    pub const KAZAKH_KAZAKHSTAN: Lang = Lang { code: "kk-KZ", name: "Kazakh (Kazakhstan)" };
    pub const KANNADA: Lang = Lang { code: "kn", name: "Kannada" };
    pub const KANNADA_INDIA: Lang = Lang { code: "kn-IN", name: "Kannada (India)" };
    pub const KOREAN: Lang = Lang { code: "ko", name: "Korean" };
    pub const KOREAN_KOREA: Lang = Lang { code: "ko-KR", name: "Korean (Korea)" };
    pub const KONKANI: Lang = Lang { code: "kok", name: "Konkani" };
    pub const KONKANI_INDIA: Lang = Lang { code: "kok-IN", name: "Konkani (India)" };
    pub const KYRGYZ: Lang = Lang { code: "ky", name: "Kyrgyz" };
    pub const KYRGYZ_KYRGYZSTAN: Lang = Lang { code: "ky-KG", name: "Kyrgyz (Kyrgyzstan)" };
    pub const LITHUANIAN: Lang = Lang { code: "lt", name: "Lithuanian" };
    pub const LITHUANIAN_LITHUANIA: Lang = Lang { code: "lt-LT", name: "Lithuanian (Lithuania)" };
    pub const LATVIAN: Lang = Lang { code: "lv", name: "Latvian" };
    pub const LATVIAN_LATVIA: Lang = Lang { code: "lv-LV", name: "Latvian (Latvia)" };
    pub const MAORI: Lang = Lang { code: "mi", name: "Maori" };
    pub const MAORI_NEW_ZEALAND: Lang = Lang { code: "mi-NZ", name: "Maori (New Zealand)" };
    pub const FYRO_MACEDONIAN: Lang = Lang { code: "mk", name: "FYRO Macedonian" };
    pub const FYRO_MACEDONIAN_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA: Lang = Lang { code: "mk-MK", name: "FYRO Macedonian (Former Yugoslav Republic of Macedonia)" };
    pub const MONGOLIAN: Lang = Lang { code: "mn", name: "Mongolian" };
    pub const MONGOLIAN_MONGOLIA: Lang = Lang { code: "mn-MN", name: "Mongolian (Mongolia)" };
    pub const MARATHI: Lang = Lang { code: "mr", name: "Marathi" };
    pub const MARATHI_INDIA: Lang = Lang { code: "mr-IN", name: "Marathi (India)" };
    pub const MALAY: Lang = Lang { code: "ms", name: "Malay" };
    pub const MALAY_BRUNEI_DARUSSALAM: Lang = Lang { code: "ms-BN", name: "Malay (Brunei Darussalam)" };
    pub const MALAY_MALAYSIA: Lang = Lang { code: "ms-MY", name: "Malay (Malaysia)" };
    pub const MALTESE: Lang = Lang { code: "mt", name: "Maltese" };
    pub const MALTESE_MALTA: Lang = Lang { code: "mt-MT", name: "Maltese (Malta)" };
    pub const NORWEGIAN_BOKMAL: Lang = Lang { code: "nb", name: "Norwegian (Bokmal)" };
    pub const NORWEGIAN_BOKMAL_NORWAY: Lang = Lang { code: "nb-NO", name: "Norwegian (Bokmal) (Norway)" };
    pub const DUTCH: Lang = Lang { code: "nl", name: "Dutch" };
    pub const DUTCH_BELGIUM: Lang = Lang { code: "nl-BE", name: "Dutch (Belgium)" };
    pub const DUTCH_NETHERLANDS: Lang = Lang { code: "nl-NL", name: "Dutch (Netherlands)" };
    pub const NORWEGIAN_NYNORSK_NORWAY: Lang = Lang { code: "nn-NO", name: "Norwegian (Nynorsk) (Norway)" };
    pub const NORTHERN_SOTHO: Lang = Lang { code: "ns", name: "Northern Sotho" };
    pub const NORTHERN_SOTHO_SOUTH_AFRICA: Lang = Lang { code: "ns-ZA", name: "Northern Sotho (South Africa)" };
    pub const PUNJABI: Lang = Lang { code: "pa", name: "Punjabi" };
    pub const PUNJABI_INDIA: Lang = Lang { code: "pa-IN", name: "Punjabi (India)" };
    pub const POLISH: Lang = Lang { code: "pl", name: "Polish" };
    pub const POLISH_POLAND: Lang = Lang { code: "pl-PL", name: "Polish (Poland)" };
    pub const PASHTO: Lang = Lang { code: "ps", name: "Pashto" };
    pub const PASHTO_AFGHANISTAN: Lang = Lang { code: "ps-AR", name: "Pashto (Afghanistan)" };
    pub const PORTUGUESE: Lang = Lang { code: "pt", name: "Portuguese" };
    pub const PORTUGUESE_BRAZIL: Lang = Lang { code: "pt-BR", name: "Portuguese (Brazil)" };
    pub const PORTUGUESE_PORTUGAL: Lang = Lang { code: "pt-PT", name: "Portuguese (Portugal)" };
    pub const QUECHUA: Lang = Lang { code: "qu", name: "Quechua" };
    pub const QUECHUA_BOLIVIA: Lang = Lang { code: "qu-BO", name: "Quechua (Bolivia)" };
    pub const QUECHUA_ECUADOR: Lang = Lang { code: "qu-EC", name: "Quechua (Ecuador)" };
    pub const QUECHUA_PERU: Lang = Lang { code: "qu-PE", name: "Quechua (Peru)" };
    pub const ROMANIAN: Lang = Lang { code: "ro", name: "Romanian" };
    pub const ROMANIAN_ROMANIA: Lang = Lang { code: "ro-RO", name: "Romanian (Romania)" };
    pub const RUSSIAN: Lang = Lang { code: "ru", name: "Russian" };
    pub const RUSSIAN_RUSSIA: Lang = Lang { code: "ru-RU", name: "Russian (Russia)" };
    pub const SANSKRIT: Lang = Lang { code: "sa", name: "Sanskrit" };
    pub const SANSKRIT_INDIA: Lang = Lang { code: "sa-IN", name: "Sanskrit (India)" };
    pub const SAMI_NORTHERN: Lang = Lang { code: "se", name: "Sami (Northern)" };
    pub const SAMI_NORTHERN_FINLAND: Lang = Lang { code: "se-FI", name: "Sami (Northern) (Finland)" };
    pub const SAMI_SKOLT_FINLAND: Lang = Lang { code: "se-FI", name: "Sami (Skolt) (Finland)" };
    pub const SAMI_INARI_FINLAND: Lang = Lang { code: "se-FI", name: "Sami (Inari) (Finland)" };
    pub const SAMI_NORTHERN_NORWAY: Lang = Lang { code: "se-NO", name: "Sami (Northern) (Norway)" };
    pub const SAMI_LULE_NORWAY: Lang = Lang { code: "se-NO", name: "Sami (Lule) (Norway)" };
    pub const SAMI_SOUTHERN_NORWAY: Lang = Lang { code: "se-NO", name: "Sami (Southern) (Norway)" };
    pub const SAMI_NORTHERN_SWEDEN: Lang = Lang { code: "se-SE", name: "Sami (Northern) (Sweden)" };
    pub const SAMI_LULE_SWEDEN: Lang = Lang { code: "se-SE", name: "Sami (Lule) (Sweden)" };
    pub const SAMI_SOUTHERN_SWEDEN: Lang = Lang { code: "se-SE", name: "Sami (Southern) (Sweden)" };
    pub const SLOVAK: Lang = Lang { code: "sk", name: "Slovak" };
    pub const SLOVAK_SLOVAKIA: Lang = Lang { code: "sk-SK", name: "Slovak (Slovakia)" };
    pub const SLOVENIAN: Lang = Lang { code: "sl", name: "Slovenian" };
    pub const SLOVENIAN_SLOVENIA: Lang = Lang { code: "sl-SI", name: "Slovenian (Slovenia)" };
    pub const ALBANIAN: Lang = Lang { code: "sq", name: "Albanian" };
    pub const ALBANIAN_ALBANIA: Lang = Lang { code: "sq-AL", name: "Albanian (Albania)" };
    pub const SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA: Lang = Lang { code: "sr-BA", name: "Serbian (Latin) (Bosnia and Herzegovina)" };
    pub const SERBIAN_CYRILLIC_BOSNIA_AND_HERZEGOVINA: Lang = Lang { code: "sr-BA", name: "Serbian (Cyrillic) (Bosnia and Herzegovina)" };
    pub const SERBIAN_LATIN_SERBIA_AND_MONTENEGRO: Lang = Lang { code: "sr-SP", name: "Serbian (Latin) (Serbia and Montenegro)" };
    pub const SERBIAN_CYRILLIC_SERBIA_AND_MONTENEGRO: Lang = Lang { code: "sr-SP", name: "Serbian (Cyrillic) (Serbia and Montenegro)" };
    pub const SWEDISH: Lang = Lang { code: "sv", name: "Swedish" };
    pub const SWEDISH_FINLAND: Lang = Lang { code: "sv-FI", name: "Swedish (Finland)" };
    pub const SWEDISH_SWEDEN: Lang = Lang { code: "sv-SE", name: "Swedish (Sweden)" };
    pub const SWAHILI: Lang = Lang { code: "sw", name: "Swahili" };
    pub const SWAHILI_KENYA: Lang = Lang { code: "sw-KE", name: "Swahili (Kenya)" };
    pub const SYRIAC: Lang = Lang { code: "syr", name: "Syriac" };
    pub const SYRIAC_SYRIA: Lang = Lang { code: "syr-SY", name: "Syriac (Syria)" };
    pub const TAMIL: Lang = Lang { code: "ta", name: "Tamil" };
    pub const TAMIL_INDIA: Lang = Lang { code: "ta-IN", name: "Tamil (India)" };
    pub const TELUGU: Lang = Lang { code: "te", name: "Telugu" };
    pub const TELUGU_INDIA: Lang = Lang { code: "te-IN", name: "Telugu (India)" };
    pub const THAI: Lang = Lang { code: "th", name: "Thai" };
    pub const THAI_THAILAND: Lang = Lang { code: "th-TH", name: "Thai (Thailand)" };
    pub const TAGALOG: Lang = Lang { code: "tl", name: "Tagalog" };
    pub const TAGALOG_PHILIPPINES: Lang = Lang { code: "tl-PH", name: "Tagalog (Philippines)" };
    pub const TSWANA: Lang = Lang { code: "tn", name: "Tswana" };
    pub const TSWANA_SOUTH_AFRICA: Lang = Lang { code: "tn-ZA", name: "Tswana (South Africa)" };
    pub const TURKISH: Lang = Lang { code: "tr", name: "Turkish" };
    pub const TURKISH_TURKEY: Lang = Lang { code: "tr-TR", name: "Turkish (Turkey)" };
    pub const TATAR: Lang = Lang { code: "tt", name: "Tatar" };
    pub const TATAR_RUSSIA: Lang = Lang { code: "tt-RU", name: "Tatar (Russia)" };
    pub const TSONGA: Lang = Lang { code: "ts", name: "Tsonga" };
    pub const UKRAINIAN: Lang = Lang { code: "uk", name: "Ukrainian" };
    pub const UKRAINIAN_UKRAINE: Lang = Lang { code: "uk-UA", name: "Ukrainian (Ukraine)" };
    pub const URDU: Lang = Lang { code: "ur", name: "Urdu" };
    pub const URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN: Lang = Lang { code: "ur-PK", name: "Urdu (Islamic Republic of Pakistan)" };
    pub const UZBEK_LATIN: Lang = Lang { code: "uz", name: "Uzbek (Latin)" };
    pub const UZBEK_LATIN_UZBEKISTAN: Lang = Lang { code: "uz-UZ", name: "Uzbek (Latin) (Uzbekistan)" };
    pub const UZBEK_CYRILLIC_UZBEKISTAN: Lang = Lang { code: "uz-UZ", name: "Uzbek (Cyrillic) (Uzbekistan)" };
    pub const VIETNAMESE: Lang = Lang { code: "vi", name: "Vietnamese" };
    pub const VIETNAMESE_VIET_NAM: Lang = Lang { code: "vi-VN", name: "Vietnamese (Viet Nam)" };
    pub const XHOSA: Lang = Lang { code: "xh", name: "Xhosa" };
    pub const XHOSA_SOUTH_AFRICA: Lang = Lang { code: "xh-ZA", name: "Xhosa (South Africa)" };
    pub const CHINESE: Lang = Lang { code: "zh", name: "Chinese" };
    pub const CHINESE_S: Lang = Lang { code: "zh-CN", name: "Chinese (S)" };
    pub const CHINESE_HONG_KONG: Lang = Lang { code: "zh-HK", name: "Chinese (Hong Kong)" };
    pub const CHINESE_MACAU: Lang = Lang { code: "zh-MO", name: "Chinese (Macau)" };
    pub const CHINESE_SINGAPORE: Lang = Lang { code: "zh-SG", name: "Chinese (Singapore)" };
    pub const CHINESE_T: Lang = Lang { code: "zh-TW", name: "Chinese (T)" };
    pub const ZULU: Lang = Lang { code: "zu", name: "Zulu" };
    pub const ZULU_SOUTH_AFRICA: Lang = Lang { code: "zu-ZA", name: "Zulu (South Africa)" };

    pub fn as_list() -> Vec<Lang> {
        let mut language_list : Vec<Lang> = vec![];

        language_list.push(Language::AFRIKAANS);
        language_list.push(Language::AFRIKAANS_SOUTH_AFRICA);
        language_list.push(Language::ARABIC);
        language_list.push(Language::ARABIC_UAE);
        language_list.push(Language::ARABIC_BAHRAIN);
        language_list.push(Language::ARABIC_ALGERIA);
        language_list.push(Language::ARABIC_EGYPT);
        language_list.push(Language::ARABIC_IRAQ);
        language_list.push(Language::ARABIC_JORDAN);
        language_list.push(Language::ARABIC_KUWAIT);
        language_list.push(Language::ARABIC_LEBANON);
        language_list.push(Language::ARABIC_LIBYA);
        language_list.push(Language::ARABIC_MOROCCO);
        language_list.push(Language::ARABIC_OMAN);
        language_list.push(Language::ARABIC_QATAR);
        language_list.push(Language::ARABIC_SAUDI_ARABIA);
        language_list.push(Language::ARABIC_SYRIA);
        language_list.push(Language::ARABIC_TUNISIA);
        language_list.push(Language::ARABIC_YEMEN);
        language_list.push(Language::AZERI_LATIN);
        language_list.push(Language::AZERI_LATIN_AZERBAIJAN);
        language_list.push(Language::AZERI_CYRILLIC_AZERBAIJAN);
        language_list.push(Language::BELARUSIAN);
        language_list.push(Language::BELARUSIAN_BELARUS);
        language_list.push(Language::BULGARIAN);
        language_list.push(Language::BULGARIAN_BULGARIA);
        language_list.push(Language::BOSNIAN_BOSNIA_AND_HERZEGOVINA);
        language_list.push(Language::CATALAN);
        language_list.push(Language::CATALAN_SPAIN);
        language_list.push(Language::CZECH);
        language_list.push(Language::CZECH_CZECH_REPUBLIC);
        language_list.push(Language::WELSH);
        language_list.push(Language::WELSH_UNITED_KINGDOM);
        language_list.push(Language::DANISH);
        language_list.push(Language::DANISH_DENMARK);
        language_list.push(Language::GERMAN);
        language_list.push(Language::GERMAN_AUSTRIA);
        language_list.push(Language::GERMAN_SWITZERLAND);
        language_list.push(Language::GERMAN_GERMANY);
        language_list.push(Language::GERMAN_LIECHTENSTEIN);
        language_list.push(Language::GERMAN_LUXEMBOURG);
        language_list.push(Language::DIVEHI);
        language_list.push(Language::DIVEHI_MALDIVES);
        language_list.push(Language::GREEK);
        language_list.push(Language::GREEK_GREECE);
        language_list.push(Language::ENGLISH);
        language_list.push(Language::ENGLISH_AUSTRALIA);
        language_list.push(Language::ENGLISH_BELIZE);
        language_list.push(Language::ENGLISH_CANADA);
        language_list.push(Language::ENGLISH_CARIBBEAN);
        language_list.push(Language::ENGLISH_UNITED_KINGDOM);
        language_list.push(Language::ENGLISH_IRELAND);
        language_list.push(Language::ENGLISH_JAMAICA);
        language_list.push(Language::ENGLISH_NEW_ZEALAND);
        language_list.push(Language::ENGLISH_REPUBLIC_OF_THE_PHILIPPINES);
        language_list.push(Language::ENGLISH_TRINIDAD_AND_TOBAGO);
        language_list.push(Language::ENGLISH_UNITED_STATES);
        language_list.push(Language::ENGLISH_SOUTH_AFRICA);
        language_list.push(Language::ENGLISH_ZIMBABWE);
        language_list.push(Language::ESPERANTO);
        language_list.push(Language::SPANISH);
        language_list.push(Language::SPANISH_ARGENTINA);
        language_list.push(Language::SPANISH_BOLIVIA);
        language_list.push(Language::SPANISH_CHILE);
        language_list.push(Language::SPANISH_COLOMBIA);
        language_list.push(Language::SPANISH_COSTA_RICA);
        language_list.push(Language::SPANISH_DOMINICAN_REPUBLIC);
        language_list.push(Language::SPANISH_ECUADOR);
        language_list.push(Language::SPANISH_CASTILIAN);
        language_list.push(Language::SPANISH_SPAIN);
        language_list.push(Language::SPANISH_GUATEMALA);
        language_list.push(Language::SPANISH_HONDURAS);
        language_list.push(Language::SPANISH_MEXICO);
        language_list.push(Language::SPANISH_NICARAGUA);
        language_list.push(Language::SPANISH_PANAMA);
        language_list.push(Language::SPANISH_PERU);
        language_list.push(Language::SPANISH_PUERTO_RICO);
        language_list.push(Language::SPANISH_PARAGUAY);
        language_list.push(Language::SPANISH_EL_SALVADOR);
        language_list.push(Language::SPANISH_URUGUAY);
        language_list.push(Language::SPANISH_VENEZUELA);
        language_list.push(Language::ESTONIAN);
        language_list.push(Language::ESTONIAN_ESTONIA);
        language_list.push(Language::BASQUE);
        language_list.push(Language::BASQUE_SPAIN);
        language_list.push(Language::FARSI);
        language_list.push(Language::FARSI_IRAN);
        language_list.push(Language::FINNISH);
        language_list.push(Language::FINNISH_FINLAND);
        language_list.push(Language::FAROESE);
        language_list.push(Language::FAROESE_FAROE_ISLANDS);
        language_list.push(Language::FRENCH);
        language_list.push(Language::FRENCH_BELGIUM);
        language_list.push(Language::FRENCH_CANADA);
        language_list.push(Language::FRENCH_SWITZERLAND);
        language_list.push(Language::FRENCH_FRANCE);
        language_list.push(Language::FRENCH_LUXEMBOURG);
        language_list.push(Language::FRENCH_PRINCIPALITY_OF_MONACO);
        language_list.push(Language::GALICIAN);
        language_list.push(Language::GALICIAN_SPAIN);
        language_list.push(Language::GUJARATI);
        language_list.push(Language::GUJARATI_INDIA);
        language_list.push(Language::HEBREW);
        language_list.push(Language::HEBREW_ISRAEL);
        language_list.push(Language::HINDI);
        language_list.push(Language::HINDI_INDIA);
        language_list.push(Language::CROATIAN);
        language_list.push(Language::CROATIAN_BOSNIA_AND_HERZEGOVINA);
        language_list.push(Language::CROATIAN_CROATIA);
        language_list.push(Language::HUNGARIAN);
        language_list.push(Language::HUNGARIAN_HUNGARY);
        language_list.push(Language::ARMENIAN);
        language_list.push(Language::ARMENIAN_ARMENIA);
        language_list.push(Language::INDONESIAN);
        language_list.push(Language::INDONESIAN_INDONESIA);
        language_list.push(Language::ICELANDIC);
        language_list.push(Language::ICELANDIC_ICELAND);
        language_list.push(Language::ITALIAN);
        language_list.push(Language::ITALIAN_SWITZERLAND);
        language_list.push(Language::ITALIAN_ITALY);
        language_list.push(Language::JAPANESE);
        language_list.push(Language::JAPANESE_JAPAN);
        language_list.push(Language::GEORGIAN);
        language_list.push(Language::GEORGIAN_GEORGIA);
        language_list.push(Language::KAZAKH);
        language_list.push(Language::KAZAKH_KAZAKHSTAN);
        language_list.push(Language::KANNADA);
        language_list.push(Language::KANNADA_INDIA);
        language_list.push(Language::KOREAN);
        language_list.push(Language::KOREAN_KOREA);
        language_list.push(Language::KONKANI);
        language_list.push(Language::KONKANI_INDIA);
        language_list.push(Language::KYRGYZ);
        language_list.push(Language::KYRGYZ_KYRGYZSTAN);
        language_list.push(Language::LITHUANIAN);
        language_list.push(Language::LITHUANIAN_LITHUANIA);
        language_list.push(Language::LATVIAN);
        language_list.push(Language::LATVIAN_LATVIA);
        language_list.push(Language::MAORI);
        language_list.push(Language::MAORI_NEW_ZEALAND);
        language_list.push(Language::FYRO_MACEDONIAN);
        language_list.push(Language::FYRO_MACEDONIAN_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA);
        language_list.push(Language::MONGOLIAN);
        language_list.push(Language::MONGOLIAN_MONGOLIA);
        language_list.push(Language::MARATHI);
        language_list.push(Language::MARATHI_INDIA);
        language_list.push(Language::MALAY);
        language_list.push(Language::MALAY_BRUNEI_DARUSSALAM);
        language_list.push(Language::MALAY_MALAYSIA);
        language_list.push(Language::MALTESE);
        language_list.push(Language::MALTESE_MALTA);
        language_list.push(Language::NORWEGIAN_BOKMAL);
        language_list.push(Language::NORWEGIAN_BOKMAL_NORWAY);
        language_list.push(Language::DUTCH);
        language_list.push(Language::DUTCH_BELGIUM);
        language_list.push(Language::DUTCH_NETHERLANDS);
        language_list.push(Language::NORWEGIAN_NYNORSK_NORWAY);
        language_list.push(Language::NORTHERN_SOTHO);
        language_list.push(Language::NORTHERN_SOTHO_SOUTH_AFRICA);
        language_list.push(Language::PUNJABI);
        language_list.push(Language::PUNJABI_INDIA);
        language_list.push(Language::POLISH);
        language_list.push(Language::POLISH_POLAND);
        language_list.push(Language::PASHTO);
        language_list.push(Language::PASHTO_AFGHANISTAN);
        language_list.push(Language::PORTUGUESE);
        language_list.push(Language::PORTUGUESE_BRAZIL);
        language_list.push(Language::PORTUGUESE_PORTUGAL);
        language_list.push(Language::QUECHUA);
        language_list.push(Language::QUECHUA_BOLIVIA);
        language_list.push(Language::QUECHUA_ECUADOR);
        language_list.push(Language::QUECHUA_PERU);
        language_list.push(Language::ROMANIAN);
        language_list.push(Language::ROMANIAN_ROMANIA);
        language_list.push(Language::RUSSIAN);
        language_list.push(Language::RUSSIAN_RUSSIA);
        language_list.push(Language::SANSKRIT);
        language_list.push(Language::SANSKRIT_INDIA);
        language_list.push(Language::SAMI_NORTHERN);
        language_list.push(Language::SAMI_NORTHERN_FINLAND);
        language_list.push(Language::SAMI_SKOLT_FINLAND);
        language_list.push(Language::SAMI_INARI_FINLAND);
        language_list.push(Language::SAMI_NORTHERN_NORWAY);
        language_list.push(Language::SAMI_LULE_NORWAY);
        language_list.push(Language::SAMI_SOUTHERN_NORWAY);
        language_list.push(Language::SAMI_NORTHERN_SWEDEN);
        language_list.push(Language::SAMI_LULE_SWEDEN);
        language_list.push(Language::SAMI_SOUTHERN_SWEDEN);
        language_list.push(Language::SLOVAK);
        language_list.push(Language::SLOVAK_SLOVAKIA);
        language_list.push(Language::SLOVENIAN);
        language_list.push(Language::SLOVENIAN_SLOVENIA);
        language_list.push(Language::ALBANIAN);
        language_list.push(Language::ALBANIAN_ALBANIA);
        language_list.push(Language::SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA);
        language_list.push(Language::SERBIAN_CYRILLIC_BOSNIA_AND_HERZEGOVINA);
        language_list.push(Language::SERBIAN_LATIN_SERBIA_AND_MONTENEGRO);
        language_list.push(Language::SERBIAN_CYRILLIC_SERBIA_AND_MONTENEGRO);
        language_list.push(Language::SWEDISH);
        language_list.push(Language::SWEDISH_FINLAND);
        language_list.push(Language::SWEDISH_SWEDEN);
        language_list.push(Language::SWAHILI);
        language_list.push(Language::SWAHILI_KENYA);
        language_list.push(Language::SYRIAC);
        language_list.push(Language::SYRIAC_SYRIA);
        language_list.push(Language::TAMIL);
        language_list.push(Language::TAMIL_INDIA);
        language_list.push(Language::TELUGU);
        language_list.push(Language::TELUGU_INDIA);
        language_list.push(Language::THAI);
        language_list.push(Language::THAI_THAILAND);
        language_list.push(Language::TAGALOG);
        language_list.push(Language::TAGALOG_PHILIPPINES);
        language_list.push(Language::TSWANA);
        language_list.push(Language::TSWANA_SOUTH_AFRICA);
        language_list.push(Language::TURKISH);
        language_list.push(Language::TURKISH_TURKEY);
        language_list.push(Language::TATAR);
        language_list.push(Language::TATAR_RUSSIA);
        language_list.push(Language::TSONGA);
        language_list.push(Language::UKRAINIAN);
        language_list.push(Language::UKRAINIAN_UKRAINE);
        language_list.push(Language::URDU);
        language_list.push(Language::URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN);
        language_list.push(Language::UZBEK_LATIN);
        language_list.push(Language::UZBEK_LATIN_UZBEKISTAN);
        language_list.push(Language::UZBEK_CYRILLIC_UZBEKISTAN);
        language_list.push(Language::VIETNAMESE);
        language_list.push(Language::VIETNAMESE_VIET_NAM);
        language_list.push(Language::XHOSA);
        language_list.push(Language::XHOSA_SOUTH_AFRICA);
        language_list.push(Language::CHINESE);
        language_list.push(Language::CHINESE_S);
        language_list.push(Language::CHINESE_HONG_KONG);
        language_list.push(Language::CHINESE_MACAU);
        language_list.push(Language::CHINESE_SINGAPORE);
        language_list.push(Language::CHINESE_T);
        language_list.push(Language::ZULU);
        language_list.push(Language::ZULU_SOUTH_AFRICA);

        language_list
    }
}