public static BingTrans getTransResult(string Word) { Word = Word.Trim(); BingTrans Result = null; if ((Result = getDataBaseTransResult(Word)) != null) { //Console.WriteLine("DataBase : {0}", Word); return(Result); } else { //Console.WriteLine("web : {0}", Word); //Result = getWebTransResult(Word); //if (Result.Error) { Result = new BingTrans(Word, "", "", new List <defs>()); var BaiduResult = BaiduNewApi.Instance.GetTransResult(Word).ConfigureAwait(false).GetAwaiter().GetResult(); foreach (var item in BaiduResult.Kvs) { Result.defs.Add(new defs() { pos = item.v, def = item.v }); Console.WriteLine($"从百度返回 {item}"); } } TransResultToDataBase(Result); return(Result); } }
public static BingTrans getWebTransResult(string Word) { BingTrans Result = null; for (int i = 0; i < 10; i++) { string jsonResult = string.Empty; try { //jsonResult = Sever.HttpGet(TRANS_API_HOST, "Word=" + Word); jsonResult = Sever.HttpPost("http://www.bing.com/translator/api/Translate/TranslateArray?from=en&to=zh-CHS", Word); Result = BingTrans.BulidBingTrans(jsonResult); Result.Word = Word; break; } catch (Exception ex) { //Console.WriteLine("getWebTransResult()->{0}:{2}:{1}", i, ex.Message, Word); ErrorRecords(Word, string.Format("i = {2},jsonResult = {0},ex.Message = {1}", jsonResult, ex.Message, i)); if (Result == null) { Result = new BingTrans(Word, string.Empty, string.Empty, new List <defs>()) { Error = true } } ; } } return(Result); }
public BingTrans getSentenceTransResult(string Sentence) { Sentence = Sentence.Trim(); BingTrans Result = null; if ((Result = BingTransApi.getDataBaseTransResult(Sentence)) != null) { Console.WriteLine($"DataBase : {Sentence} -> {string.Join(" ", Result.defs)}"); return(Result); } else { Result = SentenceTrans(Sentence, "en", "zh-CN"); BingTransApi.TransResultToDataBase(Result); Console.WriteLine($"web : {Sentence} -> {string.Join(" ", Result.defs)}"); return(Result); } }
public BingTrans getTransResult(string Word) { Word = Word.Trim(); BingTrans Result = null; if ((Result = BingTransApi.getDataBaseTransResult(Word)) != null) { Console.WriteLine($"DataBase : {Word} -> {string.Join(" ", Result.defs)}"); return(Result); } else { Result = Trans(Word, "en", "zh-CN"); BingTransApi.TransResultToDataBase(Result); Console.WriteLine($"web : {Word} -> {string.Join(" ", Result.defs)}"); return(Result); } }
public static void TransResultToDataBase(BingTrans bt) { if (bt != null) { try { StringBuilder sql = new StringBuilder(); sql.Append($"insert into word(Word,AmE,BrE) values(\"{bt.Word}\",\"{bt.AmE}\",\"{bt.BrE}\");"); foreach (var item in bt.defs) { sql.Append($"insert into defs(Word, def, pos) values(\"{bt.Word}\",\"{item.def}\",\"{item.pos}\");"); } Mysql.Insert(sql.ToString()); } catch (Exception ex) { Console.WriteLine($"导入数据库失败:{bt.Word}:{ex.Message}"); ErrorRecords(bt.Word, nameof(TransResultToDataBase) + ex.Message); } } }