Google翻译接口应用

      最近做一翻译公司网站,要求加一在线翻译。之前他们要的是一个外链接,我在想要是有现成的翻译网站接口可以调用的话,这个链接也就没必要了。在网上查了下,google的在线翻译可以用,找到了相关的代码,我自己添加了一些,测试可以用。相关代码如下:

[php] view plaincopyprint?

  1. <?php    
  2.     /* Google翻译PHP接口 
  3.    / * 注意:如果翻译文本为UTF-8编码,则要删去mb_convert_encoding函数 
  4.      */   
  5.          
  6.     class Google_API_translator {     
  7.         public$url = "http://translate.google.com/translate_t";    
  8.         public$text = "";//翻译文本    
  9.          public$out = ""; //翻译输出  
  10.          public$lang_src = "";//要翻译的语言 
  11.     public$lang_des = "";//翻译成的语言 
  12.             
  13.         function setText($text){    
  14.             $this->text = $text;    
  15.         }    
  16.          
  17.         function setLang($lang_src,$lang_des){ 
  18.             $this->lang_src = $lang_src; 
  19.             $this->lang_des = $lang_des; 
  20.         } 
  21.             
  22.         function translate() {     
  23.             $this->out = "";     
  24.                 
  25.             $gphtml = $this->postPage($this->url, $this->text,$this->lang_src,$this->lang_des);     
  26.             $out = substr($gphtml, strpos($gphtml, "<div id=result_box dir=/"ltr/">"));    
  27.             $out = substr($out, 29);    
  28.             $out = substr($out, 0, strpos($out, "</div>"));    
  29.                 
  30.             $this->out = $out;    
  31.             return$this->out;     
  32.         }     
  33.             
  34.         function postPage($url, $text,$lang_src,$lang_des) {     
  35.             $html ='';     
  36.                 
  37.             if($url != "" && $text != ""&&$lang_src != ""&&$lang_des != "") {     
  38.                 $ch = curl_init($url);     
  39.                 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);     
  40.                 curl_setopt($ch, CURLOPT_HEADER, 1);     
  41.                 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);     
  42.                 curl_setopt($ch, CURLOPT_TIMEOUT, 15);     
  43.                     
  44.                 $fields = array('hl=zh-CN', 'langpair='.$lang_src.'|'.$lang_des, 'ie=UTF-8','text='.urlencode(mb_convert_encoding($text, 'UTF-8', 'GB2312')));    
  45.                 curl_setopt($ch, CURLOPT_POST, 1);    
  46.                 curl_setopt($ch, CURLOPT_POSTFIELDS, implode('&', $fields));                                                         
  47.                     
  48.                 $html = curl_exec($ch);     
  49.                 if(curl_errno($ch)) $html = "";     
  50.                 curl_close ($ch);     
  51.             }     
  52.             return$html;     
  53.         }     
  54.     }     
  55.         
  56.     
  57.    ?> 

<?php
/* Google翻译PHP接口
/ * 注意:如果翻译文本为UTF-8编码,则要删去mb_convert_encoding函数
*/

class Google_API_translator {
public $url = "http://translate.google.com/translate_t";
public $text = "";//翻译文本
public $out = ""; //翻译输出
public $lang_src = "";//要翻译的语言
public $lang_des = "";//翻译成的语言

function setText($text){
$this->text = $text;
}

function setLang($lang_src,$lang_des){
$this->lang_src = $lang_src;
$this->lang_des = $lang_des;
}

function translate() {
$this->out = "";

$gphtml = $this->postPage($this->url, $this->text,$this->lang_src,$this->lang_des);
$out = substr($gphtml, strpos($gphtml, "<div id=result_box dir=/"ltr/">"));
$out = substr($out, 29);
$out = substr($out, 0, strpos($out, "</div>"));

$this->out = $out;
return $this->out;
}

function postPage($url, $text,$lang_src,$lang_des) {
$html ='';

if($url != "" && $text != ""&&$lang_src != ""&&$lang_des != "") {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);

$fields = array('hl=zh-CN', 'langpair='.$lang_src.'|'.$lang_des, 'ie=UTF-8','text='.urlencode(mb_convert_encoding($text, 'UTF-8', 'GB2312')));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, implode('&', $fields));

$html = curl_exec($ch);
if(curl_errno($ch)) $html = "";
curl_close ($ch);
}
return $html;
}
}

?>

 

原始代码地址:http://blog.csdn.net/aprin

测试结果:

显示结果

 

转自: http://blog.csdn.net/weifangan/article/details/4542237

 

