用JSON 和 Google 实现全文翻译

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Memo2: TMemo;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses MsXML, SuperObject;

//字符串到 UTF8 编码的函数, 用于 Google 地址
function ToUTF8Encode(str: string): string;
var
  b: Byte;
begin
  for b in BytesOf(UTF8Encode(str)) do
    Result := Format(‘%s%s%.2x‘, [Result, ‘%‘, b]);
end;

//翻译函数
function Translate(str, RequestLanguage, ResultLanguage: string): string;
const
  BaseUrl = ‘http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=‘;
var
  Url: string;
  jo: ISuperObject;
  req: IXMLHTTPRequest;
begin
  Url := BaseUrl + ToUTF8Encode(str) + ‘&langpair=‘ + RequestLanguage + ‘%7C‘ + ResultLanguage;
  req := CoXMLHTTP.Create;
  req.open(‘Get‘, Url, False, EmptyParam, EmptyParam);
  req.send(EmptyParam);
  jo := SO(req.responseText);
  Result := jo.Format(‘%responseData.translatedText%‘);
end;

//英译汉
procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo2.Text := Translate(Memo1.Text, ‘en‘, ‘zh-cn‘);
end;

//汉译英
procedure TForm1.Button2Click(Sender: TObject);
begin
  Memo1.Text := Translate(Memo2.Text, ‘zh-cn‘, ‘en‘);
end;

end.

http://www.cnblogs.com/jxgxy/archive/2010/01/25/1655821.html

时间: 2024-10-09 15:46:05

用JSON 和 Google 实现全文翻译的相关文章

JSON 之 SuperObject(17): 实例 - 借用 Google 实现全文翻译

调用 Google 翻译的地址格式: http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=" + 原始文本 + "&langpair=" + 原语言 + "%7C" + 目标语言 返回的数据格式如下, 可以用 responseData.translatedText 简单获取: { "responseData" : {"trans

XE3随笔19:实例 - 借用 Google 实现全文翻译

调用 Google 翻译的地址格式: http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=" + 原始文本 + "&langpair=" + 原语言 + "%7C" + 目标语言 返回的数据格式如下, 可以用 responseData.translatedText 简单获取: { "responseData" : {"trans

the evolution of Lua 全文翻译

终于赶在春节前将论文全文翻译完,以后有时间将前面三章重新翻译一次,因为刚开始的时候没打算全文翻译的.. 中文地址:Lua的演进 祝各位新春快乐,鸡年大吉,恭喜恭喜

如何使用浏览器的网页全文翻译工具

如果你正在使用谷歌浏览器,那就很方便了,点击右侧的图标,进入扩展程序 ? 如果没有安装任何扩展,下面会出现这个,点击那个"浏览该程序库" ? 然后就进入了网上商店 ? 在左边搜索翻译,右侧就有了,如果已经添加了这个应用,则会显示绿色,否则显示蓝色,点击添加(个人认为谷歌浏览器有点诡异,有时候"添加至CHROME"并不是超链接,不能点,就算能点,也会弹出什么错误之类的,装好了也要弹出错误,你自己试试就知道了) ? 如果你出现莫名其妙的问题,比如Chrome Web S

GDPR全文翻译(一)

General Data Protection Regulation <一般数据保护法案>全文翻译(一) 编者按 2016年4月14日,欧洲议会投票通过了商讨四年的<一般数据保护法案>(General Data Protection Regulation,GDPR),该法案将于2018年5月25日正式生效.GDPR的通过意味着欧盟对个人信息保护及其监管达到了前所未有的高度,堪称史上最严格的数据保护法案. GDPR对于我国业务范围涉及欧盟成员国领土及其公民的企业进行合规运营.避免高昂

《易经》全文翻译(值得收藏)

1.<易经>中隐含的28条天规,大智慧! 一:以自我为中心的人,将困于人生最大的陷阱 人人都有“自我”——身体.思想.财产.名誉.地位等等.如果你是一个聪明人,不仅要为自己活着,还要替他人着想,“后其身而身先,外其身而身存”,“我”字被过分强调,就会变成诅咒. 二:过分在意别人的眼光,将丧失自我 每个人都是独一无二的,可是许多人偏偏喜欢按照别人的眼光和说法生活.就像寓言中那个邯郸学步的人一样,这种人将丧失自我.个性及其所能带来的一切.本色最美,“走自己的路,让别人去说吧!” 三:嗜欲深者天机浅

[转]JSON and Microsoft Technologies(翻译)

本文翻译CodeProject(链接)上的一篇文章,文章对JSON的概念以及它在微软一些技术中的应用起到了非常好的扫盲作用,总结得非常好,适合初学者. 目录 介绍 什么是JavaScript对象? 实验一:理解JavaScript对象 实验二:JavaScript对象数组 什么是XML以及为什么使用XML? 什么是JSON? 实验三:将JSON字符串转换为JavaScript对象 ASP.NET Web Forms中的JSON 实验四:Get Request - JavaScript请求JSON

JSON and Microsoft Technologies(翻译)

本文翻译CodeProject(链接)上的一篇文章,文章对JSON的概念以及它在微软一些技术中的应用起到了非常好的扫盲作用,总结得非常好,适合初学者. 目录 介绍 什么是JavaScript对象? 实验一:理解JavaScript对象 实验二:JavaScript对象数组 什么是XML以及为什么使用XML? 什么是JSON? 实验三:将JSON字符串转换为JavaScript对象 ASP.NET Web Forms中的JSON 实验四:Get Request - JavaScript请求JSON

Xamarin.Forms Layout Challenges – Great Places(已全文翻译)

原文地址:https://www.kymphillpotts.com/xamarin-forms-layout-challenges-great-places/ (作者Kym Phillpotts) 项目Github地址:https://github.com/kphillpotts/XamarinFormsLayoutChallenges When your app is all about the images, sometimes you want your images to be her