コード例 #1
0
        public WebTranslator(ILog logger)
        {
            _Logger = logger;

            if (!Helper.LoadStaticFromJson(typeof(GlobalTranslationSettings), _TransaltionSettingsPath))
            {
                Helper.SaveStaticToJson(typeof(GlobalTranslationSettings), _TransaltionSettingsPath);
                Helper.LoadStaticFromJson(typeof(GlobalTranslationSettings), _TransaltionSettingsPath);
            }

            transaltionCache = new List <KeyValuePair <TranslationRequest, string> >(GlobalTranslationSettings.TranslationCacheSize);

            _MultillectTranslator = new MultillectTranslator(_Logger);

            _GoogleTranslator = new GoogleTranslator(_Logger);

            _YandexTranslator = new YandexTranslator(_Logger);

            _DeepLTranslator = new DeepLTranslator(_Logger);

            _PapagoTranslator = new PapagoTranslator(_Logger);

            _BaiduTranslator = new BaiduTranslater(_Logger);

            _LanguageDetector = new LanguageDetector(GlobalTranslationSettings.MaxSameLanguagePercent,
                                                     GlobalTranslationSettings.NTextCatLanguageModelsPath, _Logger);
        }
コード例 #2
0
        public async Task DeteccionDeIdioma1()
        {
            YandexTranslator yander    = new YandexTranslator("trnsl.1.1.20151008T075609Z.cabe07325f92d1c8.271f3e806a14160b082c31d36788cd03138f8498");
            string           deteccion = await yander.DetectLanguage("Summer Dresses");

            Assert.AreEqual("en", deteccion);
        }
コード例 #3
0
        public async Task TranslateToSpanish1()
        {
            YandexTranslator yander = new YandexTranslator("trnsl.1.1.20151008T075609Z.cabe07325f92d1c8.271f3e806a14160b082c31d36788cd03138f8498");

            string[] textToTranslate = { "Hello World", "This is a test" };
            string   traducido       = await yander.Translate("es", textToTranslate);

            Assert.AreEqual("Hola Mundo", traducido);
        }
コード例 #4
0
ファイル: YandexAPI.cs プロジェクト: OldGrand/ReFin
        public YandexAPI(string organization, string city, string fileNameWithoutExtension)
        {
            YandexTranslator yandexTranslator = new YandexTranslator();

            _organization          = yandexTranslator.Translate(organization);
            _city                  = yandexTranslator.Translate(city);
            _fileName              = $"{fileNameWithoutExtension}.json";
            _advancedSearchOptions = "";
        }
コード例 #5
0
        public void TranslateText()
        {
            var s  = "Hello, world!";
            var ms = new YandexTranslator("English", "Finnish");

            //var tl = ms.Translate(s);
            //Assert.AreEqual("Hei, maailma!", tl);
            Assert.Pass("Auto pass to reduce character consumption");
        }
コード例 #6
0
 void Button2Click(object sender, EventArgs e)
 {
     if (radioButton1.Checked)
     {
         resultTextBox.Text = YandexTranslator.Translate(inputTextBox.Text, YandexTranslator.LangEnRu, YandexTranslator.Key);
     }
     if (radioButton2.Checked)
     {
         resultTextBox.Text = YandexTranslator.Translate(inputTextBox.Text, YandexTranslator.LangRuEn, YandexTranslator.Key);
     }
 }
