Google翻译API(B/S调用和C/S调用)
来源:互联网 发布:战地1淘宝代购 编辑:程序博客网 时间:2024/04/30 01:35
浏览器调用:
<html> <head> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript"> <!-- google.load("language", "1"); function initialize() { var text = document.getElementById("text").innerHTML; google.language.detect(text, function(result) { if (!result.error && result.language) { google.language.translate(text, result.language, "en", function(result) { var translated = document.getElementById("translation"); if (result.translation) { translated.innerHTML = result.translation; } }); } }); } google.setOnLoadCallback(initialize); //--> </script> </head> <body> <div id="text">你好,很高興見到你。</div> <div id="translation"></div> </body></html>
客户端 调用:
将 Google翻译API封装成一个类:GoogleTranslateLib.cs
namespace GoogleTranslateLib{ using System; using System.IO; using System.Net; using System.Runtime.Serialization; using System.Text; using System.Web;[DataContract(Namespace = "http://ajax.googleapis.com/ajax/services/language/translate")]class Config{[DataMember(Order = 0)]public ResponseData responseData { get; set; }[DataMember(Order = 1)]public string responseDetails { get; set; }[DataMember(Order = 2)]public string responseStatus { get; set; }}[DataContract(Namespace = "http://ajax.googleapis.com/ajax/services/language/translate")]class ResponseData{[DataMember(Order = 0)]public string translatedText { get; set; }}class Translate{public static string translatezh2en(string sourceText, string langPair){string result;string url = "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&langpair=";url += HttpUtility.UrlEncode(langPair) + "&q=" + HttpUtility.UrlEncode(sourceText);HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);request.Method = "GET";request.Referer = "http://www.my-ajax-site.com";try{HttpWebResponse response = (HttpWebResponse)request.GetResponse();Stream responseStream = response.GetResponseStream();StreamReader reader = new StreamReader(responseStream, Encoding.GetEncoding("UTF-8"));result = reader.ReadToEnd();}catch (Exception){return "";}return result;}}}调用方法:
using System;using System.IO;using System.Text;using System.Runtime.Serialization.Json;namespace GoogleTranslateDemo{ class Program { public static void Main(string[] args) { Console.WriteLine("请输入您想翻译的字词:"); string inputStr = Console.ReadLine(); Console.WriteLine("翻译中,请稍后..."); string result = GoogleTranslateLib.Translate.translatezh2en(inputStr, "zh|en"); if (!string.IsNullOrEmpty(result)) { var serializer = new DataContractJsonSerializer(typeof(GoogleTranslateLib.Config)); var mStream = new MemoryStream(Encoding.UTF8.GetBytes(result)); GoogleTranslateLib.Config readConfig = (GoogleTranslateLib.Config)serializer.ReadObject(mStream); if (readConfig.responseStatus == "200") { string message = "原始内容:" + inputStr + Environment.NewLine + "翻译内容:" + readConfig.responseData.translatedText; Console.WriteLine(message); } } Console.ReadKey(true); } }}
效果图:- Google翻译API(B/S调用和C/S调用)
- B/S/S 和 C/S/S
- C/S 和 B/S
- B/S和C/S
- B/S和C/S
- C/S和B/S
- C/S和B/S
- B/S和C/S
- b/s和c/s
- B/S和C/S
- B/S和C/S
- C/S和B/S
- B/S 和 C/S
- b\s 和c\s
- C/S和B/S
- C/S和B/S和RIA
- C/S和B/S和RIA
- python 调用Google Translate API进行翻译
- CoGetInterfaceAndReleaseStream 退出窗体报错 解决方法。
- DNS服务器未响应解决方法
- 用C++实现HTTP服务器 - 处理完成端口模型(IOCP)的超时问题
- 动态生成advancedDataGrid并动态绑定itemRenderer改变单元格行列颜色的例子
- Advice: whenever you met a problem, just google it.
- Google翻译API(B/S调用和C/S调用)
- 很有用的hosts 文件
- 如何让div它们在一行显示
- 系统调用-文件访问
- 什么是自由软件?
- 转:学习linux和unix编程
- Windows Socket IO 模型
- poj2363-blocks
- ZOJ1414 POJ1663 Number Steps 很简单的找规律题