asp.net利用google的api做翻译
2009-05-15 00:00
591 查看
说明:google提供了一组API可以给我们很方便的实现语言翻译功能,对于我们(中国人)而言,常用的是中文与英文的互译。大家英文好的可以看看GOOGLE的文档:http://code.google.com/apis/ajaxlanguage/documentation/reference.html#LangNameArray
这篇文章原创在:http://blog.moozi.net/archives/2008/10/16/the-realization-of-web-service-of-full-text-translations-based-on-google-ajax-language-api.aspx
需要使用到JSON.NET在http://www.codeplex.com/Json下载。
什么是序列化?可以看看我前面的文章。http://www.sosuo8.com/article/show.asp?id=2470
其实google已经提供了在JS下很方便的翻译功能,但有些情况下我们却需要在.net下操作。什么情况?采集中文文章并翻译成英文入库,或者是写一个C/S的软件。下面我将主要贴出代码,具体的可以看木子写的文章。
其需要用:
encodeURIComponent
传值。
主要代码:
反序列化:
这篇文章原创在:http://blog.moozi.net/archives/2008/10/16/the-realization-of-web-service-of-full-text-translations-based-on-google-ajax-language-api.aspx
需要使用到JSON.NET在http://www.codeplex.com/Json下载。
什么是序列化?可以看看我前面的文章。http://www.sosuo8.com/article/show.asp?id=2470
其实google已经提供了在JS下很方便的翻译功能,但有些情况下我们却需要在.net下操作。什么情况?采集中文文章并翻译成英文入库,或者是写一个C/S的软件。下面我将主要贴出代码,具体的可以看木子写的文章。
其需要用:
encodeURIComponent
传值。
主要代码:
/// <summary> /// 替换翻译后的特殊字符,用于换行等 /// </summary> /// <param name="str"></param> /// <returns></returns> private string TransToHtml(string str) { string temp; temp = str.Replace("003c", "<"); temp = temp.Replace("003e",">"); return temp; } /// <summary> /// 使用WebRequest获取Google翻译后的内容 /// </summary> /// <param name="str"></param> /// <param name="strRequestLan"></param> /// <param name="strResultLan"></param> /// <returns></returns> private string GetGoogleTransJSONString(string str, string strRequestLan, string strResultLan) { try { WebRequest request = HttpWebRequest.Create("http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=" + str + "&langpair=" + strRequestLan + "%7C" + strResultLan); request.Credentials = CredentialCache.DefaultCredentials; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader reader = new StreamReader(stream); string responseFromServer = reader.ReadToEnd(); reader.Close(); stream.Close(); response.Close(); return responseFromServer; } catch (Exception ex) { return ex.Message; } } /// <summary> /// 翻译 /// </summary> /// <param name="str">需要翻译的内容</param> /// <param name="strReuest">原文</param> /// <param name="strResult">译文</param> /// <returns></returns> public string Translate(string str, string strReuestLan, string strResultLan) { try { if (!string.IsNullOrEmpty(str)) { TranslateString transtr = (TranslateString)Newtonsoft.Json.JavaScriptConvert.DeserializeObject(GetGoogleTransJSONString(str, strReuestLan, strResultLan),typeof(TranslateString)); if (transtr.responseStatus == 200) { return transtr.responseData.translatedText; } else { return "有错误发生"; } } else { return str; } } catch (Exception ex) { return ex.Message; } }
反序列化:
using System; /// <summary> ///反序列化 /// </summary> /// {"responseData": {"translatedText":"ahuinan"}, "responseDetails": null, "responseStatus": 200} [Serializable] public class TranslateString { private TranslatedText _responseData; private string _responseDetails; private int _responseStauts; public TranslatedText responseData { get { return _responseData; } set { _responseData = value; } } public string responseDetails { get { return _responseDetails; } set { _responseDetails = value; } } public int responseStatus { get { return _responseStauts; } set { _responseStauts = value; } } /// <summary> /// 译文内容 /// </summary> public class TranslatedText { private string _translatedText; public string translatedText { get { return _translatedText; } set { _translatedText = value; } } } }
相关文章推荐
- asp.net利用google的api做翻译
- asp.net Google的translate工具翻译 API
- asp.net Google的translate工具翻译 API
- GOOGLE API - 翻译, 后台c# 调用前台js代码, asp.net后台调用js代码
- A利用ASP小偷和Google实现在线翻译功能的代码
- [转]Google Maps by asp.net API集成-S.Sams
- C# Asp.net中的AOP框架 Microsoft.CCI, Mono.Cecil, Typemock Open-AOP API, PostSharp -摘自网络 (可以利用反射 Attribute 进行面向切面编程 可以用在记录整个方法的Log方面)
- ASP利用Google实现在线翻译功能
- ASP利用Google实现在线翻译功能
- Google Map开发(一) ASP.NET中调用Google Map API实现简单的地图显示
- A利用ASP小偷和Google实现在线翻译功能的代码
- Google Map开发(一) ASP.NET中调用Google Map API实现简单的地图显示
- Asp.net MVC集成Google Calendar API(附Demo源码)
- 在asp.net中 利用雅虎天气API做天气预报功能
- [翻译-ASP.NET MVC]Contact Manager开发之旅迭代4 - 利用设计模式松散耦合
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库
- ASP利用Google实现在线翻译功能
- 利用ASP.NET创建一个像 Google 的个性化主页(ig)那样的页面
- 利用Google公开的API做在线翻译
- 利用python制作点读翻译软件(基于google api)