Skip to main content

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             |                "#;