zoukankan
html css js c++ java
Google翻译API(B/S调用和C/S调用)
浏览器调用:
<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; <strong><span style="color:#ff6600;">using System.Net;</span> <span style="color:#ff6600;">using System.Runtime.Serialization;</span></strong> using System.Text; <strong><span style="color:#ff6600;"> using System.Web;</span></strong> [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; <strong><span style="color:#ff6600;">using System.Runtime.Serialization.Json;</span></strong> 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); } } }
效果图:
查看全文
相关阅读:
3、通道(中)
2、通道(上-扣婚纱)
1、色阶
第三章—15、音乐播放界面效果
第三章—14、下拉菜单
第三章—13、点击按钮显示隐藏图片
第三章-12、按钮的六种状态
第三章—11、滑动导航(点击哪个就字体跟着变颜色)
第三章-10、滑动选项卡(上)
iOS 生命周期
原文地址:https://www.cnblogs.com/zhangqs008/p/2341109.html
最新文章
OpenGL 3D拾取文章(转)
OpenGL基本图元类型
CentOS 7 yum配置阿里云镜像(转)
mediasoup-demo解析-服务端
webrtc博客收藏
JS中attribute和property的区别(转)
LitElement(六)生命周期
LitElement(五)事件
FLV格式解析(转)
python css功能补充讲解
热门文章
python html css 初识
python mysql 视图 触发器 事物 存储过程 用户授权 数据备份还原
python mysql索引 优化神器explain 慢查询
python 存储引擎 mysql(库,表, 行) 单表多表操作 (foreign key) sql_mode pymysql模块讲解
python mysql安装&&简单基础sql
python 线程(其他方法,队列,线程池,协程 greenlet模块 gevent模块)
python 线程(创建2种方式,锁,死锁,递归锁,GIL锁,守护进程)
python 管道 事件(Event) 信号量 进程池(map/同步/异步)回调函数
python 进程锁 生产者消费者模型 队列 (进程其他方法,守护进程,数据共享,进程隔离验证)
4、通道(下)
Copyright © 2011-2022 走看看