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;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调用)相关推荐
- 在C#中使用Google翻译API
目录 介绍 要求 示例翻译函数 兴趣点 介绍 我们想轻松地将文本字符串翻译成另一种语言.从Google 翻译API返回的结果非常晦涩.它们采用JSON锯齿状数组的形式.当您必须翻译多个句子时,甚至更加 ...
- Google 翻译API Demo
接上篇 Google翻译API(B/S调用和C/S调用) 上篇里提到的接口调用方法是get方式,这样有个问题,每次请求翻译的内容不能超过url允许的长度.需要改成post方式才行,但是google没有 ...
- Google翻译API的使用
今天学习了下Google翻译的API,有所收获,也有些问题. 总结了下,主要有两种调用方式:B/S方式(在网页中),C/S方式(在Java程序中). 第一种:B/S方式. Google Aj ...
- Google翻译API使用案例
简单整理了下Google翻译的API使用方法.简单的说就是一个Ajax请求: 效果图: 源代码:都附上了注释还是比较好看懂的.将该代码复制成html即可运行. <html> <hea ...
- python 调用Google Translate API进行翻译
调用Google 翻译API进行翻译 #!/usr/bin/python #coding: UTF-8 import sys reload(sys) sys.setdefaultencoding('u ...
- node调用谷歌翻译Api,实现自动国际化
原因: 项目国际化过程繁琐,每次都需要人工去google翻译,导致工作效率不高. 需求: 1.减少人工的重复劳动,提高工作效率. 2.使用脚本调用谷歌翻译接口自动化翻译. 3.free,作为程序员肯定 ...
- php有道,PHP调用有道词典翻译API实现通译功能及代码
PHP调用有道词典翻译API实现通译功能及代码PHP调用有道词典翻译API实现翻译功能及代码 PHP调用有道词典翻译API实现翻译功能及代码,其中英文可以翻译,中文不能翻译是什么问题啊?急 http: ...
- 【工具】Vscode翻译插件推荐(不用谷歌翻译api、支持短句英汉互译、支持查词、支持自动补全、不需要浏览器)
需求: 1)偶尔需要查英文生词: 2)有时候想不起来中文对应的英文: 3)不想回到浏览器打开一堆网页: 4)谷歌翻译挂了. 偶尔需要的需求: 1)短句翻译. 因为谷歌翻译挂了,首先,排除最热门的翻译插 ...
- Android google翻译踩坑之旅
# Android google翻译踩坑之旅 最近由于工作需求,需要为游戏Android平台接入Google翻译的SDK,由于关于翻译的文章非常少,访问官方文档又需要翻墙,更可气的是找到的博客写了 ...
最新文章
- 【leetcode】85. Maximal Rectangle 0/1矩阵的最大全1子矩阵
- 使用 WRK 压力测试工具对 ASP.NET Core 的接口进行压力测试
- Tomcat 在mac上(Idea)端口冲突解决办法
- c++ 麦克风 录音 wav_小米有品上线新品,手机麦克风得到史诗级加强
- 收藏!最强行人检测算法思维导图
- BeJavaGod - 如何正确使用数据字典进行分类统一操作(一)
- ros melodic控制真实机械臂之openmanipulator参考
- [渝粤教育] 广东-国家-开放大学21秋期末考试大学英语210262k2
- SQL2005之后MS SQL版本 T-SQL 新增语法、函数(二)
- Windows10下设置开机自启动自己的程序
- html界面设计用什么软件,html网页开发常用软件有哪些
- 简易版双人对战五子棋
- spss和python财务数据分析_用SPSS做数据分析?先弄懂SPSS的基础知识吧
- Vue + element 实现课程表
- 大学计算机考试59分,大学期末考59分,你会找老师理论吗?很多人都猜错
- 走着瞧Anbsp;Talenbsp;ofnbsp;Twonbsp;Donkeysnbsp;(200…
- LoadRunner 回放出错
- 前端开发规范:CSS 代码规范指南
- webpack打包js文件,图片路径错误,没有将图片打包的问题
- 了解List组件的基本用法
热门文章
- matlab sparse用法,sparse 稀疏函数的用法2
- 转载:企业关键业绩指标(KPI)与绩效考核
- java毕业生设计校园约自习网站计算机源码+系统+mysql+调试部署+lw
- scanf函数输入double类型需要注意的地方
- 前端导入Excel,后台接收并处理(超详细!)
- 想成为java高级程序员,需要掌握哪些技术?
- 类的数据成员与成员函数
- mysql @@rowcount_「rowcount」SQL Server中Rowcount与@@Rowcount的用法 - seo实验室
- 敏捷软件开发——重构篇
- 【论文笔记 2】CNN经典入门STRIVING FOR SIMPLICITY: THE ALL CONVOLUTIONAL NET