OSDN Git Service

CLI: update the built in presets
[handbrake-jp/handbrake-jp-git.git] / win / C# / interop / LanguageCodes.cs
1 namespace HandBrake.Interop\r
2 {\r
3     using System;\r
4     using System.Collections.Generic;\r
5     using System.Linq;\r
6     using System.Text;\r
7 \r
8     /// <summary>\r
9     /// Contains utilities for converting language codes.\r
10     /// </summary>\r
11     public static class LanguageCodes\r
12     {\r
13         /// <summary>\r
14         /// The map of language codes to friendly names.\r
15         /// </summary>\r
16         private static Dictionary<string, string> languageMap;\r
17 \r
18         /// <summary>\r
19         /// Gets the map of language codes to friendly names.\r
20         /// </summary>\r
21         private static Dictionary<string, string> LanguageMap\r
22         {\r
23             get\r
24             {\r
25                 if (languageMap == null)\r
26                 {\r
27                     languageMap = new Dictionary<string, string>\r
28                     {\r
29                         {"und", "Unspecified"},\r
30                         {"eng", "English"},\r
31                         {"deu", "Deutsch"},\r
32                         {"fra", "Français"},\r
33                         {"spa", "Español"},\r
34                         {"rus", "Russian"},\r
35                         {"aar", "Afar"},\r
36                         {"abk", "Abkhazian"},\r
37                         {"afr", "Afrikaans"},\r
38                         {"aka", "Akan"},\r
39                         {"sqi", "Albanian"},\r
40                         {"amh", "Amharic"},\r
41                         {"ara", "Arabic"},\r
42                         {"arg", "Aragonese"},\r
43                         {"hye", "Armenian"},\r
44                         {"asm", "Assamese"},\r
45                         {"ava", "Avaric"},\r
46                         {"ave", "Avestan"},\r
47                         {"aym", "Aymara"},\r
48                         {"aze", "Azerbaijani"},\r
49                         {"bak", "Bashkir"},\r
50                         {"bam", "Bambara"},\r
51                         {"eus", "Basque"},\r
52                         {"bel", "Belarusian"},\r
53                         {"ben", "Bengali"},\r
54                         {"bih", "Bihari"},\r
55                         {"bis", "Bislama"},\r
56                         {"bos", "Bosnian"},\r
57                         {"bre", "Breton"},\r
58                         {"bul", "Bulgarian"},\r
59                         {"mya", "Burmese"},\r
60                         {"cat", "Catalan"},\r
61                         {"cha", "Chamorro"},\r
62                         {"che", "Chechen"},\r
63                         {"zho", "Chinese"},\r
64                         {"chu", "Church Slavic"},\r
65                         {"chv", "Chuvash"},\r
66                         {"cor", "Cornish"},\r
67                         {"cos", "Corsican"},\r
68                         {"cre", "Cree"},\r
69                         {"ces", "Czech"},\r
70                         {"dan", "Dansk"},\r
71                         {"div", "Divehi"},\r
72                         {"nld", "Nederlands"},\r
73                         {"dzo", "Dzongkha"},\r
74                         {"epo", "Esperanto"},\r
75                         {"est", "Estonian"},\r
76                         {"ewe", "Ewe"},\r
77                         {"fao", "Faroese"},\r
78                         {"fij", "Fijian"},\r
79                         {"fin", "Suomi"},\r
80                         {"fry", "Western Frisian"},\r
81                         {"ful", "Fulah"},\r
82                         {"kat", "Georgian"},\r
83                         {"gla", "Gaelic (Scots)"},\r
84                         {"gle", "Irish"},\r
85                         {"glg", "Galician"},\r
86                         {"glv", "Manx"},\r
87                         {"ell", "Greek Modern"},\r
88                         {"grn", "Guarani"},\r
89                         {"guj", "Gujarati"},\r
90                         {"hat", "Haitian"},\r
91                         {"hau", "Hausa"},\r
92                         {"heb", "Hebrew"},\r
93                         {"her", "Herero"},\r
94                         {"hin", "Hindi"},\r
95                         {"hmo", "Hiri Motu"},\r
96                         {"hun", "Magyar"},\r
97                         {"ibo", "Igbo"},\r
98                         {"isl", "Islenska"},\r
99                         {"ido", "Ido"},\r
100                         {"iii", "Sichuan Yi"},\r
101                         {"iku", "Inuktitut"},\r
102                         {"ile", "Interlingue"},\r
103                         {"ina", "Interlingua"},\r
104                         {"ind", "Indonesian"},\r
105                         {"ipk", "Inupiaq"},\r
106                         {"ita", "Italiano"},\r
107                         {"jav", "Javanese"},\r
108                         {"jpn", "Japanese"},\r
109                         {"kal", "Kalaallisut"},\r
110                         {"kan", "Kannada"},\r
111                         {"kas", "Kashmiri"},\r
112                         {"kau", "Kanuri"},\r
113                         {"kaz", "Kazakh"},\r
114                         {"khm", "Central Khmer"},\r
115                         {"kik", "Kikuyu"},\r
116                         {"kin", "Kinyarwanda"},\r
117                         {"kir", "Kirghiz"},\r
118                         {"kom", "Komi"},\r
119                         {"kon", "Kongo"},\r
120                         {"kor", "Korean"},\r
121                         {"kua", "Kuanyama"},\r
122                         {"kur", "Kurdish"},\r
123                         {"lao", "Lao"},\r
124                         {"lat", "Latin"},\r
125                         {"lav", "Latvian"},\r
126                         {"lim", "Limburgan"},\r
127                         {"lin", "Lingala"},\r
128                         {"lit", "Lithuanian"},\r
129                         {"ltz", "Luxembourgish"},\r
130                         {"lub", "Luba-Katanga"},\r
131                         {"lug", "Ganda"},\r
132                         {"mkd", "Macedonian"},\r
133                         {"mah", "Marshallese"},\r
134                         {"mal", "Malayalam"},\r
135                         {"mri", "Maori"},\r
136                         {"mar", "Marathi"},\r
137                         {"msa", "Malay"},\r
138                         {"mlg", "Malagasy"},\r
139                         {"mlt", "Maltese"},\r
140                         {"mol", "Moldavian"},\r
141                         {"mon", "Mongolian"},\r
142                         {"nau", "Nauru"},\r
143                         {"nav", "Navajo"},\r
144                         {"nbl", "Ndebele, South"},\r
145                         {"nde", "Ndebele, North"},\r
146                         {"ndo", "Ndonga"},\r
147                         {"nep", "Nepali"},\r
148                         {"nno", "Norwegian Nynorsk"},\r
149                         {"nob", "Norwegian Bokmål"},\r
150                         {"nor", "Norsk"},\r
151                         {"nya", "Chichewa; Nyanja"},\r
152                         {"oci", "Occitan"},\r
153                         {"oji", "Ojibwa"},\r
154                         {"ori", "Oriya"},\r
155                         {"orm", "Oromo"},\r
156                         {"oss", "Ossetian"},\r
157                         {"pan", "Panjabi"},\r
158                         {"fas", "Persian"},\r
159                         {"pli", "Pali"},\r
160                         {"pol", "Polish"},\r
161                         {"por", "Portugues"},\r
162                         {"pus", "Pushto"},\r
163                         {"que", "Quechua"},\r
164                         {"roh", "Romansh"},\r
165                         {"ron", "Romanian"},\r
166                         {"run", "Rundi"},\r
167                         {"sag", "Sango"},\r
168                         {"san", "Sanskrit"},\r
169                         {"srp", "Serbian"},\r
170                         {"hrv", "Hrvatski"},\r
171                         {"sin", "Sinhala"},\r
172                         {"slk", "Slovak"},\r
173                         {"slv", "Slovenian"},\r
174                         {"sme", "Northern Sami"},\r
175                         {"smo", "Samoan"},\r
176                         {"sna", "Shona"},\r
177                         {"snd", "Sindhi"},\r
178                         {"som", "Somali"},\r
179                         {"sot", "Sotho Southern"},\r
180                         {"srd", "Sardinian"},\r
181                         {"ssw", "Swati"},\r
182                         {"sun", "Sundanese"},\r
183                         {"swa", "Swahili"},\r
184                         {"swe", "Svenska"},\r
185                         {"tah", "Tahitian"},\r
186                         {"tam", "Tamil"},\r
187                         {"tat", "Tatar"},\r
188                         {"tel", "Telugu"},\r
189                         {"tgk", "Tajik"},\r
190                         {"tgl", "Tagalog"},\r
191                         {"tha", "Thai"},\r
192                         {"bod", "Tibetan"},\r
193                         {"tir", "Tigrinya"},\r
194                         {"ton", "Tonga"},\r
195                         {"tsn", "Tswana"},\r
196                         {"tso", "Tsonga"},\r
197                         {"tuk", "Turkmen"},\r
198                         {"tur", "Turkish"},\r
199                         {"twi", "Twi"},\r
200                         {"uig", "Uighur"},\r
201                         {"ukr", "Ukrainian"},\r
202                         {"urd", "Urdu"},\r
203                         {"uzb", "Uzbek"},\r
204                         {"ven", "Venda"},\r
205                         {"vie", "Vietnamese"},\r
206                         {"vol", "Volapük"},\r
207                         {"cym", "Welsh"},\r
208                         {"wln", "Walloon"},\r
209                         {"wol", "Wolof"},\r
210                         {"xho", "Xhosa"},\r
211                         {"yid", "Yiddish"},\r
212                         {"yor", "Yoruba"},\r
213                         {"zha", "Zhuang"},\r
214                         {"zul", "Zulu"}\r
215                     };\r
216                 }\r
217 \r
218                 return languageMap;\r
219             }\r
220         }\r
221 \r
222         /// <summary>\r
223         /// Gets a list of all languages.\r
224         /// </summary>\r
225         public static IList<Language> Languages\r
226         {\r
227             get\r
228             {\r
229                 List<Language> languages = new List<Language>();\r
230 \r
231                 foreach (string languageCode in LanguageMap.Keys)\r
232                 {\r
233                     languages.Add(new Language(languageCode));\r
234                 }\r
235 \r
236                 return languages;\r
237             }\r
238         }\r
239 \r
240         /// <summary>\r
241         /// Gives the friendly name of the language with the given code.\r
242         /// </summary>\r
243         /// <param name="languageCode">The language code.</param>\r
244         /// <returns>The friendly name of the language.</returns>\r
245         public static string Decode(string languageCode)\r
246         {\r
247             if (LanguageMap.ContainsKey(languageCode))\r
248             {\r
249                 return LanguageMap[languageCode];\r
250             }\r
251 \r
252             return "Unknown";\r
253         }\r
254     }\r
255 }\r