simple_whisper/
language.rs

1use strum::{Display, EnumIs, EnumIter, EnumMessage, EnumString};
2
3/// Languages supported by the tokenizer
4#[derive(Default, Clone, Copy, Debug, EnumIs, EnumIter, EnumString, Display, EnumMessage)]
5pub enum Language {
6    #[default]
7    #[strum(serialize = "en", message = "English - en")]
8    English,
9    #[strum(serialize = "zh", message = "Chinese - zh")]
10    Chinese,
11    #[strum(serialize = "de", message = "German - de")]
12    German,
13    #[strum(serialize = "es", message = "Spanish - es")]
14    Spanish,
15    #[strum(serialize = "ru", message = "Russian - ru")]
16    Russian,
17    #[strum(serialize = "ko", message = "Korean - ko")]
18    Korean,
19    #[strum(serialize = "fr", message = "French - fr")]
20    French,
21    #[strum(serialize = "ja", message = "Japanese - ja")]
22    Japanese,
23    #[strum(serialize = "pt", message = "Portuguese - pt")]
24    Portuguese,
25    #[strum(serialize = "tr", message = "Turkish - tr")]
26    Turkish,
27    #[strum(serialize = "pl", message = "Polish - pl")]
28    Polish,
29    #[strum(serialize = "ca", message = "Catalan - ca")]
30    Catalan,
31    #[strum(serialize = "nl", message = "Dutch - nl")]
32    Dutch,
33    #[strum(serialize = "ar", message = "Arabic - ar")]
34    Arabic,
35    #[strum(serialize = "sv", message = "Swedish - sv")]
36    Swedish,
37    #[strum(serialize = "it", message = "Italian - it")]
38    Italian,
39    #[strum(serialize = "id", message = "Indonesian - id")]
40    Indonesian,
41    #[strum(serialize = "hi", message = "Hindi - hi")]
42    Hindi,
43    #[strum(serialize = "fi", message = "Finnish - fi")]
44    Finnish,
45    #[strum(serialize = "vi", message = "Vietnamese - vi")]
46    Vietnamese,
47    #[strum(serialize = "he", message = "Hebrew - he")]
48    Hebrew,
49    #[strum(serialize = "uk", message = "Ukrainian - uk")]
50    Ukrainian,
51    #[strum(serialize = "el", message = "Greek - el")]
52    Greek,
53    #[strum(serialize = "ms", message = "Malay - ms")]
54    Malay,
55    #[strum(serialize = "cs", message = "Czech - cs")]
56    Czech,
57    #[strum(serialize = "ro", message = "Romanian - ro")]
58    Romanian,
59    #[strum(serialize = "da", message = "Danish - da")]
60    Danish,
61    #[strum(serialize = "hu", message = "Hungarian - hu")]
62    Hungarian,
63    #[strum(serialize = "ta", message = "Tamil - ta")]
64    Tamil,
65    #[strum(serialize = "no", message = "Norwegian - no")]
66    Norwegian,
67    #[strum(serialize = "th", message = "Thai - th")]
68    Thai,
69    #[strum(serialize = "ur", message = "Urdu - ur")]
70    Urdu,
71    #[strum(serialize = "hr", message = "Croatian - hr")]
72    Croatian,
73    #[strum(serialize = "bg", message = "Bulgarian - bg")]
74    Bulgarian,
75    #[strum(serialize = "lt", message = "Lithuanian - lt")]
76    Lithuanian,
77    #[strum(serialize = "la", message = "Latin - la")]
78    Latin,
79    #[strum(serialize = "mi", message = "Maori - mi")]
80    Maori,
81    #[strum(serialize = "ml", message = "Malayalam - ml")]
82    Malayalam,
83    #[strum(serialize = "cy", message = "Welsh - cy")]
84    Welsh,
85    #[strum(serialize = "sk", message = "Slovak - sk")]
86    Slovak,
87    #[strum(serialize = "te", message = "Telugu - te")]
88    Telugu,
89    #[strum(serialize = "fa", message = "Persian - fa")]
90    Persian,
91    #[strum(serialize = "lv", message = "Latvian - lv")]
92    Latvian,
93    #[strum(serialize = "bn", message = "Bengali - bn")]
94    Bengali,
95    #[strum(serialize = "sr", message = "Serbian - sr")]
96    Serbian,
97    #[strum(serialize = "az", message = "Azerbaijani - az")]
98    Azerbaijani,
99    #[strum(serialize = "sl", message = "Slovenian - sl")]
100    Slovenian,
101    #[strum(serialize = "kn", message = "Kannada - kn")]
102    Kannada,
103    #[strum(serialize = "et", message = "Estonian - et")]
104    Estonian,
105    #[strum(serialize = "mk", message = "Macedonian - mk")]
106    Macedonian,
107    #[strum(serialize = "br", message = "Breton - br")]
108    Breton,
109    #[strum(serialize = "eu", message = "Basque - eu")]
110    Basque,
111    #[strum(serialize = "is", message = "Icelandic - is")]
112    Icelandic,
113    #[strum(serialize = "hy", message = "Armenian - hy")]
114    Armenian,
115    #[strum(serialize = "ne", message = "Nepali - ne")]
116    Nepali,
117    #[strum(serialize = "mn", message = "Mongolian - mn")]
118    Mongolian,
119    #[strum(serialize = "bs", message = "Bosnian - bs")]
120    Bosnian,
121    #[strum(serialize = "kk", message = "Kazakh - kk")]
122    Kazakh,
123    #[strum(serialize = "sq", message = "Albanian - sq")]
124    Albanian,
125    #[strum(serialize = "sw", message = "Swahili - sw")]
126    Swahili,
127    #[strum(serialize = "gl", message = "Galician - gl")]
128    Galician,
129    #[strum(serialize = "mr", message = "Marathi - mr")]
130    Marathi,
131    #[strum(serialize = "pa", message = "Punjabi - pa")]
132    Punjabi,
133    #[strum(serialize = "si", message = "Sinhala - si")]
134    Sinhala,
135    #[strum(serialize = "km", message = "Khmer - km")]
136    Khmer,
137    #[strum(serialize = "sn", message = "Shona - sn")]
138    Shona,
139    #[strum(serialize = "yo", message = "Yoruba - yo")]
140    Yoruba,
141    #[strum(serialize = "so", message = "Somali - so")]
142    Somali,
143    #[strum(serialize = "af", message = "Afrikaans - af")]
144    Afrikaans,
145    #[strum(serialize = "oc", message = "Occitan - oc")]
146    Occitan,
147    #[strum(serialize = "ka", message = "Georgian - ka")]
148    Georgian,
149    #[strum(serialize = "be", message = "Belarusian - be")]
150    Belarusian,
151    #[strum(serialize = "tg", message = "Tajik - tg")]
152    Tajik,
153    #[strum(serialize = "sd", message = "Sindhi - sd")]
154    Sindhi,
155    #[strum(serialize = "gu", message = "Gujarati - gu")]
156    Gujarati,
157    #[strum(serialize = "am", message = "Amharic - am")]
158    Amharic,
159    #[strum(serialize = "yi", message = "Yiddish - yi")]
160    Yiddish,
161    #[strum(serialize = "lo", message = "Lao - lo")]
162    Lao,
163    #[strum(serialize = "uz", message = "Uzbek - uz")]
164    Uzbek,
165    #[strum(serialize = "fo", message = "Faroese - fo")]
166    Faroese,
167    #[strum(serialize = "ht", message = "HaitianCreole - ht")]
168    HaitianCreole,
169    #[strum(serialize = "ps", message = "Pashto - ps")]
170    Pashto,
171    #[strum(serialize = "tk", message = "Turkmen - tk")]
172    Turkmen,
173    #[strum(serialize = "nn", message = "Nynorsk - nn")]
174    Nynorsk,
175    #[strum(serialize = "mt", message = "Maltese - mt")]
176    Maltese,
177    #[strum(serialize = "sa", message = "Sanskrit - sa")]
178    Sanskrit,
179    #[strum(serialize = "lb", message = "Luxembourgish - lb")]
180    Luxembourgish,
181    #[strum(serialize = "my", message = "Myanmar - my")]
182    Myanmar,
183    #[strum(serialize = "bo", message = "Tibetan - bo")]
184    Tibetan,
185    #[strum(serialize = "tl", message = "Tagalog - tl")]
186    Tagalog,
187    #[strum(serialize = "mg", message = "Malagasy - mg")]
188    Malagasy,
189    #[strum(serialize = "as", message = "Assamese - as")]
190    Assamese,
191    #[strum(serialize = "tt", message = "Tatar - tt")]
192    Tatar,
193    #[strum(serialize = "haw", message = "Hawaiian - haw")]
194    Hawaiian,
195    #[strum(serialize = "ln", message = "Lingala - ln")]
196    Lingala,
197    #[strum(serialize = "ha", message = "Hausa - ha")]
198    Hausa,
199    #[strum(serialize = "ba", message = "Bashkir - ba")]
200    Bashkir,
201    #[strum(serialize = "jw", message = "Javanese - jw")]
202    Javanese,
203    #[strum(serialize = "su", message = "Sundanese - su")]
204    Sundanese,
205}