码迷,mamicode.com
首页 > Web开发 > 详细

用JSON 和 Google 实现全文翻译

时间:2015-11-14 19:22:27      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:

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

用JSON 和 Google 实现全文翻译

标签:

原文地址:http://www.cnblogs.com/findumars/p/4964825.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!