Exemplo n.º 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);
        }
Exemplo n.º 2
0
        private async void AuthTestBtn_Click(object sender, RoutedEventArgs e)
        {
            Common.appSettings.DeepLsecretKey = DeepLTransSecretKeyBox.Text;
            ITranslator deepLTrans = new DeepLTranslator();

            deepLTrans.TranslatorInit(DeepLTransSecretKeyBox.Text, DeepLTransSecretKeyBox.Text);

            if (await deepLTrans.TranslateAsync("apple", "zh", "en") != null)
            {
                HandyControl.Controls.Growl.Success($"DeepL {Application.Current.Resources["APITest_Success_Hint"]}");
            }
            else
            {
                HandyControl.Controls.Growl.Error($"DeepL {Application.Current.Resources["APITest_Error_Hint"]}\n{deepLTrans.GetLastError()}");
            }
        }
Exemplo n.º 3
0
        private async void TransTestBtn_Click(object sender, RoutedEventArgs e)
        {
            ITranslator deepLTrans = new DeepLTranslator();

            deepLTrans.TranslatorInit(DeepLTransSecretKeyBox.Text, DeepLTransSecretKeyBox.Text);
            string res = await deepLTrans.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(
                    $"DeepL {Application.Current.Resources["APITest_Error_Hint"]}\n{deepLTrans.GetLastError()}");
            }
        }
        /// <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 "DeepLTranslator":
                DeepLTranslator deepl = new DeepLTranslator();
                deepl.TranslatorInit(Common.appSettings.DeepLsecretKey, Common.appSettings.DeepLsecretKey);
                return(deepl);

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

            default:
                return(null);
            }
        }