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; }
}