コード例 #7
0
 public void Translate(string translateDirection)
 {
     try {
         foreach (var resource in Resources.AsParallel())
         {
             var transText = AutoCorrectList.Aggregate(resource.OriginalValue, (current, autoCorrect) => current.Replace(autoCorrect.Original, autoCorrect.Correct));
             resource.NewValue = YandexTranslator.Translate(translateDirection, transText);
         }
     } catch (Exception ex) {
         MessageBox.Show(ex.Message, "Yandex API", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
コード例 #8
0
        private void OnLoaded(object sender, RoutedEventArgs e)
        {
            var langs = YandexTranslator.GetLangs();

            CbTranslateDirection.ItemsSource = null;
            CbTranslateDirection.ItemsSource = langs;
            if (langs != null && langs.Count > 0)
            {
                var defaultDirection = CbTranslateDirection.Items.IndexOf("en-ru");
                CbTranslateDirection.SelectedIndex = defaultDirection;
            }
        }
コード例 #9
0
 public MainViewModel(string curDir, MainWindow parentWindow)
 {
     Translator  = new YandexTranslator();
     _cultures   = CultureInfo.GetCultures(CultureTypes.AllCultures);
     _curDir     = curDir;
     _mainWindow = parentWindow;
     // fill lang files
     LanguagesForMain = new ObservableCollection <LangItem>();
     LanguagesForWork = new ObservableCollection <LangItem>();
     // fill main languages
     FillLanguageFiles(LanguagesForMain);
     // commands
     CreateNewLanguageFileCommand = new RelayCommand(CreateNewLanguageFile);
 }
コード例 #10
0
 public Form1()
 {
     InitializeComponent();
     webBrowser1.ScriptErrorsSuppressed = true;
     webBrowser1.Navigate("http://steamworkshop.download");
     pause1();
     label3.Text = "Версия программы: " + Properties.Settings.Default.Version;
     if (Properties.Settings.Default.Folder == "")
     {
         Form2 form2 = new Form2();
         form2.ShowDialog();
     }
     yt   = new YandexTranslator();
     lang = "en-ru";
 }
コード例 #11
0
        private async void AuthTestBtn_Click(object sender, RoutedEventArgs e)
        {
            Common.appSettings.YandexApiKey = YandexTransApiKeyBox.Text;
            ITranslator YandexTrans = new YandexTranslator();

            YandexTrans.TranslatorInit(YandexTransApiKeyBox.Text, "");

            if (await YandexTrans.TranslateAsync("apple", "zh", "en") != null)
            {
                HandyControl.Controls.Growl.Success($"Yandex {Application.Current.Resources["APITest_Success_Hint"]}");
            }
            else
            {
                HandyControl.Controls.Growl.Error($"Yandex {Application.Current.Resources["APITest_Error_Hint"]}\n{YandexTrans.GetLastError()}");
            }
        }
コード例 #12
0
        private async void TransTestBtn_Click(object sender, RoutedEventArgs e)
        {
            ITranslator YandexTrans = new YandexTranslator();

            YandexTrans.TranslatorInit(YandexTransApiKeyBox.Text, "");
            string res = await YandexTrans.TranslateAsync(TestSrcText.Text, TestDstLang.Text, TestSrcLang.Text);

            if (res != null)
            {
                HandyControl.Controls.MessageBox.Show(res, Application.Current.Resources["MessageBox_Result"].ToString());
            }
            else
            {
                HandyControl.Controls.Growl.Error(
                    $"Yandex {Application.Current.Resources["APITest_Error_Hint"]}\n{YandexTrans.GetLastError()}");
            }
        }
コード例 #13
0
        public void SaveArticles(List <Article> articles)
        {
            connection = new MySqlConnection(this.urlConnection);
            connection.Open();
            MySqlCommand cmd = this.connection.CreateCommand();

            YandexTranslator translator  = new YandexTranslator();
            DatumboxAPI      DatumboxAPI = new DatumboxAPI("35e089c310ba09d172e9aee276877ba4");

            foreach (Article article in articles)
            {
                string   texte     = translator.translate(article.Description);
                Category category  = JsonConvert.DeserializeObject <Category>(DatumboxAPI.TopicClassification(texte));
                int      categorie = getTextCategory(category.output.result);

                string statement = String.Empty;
                if (article.Image == null)
                {
                    statement = "INSERT INTO article (source, titre, link, description, categorie) values ('"
                                + article.Source.Replace("'", "''") + "', '" + article.Titre.Replace("'", "''") + "', '"
                                + article.Link.Replace("'", "''") + "', '" + article.Description.Replace("'", "''") + "', "
                                + categorie + ")";
                }
                else
                {
                    statement = "INSERT INTO article (source, titre, link, description, image, categorie) values ('"
                                + article.Source.Replace("'", "''") + "', '" + article.Titre.Replace("'", "''") + "', '"
                                + article.Link.Replace("'", "''") + "', '" + article.Description.Replace("'", "''") + "', '"
                                + article.Image.Replace("'", "''") + "', "
                                + categorie + ")";
                }

                try
                {
                    cmd.CommandText = statement;
                    cmd.ExecuteNonQuery();
                    cmd.CommandText = String.Empty;
                }
                catch (MySqlException e)
                {
                    Console.WriteLine("Cette requête cause problème : " + statement
                                      + " \n The exception say " + e.Message);
                }
            }
        }
コード例 #14
0
    public void Constructors()
    {
      Assert.Throws<ArgumentNullException>(() => new YandexTranslator(ApiDataFormat.Xml, null));
      Assert.Throws<ArgumentException>(() => new YandexTranslator(ApiDataFormat.Xml, string.Empty));

      var translator = new YandexTranslator(ApiDataFormat.Xml, "apiKey");
      Assert.Equal("apiKey", translator.ApiKey);
      Assert.Equal(ApiDataFormat.Xml, translator.Format);
      Assert.True(translator.Field("jsonSerializer").To<ISerializer>() is YandexTranslatorJsonSerializer);
      Assert.True(translator.Field("jsonDeserializer").To<IDeserializer>() is YandexTranslatorJsonDeserializer);
      Assert.True(translator.Field("xmlSerializer").To<ISerializer>() is YandexTranslatorXmlSerializer);
      Assert.True(translator.Field("xmlDeserializer").To<IDeserializer>() is YandexTranslatorXmlDeserializer);

      var client = translator.Field("restClient").To<RestClient>();
      Assert.Equal("https://translate.yandex.net/api/v1.5/tr", client.BaseUrl.ToString());
      var key = client.DefaultParameters.FirstOrDefault(x => x.Name == "key");
      Assert.NotNull(key);
      Assert.Equal("apiKey", key.Value);
    }
コード例 #15
0
ファイル: Program.cs プロジェクト: Dimaematveev/English
        static void Main()
        {
            WorkWithFiles workWithFiles = new WorkWithFiles();


            YandexTranslator yt = new YandexTranslator();



            Random rnd   = new Random();
            int    count = 0;

            while (workWithFiles.RulesVerbAndPronouns.Count > 0)
            {
                int ind = rnd.Next(0, workWithFiles.RulesVerbAndPronouns.Count);
                var rul = workWithFiles.RulesVerbAndPronouns[ind];

                string line = rul.GetLine();
                //string translate = yt.Translate(line, "en-ru");
                string translate = workWithFiles.RealTranslates.First(x => x.EnglishSentence == line).RussianSentence;

                Console.WriteLine($"вы прошли: {count++}");
                Console.WriteLine();
                Console.WriteLine(rul.Verb);
                Console.Write($"{new string('-', 120)}");
                Console.WriteLine(translate);
                Console.Write($"{new string('-', 120)}");
                Console.WriteLine("\nДля перевода и объяснения нажмите Enter");
                Console.ReadLine();
                Console.Write($"{new string('=',120)}");
                Console.WriteLine($"Перевод - {line}");
                Console.WriteLine($"Почему - так как Время [{rul.TimeOfASentence}], Предложение [{rul.TypeOfASentences}]");
                Console.WriteLine($"{new string('=', 120)}");
                Console.WriteLine("\nДля следующего слова нажмите Enter");
                Console.ReadLine();
                Console.Clear();
                workWithFiles.RulesVerbAndPronouns.RemoveAt(ind);
            }


            Console.ReadKey();
        }
コード例 #16
0
        public async Task <WeatherForecast> ParseWeatherForecast(string City)
        {
            YandexTranslator yandexTranslator = new YandexTranslator();
            string           translateCity    = yandexTranslator.Translate(City, "ru-en");

            if (City.Equals("Москва") || City.Equals("Moscow"))
            {
                translateCity = "Moskva";
            }

            var WeatherForecastresult = new WeatherForecast();
            var config  = Configuration.Default.WithDefaultLoader();
            var address = @"https://pogoda.mail.ru/prognoz/" + $"{translateCity}" + "/14dney/";

            var document = await BrowsingContext.New(config).OpenAsync(address);

            //DayDate
            var _dayDate = document.QuerySelectorAll("div").Where(item => item.ClassName == "day__date").ToList();

            //Pressure
            var _pressure = document.QuerySelectorAll("div").Where(item => item.ClassName == "day__additional").ToList();

            _pressure = SpaceRemove(_pressure);
            //Temperature
            var _temperature = document.QuerySelectorAll("div").Where(item => item.ClassName == "day__temperature ").ToList();
            //DateTime
            var _dateTime = document.QuerySelectorAll("div").Where(item => item.ClassName == "heading heading_minor heading_line" || item.ClassName == "heading heading_minor heading_line text-red").ToList();

            _dateTime = SpaceRemoveDateTime(_dateTime);

            List <Weather> dayDateWeatherForecastsArr = ParsePressure(_pressure);

            WeatherForecastresult = ParseDayDateWeatherForecast(dayDateWeatherForecastsArr, _dayDate, _temperature, _dateTime);


            return(WeatherForecastresult);
        }
コード例 #17
0
 public Bot(string token, List <Command> commandsList)
 {
     client            = new TelegramBotClient(token);
     this.commandsList = commandsList;
     this.translator   = new YandexTranslator();
 }
コード例 #18
0
        /// <summary>
        /// 根据翻译器名称自动返回翻译器类实例(包括初始化)
        /// </summary>
        /// <param name="translator"></param>
        /// <returns></returns>
        public static ITranslator TranslatorAuto(string translator)
        {
            switch (translator)
            {
            case "BaiduTranslator":
                BaiduTranslator bd = new BaiduTranslator();
                bd.TranslatorInit(Common.appSettings.BDappID, Common.appSettings.BDsecretKey);
                return(bd);

            case "TencentFYJTranslator":
                TencentFYJTranslator tx = new TencentFYJTranslator();
                tx.TranslatorInit(Common.appSettings.TXappID, Common.appSettings.TXappKey);
                return(tx);

            case "TencentOldTranslator":
                TencentOldTranslator txo = new TencentOldTranslator();
                txo.TranslatorInit(Common.appSettings.TXOSecretId, Common.appSettings.TXOSecretKey);
                return(txo);

            case "CaiyunTranslator":
                CaiyunTranslator cy = new CaiyunTranslator();
                cy.TranslatorInit(Common.appSettings.CaiyunToken);
                return(cy);

            case "XiaoniuTranslator":
                XiaoniuTranslator xt = new XiaoniuTranslator();
                xt.TranslatorInit(Common.appSettings.xiaoniuApiKey);
                return(xt);

            case "IBMTranslator":
                IBMTranslator it = new IBMTranslator();
                it.TranslatorInit(Common.appSettings.IBMApiKey, Common.appSettings.IBMURL);
                return(it);

            case "YandexTranslator":
                YandexTranslator yt = new YandexTranslator();
                yt.TranslatorInit(Common.appSettings.YandexApiKey);
                return(yt);

            case "YoudaoTranslator":
                YoudaoTranslator yd = new YoudaoTranslator();
                yd.TranslatorInit();
                return(yd);

            case "AlapiTranslator":
                AlapiTranslator al = new AlapiTranslator();
                al.TranslatorInit();
                return(al);

            case "GoogleCNTranslator":
                GoogleCNTranslator gct = new GoogleCNTranslator();
                gct.TranslatorInit();
                return(gct);

            case "JBeijingTranslator":
                JBeijingTranslator bj = new JBeijingTranslator();
                bj.TranslatorInit(Common.appSettings.JBJCTDllPath);
                return(bj);

            case "KingsoftFastAITTranslator":
                KingsoftFastAITTranslator kfat = new KingsoftFastAITTranslator();
                kfat.TranslatorInit(Common.appSettings.KingsoftFastAITPath);
                return(kfat);

            case "Dreye":
                DreyeTranslator drt = new DreyeTranslator();
                drt.TranslatorInit(Common.appSettings.DreyePath);
                return(drt);

            case "ArtificialTranslator":
                ArtificialTranslator at = new ArtificialTranslator();
                at.TranslatorInit(Common.appSettings.ArtificialPatchPath);
                return(at);

            default:
                return(null);
            }
        }
コード例 #19
0
ファイル: Form1.cs プロジェクト: Shiuki/Screen-Translator
        public string TranslateText(string input)
        {
            YandexTranslator yandexTranslator = new YandexTranslator();

            return(yandexTranslator.translate(@input, "trnsl.1.1.20190711T150343Z.58bc9e7bb4409821.e42fded912dd04452d0e0efbeb771da70d10deb6", lang));
        }
コード例 #20
0
 private void BillBtn_Click(object sender, RoutedEventArgs e)
 {
     System.Diagnostics.Process.Start(YandexTranslator.GetUrl_bill());
 }
コード例 #21
0
 private void ApplyBtn_Click(object sender, RoutedEventArgs e)
 {
     System.Diagnostics.Process.Start(YandexTranslator.GetUrl_allpyAPI());
 }
コード例 #22
0
 public MainForm()
 {
     InitializeComponent();
     yt = new YandexTranslator(Properties.Settings.Default.TokenYandexApi);
 }