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






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要使用谷歌翻译 API 进行 Java 代码调用,你需要先获取到谷歌翻译 API 的访问凭证(API 密钥)。然后,你可以使用 HttpClient 或者其他网络请求库来发送 HTTP 请求并处理响应。下面是一个示例代码: ```java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; public class GoogleTranslateAPI { public static void main(String[] args) { String apiKey = "YOUR_API_KEY"; String textToTranslate = "Hello, world!"; String sourceLanguage = "en"; String targetLanguage = "zh-CN"; try { String translation = translateText(apiKey, textToTranslate, sourceLanguage, targetLanguage); System.out.println("Translation: " + translation); } catch (IOException e) { e.printStackTrace(); } } public static String translateText(String apiKey, String text, String sourceLanguage, String targetLanguage) throws IOException { String encodedText = URLEncoder.encode(text, "UTF-8"); String urlStr = "https://translation.googleapis.com/language/translate/v2?key=" + apiKey + "&q=" + encodedText + "&source=" + sourceLanguage + "&target=" + targetLanguage; URL url = new URL(urlStr); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); StringBuilder response = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { response.append(line); } reader.close(); // Parse the JSON response to get the translated text String translatedText = parseTranslationResponse(response.toString()); return translatedText; } public static String parseTranslationResponse(String response) { // Parse the JSON response to extract the translated text // Implement your own logic here based on the response format return "Parsed translation"; } } ``` 请替换 `YOUR_API_KEY` 为你自己的谷歌翻译 API 密钥。以上代码中的 `translateText` 方法会发送 HTTP GET 请求到谷歌翻译 API,并解析返回的 JSON 响应以获取翻译结果。你可以根据需要自行解析 JSON 响应。 注意:以上代码只是一个简单示例,你可能需要根据实际需求进行修改和扩展。另外,为了保护 API 密钥,建议将其存储在安全的地方,不要直接在代码中硬编码。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值