static void tc_GetTranslationsCompleted(object sender, GetTranslationsCompletedEventArgs e) { if (e.Error == null && e.Result != null) { Console.Clear(); Console.WriteLine("Translation Complete!\n"); Matches m = e.Result; string path = System.Reflection.Assembly.GetExecutingAssembly().Location; string[] vals = path.Split('\\'); path = path.Remove(path.IndexOf(vals[vals.Length - 1])); path += "trans.txt"; using (System.IO.StreamWriter file = new System.IO.StreamWriter(path)) { foreach (Match match in m) { file.Write("{0}" + (char)15 + "{1}" + (char)15 + "{2}", match.OriginalText, match.Product + " " + match.ProductVersion, match.ConfidenceLevel); foreach (Translation t in match.Translations) { file.Write((char)14 + "{0}" + (char)15 + "{1}", t.TranslatedText, t.Language); } file.WriteLine(""); } } waitForResults = false; return; } else { Console.WriteLine("ERROR: Failed On Translation Service!\n"); waitForResults = false; } }
private void translator_TranslateAllCompleted(object sender, GetTranslationsCompletedEventArgs e) { if (e.Error != null) { var translations = e.Result .Translations.Select(v => v.TranslatedText.Trim()) .Where(v => v != "") .Distinct(StringComparer.InvariantCultureIgnoreCase); TranslateComplete(this, new TranslatedEventArgs<List<string>>(translations.ToList(), true, e.UserState)); } else { TranslateComplete(this, new TranslatedEventArgs<List<string>>(null, false, e.UserState)); } }