public void TranslateTest() { MyMemoryTranslator target = new MyMemoryTranslator(); string fromLanguage = "cs"; string toLanguage = "en"; string untranslatedText = "Tohle je testovací překlad.\nDalší řádek."; string expected = "This is a test translation. The next line."; string actual = target.Translate(fromLanguage, toLanguage, untranslatedText, true); Assert.AreEqual(expected, actual); }
/// <summary> /// Uses given translation provider and source and target languages to translate data /// </summary> public static void Translate(List <AbstractTranslateInfoItem> dict, TRANSLATE_PROVIDER provider, string from, string to) { AbstractTranslatorService service = null; // get translation service switch (provider) { case TRANSLATE_PROVIDER.BING: service = BingTranslator.GetService(SettingsObject.Instance.BingAppId); break; case TRANSLATE_PROVIDER.MYMEMORY: service = MyMemoryTranslator.GetService(); break; case TRANSLATE_PROVIDER.GOOGLE: service = GoogleTranslator.GetService(); break; } if (service == null) { throw new Exception("Cannot resolve translation provider!"); } else { try { ProgressBarHandler.StartDeterminate(dict.Count, "Translating..."); int completed = 0; // use the service to translate texts foreach (AbstractTranslateInfoItem item in dict) { string oldValue = item.Value; item.Value = service.Translate(from, to, oldValue, SettingsObject.Instance.OptimizeSpecialSequencesInTranslation); completed++; VLOutputWindow.VisualLocalizerPane.WriteLine("Translated \"{0}\" as \"{1}\" ", oldValue, item.Value); ProgressBarHandler.SetDeterminateProgress(completed, "Translating..."); } } finally { ProgressBarHandler.StopDeterminate("Translation finished", "Ready"); } } }