1#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
3#[non_exhaustive]
4pub enum Language {
5 Afrikaans,
7 Albanian,
9 ArabicSaudiArabia,
11 ArabicIraq,
13 ArabicEgypt,
15 ArabicLibya,
17 ArabicAlgeria,
19 ArabicMorocco,
21 ArabicTunisia,
23 ArabicOman,
25 ArabicYemen,
27 ArabicSyria,
29 ArabicJordan,
31 ArabicLebanon,
33 ArabicKuwait,
35 ArabicUAE,
37 ArabicBahrain,
39 ArabicQatar,
41 Armenian,
43 Assamese,
45 AzeriLatin,
47 AzeriCyrillic,
49 Basque,
51 Belarussian,
53 Bengali,
55 Bulgarian,
57 Burmese,
59 Catalan,
61 ChineseTaiwan,
63 ChinesePRC,
65 ChineseHongKongSARPRC,
67 ChineseSingapore,
69 ChineseMacauSAR,
71 Croatian,
73 Czech,
75 Danish,
77 DutchNetherlands,
79 DutchBelgium,
81 #[default]
83 EnglishUnitedStates,
84 EnglishUnitedKingdom,
86 EnglishAustralian,
88 EnglishCanadian,
90 EnglishNewZealand,
92 EnglishIreland,
94 EnglishSouthAfrica,
96 EnglishJamaica,
98 EnglishCaribbean,
100 EnglishBelize,
102 EnglishTrinidad,
104 EnglishZimbabwe,
106 EnglishPhilippines,
108 Estonian,
110 Faeroese,
112 Farsi,
114 Finnish,
116 FrenchStandard,
118 FrenchBelgian,
120 FrenchCanadian,
122 FrenchSwitzerland,
124 FrenchLuxembourg,
126 FrenchMonaco,
128 Georgian,
130 GermanStandard,
132 GermanSwitzerland,
134 GermanAustria,
136 GermanLuxembourg,
138 GermanLiechtenstein,
140 Greek,
142 Gujarati,
144 Hebrew,
146 Hindi,
148 Hungarian,
150 Icelandic,
152 Indonesian,
154 ItalianStandard,
156 ItalianSwitzerland,
158 Japanese,
160 Kannada,
162 KashmiriIndia,
164 Kazakh,
166 Konkani,
168 Korean,
170 KoreanJohab,
172 Latvian,
174 Lithuanian,
176 LithuanianClassic,
178 Macedonian,
180 MalayMalaysian,
182 MalayBruneiDarussalam,
184 Malayalam,
186 Manipuri,
188 Marathi,
190 NepaliIndia,
192 NorwegianBokmal,
194 NorwegianNynorsk,
196 Oriya,
198 Polish,
200 PortugueseBrazil,
202 PortugueseStandard,
204 Punjabi,
206 Romanian,
208 Russian,
210 Sanskrit,
212 SerbianCyrillic,
214 SerbianLatin,
216 Sindhi,
218 Slovak,
220 Slovenian,
222 SpanishTraditionalSort,
224 SpanishMexican,
226 SpanishModernSort,
228 SpanishGuatemala,
230 SpanishCostaRica,
232 SpanishPanama,
234 SpanishDominicanRepublic,
236 SpanishVenezuela,
238 SpanishColombia,
240 SpanishPeru,
242 SpanishArgentina,
244 SpanishEcuador,
246 SpanishChile,
248 SpanishUruguay,
250 SpanishParaguay,
252 SpanishBolivia,
254 SpanishElSalvador,
256 SpanishHonduras,
258 SpanishNicaragua,
260 SpanishPuertoRico,
262 Sutu,
264 SwahiliKenya,
266 Swedish,
268 SwedishFinland,
270 Tamil,
272 TatarTatarstan,
274 Telugu,
276 Thai,
278 Turkish,
280 Ukrainian,
282 UrduPakistan,
284 UrduIndia,
286 UzbekLatin,
288 UzbekCyrillic,
290 Vietnamese,
292 HidUsageDataDescriptor,
294 HidVendorDefined1,
296 HidVendorDefined2,
298 HidVendorDefined3,
300 HidVendorDefined4,
302 Other(u16),
304}
305
306impl From<Language> for u16 {
307 fn from(lang: Language) -> u16 {
308 match lang {
309 Language::Afrikaans => 0x0436,
310 Language::Albanian => 0x041c,
311 Language::ArabicSaudiArabia => 0x0401,
312 Language::ArabicIraq => 0x0801,
313 Language::ArabicEgypt => 0x0c01,
314 Language::ArabicLibya => 0x1001,
315 Language::ArabicAlgeria => 0x1401,
316 Language::ArabicMorocco => 0x1801,
317 Language::ArabicTunisia => 0x1c01,
318 Language::ArabicOman => 0x2001,
319 Language::ArabicYemen => 0x2401,
320 Language::ArabicSyria => 0x2801,
321 Language::ArabicJordan => 0x2c01,
322 Language::ArabicLebanon => 0x3001,
323 Language::ArabicKuwait => 0x3401,
324 Language::ArabicUAE => 0x3801,
325 Language::ArabicBahrain => 0x3c01,
326 Language::ArabicQatar => 0x4001,
327 Language::Armenian => 0x042b,
328 Language::Assamese => 0x044d,
329 Language::AzeriLatin => 0x042c,
330 Language::AzeriCyrillic => 0x082c,
331 Language::Basque => 0x042d,
332 Language::Belarussian => 0x0423,
333 Language::Bengali => 0x0445,
334 Language::Bulgarian => 0x0402,
335 Language::Burmese => 0x0455,
336 Language::Catalan => 0x0403,
337 Language::ChineseTaiwan => 0x0404,
338 Language::ChinesePRC => 0x0804,
339 Language::ChineseHongKongSARPRC => 0x0c04,
340 Language::ChineseSingapore => 0x1004,
341 Language::ChineseMacauSAR => 0x1404,
342 Language::Croatian => 0x041a,
343 Language::Czech => 0x0405,
344 Language::Danish => 0x0406,
345 Language::DutchNetherlands => 0x0413,
346 Language::DutchBelgium => 0x0813,
347 Language::EnglishUnitedStates => 0x0409,
348 Language::EnglishUnitedKingdom => 0x0809,
349 Language::EnglishAustralian => 0x0c09,
350 Language::EnglishCanadian => 0x1009,
351 Language::EnglishNewZealand => 0x1409,
352 Language::EnglishIreland => 0x1809,
353 Language::EnglishSouthAfrica => 0x1c09,
354 Language::EnglishJamaica => 0x2009,
355 Language::EnglishCaribbean => 0x2409,
356 Language::EnglishBelize => 0x2809,
357 Language::EnglishTrinidad => 0x2c09,
358 Language::EnglishZimbabwe => 0x3009,
359 Language::EnglishPhilippines => 0x3409,
360 Language::Estonian => 0x0425,
361 Language::Faeroese => 0x0438,
362 Language::Farsi => 0x0429,
363 Language::Finnish => 0x040b,
364 Language::FrenchStandard => 0x040c,
365 Language::FrenchBelgian => 0x080c,
366 Language::FrenchCanadian => 0x0c0c,
367 Language::FrenchSwitzerland => 0x100c,
368 Language::FrenchLuxembourg => 0x140c,
369 Language::FrenchMonaco => 0x180c,
370 Language::Georgian => 0x0437,
371 Language::GermanStandard => 0x0407,
372 Language::GermanSwitzerland => 0x0807,
373 Language::GermanAustria => 0x0c07,
374 Language::GermanLuxembourg => 0x1007,
375 Language::GermanLiechtenstein => 0x1407,
376 Language::Greek => 0x0408,
377 Language::Gujarati => 0x0447,
378 Language::Hebrew => 0x040d,
379 Language::Hindi => 0x0439,
380 Language::Hungarian => 0x040e,
381 Language::Icelandic => 0x040f,
382 Language::Indonesian => 0x0421,
383 Language::ItalianStandard => 0x0410,
384 Language::ItalianSwitzerland => 0x0810,
385 Language::Japanese => 0x0411,
386 Language::Kannada => 0x044b,
387 Language::KashmiriIndia => 0x0860,
388 Language::Kazakh => 0x043f,
389 Language::Konkani => 0x0457,
390 Language::Korean => 0x0412,
391 Language::KoreanJohab => 0x0812,
392 Language::Latvian => 0x0426,
393 Language::Lithuanian => 0x0427,
394 Language::LithuanianClassic => 0x0827,
395 Language::Macedonian => 0x042f,
396 Language::MalayMalaysian => 0x043e,
397 Language::MalayBruneiDarussalam => 0x083e,
398 Language::Malayalam => 0x044c,
399 Language::Manipuri => 0x0458,
400 Language::Marathi => 0x044e,
401 Language::NepaliIndia => 0x0861,
402 Language::NorwegianBokmal => 0x0414,
403 Language::NorwegianNynorsk => 0x0814,
404 Language::Oriya => 0x0448,
405 Language::Polish => 0x0415,
406 Language::PortugueseBrazil => 0x0416,
407 Language::PortugueseStandard => 0x0816,
408 Language::Punjabi => 0x0446,
409 Language::Romanian => 0x0418,
410 Language::Russian => 0x0419,
411 Language::Sanskrit => 0x044f,
412 Language::SerbianCyrillic => 0x0c1a,
413 Language::SerbianLatin => 0x081a,
414 Language::Sindhi => 0x0459,
415 Language::Slovak => 0x041b,
416 Language::Slovenian => 0x0424,
417 Language::SpanishTraditionalSort => 0x040a,
418 Language::SpanishMexican => 0x080a,
419 Language::SpanishModernSort => 0x0c0a,
420 Language::SpanishGuatemala => 0x100a,
421 Language::SpanishCostaRica => 0x140a,
422 Language::SpanishPanama => 0x180a,
423 Language::SpanishDominicanRepublic => 0x1c0a,
424 Language::SpanishVenezuela => 0x200a,
425 Language::SpanishColombia => 0x240a,
426 Language::SpanishPeru => 0x280a,
427 Language::SpanishArgentina => 0x2c0a,
428 Language::SpanishEcuador => 0x300a,
429 Language::SpanishChile => 0x340a,
430 Language::SpanishUruguay => 0x380a,
431 Language::SpanishParaguay => 0x3c0a,
432 Language::SpanishBolivia => 0x400a,
433 Language::SpanishElSalvador => 0x440a,
434 Language::SpanishHonduras => 0x480a,
435 Language::SpanishNicaragua => 0x4c0a,
436 Language::SpanishPuertoRico => 0x500a,
437 Language::Sutu => 0x0430,
438 Language::SwahiliKenya => 0x0441,
439 Language::Swedish => 0x041d,
440 Language::SwedishFinland => 0x081d,
441 Language::Tamil => 0x0449,
442 Language::TatarTatarstan => 0x0444,
443 Language::Telugu => 0x044a,
444 Language::Thai => 0x041e,
445 Language::Turkish => 0x041f,
446 Language::Ukrainian => 0x0422,
447 Language::UrduPakistan => 0x0420,
448 Language::UrduIndia => 0x0820,
449 Language::UzbekLatin => 0x0443,
450 Language::UzbekCyrillic => 0x0843,
451 Language::Vietnamese => 0x042a,
452 Language::HidUsageDataDescriptor => 0x04ff,
453 Language::HidVendorDefined1 => 0xf0ff,
454 Language::HidVendorDefined2 => 0xf4ff,
455 Language::HidVendorDefined3 => 0xf8ff,
456 Language::HidVendorDefined4 => 0xfcff,
457 Language::Other(other) => other,
458 }
459 }
460}