rootsoso
最近要做一个要用到翻译功能的插件,很自然就想到了利用
google translate
的强大,但是
google
之开放了
ajax
的
api
,没有开放语言的接口。这也不难,通过
firebug
的调查,发现
google
在翻译的时候调用了一个远程
url
,据个例子
Html代码
http
:
//translate
.
google
.
com/translate_a/t?client
=
t&text
=
computer&sl
=
en&tl
=
zh_CN
其中
client
没有更改,
text
表示着要翻译的文本,
sl
貌似是文本的源语言,
tl
表示着翻译目标语言。根据
google
的结果,大致有了个模型
Java
代码
1.
class Google_API_translator {
2.
3.
public $out
=
""
;
4.
5.
function translate
()
{
6.
7.
out
=
""
;
8.
9.
$text
=
urlencode
(
"computer"
);
//
要翻译的单词
10.
11.
$google_translator_url
=
"http
:
//translate
.
google
.
com/translate_a/t?client
=
t&text
=
"
.
$text
.
"&sl
=
en&tl
=
zh_CN"
;
12.
13.
//
拼凑
google
翻译的
api url
14.
15.
$google_translator_url
));
16.
17.
out
=
$gphtml
;
18.
19.
out
;
20.
21.
}
22.
23.
function postPage
(
$opts
)
{
24.
25.
$html
=
""
;
26.
27.
if
(
$opts["url"]
!=
""
)
{
28.
29.
$ch
=
curl_init
();
30.
31.
curl_setopt
(
$ch
,
CURLOPT_URL
,
$opts["url"]
);
32.
33.
$html
=
curl_exec
(
$ch
);
34.
35.
if
(
curl_errno
(
$ch
))
$html
=
""
;
36.
37.
curl_close
(
$ch
);
38.
39.
}
40.
41.
return $html
;
42.
43.
}
44.
45.
}
46.
47.
$g
=
new Google_API_translator
();
48.
49.
$g
-
>translate
();
50.