mux_media/types/lang/display.rs
1use super::{Lang, LangCode};
2use std::fmt;
3
4impl Lang {
5 pub(crate) fn as_str(&self) -> &str {
6 match self {
7 Lang::Code(code) => code.as_ref(),
8 Lang::Other(s) => &s,
9 }
10 }
11}
12
13impl LangCode {
14 /// Prints the list of supported language codes to stdout.
15 pub(crate) fn print_list_langs() {
16 println!("{}", LIST_LANGS)
17 }
18}
19
20impl fmt::Display for Lang {
21 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
22 let s: &str = match self {
23 Lang::Code(c) => c.as_ref(),
24 Lang::Other(s) => s,
25 };
26 write!(f, "{}", s)
27 }
28}
29impl fmt::Display for LangCode {
30 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
31 write!(f, "{}", <Self as AsRef<str>>::as_ref(self))
32 }
33}
34
35static LIST_LANGS: &str = r#"English language name | Triple code | Duo code | Alt triple code
36---------------------------+----------------+----------------+----------------
37Abkhazian | abk | ab |
38Afar | aar | aa |
39Afrikaans | afr | af |
40Akan | aka | ak |
41Albanian | alb | sq | sqi
42Amharic | amh | am |
43Arabic | ara | ar |
44Aragonese | arg | an |
45Armenian | arm | hy | hye
46Assamese | asm | as |
47Avaric | ava | av |
48Avestan | ave | ae |
49Aymara | aym | ay |
50Azerbaijani | aze | az |
51Bambara | bam | bm |
52Bashkir | bak | ba |
53Basque | baq | eu | eus
54Belarusian | bel | be |
55Bengali | ben | bn |
56Bislama | bis | bi |
57Bosnian | bos | bs |
58Breton | bre | br |
59Bulgarian | bul | bg |
60Burmese | bur | my | mya
61Catalan | cat | ca |
62Chamorro | cha | ch |
63Chechen | che | ce |
64Chinese | chi | zh | zho
65Church Slavic | chu | cu |
66Chuvash | chv | cv |
67Cornish | cor | kw |
68Corsican | cos | co |
69Cree | cre | cr |
70Croatian | hrv | hr |
71Czech | cze | cs | ces
72Danish | dan | da |
73Dhivehi | div | dv |
74Dutch | dut | nl | nld
75Dzongkha | dzo | dz |
76English | eng | en |
77Esperanto | epo | eo |
78Estonian | est | et |
79Ewe | ewe | ee |
80Faroese | fao | fo |
81Fijian | fij | fj |
82Finnish | fin | fi |
83French | fre | fr | fra
84Fulah | ful | ff |
85Galician | glg | gl |
86Ganda | lug | lg |
87Georgian | geo | ka | kat
88German | ger | de | deu
89Greek (modern, 1453-) | gre | el | ell
90Guarani | grn | gn |
91Gujarati | guj | gu |
92Haitian | hat | ht |
93Hausa | hau | ha |
94Hebrew | heb | he |
95Herero | her | hz |
96Hindi | hin | hi |
97Hiri Motu | hmo | ho |
98Hungarian | hun | hu |
99Icelandic | ice | is | isl
100Ido | ido | io |
101Igbo | ibo | ig |
102Indonesian | ind | id |
103Interlingua (IALA) | ina | ia |
104Interlingue | ile | ie |
105Inuktitut | iku | iu |
106Inupiaq | ipk | ik |
107Irish | gle | ga |
108Italian | ita | it |
109Japanese | jpn | ja |
110Javanese | jav | jv |
111Kalaallisut | kal | kl |
112Kannada | kan | kn |
113Kanuri | kau | kr |
114Kashmiri | kas | ks |
115Kazakh | kaz | kk |
116Khmer | khm | km |
117Kikuyu | kik | ki |
118Kinyarwanda | kin | rw |
119Kirghiz | kir | ky |
120Komi | kom | kv |
121Kongo | kon | kg |
122Korean | kor | ko |
123Kuanyama | kua | kj |
124Kurdish | kur | ku |
125Lao | lao | lo |
126Latin | lat | la |
127Latvian | lav | lv |
128Limburgan | lim | li |
129Lingala | lin | ln |
130Lithuanian | lit | lt |
131Luba-Katanga | lub | lu |
132Luxembourgish | ltz | lb |
133Macedonian | mac | mk | mkd
134Malagasy | mlg | mg |
135Malay (macrolanguage) | may | ms | msa
136Malayalam | mal | ml |
137Maltese | mlt | mt |
138Manx | glv | gv |
139Maori | mao | mi | mri
140Marathi | mar | mr |
141Marshallese | mah | mh |
142Mongolian | mon | mn |
143Nauru | nau | na |
144Navajo | nav | nv |
145Ndonga | ndo | ng |
146Nepali (macrolanguage) | nep | ne |
147North Ndebele | nde | nd |
148Northern Sami | sme | se |
149Norwegian Bokmål | nob | nb |
150Norwegian Nynorsk | nno | nn |
151Norwegian | nor | no |
152Nyanja | nya | ny |
153Occitan (post 1500) | oci | oc |
154Ojibwa | oji | oj |
155Oriya (macrolanguage) | ori | or |
156Oromo | orm | om |
157Ossetian | oss | os |
158Pali | pli | pi |
159Panjabi | pan | pa |
160Persian | per | fa | fas
161Polish | pol | pl |
162Portuguese | por | pt |
163Pushto | pus | ps |
164Quechua | que | qu |
165Romanian | rum | ro | ron
166Romansh | roh | rm |
167Rundi | run | rn |
168Russian | rus | ru |
169Samoan | smo | sm |
170Sango | sag | sg |
171Sanskrit | san | sa |
172Sardinian | srd | sc |
173Scottish Gaelic | gla | gd |
174Serbian | srp | sr |
175Serbo-Croatian | hbs | sh |
176Shona | sna | sn |
177Sichuan Yi | iii | ii |
178Sindhi | snd | sd |
179Sinhala | sin | si |
180Slovak | slo | sk | slk
181Slovenian | slv | sl |
182Somali | som | so |
183South Ndebele | nbl | nr |
184Southern Sotho | sot | st |
185Spanish | spa | es |
186Sundanese | sun | su |
187Swahili (macrolanguage) | swa | sw |
188Swati | ssw | ss |
189Swedish | swe | sv |
190Tagalog | tgl | tl |
191Tahitian | tah | ty |
192Tajik | tgk | tg |
193Tamil | tam | ta |
194Tatar | tat | tt |
195Telugu | tel | te |
196Thai | tha | th |
197Tibetan | tib | bo | bod
198Tigrinya | tir | ti |
199Tonga (Tonga Islands) | ton | to |
200Tsonga | tso | ts |
201Tswana | tsn | tn |
202Turkish | tur | tr |
203Turkmen | tuk | tk |
204Twi | twi | tw |
205Uighur | uig | ug |
206Ukrainian | ukr | uk |
207Urdu | urd | ur |
208Uzbek | uzb | uz |
209Venda | ven | ve |
210Vietnamese | vie | vi |
211Volapük | vol | vo |
212Walloon | wln | wa |
213Welsh | wel | cy | cym
214Western Frisian | fry | fy |
215Wolof | wol | wo |
216Xhosa | xho | xh |
217Yiddish | yid | yi |
218Yoruba | yor | yo |
219Zhuang | zha | za |
220Zulu | zul | zu | "#;