private static async Task <string> Translate(string buf) { int retry = 10; var buf_escaped = Regex.Escape(buf); if (lookup.ContainsKey(buf_escaped)) { Console.WriteLine("Cache hit! " + buf_escaped); return(Regex.Unescape(lookup[buf_escaped])); } while (retry != 0) { try { Language from = Language.Auto; Language to = GoogleTranslator.GetLanguageByName("Korean"); TranslationResult result = await _translator.TranslateLiteAsync(buf, from, to); string resultMerged = result.MergedTranslation; var translated_escpaed = Regex.Escape(resultMerged); lookup[buf_escaped] = translated_escpaed; Save(); return(resultMerged); } catch (Exception error) { _translator = new GoogleTranslator(); Console.WriteLine(error); retry--; } } return("ERROR"); }
public NicoNicoServer(int PortNum, int ListenNum, int Translator = (int)Translators.User) { translator = Translator; portNum = PortNum; listenNum = ListenNum; WriteConsole("NicoNicoTranslator " + ver, ConsoleColor.Green); WriteConsole("오류 제보 : https://github.com/009342/Nico-Nico-Video-Translator/issues", ConsoleColor.DarkGreen); WriteConsole("제작자 블로그 : http://sshbrain.tistory.com", ConsoleColor.DarkGreen); WriteConsole(""); while (true) { if (translator == (int)Translators.User) { WriteConsole("사용할 번역 서비스를 선택해주세요.", ConsoleColor.Cyan); WriteConsole("1. Google 번역"); WriteConsole("2. 파파고 번역"); WriteConsole("3. 사용하지 않음"); translator = int.Parse(Console.ReadLine()); } if (translator == (int)Translators.Google || translator == (int)Translators.Papago || translator == (int)Translators.None) { break; } } if (translator == (int)Translators.Google) { googleTranslator = new GoogleTranslator(); from = GoogleTranslator.GetLanguageByName("Japanese"); to = GoogleTranslator.GetLanguageByName("Korean"); } if (translator == (int)Translators.Papago) { papagoTranslate = new PapagoTranslate(); } }
public async Task Translate(string sourceLanguageISO, string targetLanguageISO, [Multiword] string input) { var fromLanguage = GoogleTranslator.GetLanguageByISO(sourceLanguageISO); var toLanguage = GoogleTranslator.GetLanguageByName(targetLanguageISO); await ProcessTranslation(fromLanguage, toLanguage, input).ConfigureAwait(false); }
/// <summary> /// Translate /// </summary> /// <returns></returns> private async Task Translate() { GoogleTranslator translator = new GoogleTranslator(); GoogleTranslateFreeApi.Language languageFrom = GoogleTranslateFreeApi.Language.Auto; // GoogleTranslateFreeApi.Language languageTo = GoogleTranslator.GetLanguageByName("Korean"); GoogleTranslateFreeApi.Language languageTo = GoogleTranslator.GetLanguageByName(SelectTranslate(comboBox_LanguageTrans.SelectedIndex)); try { // TranslateAsync TranslateLiteAsync TranslationResult translationResult = await translator.TranslateLiteAsync(textBox_Extract.Text, languageFrom, languageTo); string[] strResultSeparated = translationResult.FragmentedTranslation; string strTranslate = ""; foreach (string strtmp in strResultSeparated) { strTranslate += (strtmp + "\n"); } label_ErrorTranslate.Visible = false; textBox_Translate.Text = strTranslate; } catch (Exception)// ex) { label_ErrorTranslate.Visible = true; textBox_Translate.Text = ""; } }
public async Task <string> TranslateTextAsync(string input) { var translator = new GoogleTranslator(); int selection = comboBox1.SelectedIndex; GoogleTranslateFreeApi.Language from; if (selection == 0) { from = GoogleTranslateFreeApi.Language.Auto; } else { from = GoogleTranslator.GetLanguageByName(languages[comboBox1.SelectedIndex].name); } GoogleTranslateFreeApi.Language to = GoogleTranslator.GetLanguageByName(languages[comboBox2.SelectedIndex].name); TranslationResult result = await translator.TranslateAsync(input, from, to); //The result is separated by the suggestions and the '\n' symbols string[] resultSeparated = result.FragmentedTranslation; //You can get all text using MergedTranslation property string resultMerged = result.MergedTranslation; //There is also original text transcription string transcription = result.TranslatedTextTranscription; // Kon'nichiwa! Ogenkidesuka? Console.WriteLine(resultSeparated.Length); //Console.WriteLine(result.SeeAlso.Length); //Console.WriteLine(result.Synonyms.Conjunction.Length); return(result.MergedTranslation); }
static void Main(string[] args) { Language english = GoogleTranslator.GetLanguageByName("English"); // define language this way Language russian = Language.Russian; // or even this way Language french = GoogleTranslator.GetLanguageByISO("fr"); // you could also use ISO639 value TranslationResult result = Translator.TranslateAsync("Hello. How are you?", english, russian).GetAwaiter().GetResult(); Console.WriteLine($"Result 1: {result.MergedTranslation}"); TranslationResult result2 = Translator.TranslateAsync(new TranslateItem("The quick brown fox jumps over the lazy dog. Brown fox")) .GetAwaiter() .GetResult(); for (var i = 0; i < result2.FragmentedTranslation.Length; i++) { var part = result2.FragmentedTranslation[i]; Console.WriteLine($"Result 2.{i} = {part}"); } TranslationResult result3 = Translator.TranslateAsync("Run", english, Language.Dutch) .GetAwaiter() .GetResult(); foreach (var noun in result3.ExtraTranslations.Noun) { Console.WriteLine($"{noun.Phrase}: {string.Join(", ", noun.PhraseTranslations)}"); } }
public async Task <TranslationResult> TranslateAsync(string text, string to) { var result = await Translator .TranslateLiteAsync(text, Language.Auto, GoogleTranslator.GetLanguageByName(to)) .ConfigureAwait(false); return(result); }
public string Translate(string s, IMessage m, string targetLanguage = "English", string sourceLanguage = "") { Language from = string.IsNullOrWhiteSpace(sourceLanguage) ? Language.Auto : GoogleTranslator.GetLanguageByName(sourceLanguage); Language to = GoogleTranslator.GetLanguageByName(targetLanguage); TranslationResult result = translator.TranslateLiteAsync(s, from, to).Result; return(result.MergedTranslation); }
public static async Task <TranslatedText> Translate(string text, string finalLanguage, string originalLanguage = "Auto") { var translator = new GoogleTranslator(); Language to = GoogleTranslator.GetLanguageByName(finalLanguage); Language from = GoogleTranslator.GetLanguageByName(originalLanguage); var translated = await translator.TranslateLiteAsync(text, from, to); return(new TranslatedText { Original = translated.OriginalText, Translated = translated.MergedTranslation }); }
public async static System.Threading.Tasks.Task <string> TranslateText(string text) { if (text.ToLower().Contains("mondays")) { text = "monday"; } if (text.ToLower().Contains("tuesdays")) { text = "tuesday"; } if (text.ToLower().Contains("wednesdays")) { text = "wednesday"; } if (text.ToLower().Contains("thursdays")) { text = "thursday"; } if (text.ToLower().Contains("fridays")) { text = "monday"; } if (text.ToLower().Contains("saturdays")) { text = "saturday"; } if (text.ToLower().Contains("sundays")) { text = "sunday"; } var translator = new GoogleTranslator(); Language from = Language.English; Language to = GoogleTranslator.GetLanguageByName("Spanish"); TranslationResult result = await translator.TranslateLiteAsync(text, from, to); text = result.MergedTranslation; return(text); }
public static async Task <string> TranslateFromTo(string text, string fromLanguageChineseName, string toLanguageChineseName) { string fromLanguageName = fromLanguageChineseName.Replace("语", "文"); if (Constants.GoogleLanguages.ContainsKey(fromLanguageName)) { fromLanguageName = Constants.GoogleLanguages[fromLanguageChineseName]; } string toLanguageName = toLanguageChineseName.Replace("语", "文"); if (Constants.GoogleLanguages.ContainsKey(toLanguageName)) { toLanguageName = Constants.GoogleLanguages[toLanguageName]; } TranslationResult result = await Translator.TranslateAsync(text, GoogleTranslator.GetLanguageByName(fromLanguageName), GoogleTranslator.GetLanguageByName(toLanguageName)); return(result.MergedTranslation); }
public async static System.Threading.Tasks.Task <List <Anime> > TranslateAnime(List <Anime> anime) { List <Anime> animeNew = new List <Anime>(); foreach (var item in anime) { var translator = new GoogleTranslator(); Language from = Language.English; Language to = GoogleTranslator.GetLanguageByName("Spanish"); TranslationResult result = await translator.TranslateLiteAsync(item.synopsis, from, to); item.synopsis = result.MergedTranslation; animeNew.Add(item); } return(animeNew); }
public async static System.Threading.Tasks.Task <List <Genre> > TranslateGenres(List <Genre> genres) { List <Genre> genresNew = new List <Genre>(); foreach (var item in genres) { var translator = new GoogleTranslator(); Language from = Language.English; Language to = GoogleTranslator.GetLanguageByName("Spanish"); TranslationResult result = await translator.TranslateLiteAsync(item.name, from, to); item.name = result.MergedTranslation; genresNew.Add(item); } return(genresNew); }
static void Main(string[] args) { Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); Language english = GoogleTranslator.GetLanguageByName("English"); // define language this way Language russian = Language.Russian; // or even this way Language french = GoogleTranslator.GetLanguageByISO("fr"); // you could also use ISO639 value //TranslationResult result = Translator.TranslateAsync("Hello. How are you?", english, russian).GetAwaiter().GetResult(); Language cn = Language.ChineseSimplified; // or even this way TranslationResult result = Translator.TranslateAsync("Hello. How are you?", english, cn).GetAwaiter().GetResult(); Console.WriteLine($"Result 1: {result.MergedTranslation}"); TranslationResult result1 = Translator.TranslateAsync("今天是你的生日,我的中国!", cn, english).GetAwaiter().GetResult(); Console.WriteLine($"Result 1-1: {result1.MergedTranslation}"); TranslationResult result2 = Translator.TranslateAsync(new TranslateItem("The quick brown fox jumps over the lazy dog. Brown fox")) .GetAwaiter() .GetResult(); for (var i = 0; i < result2.FragmentedTranslation.Length; i++) { var part = result2.FragmentedTranslation[i]; Console.WriteLine($"Result 2.{i} = {part}"); } //TranslationResult result3 = // Translator.TranslateAsync("Run", english, Language.Dutch) // .GetAwaiter() // .GetResult(); //foreach (var noun in result3.ExtraTranslations.Noun) //{ // Console.WriteLine($"{noun.Phrase}: {string.Join(", ", noun.PhraseTranslations)}"); //} Console.ReadLine(); }
public async Task <string> Get(string from, string to, string text) { var translator = new GoogleTranslator(); Language From; if (from != "Auto") { From = GoogleTranslator.GetLanguageByName(from); } else { From = Language.Auto; } Language To = GoogleTranslator.GetLanguageByName(to); TranslationResult result = await translator.TranslateLiteAsync(text, From, To); return(result.MergedTranslation); }
public async static Task <IList <string> > TranslateDescription(IList <string> list, string isoLanguageTo) { string description = string.Join("|", list); var translate = new GoogleTranslator(); Language fromLang = Language.Auto; Language from = GoogleTranslator.GetLanguageByISO(fromLang.FullName); Language to = GoogleTranslator.GetLanguageByName(isoLanguageTo); TranslationResult result = await translate.TranslateLiteAsync(description, fromLang, to); //The result is separated by the suggestions and the '\n' symbols string[] resultSeparated = result.FragmentedTranslation; //You can get all text using MergedTranslation property string resultMerged = result.MergedTranslation; //There is also original text transcription string transcription = result.TranslatedTextTranscription; // Kon'nichiwa! Ogenkidesuka? return(resultMerged.Split('|').Select(x => x.TrimStart()).ToList()); }
static async Task Main(string[] args) { Console.WriteLine("Hello World!"); var translator = new GoogleTranslator(); Language from = Language.Auto; Language to = GoogleTranslator.GetLanguageByName("Japanese"); //TranslationResult result = await translator.TranslateLiteAsync("Hello. How are you?", from, to); TranslationResult result = await translator.TranslateLiteAsync("Hello. How are you?", from, to); //The result is separated by the suggestions and the '\n' symbols string[] resultSeparated = result.FragmentedTranslation; //You can get all text using MergedTranslation property string resultMerged = result.MergedTranslation; //There is also original text transcription string transcription = result.TranslatedTextTranscription; // Kon'nichiwa! Ogenkidesuka? Console.WriteLine("Ok"); }
public async Task Add(ITextChannel sourceTextChannel, ITextChannel targetTextChannel, Languages sourceLanguage, Languages targetLanguage, ulong?fromMessageId = null) { if (!(await Ditto.Client.DoAsync( async c => (await c.GetPermissionsAsync(sourceTextChannel)).HasAccess() && (await c.GetPermissionsAsync(targetTextChannel)).HasAccess() ).ConfigureAwait(false))) { await Context.ApplyResultReaction(CommandResult.FailedBotPermission).ConfigureAwait(false); return; } var fromLanguage = GoogleTranslator.GetLanguageByName(sourceLanguage.ToString()); var toLanguage = GoogleTranslator.GetLanguageByName(targetLanguage.ToString()); if (fromLanguage == null || toLanguage == null) { await Context.ApplyResultReaction(CommandResult.InvalidParameters).ConfigureAwait(false); return; } string value = $"{sourceTextChannel.Id}|{fromLanguage.ISO639}|{toLanguage.ISO639}|{(fromMessageId == null ? $"{ulong.MinValue}" : $"{fromMessageId}")}";
static void ShowAllEnglishTranslation(string english, int indent) { string prefix = indent > 0 ? RepeatString(" ", indent) : ""; Console.WriteLine(prefix + english + ":"); ArrayList translations = BingDictionary.Translate(english); if (translations != null) { foreach (string translation in translations) { Console.WriteLine(prefix + " " + translation); } } else { var translate_result = translator.TranslateAsync(english, Language.Auto, GoogleTranslator.GetLanguageByName("Chinese Simplified")); if (translate_result.Result.ExtraTranslations == null) { foreach (string translation in translate_result.Result.FragmentedTranslation) { Console.WriteLine(prefix + " " + translation); } return; } if (translate_result.Result.ExtraTranslations.Abbreviation != null) { Console.WriteLine(prefix + " Abbreviation:"); foreach (var translation in translate_result.Result.ExtraTranslations.Abbreviation) { Console.WriteLine(prefix + " " + translation.Phrase); } } if (translate_result.Result.ExtraTranslations.Adjective != null) { Console.WriteLine(prefix + " Adjective:"); foreach (var translation in translate_result.Result.ExtraTranslations.Adjective) { Console.WriteLine(prefix + " " + translation.Phrase); } } if (translate_result.Result.ExtraTranslations.Adverb != null) { Console.WriteLine(prefix + " Adverb:"); foreach (var translation in translate_result.Result.ExtraTranslations.Adverb) { Console.WriteLine(prefix + " " + translation.Phrase); } } if (translate_result.Result.ExtraTranslations.AuxiliaryVerb != null) { Console.WriteLine(prefix + " AuxiliaryVerb:"); foreach (var translation in translate_result.Result.ExtraTranslations.AuxiliaryVerb) { Console.WriteLine(prefix + " " + translation.Phrase); } } if (translate_result.Result.ExtraTranslations.Conjunction != null) { Console.WriteLine(prefix + " Conjunction:"); foreach (var translation in translate_result.Result.ExtraTranslations.Conjunction) { Console.WriteLine(prefix + " " + translation.Phrase); } } if (translate_result.Result.ExtraTranslations.Interjection != null) { Console.WriteLine(prefix + " Interjection:"); foreach (var translation in translate_result.Result.ExtraTranslations.Interjection) { Console.WriteLine(prefix + " " + translation.Phrase); } } if (translate_result.Result.ExtraTranslations.Noun != null) { Console.WriteLine(prefix + " Noun:"); foreach (var translation in translate_result.Result.ExtraTranslations.Noun) { Console.WriteLine(prefix + " " + translation.Phrase); } } if (translate_result.Result.ExtraTranslations.Phrase != null) { Console.WriteLine(prefix + " Phrase:"); foreach (var translation in translate_result.Result.ExtraTranslations.Phrase) { Console.WriteLine(prefix + " " + translation.Phrase); } } if (translate_result.Result.ExtraTranslations.Prefix != null) { Console.WriteLine(prefix + " Prefix:"); foreach (var translation in translate_result.Result.ExtraTranslations.Prefix) { Console.WriteLine(prefix + " " + translation.Phrase); } } if (translate_result.Result.ExtraTranslations.Preposition != null) { Console.WriteLine(prefix + " Preposition:"); foreach (var translation in translate_result.Result.ExtraTranslations.Preposition) { Console.WriteLine(prefix + " " + translation.Phrase); } } if (translate_result.Result.ExtraTranslations.Pronoun != null) { Console.WriteLine(prefix + " Pronoun:"); foreach (var translation in translate_result.Result.ExtraTranslations.Pronoun) { Console.WriteLine(prefix + " " + translation.Phrase); } } if (translate_result.Result.ExtraTranslations.Suffix != null) { Console.WriteLine(prefix + " Suffix:"); foreach (var translation in translate_result.Result.ExtraTranslations.Suffix) { Console.WriteLine(prefix + " " + translation.Phrase); } } if (translate_result.Result.ExtraTranslations.Verb != null) { Console.WriteLine(prefix + " Verb:"); foreach (var translation in translate_result.Result.ExtraTranslations.Verb) { Console.WriteLine(prefix + " " + translation.Phrase); } } } }
static async void FillInTheBlank(dynamic json) { Console.WriteLine("该题为: 根据中文意思补全所缺单词"); Console.WriteLine("题目:"); Console.WriteLine(" " + json.data.stem.content.Value); Console.WriteLine("题目翻译:"); Console.WriteLine(" " + json.data.stem.remark.Value); Console.WriteLine("提示(单词前缀): " + json.data.w_tip.Value); Console.WriteLine("单词总长度: " + json.data.w_len.Value.ToString()); Console.WriteLine(); string chinese = json.data.stem.remark.Value; string prefix = json.data.w_tip.Value; int full_length = (int)json.data.w_len.Value; int length = full_length - prefix.Length; ArrayList english_results = new ArrayList(); var translate_result = await translator.TranslateLiteAsync(chinese, Language.Auto, GoogleTranslator.GetLanguageByName("English")); foreach (string translation in translate_result.FragmentedTranslation) { foreach (Match match in Regex.Matches(translation, @"\b" + prefix + "[a-z]{" + length.ToString() + @"}\b")) { if (!english_results.Contains(match.Value)) { english_results.Add(match.Value); } } } if (english_results.Count > 0) { Console.WriteLine("根据翻译, 可能的结果如下:"); foreach (string english_result in english_results) { ShowAllEnglishTranslation(english_result, 4); } Console.WriteLine("是否有正确答案? [y/N]:"); if (Console.ReadLine() == "y") { return; } } var client = new RestClient("https://www.morewords.com/change-max-results"); client.Timeout = -1; var request = new RestRequest(Method.POST); request.AddHeader("Referer", @"https://www.morewords.com/search?w=" + prefix + @"*&length=" + full_length.ToString() + @"&sort=alpha-az"); request.AlwaysMultipartFormData = true; request.AddParameter("max_results", "all"); var response = client.Execute(request).Content; int pre_count = english_results.Count; foreach (Match match in Regex.Matches(response, prefix + "[a-z]{" + length + "}")) { string english_result = match.Value.Substring(0, full_length); if (!english_results.Contains(english_result)) { english_results.Add(english_result); } } english_results.RemoveRange(0, pre_count); if (english_results.Count > 0) { Console.WriteLine("所有可能的结果如下:"); foreach (string english_result in english_results) { ShowAllEnglishTranslation(english_result, 4); } return; } Console.WriteLine("没有找到合适的词, 应该是个bug, 告辞(逃"); }
public NicoNicoServer(int PortNum, int ListenNum, int Translator = (int)Translators.User) //0 : Bing, 1 : Google, 2 : 사용하지 않음 3 : 사용자 선택, { translator = Translator; portNum = PortNum; listenNum = ListenNum; while (true) { if (translator == (int)Translators.User) { WriteConsole("사용할 번역 서비스를 선택해주세요.", ConsoleColor.Cyan); WriteConsole("1. Bing 번역"); WriteConsole("2. Google 번역"); WriteConsole("3. 사용하지 않음"); translator = int.Parse(Console.ReadLine()); } if (translator == (int)Translators.Bing || translator == (int)Translators.Google || translator == (int)Translators.None) { break; } } if (translator == (int)Translators.Bing) { //Bing 번역 쿠키 가져오기 WriteConsole("Bing 번역 쿠키를 가져오는 중입니다...", ConsoleColor.Cyan); try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.bing.com/translator"); request.Method = "GET"; request.Accept = ("text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); request.Headers.Add("Accept-Language", "ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4"); request.ContentType = ("text/html; charset=utf-8"); request.UserAgent = ("Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36"); request.CookieContainer = cc; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); response.Close(); request = (HttpWebRequest)WebRequest.Create("https://www.bing.com/secure/Passport.aspx?popup=1&ssl=1"); request.Method = "GET"; request.Accept = ("text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); request.Headers.Add("Accept-Language", "ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4"); request.ContentType = ("text/html; charset=utf-8"); request.CookieContainer = cc; request.UserAgent = ("Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36"); response = (HttpWebResponse)request.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader reader = new StreamReader(stream, Encoding.UTF8); stream.Close(); response.Close(); WriteConsole("Bing 쿠키 저장 완료!", ConsoleColor.Green); isBing = true; } catch (Exception ex) { WriteConsole("Bing 쿠키를 받아올 수 없습니다. 인터넷 연결을 확인해주십시오.", ConsoleColor.Red); WriteConsole("서버는 정상적으로 동작하나 코멘트를 번역하지 않습니다.", ConsoleColor.Red); WriteConsole("오류 : " + ex.ToString(), ConsoleColor.Red); translator = (int)Translators.None; } } if (translator == (int)Translators.Google) { googleTranslator = new GoogleTranslator(); from = GoogleTranslator.GetLanguageByName("Japanese"); to = GoogleTranslator.GetLanguageByName("Korean"); } }
public GoogleProxyTranslator(GoogleTranslator translator) { _translator = translator; eng = GoogleTranslator.GetLanguageByName("English"); rus = GoogleTranslator.GetLanguageByName("Russian"); }
public static async Task <string> TranslateTo(string text, string languageChineseName) { //TODO:帮助消息, 返回可翻译的语言名称等 languageChineseName = languageChineseName.Replace("语", "文"); string languageName = languageChineseName switch { "旁遮普文" => "Punjabi", "葡萄牙文" => "Portuguese", "波兰文" => "Polish", "波斯文" => "Persian", "普什图文" => "Pashto", "挪威文" => "Norwegian", "尼泊尔文" => "Nepali", "缅甸文" => "MyanmarBurmese", "蒙古文" => "Mongolian", "马拉地文" => "Marathi", "毛利文" => "Maori", "罗马尼亚文" => "Romanian", "马耳他文" => "Maltese", "马来文" => "Malay", "马尔加什文" => "Malagasy", "马其顿文" => "Macedonian", "卢森堡文" => "Luxembourgish", "立陶宛文" => "Lithuanian", "拉脱维亚文" => "Latvian", "拉丁文" => "Latin", "老挝文" => "Lao", "吉尔吉斯文" => "Kyrgyz", "库尔德文" => "KurdishKurmanji", "韩文" => "Korean", "马拉雅拉姆文" => "Malayalam", "高棉文" => "Khmer", "俄文" => "Russian", "俄罗斯文" => "Russian", "苏格兰盖尔文" => "ScotsGaelic", "意第绪文" => "Yiddish", "科萨文" => "Xhosa", "南非科萨文" => "Xhosa", "威尔士文" => "Welsh", "越南文" => "Vietnamese", "乌兹别克文" => "Uzbek", "乌尔都文" => "Urdu", "乌克兰" => "Ukrainian", "土耳其" => "Turkish", "泰文" => "Thai", "泰卢固文" => "Telugu", "泰米尔文" => "Tamil", "萨摩亚文" => "Samoan", "塔吉克" => "Tajik", "斯瓦希里文" => "Swahili", "印尼巽他文" => "Sundanese", "西班牙文" => "Spanish", "索马里文" => "Somali", "斯洛文尼亚文" => "Slovenian", "斯洛伐克文" => "Slovak", "僧伽罗文" => "Sinhala", "信德文" => "Sindhi", "修纳文" => "Shona", "塞索托文" => "Sesotho", "塞尔维亚文" => "Serbian", "瑞典文" => "Swedish", "哈萨克文" => "Kazakh", "卡纳达文" => "Kannada", "印尼爪哇文" => "Javanese", "约鲁巴文" => "Yoruba", "捷克文" => "Czech", "克罗地亚文" => "Croatian", "科西嘉文" => "Corsican", "繁体中文" => "ChineseTraditional", "简体中文" => "ChineseSimplified", "齐切瓦文" => "Chichewa", "宿务文" => "Cebuano", "加泰罗尼亚文" => "Catalan", "保加利亚文" => "Bulgarian", "波斯尼亚文" => "Bosnian", "孟加拉文" => "Bengali", "白俄罗斯文" => "Belarusian", "巴斯克文" => "Basque", "阿塞拜疆文" => "Azerbaijani", "亚美尼亚文" => "Armenian", "阿拉伯文" => "Arabic", "阿姆哈拉文" => "Amharic", "阿尔巴尼亚文" => "Albanian", "布尔文" => "Afrikaans", "南非文" => "Afrikaans", "布尔文(南非荷兰文)" => "Afrikaans", "南非荷兰文" => "Afrikaans", "荷兰文" => "Dutch", "英文" => "English", "丹麦文" => "Danish", "爱沙尼亚文" => "Estonian", "日文" => "Japanese", "日本文" => "Japanese", "意大利文" => "Italian", "爱尔兰文" => "Irish", "印度尼西亚文" => "Indonesian", "伊博文" => "Igbo", "冰岛文" => "Icelandic", "匈牙利文" => "Hungarian", "世界文" => "Esperanto", "印地文" => "Hindi", "希伯来文" => "Hebrew", "夏威夷文" => "Hawaiian", "苗文" => "Hmong", "苗族文" => "Hmong", "海地克里奥尔文" => "HaitianCreole", "菲律宾文" => "Filipino", "豪萨文" => "Hausa", "法文" => "French", "法国文" => "French", "弗里西文" => "Frisian", "弗里斯文" => "Frisian", "弗里斯兰文" => "Frisian", "芬兰文" => "Finnish", "格鲁吉亚文" => "Georgian", "德文" => "German", "德国文" => "German", "希腊文" => "Greek", "古吉拉特文" => "Gujarati", "加利西亚文" => "Galician", "祖鲁文" => "Zulu", "南非祖鲁文" => "Zulu", _ => languageChineseName }; TranslationResult result = await Translator.TranslateAsync(text, Language.Auto, GoogleTranslator.GetLanguageByName(languageName)); return(result.MergedTranslation); } }
public static async Task <string> TranslateTo(string text, string languageChineseName) { languageChineseName = languageChineseName.Replace("语", "文"); string languageName = Constants.GoogleLanguages[languageChineseName]; TranslationResult result = await Translator.TranslateAsync(text, Language.Auto, GoogleTranslator.GetLanguageByName(languageName)); return(result.MergedTranslation); }