时间: 2024-08-02 06:49:17

Google翻译接口应用的相关文章

Google翻译接口(PHP API)

/* Google翻译PHP接口  * 官成文 2009-03-28  * http://blog.csdn.net/aprin/  * 注意:如果翻译文本为UTF-8编码,则要删去mb_convert_encoding函数  */ class Google_API_translator {  public $url = "http://translate.google.com/translate_t"; public $text = "";//翻译文本 publi

Google 翻译API Demo

接上篇 Google翻译API(B/S调用和C/S调用)      上篇里提到的接口调用方法是get方式,这样有个问题,每次请求翻译的内容不能超过url允许的长度.需要改成post方式才行,但是google没有提供post方式的API请求,怎么办呢?在通过网上一番资料的查找,在一位哥们的博客里看到了解决方案,不过他用的是java版的,对应post地址和参数,写出了.net版的.加上朗读的功能,程序界面如下: /// <summary> /// Post方式获取翻译 /// </summa

万网英文网站挑战GOOGLE翻译

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 随着国际经济一体化,中国奥运会的即将举办,不仅仅让国外更加了解了中国的国情,更是中国的企业走向国际的大好时机,大的企业可以通过到国外考查,在国外建分厂来发展海外的市场,而那些具有中国特色的中小型企业要想快速发展也只能是"与狼共舞",走国际化的道路,那应该怎么办呢?这时候您肯定想到了利用无国界的网络世界---自己的门户网站来

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

D1net阅闻:Google搜索没回来,Google翻译App正式在中国上线了

Google搜索没回来,Google翻译App正式在中国上线了 3月29日,Google公司宣布旗下Google翻译App正式面向中国用户发布,这意味着,国内用户可以直接在手机上使用这项服务了. Dropbox获6亿美元贷款额度,或年底IPO 云存储服务提供商Dropbox日前获得了6家银行提供的6亿美元信贷额度.知情人士称,以摩根大通为首的6家银行已经承诺为Dropbox提供6亿美元的贷款额度,预计于下周一正式签署协议.分析人士称,由于Dropbox即将于今年进行IPO(首次公开招股),此次获

Google翻译野心大 欲将世界信息汇于一处

近年来,谷歌翻译的出现给人们带来了无数的便利和希望,让不同种族和国家的人沟通起来变得简单,我们也有理由相信,在未来的日子里,谷歌翻译一定会带给我们新的惊喜. "生鱼片带着它的愿望,用Google搜索绿洋葱!"这语句不通的话是Google创始人之一Sergey Brin使用市面上的网络翻译服务翻译一封韩国粉丝邮件中的一句话,时间是2004年.这让Sergey认为Google在这方面可以做得更好,由此Google也开始酝酿Google翻译项目. 截止到今年4月,已满6岁的Google翻译已

ruby TK版本的google翻译机

  过去写的那个调用google翻译的翻译脚本,一直在用.那个版本只能处理单个单词,如果要翻译一行或者一段语句,尽管稍微修改下就可以,但失去了我想要的便利性.今天看了看TK,顺手写了个GUI版本的,采用一次请求一个线程,倒是便捷不少.在windows上,你需要到这里下载安装ActiveTcl才可以运行. 代码如下: require 'net/http' require 'tk' require 'logger'#设置代理$proxy_addr='x.x.x.x' $proxy_port='80'

Google翻译助手 帮你无障碍网上冲浪

     上网的人一般都会使用搜索引擎来辅助自己浏览网页,查询信息等.而强大的搜索引擎也同样会给大家的上网冲浪带来极大的便利.使用搜索引擎时,语言的作用不言而喻!由于各类原因,很多权威的资讯为国外的网站,而且自己的外语水平又不是很高该怎么办?一款好的翻译辅助软件会是您的得力助手.向您推荐: Google翻译助手.Google的搜索页面 (图1)      作为目前比较主流的两大搜索引擎的google,虽然已经提供了细化语言的分类搜索查询,效果又如何呢?关键字为NBA的Google的搜索页面 (图

Google翻译惹上“台独” 将台湾与中国并立

有用户爆料称Google翻译工具"汉译英"将一普通成语翻译成(Taiwanindependence),而去年网上就曾流传Google翻译涉嫌辱华消息. 在Google网站的自动翻译工具中,选择中译英时,输入"物极必反"出现翻译结果为:(Taiwanindependence):输入"中国台湾"时,出现翻译结果:中国和台湾(ChinaandTaiwan):而输入"中国香港"时候,翻译结果则为正常结果HongKong,China.