Example #1
0
        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();
     }
 }
Example #3
0
        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);
        }
Example #4
0
        /// <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)}");
            }
        }
Example #7
0
        public async Task <TranslationResult> TranslateAsync(string text, string to)
        {
            var result = await Translator
                         .TranslateLiteAsync(text, Language.Auto, GoogleTranslator.GetLanguageByName(to))
                         .ConfigureAwait(false);

            return(result);
        }
Example #8
0
        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);
        }
Example #9
0
        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
            });
        }
Example #10
0
        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);
        }
Example #11
0
        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);
        }
Example #12
0
        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);
        }
Example #13
0
        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();
        }
Example #15
0
        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);
        }
Example #16
0
        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());
        }
Example #17
0
        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");
        }
Example #18
0
        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}")}";
Example #19
0
        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);
                    }
                }
            }
        }
Example #20
0
        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");
            }
        }
Example #22
0
 public GoogleProxyTranslator(GoogleTranslator translator)
 {
     _translator = translator;
     eng         = GoogleTranslator.GetLanguageByName("English");
     rus         = GoogleTranslator.GetLanguageByName("Russian");
 }
Example #23
0
        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);
        }
    }
Example #24
0
        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);
        }