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);
        }
    }
}
效果图:






目录
相关文章
|
6月前
|
人工智能 Java API
Google Gemini API 接口调用方法
Google 最近发布的 Gemini 1.0 AI 模型通过其升级版,Gemini,标志着公司迄今为止最为强大和多功能的人工智能技术的突破。
|
6月前
|
Web App开发
在 HTML 中禁用 Chrome 浏览器的 Google 翻译功能
在 html 标签中添加 translate=“no” 属性,浏览器将不会翻译整个页面。
333 0
|
1月前
|
存储 安全 Java
jdk21的外部函数和内存API(MemorySegment)(官方翻译)
本文介绍了JDK 21中引入的外部函数和内存API(MemorySegment),这些API使得Java程序能够更安全、高效地与JVM外部的代码和数据进行互操作,包括调用外部函数、访问外部内存,以及使用不同的Arena竞技场来分配和管理MemorySegment。
48 1
jdk21的外部函数和内存API(MemorySegment)(官方翻译)
|
1月前
|
IDE API 定位技术
Python--API编程:IP地址翻译成实际的物理地址
Python--API编程:IP地址翻译成实际的物理地址
|
3月前
|
API 数据库 索引
indexedDB 操作库IDBWRAPPER 教程翻译及API翻译第二部分part2
indexedDB 操作库IDBWRAPPER 教程翻译及API翻译第二部分part2
|
4月前
|
人工智能 自然语言处理 数据挖掘
详解:Google AI Gemini中文版本(基于API 开发实现对话)
谷歌旗下的人工智能应用Gemini,自问世以来凭借其强大的计算能力和高效的处理性能,迅速成为全球用户的宠儿。作为一款由世界顶尖科技公司开发的产品,Gemini不仅在语言处理、图像识别、数据分析等领域表现出色,还在多种复杂任务中展现了其卓越的智能决策能力。然而,由于网络限制等问题,国内用户往往无法直接访问和使用Gemini的网站,这也导致了许多技术爱好者和专业人士未能亲身体验这一先进技术所带来的便利和强大功能。
|
4月前
|
自然语言处理 安全 Shell
Linux 提权-SUID/SGID_1 本文通过 Google 翻译 SUID | SGID Part-1 – Linux Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释补充。
接下来,让我们看看 SUID3NUM 在枚举 SUID 二进制文件方面的表现如何。 3.2、枚举 SUID 二进制文件 – SUID3NUM 我们将用来枚举 SUID 二进制文件的第二个工具是 SUID3NUM。这是一个很棒的工具,因为它是专门为枚举 SUID 二进制文件而创建的。但这还不是全部,它还提供了可用于提升权限的命令(命令从 GTFOBins 中提取)。 这还不是最好的部分,SUID3NUM 还具有内置的 autopwn 功能,可以通过 -e 开关激活! 在 OSCP 考试中也使用此工具,只要您不使用自动利用功能。 3.2.1、下载并执行 SUID3NUM 我们可以从 GitHubs
39 0
|
5月前
|
域名解析 JavaScript 网络协议
技术心得记录:如何使用google地图的api(整理)
技术心得记录:如何使用google地图的api(整理)
448 0
|
5月前
|
Java API Apache
详尽分享百度翻译api
详尽分享百度翻译api
111 0
|
6月前
|
JavaScript 测试技术
【sgGoogleTranslate】自定义组件:基于Vue.js用谷歌Google Translate翻译插件实现网站多国语言开发
【sgGoogleTranslate】自定义组件:基于Vue.js用谷歌Google Translate翻译插件实现网站多国语言开发

热门文章

最新文章

下一篇
无影云桌面