private void QueueExctractionWorkerThread(object state) { object[] args = state as object[]; string installPath = (string)args[0]; string sourceCulture = (string)args[1]; string targetCulture = (string)args[2] ?? ResourceTool.DEFAULT_CULTURE; ExtractionMode mode = (ExtractionMode)args[3]; string exportFilePath = (string)args[4]; string languageDbPath = (string)args[5]; try { this.DisableForm(); ITranslator translator; switch (mode) { case ExtractionMode.DatabaseTranslation: translator = new LegacyLanguageDbTranslator(); ((LegacyLanguageDbTranslator)translator).ReadDatabase(languageDbPath); break; case ExtractionMode.Double: translator = new ExpandedStringTranslator(); break; case ExtractionMode.Reverse: translator = new ReverseStringTranslator(); break; case ExtractionMode.WebTranslation: translator = new WebServiceTranslator(); break; default: translator = new NormalizedStringTranslator(); break; } ResourceTool.ExportLanguage(installPath, sourceCulture, targetCulture, translator, exportFilePath, new AppendLogCallback(this.AppendToLog)); } catch (Exception ex) { MessageBox.Show(ex.Message, "Export Failed", MessageBoxButtons.OK, MessageBoxIcon.Information); } finally { this.EnableForm(); } }
private void QueueExctractionWorkerThread(object state) { object[] args = state as object[]; string installPath = (string)args[0]; string sourceCulture = (string)args[1]; string targetCulture = (string)args[2] ?? ResourceTool.DEFAULT_CULTURE; ExtractionMode mode = (ExtractionMode)args[3]; string exportFilePath = (string)args[4]; string languageDbPath = (string)args[5]; try { ITranslator translator; switch (mode) { case ExtractionMode.DatabaseTranslation: translator = new LegacyLanguageDbTranslator(); ((LegacyLanguageDbTranslator)translator).ReadDatabase(languageDbPath); break; case ExtractionMode.Double: translator = new ExpandedStringTranslator(); break; case ExtractionMode.Reverse: translator = new ReverseStringTranslator(); break; case ExtractionMode.WebTranslation: translator = new WebServiceTranslator(); break; default: translator = new NormalizedStringTranslator(); break; } ResourceTool.ExportLanguage(installPath, sourceCulture, targetCulture, translator, exportFilePath, new AppendLogCallback(this.AppendToLog)); AppendToLog(string.Empty); MsgBox.ShowInformation(SharedStrings.LANGUAGE_READY); } catch (Exception ex) { MsgBox.ShowException(ex); } }
private void BindTranslationCultures(string sourceCultureName) { Dictionary <string, CultureInfo> cultureDictionary = new Dictionary <string, CultureInfo>(); List <string> cultureList = new List <string>(); List <string> supportedLanguages = WebServiceTranslator.GetSupportedTargetLanguages(sourceCultureName); // sort the list by english name foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.AllCultures)) { if (ci.Name == "") { continue; } if (supportedLanguages.Contains(ci.Name)) { cultureDictionary.Add(ci.EnglishName, ci); cultureList.Add(ci.EnglishName); } } cultureList.Sort(); // add sorted list to combobox ddlCultures.Items.Clear(); foreach (string cultureEnglishName in cultureList) { CultureInfo ci = cultureDictionary[cultureEnglishName]; int i = ddlCultures.Items.Add(new DropDownListItem(ci.Name, cultureEnglishName, ci.NativeName)); } if (ddlCultures.Items.Count > 0) { this.ddlCultures.SelectedIndex = 0; } }