/// <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 "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); } }
/// <summary> /// 根据翻译器名称自动返回翻译器类实例(包括初始化) /// </summary> /// <param name="translator"></param> /// <returns></returns> public static ITranslator TranslatorAuto(string translator) { try { 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 "YoudaoTranslator": YoudaoTranslator yd = new YoudaoTranslator(); yd.TranslatorInit(); return(yd); case "AlapiTranslator": AlapiTranslator al = new AlapiTranslator(); al.TranslatorInit(); return(al); 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 ltr = new ArtificialTranslator(); SQLHelper sql = new SQLHelper(); var _path = sql.ExecuteReader_OneLine( $"SELECT patchPath FROM game_library WHERE gameid = '{Common.GameID}';", 1); var path = (_path == null || _path.Count < 1) ? Common.appSettings.LocalTransPatch : _path[0]; ltr.TranslatorInit(path, Common.appSettings.LocalTransMode); Common.ATPermission = ltr.getPatchPermission(); return(ltr); default: return(null); } } catch (Exception e) { System.Windows.MessageBox.Show(String.Format("翻译器{0}初始化失败:{1}", translator, e.ToString())); throw e; } }