OSDN Git Service

import original 0.9.5 release
[handbrake-jp/handbrake-jp.git] / win / C# / interop / LanguageCodes.cs
diff --git a/win/C#/interop/LanguageCodes.cs b/win/C#/interop/LanguageCodes.cs
new file mode 100644 (file)
index 0000000..0d45cc1
--- /dev/null
@@ -0,0 +1,255 @@
+namespace HandBrake.Interop\r
+{\r
+    using System;\r
+    using System.Collections.Generic;\r
+    using System.Linq;\r
+    using System.Text;\r
+\r
+    /// <summary>\r
+    /// Contains utilities for converting language codes.\r
+    /// </summary>\r
+    public static class LanguageCodes\r
+    {\r
+        /// <summary>\r
+        /// The map of language codes to friendly names.\r
+        /// </summary>\r
+        private static Dictionary<string, string> languageMap;\r
+\r
+        /// <summary>\r
+        /// Gets the map of language codes to friendly names.\r
+        /// </summary>\r
+        private static Dictionary<string, string> LanguageMap\r
+        {\r
+            get\r
+            {\r
+                if (languageMap == null)\r
+                {\r
+                    languageMap = new Dictionary<string, string>\r
+                    {\r
+                        {"und", "Unspecified"},\r
+                        {"eng", "English"},\r
+                        {"deu", "Deutsch"},\r
+                        {"fra", "Français"},\r
+                        {"spa", "Español"},\r
+                        {"rus", "Russian"},\r
+                        {"aar", "Afar"},\r
+                        {"abk", "Abkhazian"},\r
+                        {"afr", "Afrikaans"},\r
+                        {"aka", "Akan"},\r
+                        {"sqi", "Albanian"},\r
+                        {"amh", "Amharic"},\r
+                        {"ara", "Arabic"},\r
+                        {"arg", "Aragonese"},\r
+                        {"hye", "Armenian"},\r
+                        {"asm", "Assamese"},\r
+                        {"ava", "Avaric"},\r
+                        {"ave", "Avestan"},\r
+                        {"aym", "Aymara"},\r
+                        {"aze", "Azerbaijani"},\r
+                        {"bak", "Bashkir"},\r
+                        {"bam", "Bambara"},\r
+                        {"eus", "Basque"},\r
+                        {"bel", "Belarusian"},\r
+                        {"ben", "Bengali"},\r
+                        {"bih", "Bihari"},\r
+                        {"bis", "Bislama"},\r
+                        {"bos", "Bosnian"},\r
+                        {"bre", "Breton"},\r
+                        {"bul", "Bulgarian"},\r
+                        {"mya", "Burmese"},\r
+                        {"cat", "Catalan"},\r
+                        {"cha", "Chamorro"},\r
+                        {"che", "Chechen"},\r
+                        {"zho", "Chinese"},\r
+                        {"chu", "Church Slavic"},\r
+                        {"chv", "Chuvash"},\r
+                        {"cor", "Cornish"},\r
+                        {"cos", "Corsican"},\r
+                        {"cre", "Cree"},\r
+                        {"ces", "Czech"},\r
+                        {"dan", "Dansk"},\r
+                        {"div", "Divehi"},\r
+                        {"nld", "Nederlands"},\r
+                        {"dzo", "Dzongkha"},\r
+                        {"epo", "Esperanto"},\r
+                        {"est", "Estonian"},\r
+                        {"ewe", "Ewe"},\r
+                        {"fao", "Faroese"},\r
+                        {"fij", "Fijian"},\r
+                        {"fin", "Suomi"},\r
+                        {"fry", "Western Frisian"},\r
+                        {"ful", "Fulah"},\r
+                        {"kat", "Georgian"},\r
+                        {"gla", "Gaelic (Scots)"},\r
+                        {"gle", "Irish"},\r
+                        {"glg", "Galician"},\r
+                        {"glv", "Manx"},\r
+                        {"ell", "Greek Modern"},\r
+                        {"grn", "Guarani"},\r
+                        {"guj", "Gujarati"},\r
+                        {"hat", "Haitian"},\r
+                        {"hau", "Hausa"},\r
+                        {"heb", "Hebrew"},\r
+                        {"her", "Herero"},\r
+                        {"hin", "Hindi"},\r
+                        {"hmo", "Hiri Motu"},\r
+                        {"hun", "Magyar"},\r
+                        {"ibo", "Igbo"},\r
+                        {"isl", "Islenska"},\r
+                        {"ido", "Ido"},\r
+                        {"iii", "Sichuan Yi"},\r
+                        {"iku", "Inuktitut"},\r
+                        {"ile", "Interlingue"},\r
+                        {"ina", "Interlingua"},\r
+                        {"ind", "Indonesian"},\r
+                        {"ipk", "Inupiaq"},\r
+                        {"ita", "Italiano"},\r
+                        {"jav", "Javanese"},\r
+                        {"jpn", "Japanese"},\r
+                        {"kal", "Kalaallisut"},\r
+                        {"kan", "Kannada"},\r
+                        {"kas", "Kashmiri"},\r
+                        {"kau", "Kanuri"},\r
+                        {"kaz", "Kazakh"},\r
+                        {"khm", "Central Khmer"},\r
+                        {"kik", "Kikuyu"},\r
+                        {"kin", "Kinyarwanda"},\r
+                        {"kir", "Kirghiz"},\r
+                        {"kom", "Komi"},\r
+                        {"kon", "Kongo"},\r
+                        {"kor", "Korean"},\r
+                        {"kua", "Kuanyama"},\r
+                        {"kur", "Kurdish"},\r
+                        {"lao", "Lao"},\r
+                        {"lat", "Latin"},\r
+                        {"lav", "Latvian"},\r
+                        {"lim", "Limburgan"},\r
+                        {"lin", "Lingala"},\r
+                        {"lit", "Lithuanian"},\r
+                        {"ltz", "Luxembourgish"},\r
+                        {"lub", "Luba-Katanga"},\r
+                        {"lug", "Ganda"},\r
+                        {"mkd", "Macedonian"},\r
+                        {"mah", "Marshallese"},\r
+                        {"mal", "Malayalam"},\r
+                        {"mri", "Maori"},\r
+                        {"mar", "Marathi"},\r
+                        {"msa", "Malay"},\r
+                        {"mlg", "Malagasy"},\r
+                        {"mlt", "Maltese"},\r
+                        {"mol", "Moldavian"},\r
+                        {"mon", "Mongolian"},\r
+                        {"nau", "Nauru"},\r
+                        {"nav", "Navajo"},\r
+                        {"nbl", "Ndebele, South"},\r
+                        {"nde", "Ndebele, North"},\r
+                        {"ndo", "Ndonga"},\r
+                        {"nep", "Nepali"},\r
+                        {"nno", "Norwegian Nynorsk"},\r
+                        {"nob", "Norwegian Bokmål"},\r
+                        {"nor", "Norsk"},\r
+                        {"nya", "Chichewa; Nyanja"},\r
+                        {"oci", "Occitan"},\r
+                        {"oji", "Ojibwa"},\r
+                        {"ori", "Oriya"},\r
+                        {"orm", "Oromo"},\r
+                        {"oss", "Ossetian"},\r
+                        {"pan", "Panjabi"},\r
+                        {"fas", "Persian"},\r
+                        {"pli", "Pali"},\r
+                        {"pol", "Polish"},\r
+                        {"por", "Portugues"},\r
+                        {"pus", "Pushto"},\r
+                        {"que", "Quechua"},\r
+                        {"roh", "Romansh"},\r
+                        {"ron", "Romanian"},\r
+                        {"run", "Rundi"},\r
+                        {"sag", "Sango"},\r
+                        {"san", "Sanskrit"},\r
+                        {"srp", "Serbian"},\r
+                        {"hrv", "Hrvatski"},\r
+                        {"sin", "Sinhala"},\r
+                        {"slk", "Slovak"},\r
+                        {"slv", "Slovenian"},\r
+                        {"sme", "Northern Sami"},\r
+                        {"smo", "Samoan"},\r
+                        {"sna", "Shona"},\r
+                        {"snd", "Sindhi"},\r
+                        {"som", "Somali"},\r
+                        {"sot", "Sotho Southern"},\r
+                        {"srd", "Sardinian"},\r
+                        {"ssw", "Swati"},\r
+                        {"sun", "Sundanese"},\r
+                        {"swa", "Swahili"},\r
+                        {"swe", "Svenska"},\r
+                        {"tah", "Tahitian"},\r
+                        {"tam", "Tamil"},\r
+                        {"tat", "Tatar"},\r
+                        {"tel", "Telugu"},\r
+                        {"tgk", "Tajik"},\r
+                        {"tgl", "Tagalog"},\r
+                        {"tha", "Thai"},\r
+                        {"bod", "Tibetan"},\r
+                        {"tir", "Tigrinya"},\r
+                        {"ton", "Tonga"},\r
+                        {"tsn", "Tswana"},\r
+                        {"tso", "Tsonga"},\r
+                        {"tuk", "Turkmen"},\r
+                        {"tur", "Turkish"},\r
+                        {"twi", "Twi"},\r
+                        {"uig", "Uighur"},\r
+                        {"ukr", "Ukrainian"},\r
+                        {"urd", "Urdu"},\r
+                        {"uzb", "Uzbek"},\r
+                        {"ven", "Venda"},\r
+                        {"vie", "Vietnamese"},\r
+                        {"vol", "Volapük"},\r
+                        {"cym", "Welsh"},\r
+                        {"wln", "Walloon"},\r
+                        {"wol", "Wolof"},\r
+                        {"xho", "Xhosa"},\r
+                        {"yid", "Yiddish"},\r
+                        {"yor", "Yoruba"},\r
+                        {"zha", "Zhuang"},\r
+                        {"zul", "Zulu"}\r
+                    };\r
+                }\r
+\r
+                return languageMap;\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gets a list of all languages.\r
+        /// </summary>\r
+        public static IList<Language> Languages\r
+        {\r
+            get\r
+            {\r
+                List<Language> languages = new List<Language>();\r
+\r
+                foreach (string languageCode in LanguageMap.Keys)\r
+                {\r
+                    languages.Add(new Language(languageCode));\r
+                }\r
+\r
+                return languages;\r
+            }\r
+        }\r
+\r
+        /// <summary>\r
+        /// Gives the friendly name of the language with the given code.\r
+        /// </summary>\r
+        /// <param name="languageCode">The language code.</param>\r
+        /// <returns>The friendly name of the language.</returns>\r
+        public static string Decode(string languageCode)\r
+        {\r
+            if (LanguageMap.ContainsKey(languageCode))\r
+            {\r
+                return LanguageMap[languageCode];\r
+            }\r
+\r
+            return "Unknown";\r
+        }\r
+    }\r
+}\r