问个google翻译API的问题 有个网站有N种语言。比如有默认英文,要有法语,意大利,日语,客户想通过google翻译来实现。不是逐字的翻译。而是整个网页的翻译。比如 http://www.xxx.com/a.aspx?id=1 上面有许多语言翻译。点击某种语言这个页面就调用GOOGLE翻译API翻译。有没有谁做过的。给个例子。谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1. 翻译类using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Net;using System.IO;//using /// <summary>/// Summary description for translate/// </summary>public class translate2{ public translate2() { // // TODO: Add constructor logic here // } /// <summary> /// 使用WebRequest获取Google翻译后的内容 /// </summary> /// <param name="strTranslateString">需要翻译的内容</param> /// <param name="strRequestLanguage">原文语种</param> /// <param name="strResultLanguage">译文语种</param> /// <returns></returns> private string GetGoogleTranslateJSONString(string strTranslateString, string strRequestLanguage, string strResultLanguage) { WebRequest request = HttpWebRequest.Create("http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=" + strTranslateString + "&langpair=" + strRequestLanguage + "%7C" + strResultLanguage); 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> public class TranslateString { private TranslatedText responsedata; public TranslatedText responseData { get { return responsedata; } set { responsedata = value; } } private string responsedetails; public string responseDetails { get { return responsedetails; } set { responsedetails = value; } } private int responsestatus; public int responseStatus { get { return responsestatus; } set { responsestatus = value; } } /**/ /**/ /**/ /// <summary> /// 译文内容 /// </summary> public class TranslatedText { private string translatedtext; public string translatedText { get { return translatedtext; } set { translatedtext = value; } } } } public string MultiLanguageTranslate(string strTranslateString, string strRequestLanguage, string strResultLanguage) { try { if (!string.IsNullOrEmpty(strTranslateString)) { TranslateString transtring = (TranslateString) //Newtonsoft.Json.JavaScriptConvert.DeserializeObject( Newtonsoft.Json.JsonConvert.DeserializeObject( GetGoogleTranslateJSONString(strTranslateString, strRequestLanguage, strResultLanguage), typeof(TranslateString)); if (transtring.responseStatus == 200) return transtring.responseData.translatedText; else return "There was an error."; } else { return strTranslateString; } } catch (Exception e) { return e.Message; } } /// <summary> /// 翻译 /// 默认地将英文翻译成简体中文 /// </summary> /// <param name="TranslateString">需要翻译的内容</param> /// <returns></returns> public string TranslateEnglishToChinese(string strTranslateString) { return MultiLanguageTranslate(strTranslateString, "en", "zh-CN"); } /**/ /// <summary> /// 翻译 /// 默认地将简体中文翻译成英文 /// </summary> /// <param name="TranslateString">需要翻译的内容</param> /// <returns></returns> public string TranslateChineseToEnglish(string strTranslateString) { return MultiLanguageTranslate(strTranslateString, "zh-CN", "en"); }}2.调用 translate2 Translate2 = new translate2(); result = Translate2.TranslateEnglishToChinese(content); <div id="google_translate_element"></div><script>function googleTranslateElementInit() { new google.translate.TranslateElement({ pageLanguage: 'zh-CN' }, 'google_translate_element');}</script><script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>http://translate.google.com/translate_tools 非常感谢。我也找到了http://translate.google.com/translate_tools<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html lang="en" dir="ltr"><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="font-family: arial; font-size: 10pt"> <h1 style="border-bottom: 1px solid #68C; padding-bottom: 5px; vertical-align: middle; overflow: hidden; *zoom: 1"> <div style="float: right; font-weight: normal"> <div id="google_translate_element"> </div> <script>function googleTranslateElementInit() { new google.translate.TranslateElement({ pageLanguage: 'zh-CN' }, 'google_translate_element');} </script> <script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script> </div> 您的个性网站</h1> <table width="100%"> <tr> <td style="width: 120px; padding-right: 10px; padding-left: 10px; text-align: right"> <div style="margin-bottom: 4px"> <b style="color: #333">简介</b></div> <div style="margin-bottom: 4px"> <b style="color: #888">相册</b></div> <div style="margin-bottom: 15px"> <b style="color: #888">博客</b></div> </td> <td style="border-right: 1px dashed #ABF; width: 1px"> </td> <td style="padding-left: 10px; padding-right: 10px;"> <h3 style="margin-top: 0"> 简介</h3> <p> 这是示例网页。您可以在此处预览和试用网站翻译器。尝试更改上述设置,然后点击“预览和试用!”按钮查看效果。例如,如果您选择了某种翻译语言,则下拉菜单中的各语言会相应地更改。祝您体验愉快!</p> </td> </tr> </table></body></html> .net 自宝义控件问题?高手进 学习asp.net,到底是怎么个套路。。。。。 asp.net如何实现图片上传??? 怎样在.aspx里写C#代码? 后台能不能直接取得字段的值?还是一定要前台绑定了后台再取值? WebClient .DownloadData 出现乱码问题(C#) 如何根据类的全名字符串获得其类型(System.Type)? .net安装问题 csdn 怎么没有用asp.net 还在用asp 如何让ListBox的DataTextField绑定两个数据字段 请教一个指定位置截取字符串问题,谢谢 特殊的页面验证问题,见下面详细
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Net;
using System.IO;//using
/// <summary>
/// Summary description for translate
/// </summary>
public class translate2
{
public translate2()
{
//
// TODO: Add constructor logic here
//
} /// <summary>
/// 使用WebRequest获取Google翻译后的内容
/// </summary>
/// <param name="strTranslateString">需要翻译的内容</param>
/// <param name="strRequestLanguage">原文语种</param>
/// <param name="strResultLanguage">译文语种</param>
/// <returns></returns>
private string GetGoogleTranslateJSONString(string strTranslateString,
string strRequestLanguage, string strResultLanguage)
{
WebRequest request = HttpWebRequest.Create("http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=" + strTranslateString + "&langpair=" + strRequestLanguage + "%7C" + strResultLanguage);
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>
public class TranslateString
{
private TranslatedText responsedata;
public TranslatedText responseData
{
get { return responsedata; }
set { responsedata = value; }
}
private string responsedetails;
public string responseDetails
{
get { return responsedetails; }
set { responsedetails = value; }
}
private int responsestatus;
public int responseStatus
{
get { return responsestatus; }
set { responsestatus = value; }
} /**/
/**/
/**/
/// <summary>
/// 译文内容
/// </summary>
public class TranslatedText
{
private string translatedtext;
public string translatedText
{
get { return translatedtext; }
set { translatedtext = value; }
}
}
}
public string MultiLanguageTranslate(string strTranslateString, string
strRequestLanguage, string strResultLanguage)
{
try
{
if (!string.IsNullOrEmpty(strTranslateString))
{
TranslateString transtring =
(TranslateString)
//Newtonsoft.Json.JavaScriptConvert.DeserializeObject(
Newtonsoft.Json.JsonConvert.DeserializeObject(
GetGoogleTranslateJSONString(strTranslateString,
strRequestLanguage, strResultLanguage),
typeof(TranslateString));
if (transtring.responseStatus == 200)
return transtring.responseData.translatedText;
else
return "There was an error.";
}
else
{
return strTranslateString;
}
}
catch (Exception e)
{
return e.Message;
}
}
/// <summary>
/// 翻译
/// 默认地将英文翻译成简体中文
/// </summary>
/// <param name="TranslateString">需要翻译的内容</param>
/// <returns></returns>
public string TranslateEnglishToChinese(string strTranslateString)
{
return MultiLanguageTranslate(strTranslateString, "en", "zh-CN");
} /**/
/// <summary>
/// 翻译
/// 默认地将简体中文翻译成英文
/// </summary>
/// <param name="TranslateString">需要翻译的内容</param>
/// <returns></returns>
public string TranslateChineseToEnglish(string strTranslateString)
{
return MultiLanguageTranslate(strTranslateString, "zh-CN", "en");
}}
2.调用 translate2 Translate2 = new translate2();
result = Translate2.TranslateEnglishToChinese(content);
function googleTranslateElementInit() {
new google.translate.TranslateElement({
pageLanguage: 'zh-CN'
}, 'google_translate_element');
}
</script><script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>http://translate.google.com/translate_tools
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en" dir="ltr">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body style="font-family: arial; font-size: 10pt">
<h1 style="border-bottom: 1px solid #68C; padding-bottom: 5px; vertical-align: middle;
overflow: hidden; *zoom: 1">
<div style="float: right; font-weight: normal">
<div id="google_translate_element">
</div> <script>
function googleTranslateElementInit() {
new google.translate.TranslateElement({
pageLanguage: 'zh-CN'
}, 'google_translate_element');
}
</script> <script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script> </div>
您的个性网站</h1>
<table width="100%">
<tr>
<td style="width: 120px; padding-right: 10px; padding-left: 10px; text-align: right">
<div style="margin-bottom: 4px">
<b style="color: #333">简介</b></div>
<div style="margin-bottom: 4px">
<b style="color: #888">相册</b></div>
<div style="margin-bottom: 15px">
<b style="color: #888">博客</b></div>
</td>
<td style="border-right: 1px dashed #ABF; width: 1px">
</td>
<td style="padding-left: 10px; padding-right: 10px;">
<h3 style="margin-top: 0">
简介</h3>
<p>
这是示例网页。您可以在此处预览和试用网站翻译器。尝试更改上述设置,然后点击“预览和试用!”按钮查看效果。例如,如果您选择了某种翻译语言,则下拉菜单中的各语言会相应地更改。祝您体验愉快!</p>
</td>
</tr>
</table>
</body>
</html>