Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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);
            }
        }
Пример #5
0
 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);
         }
     }
 }