summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
Diffstat (limited to 'win')
-rw-r--r--win/CS/HandBrake.ApplicationServices/Utilities/LanguageUtilities.cs392
-rw-r--r--win/CS/HandBrakeWPF/Services/Presets/Factories/JsonPresetFactory.cs12
2 files changed, 210 insertions, 194 deletions
diff --git a/win/CS/HandBrake.ApplicationServices/Utilities/LanguageUtilities.cs b/win/CS/HandBrake.ApplicationServices/Utilities/LanguageUtilities.cs
index 94a1fb201..1acc9cccc 100644
--- a/win/CS/HandBrake.ApplicationServices/Utilities/LanguageUtilities.cs
+++ b/win/CS/HandBrake.ApplicationServices/Utilities/LanguageUtilities.cs
@@ -35,194 +35,195 @@ namespace HandBrake.ApplicationServices.Utilities
}
languageMap = new Dictionary<string, string>
- {
- {"(Any)", "und"},
- {"Afar", "aar"},
- {"Abkhazian", "abk"},
- {"Afrikaans", "afr"},
- {"Akan", "aka"},
- {"Albanian", "sqi"},
- {"Amharic", "amh"},
- {"Arabic", "ara"},
- {"Aragonese", "arg"},
- {"Armenian", "hye"},
- {"Assamese", "asm"},
- {"Avaric", "ava"},
- {"Avestan", "ave"},
- {"Aymara", "aym"},
- {"Azerbaijani", "aze"},
- {"Bashkir", "bak"},
- {"Bambara", "bam"},
- {"Basque", "eus"},
- {"Belarusian", "bel"},
- {"Bengali", "ben"},
- {"Bihari", "bih"},
- {"Bislama", "bis"},
- {"Bosnian", "bos"},
- {"Breton", "bre"},
- {"Bulgarian", "bul"},
- {"Burmese", "mya"},
- {"Catalan", "cat"},
- {"Chamorro", "cha"},
- {"Chechen", "che"},
- {"Chinese", "zho"},
- {"Church Slavic", "chu"},
- {"Chuvash", "chv"},
- {"Cornish", "cor"},
- {"Corsican", "cos"},
- {"Cree", "cre"},
- {"Czech", "ces"},
- {"Dansk", "dan"},
- {"Divehi", "div"},
- {"Nederlands", "nld"},
- {"Dzongkha", "dzo"},
- {"English", "eng"},
- {"Esperanto", "epo"},
- {"Estonian", "est"},
- {"Ewe", "ewe"},
- {"Faroese", "fao"},
- {"Fijian", "fij"},
- {"Suomi", "fin"},
- {"Francais", "fra"},
- {"Western Frisian", "fry"},
- {"Fulah", "ful"},
- {"Georgian", "kat"},
- {"Deutsch", "deu"},
- {"Gaelic (Scots)", "gla"},
- {"Irish", "gle"},
- {"Galician", "glg"},
- {"Manx", "glv"},
- {"Greek, Modern", "ell"},
- {"Guarani", "grn"},
- {"Gujarati", "guj"},
- {"Haitian", "hat"},
- {"Hausa", "hau"},
- {"Hebrew", "heb"},
- {"Herero", "her"},
- {"Hindi", "hin"},
- {"Hiri Motu", "hmo"},
- {"Magyar", "hun"},
- {"Igbo", "ibo"},
- {"Islenska", "isl"},
- {"Ido", "ido"},
- {"Sichuan Yi", "iii"},
- {"Inuktitut", "iku"},
- {"Interlingue", "ile"},
- {"Interlingua", "ina"},
- {"Indonesian", "ind"},
- {"Inupiaq", "ipk"},
- {"Italiano", "ita"},
- {"Javanese", "jav"},
- {"Japanese", "jpn"},
- {"Kalaallisut", "kal"},
- {"Kannada", "kan"},
- {"Kashmiri", "kas"},
- {"Kanuri", "kau"},
- {"Kazakh", "kaz"},
- {"Central Khmer", "khm"},
- {"Kikuyu", "kik"},
- {"Kinyarwanda", "kin"},
- {"Kirghiz", "kir"},
- {"Komi", "kom"},
- {"Kongo", "kon"},
- {"Korean", "kor"},
- {"Kuanyama", "kua"},
- {"Kurdish", "kur"},
- {"Lao", "lao"},
- {"Latin", "lat"},
- {"Latvian", "lav"},
- {"Limburgan", "lim"},
- {"Lingala", "lin"},
- {"Lithuanian", "lit"},
- {"Luxembourgish", "ltz"},
- {"Luba-Katanga", "lub"},
- {"Ganda", "lug"},
- {"Macedonian", "mkd"},
- {"Marshallese", "mah"},
- {"Malayalam", "mal"},
- {"Maori", "mri"},
- {"Marathi", "mar"},
- {"Malay", "msa"},
- {"Malagasy", "mlg"},
- {"Maltese", "mlt"},
- {"Moldavian", "mol"},
- {"Mongolian", "mon"},
- {"Nauru", "nau"},
- {"Navajo", "nav"},
- {"Ndebele, South", "nbl"},
- {"Ndebele, North", "nde"},
- {"Ndonga", "ndo"},
- {"Nepali", "nep"},
- {"Norwegian Nynorsk", "nno"},
- {"Norwegian Bokmål", "nob"},
- {"Norsk", "nor"},
- {"Chichewa; Nyanja", "nya"},
- {"Occitan", "oci"},
- {"Ojibwa", "oji"},
- {"Oriya", "ori"},
- {"Oromo", "orm"},
- {"Ossetian", "oss"},
- {"Panjabi", "pan"},
- {"Persian", "fas"},
- {"Pali", "pli"},
- {"Polish", "pol"},
- {"Portuguese", "por"},
- {"Pushto", "pus"},
- {"Quechua", "que"},
- {"Romansh", "roh"},
- {"Romanian", "ron"},
- {"Rundi", "run"},
- {"Russian", "rus"},
- {"Sango", "sag"},
- {"Sanskrit", "san"},
- {"Serbian", "srp"},
- {"Hrvatski", "hrv"},
- {"Sinhala", "sin"},
- {"Slovak", "slk"},
- {"Slovenian", "slv"},
- {"Northern Sami", "sme"},
- {"Samoan", "smo"},
- {"Shona", "sna"},
- {"Sindhi", "snd"},
- {"Somali", "som"},
- {"Sotho Southern", "sot"},
- {"Espanol", "spa"},
- {"Sardinian", "srd"},
- {"Swati", "ssw"},
- {"Sundanese", "sun"},
- {"Swahili", "swa"},
- {"Svenska", "swe"},
- {"Tahitian", "tah"},
- {"Tamil", "tam"},
- {"Tatar", "tat"},
- {"Telugu", "tel"},
- {"Tajik", "tgk"},
- {"Tagalog", "tgl"},
- {"Thai", "tha"},
- {"Tibetan", "bod"},
- {"Tigrinya", "tir"},
- {"Tonga", "ton"},
- {"Tswana", "tsn"},
- {"Tsonga", "tso"},
- {"Turkmen", "tuk"},
- {"Turkish", "tur"},
- {"Twi", "twi"},
- {"Uighur", "uig"},
- {"Ukrainian", "ukr"},
- {"Urdu", "urd"},
- {"Uzbek", "uzb"},
- {"Venda", "ven"},
- {"Vietnamese", "vie"},
- {"Volapük", "vol"},
- {"Welsh", "cym"},
- {"Walloon", "wln"},
- {"Wolof", "wol"},
- {"Xhosa", "xho"},
- {"Yiddish", "yid"},
- {"Yoruba", "yor"},
- {"Zhuang", "zha"},
- {"Zulu", "zul"}
- };
+ {
+ { "(Any)", "und" },
+ { "Afar", "aar" },
+ { "Abkhazian", "abk" },
+ { "Afrikaans", "afr" },
+ { "Akan", "aka" },
+ { "Albanian", "sqi" },
+ { "Amharic", "amh" },
+ { "Arabic", "ara" },
+ { "Aragonese", "arg" },
+ { "Armenian", "hye" },
+ { "Assamese", "asm" },
+ { "Avaric", "ava" },
+ { "Avestan", "ave" },
+ { "Aymara", "aym" },
+ { "Azerbaijani", "aze" },
+ { "Bashkir", "bak" },
+ { "Bambara", "bam" },
+ { "Basque", "eus" },
+ { "Belarusian", "bel" },
+ { "Bengali", "ben" },
+ { "Bihari", "bih" },
+ { "Bislama", "bis" },
+ { "Bosnian", "bos" },
+ { "Breton", "bre" },
+ { "Bulgarian", "bul" },
+ { "Burmese", "mya" },
+ { "Catalan", "cat" },
+ { "Chamorro", "cha" },
+ { "Chechen", "che" },
+ { "Chinese", "zho" },
+ { "Church Slavic", "chu" },
+ { "Chuvash", "chv" },
+ { "Cornish", "cor" },
+ { "Corsican", "cos" },
+ { "Cree", "cre" },
+ { "Czech", "ces" },
+ { "Dansk", "dan" },
+ { "Divehi", "div" },
+ { "Nederlands", "nld" },
+ { "Dzongkha", "dzo" },
+ { "English", "eng" },
+ { "Esperanto", "epo" },
+ { "Estonian", "est" },
+ { "Ewe", "ewe" },
+ { "Faroese", "fao" },
+ { "Fijian", "fij" },
+ { "Suomi", "fin" },
+ { "Francais", "fra" },
+ { "Western Frisian", "fry" },
+ { "Fulah", "ful" },
+ { "Georgian", "kat" },
+ { "Deutsch", "deu" },
+ { "Gaelic (Scots)", "gla" },
+ { "Irish", "gle" },
+ { "Galician", "glg" },
+ { "Manx", "glv" },
+ { "Greek, Modern", "ell" },
+ { "Guarani", "grn" },
+ { "Gujarati", "guj" },
+ { "Haitian", "hat" },
+ { "Hausa", "hau" },
+ { "Hebrew", "heb" },
+ { "Herero", "her" },
+ { "Hindi", "hin" },
+ { "Hiri Motu", "hmo" },
+ { "Magyar", "hun" },
+ { "Igbo", "ibo" },
+ { "Islenska", "isl" },
+ { "Ido", "ido" },
+ { "Sichuan Yi", "iii" },
+ { "Inuktitut", "iku" },
+ { "Interlingue", "ile" },
+ { "Interlingua", "ina" },
+ { "Indonesian", "ind" },
+ { "Inupiaq", "ipk" },
+ { "Italiano", "ita" },
+ { "Javanese", "jav" },
+ { "Japanese", "jpn" },
+ { "Kalaallisut", "kal" },
+ { "Kannada", "kan" },
+ { "Kashmiri", "kas" },
+ { "Kanuri", "kau" },
+ { "Kazakh", "kaz" },
+ { "Central Khmer", "khm" },
+ { "Kikuyu", "kik" },
+ { "Kinyarwanda", "kin" },
+ { "Kirghiz", "kir" },
+ { "Komi", "kom" },
+ { "Kongo", "kon" },
+ { "Korean", "kor" },
+ { "Kuanyama", "kua" },
+ { "Kurdish", "kur" },
+ { "Lao", "lao" },
+ { "Latin", "lat" },
+ { "Latvian", "lav" },
+ { "Limburgan", "lim" },
+ { "Lingala", "lin" },
+ { "Lithuanian", "lit" },
+ { "Luxembourgish", "ltz" },
+ { "Luba-Katanga", "lub" },
+ { "Ganda", "lug" },
+ { "Macedonian", "mkd" },
+ { "Marshallese", "mah" },
+ { "Malayalam", "mal" },
+ { "Maori", "mri" },
+ { "Marathi", "mar" },
+ { "Malay", "msa" },
+ { "Malagasy", "mlg" },
+ { "Maltese", "mlt" },
+ { "Moldavian", "mol" },
+ { "Mongolian", "mon" },
+ { "Nauru", "nau" },
+ { "Navajo", "nav" },
+ { "Ndebele, South", "nbl" },
+ { "Ndebele, North", "nde" },
+ { "Ndonga", "ndo" },
+ { "Nepali", "nep" },
+ { "Norwegian Nynorsk", "nno" },
+ { "Norwegian Bokmål", "nob" },
+ { "Norsk", "nor" },
+ { "Chichewa; Nyanja", "nya" },
+ { "Occitan", "oci" },
+ { "Ojibwa", "oji" },
+ { "Oriya", "ori" },
+ { "Oromo", "orm" },
+ { "Ossetian", "oss" },
+ { "Panjabi", "pan" },
+ { "Persian", "fas" },
+ { "Pali", "pli" },
+ { "Polish", "pol" },
+ { "Portuguese", "por" },
+ { "Pushto", "pus" },
+ { "Quechua", "que" },
+ { "Romansh", "roh" },
+ { "Romanian", "ron" },
+ { "Rundi", "run" },
+ { "Russian", "rus" },
+ { "Sango", "sag" },
+ { "Sanskrit", "san" },
+ { "Serbian", "srp" },
+ { "Hrvatski", "hrv" },
+ { "Sinhala", "sin" },
+ { "Slovak", "slk" },
+ { "Slovenian", "slv" },
+ { "Northern Sami", "sme" },
+ { "Samoan", "smo" },
+ { "Shona", "sna" },
+ { "Sindhi", "snd" },
+ { "Somali", "som" },
+ { "Sotho Southern", "sot" },
+ { "Espanol", "spa" },
+ { "Sardinian", "srd" },
+ { "Swati", "ssw" },
+ { "Sundanese", "sun" },
+ { "Swahili", "swa" },
+ { "Svenska", "swe" },
+ { "Tahitian", "tah" },
+ { "Tamil", "tam" },
+ { "Tatar", "tat" },
+ { "Telugu", "tel" },
+ { "Tajik", "tgk" },
+ { "Tagalog", "tgl" },
+ { "Thai", "tha" },
+ { "Tibetan", "bod" },
+ { "Tigrinya", "tir" },
+ { "Tonga", "ton" },
+ { "Tswana", "tsn" },
+ { "Tsonga", "tso" },
+ { "Turkmen", "tuk" },
+ { "Turkish", "tur" },
+ { "Twi", "twi" },
+ { "Uighur", "uig" },
+ { "Ukrainian", "ukr" },
+ { "Urdu", "urd" },
+ { "Uzbek", "uzb" },
+ { "Venda", "ven" },
+ { "Vietnamese", "vie" },
+ { "Volapük", "vol" },
+ { "Welsh", "cym" },
+ { "Walloon", "wln" },
+ { "Wolof", "wol" },
+ { "Xhosa", "xho" },
+ { "Yiddish", "yid" },
+ { "Yoruba", "yor" },
+ { "Zhuang", "zha" },
+ { "Zulu", "zul" }
+ };
+
return languageMap;
}
@@ -267,7 +268,7 @@ namespace HandBrake.ApplicationServices.Utilities
foreach (var item in userLanguages)
{
string isoCode;
- if (LanguageUtilities.MapLanguages().TryGetValue(item, out isoCode))
+ if (MapLanguages().TryGetValue(item, out isoCode))
{
iso6392Codes.Add(isoCode);
}
@@ -276,6 +277,19 @@ namespace HandBrake.ApplicationServices.Utilities
return iso6392Codes;
}
+ public static List<string> GetLanguageNames(IList<string> languageCodes)
+ {
+ // Translate to Iso Codes
+ List<string> names = new List<string>();
+ foreach (var item in languageCodes)
+ {
+ KeyValuePair<string, string> name = MapLanguages().FirstOrDefault(v => v.Value == item); // Slightly inefficient but small set anyway so not a big issue.
+ names.Add(name.Key);
+ }
+
+ return names;
+ }
+
/// <summary>
/// The get iso codes.
/// </summary>
diff --git a/win/CS/HandBrakeWPF/Services/Presets/Factories/JsonPresetFactory.cs b/win/CS/HandBrakeWPF/Services/Presets/Factories/JsonPresetFactory.cs
index 9e958a0aa..9cdb554d1 100644
--- a/win/CS/HandBrakeWPF/Services/Presets/Factories/JsonPresetFactory.cs
+++ b/win/CS/HandBrakeWPF/Services/Presets/Factories/JsonPresetFactory.cs
@@ -335,9 +335,10 @@ namespace HandBrakeWPF.Services.Presets.Factories
if (importedPreset.AudioLanguageList != null)
{
- foreach (var item in importedPreset.AudioLanguageList)
+ IList<string> names = LanguageUtilities.GetLanguageNames(importedPreset.AudioLanguageList);
+ foreach (var name in names)
{
- preset.AudioTrackBehaviours.SelectedLangauges.Add(item);
+ preset.AudioTrackBehaviours.SelectedLangauges.Add(name);
}
}
@@ -376,13 +377,14 @@ namespace HandBrakeWPF.Services.Presets.Factories
preset.SubtitleTrackBehaviours.AddForeignAudioScanTrack = importedPreset.SubtitleAddForeignAudioSearch;
if (importedPreset.SubtitleLanguageList != null)
{
- foreach (var item in importedPreset.SubtitleLanguageList)
+ IList<string> names = LanguageUtilities.GetLanguageNames(importedPreset.SubtitleLanguageList);
+ foreach (var name in names)
{
- preset.SubtitleTrackBehaviours.SelectedLangauges.Add(item);
+ preset.SubtitleTrackBehaviours.SelectedLangauges.Add(name);
}
}
- /* Chapter Marker Settings */
+ /* Chapter Marker Settings */
preset.Task.IncludeChapterMarkers = importedPreset.ChapterMarkers;
/* Advanced Settings */