C# 调用谷歌翻译

 public static class GoogleTranslate
    {

        /// <summary> 
        /// 使用WebRequest获取Google翻译后的内容 
        /// </summary> 
        /// <param name="strTranslateString">需要翻译的内容</param> 
        /// <param name="strRequestLanguage">原文语种</param> 
        /// <param name="strResultLanguage">译文语种</param> 
        /// <returns></returns> 
        private static string GetGoogleTranslateJSONString(string strTranslateString, string strRequestLanguage, string strResultLanguage)
        {
            WebRequest request = HttpWebRequest.Create("http://brisk.eu.org/api/translate.php?from=" + strRequestLanguage + "&to=" + strResultLanguage + "&text="+strTranslateString);
            request.Credentials = CredentialCache.DefaultCredentials;
            HttpWebResponse response =
                (HttpWebResponse)request.GetResponse();
            Stream dataStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(dataStream);
            string responseFromServer = reader.ReadToEnd();
            reader.Close();
            dataStream.Close();
            response.Close();
            return responseFromServer;
        }

        /// <summary>
        /// 翻译
        /// </summary>
        /// <param name="strTranslateString">需要翻译的内容</param>
        /// <param name="strRequestLanguage">原文语种</param>
        /// <param name="strResultLanguage">译文语种</param>
        /// <returns></returns>
        public static TranslateStr MultiLanguageTranslate(string strTranslateString, string
            strRequestLanguage, string strResultLanguage)
        {
            TranslateStr ts = new TranslateStr();
            try
            {
                if (!string.IsNullOrEmpty(strTranslateString))
                {

                    string returnStr = GetGoogleTranslateJSONString(strTranslateString, strRequestLanguage, strResultLanguage);
                    //TranslateStr ts = (TranslateStr)JsonConvert.DeserializeObject(returnStr) ;
                    ts = JsonConvert.DeserializeObject<TranslateStr>(returnStr);
                }
                else
                {
                    ts.message = "内容为空";
                }
            }
            catch (Exception e)
            {
                ts.message = e.Message;
            }
            return ts;
        }
    }


    public class TranslateStr
    {
        public string from { get; set; }
        public string to { get; set; }
        public string src { get; set; }
        public string res {get;set;}
        public string message { get; set; }
    }

 

posted on 2014-07-25 23:58  忙碌ing  阅读(412)  评论(0)    收藏  举报

导航