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);
        }
Example #2
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       = "";
            }
        }