Exemple #1
0
        private void textTranslateFrom_TextChanged(object sender, EventArgs e)
        {
            string languageFrom;
            string languageTo;

            if (this.fromLanguage.SelectedIndex == 0)
            {
                languageFrom = "en";
            }
            else if (this.fromLanguage.SelectedIndex == 1)
            {
                languageFrom = "fr";
            }
            else if (this.fromLanguage.SelectedIndex == 2)
            {
                languageFrom = "az";
            }
            else
            {
                return;
            }

            if (this.toLanguage.SelectedIndex == 0)
            {
                languageTo = "en";
            }
            else if (this.toLanguage.SelectedIndex == 1)
            {
                languageTo = "fr";
            }
            else if (this.toLanguage.SelectedIndex == 2)
            {
                languageTo = "az";
            }
            else
            {
                return;
            }
            TranslateRequest translate = new TranslateRequest()
            {
                source = languageFrom, target = languageTo, format = "text"
            };

            translate.q = textTranslateFrom.Text;

            WebClient web      = new WebClient();
            string    url      = "https://translation.googleapis.com/language/translate/v2?key=AIzaSyCqwaXLLd9JraElDHNGKFIN2zfbSAgAHms";
            string    answer   = web.UploadString(url, JsonConvert.SerializeObject(translate));
            var       response = JsonConvert.DeserializeObject <TranslateResponse>(answer);

            textTranslateTo.Text = Encoding.GetEncoding("utf-8").GetString(Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding(1251), Encoding.UTF8.GetBytes(response.data.translations[0].translatedText)));
        }
Exemple #2
0
        /// <summary>
        /// StartTranslate
        /// </summary>
        private void StartTranslate()
        {
            string source = txtSource.Text;

            txtResult.Clear();
            if (!string.IsNullOrEmpty(source))
            {
                txtResult.Text = "正在翻译...";

                request = new TranslateRequest(source, cmbSource.SelectedValue.ToString(), cmbTarge.SelectedValue.ToString());
                if (!isRequest)
                {
                    TranslateExecute(request.Text, request.Source, request.Targe);
                }
            }
        }
        static void Main(string[] args)
        {
            while (true)
            {   // Сам файл "program.cs" сохраняется по умолчанию в UTF-8,
                // а кодировка консоли обычно chcp 1251 поэтому такая проблема.

                // Можно сменить кодировку консоли по умолчанию и тогда не придется в коде ничего писать,
                // однако на другой машине проблема опять даст о себе знать, поэтому лучше писать это.
                Console.OutputEncoding = Encoding.UTF8;

                Console.Clear();
                string languageFrom = "";
                string languageTo   = "";
                string languagePath = "";
                Console.WriteLine("Приветствую тебя в программе \"Мега супер крутой и невероятный переводчик 2000\" дорогой пользователь.\n" +
                                  "1) Перевести текст\n" +
                                  "2) Прочесть тест с файла и перевести\n" +
                                  "3) Выйти\n" +
                                  "Выбор: ");
                int choose = int.Parse(Console.ReadLine());
                if (choose == 1)
                {
                    LanguageFrom(ref languageFrom);
                    LanguageTo(ref languageTo);
                }
                else if (choose == 2)
                {
                    LanguageFrom(ref languageFrom);
                    LanguageTo(ref languageTo);
                    while (true)
                    {
                        try
                        {
                            Console.Clear();
                            Console.Write("Введите путь к файлу: ");
                            languagePath = Console.ReadLine();
                            break;
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex);
                        }
                    }
                }
                else if (choose == 3)
                {
                    Environment.Exit(0);
                }

                try
                {
                    Console.Clear();
                    TranslateRequest translate = new TranslateRequest()
                    {
                        source = languageFrom, target = languageTo, format = "text"
                    };
                    if (choose == 1)
                    {
                        Console.Write("Введите текст: ");
                        translate.q = Console.ReadLine();
                    }
                    else if (choose == 2)
                    {
                        translate.q = File.ReadAllText(languagePath);
                        Console.WriteLine($"Ваш текст: {translate.q}");
                    }

                    WebClient web = new WebClient();
                    string    url = "https://translation.googleapis.com/language/translate/v2?key=AIzaSyCqwaXLLd9JraElDHNGKFIN2zfbSAgAHms";
                    //string answer = web.UploadString(url, JsonSerializer.Serialize(translate));
                    string answer = web.UploadString(url, JsonConvert.SerializeObject(translate));

                    var response = JsonConvert.DeserializeObject <TranslateResponse>(answer);
                    //var response = JsonSerializer.Deserialize<TranslateResponse>(answer);
                    Console.Write("Ваш перевод: ");
                    Console.WriteLine(response.data.translations[0].translatedText);
                    PushAndClear();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                    PushAndClear();
                }
            }
        }