php调用百度在线翻译api的代码

接口限制

目前百度翻译api共分为4档,对普通开发者提供1000次/小时限制,支持扩容。
扩容2:中级,20000/小时
扩容3:高级,50000/小时
扩容4:合作方,无限制(产品中需提供百度翻译品牌露出)
申请方式:百度开发者中心→管理控制平台→开发者服务管理→选择工程→其它api→申请更高频次权限
http://developer.baidu.com/console#manage/apilist!appid=***(*号表示您的appid)
若您需要提至合作方,请在线申请后发送产品设计图(添加百度翻译logo)至translate-service@baidu.com,并提供appid。

1 支持语言方向

1)外语

中英、英中、中日、日中、中韩、韩中、中法、法中、中西、西中、中泰、泰中、中阿、阿中、中俄、俄中、英日、日英、英泰、泰英、英阿、阿英、英西、西英、英葡、葡英

2)特色翻译

普通话和粤语互译、文言文和白话文互译

2 源语言和目标语种选择

在使用翻译API服务时,既可显示指定翻译的源语言和目标语言语种,又可将源语言和目标语言均设置为“auto”。在auto状态下,百度翻译服务会自动检测源语言语种,并根据源语言的语种按照规则设置目标语言的语种。当源语言为非中文时,目标语言自动设置为中文。当源语言为中文时,目标语言自动设置为英文。
您可以通过GET或者POST方式提交待翻译的内容,GET方式最大支持5k字符的请求,POST方式最大支持3k字符的请求,超出相应长度的请求可能被截断或无法得到正确的结果,返回的翻译结果则为标准JSON格式。

帮助文档的地址:http://developer.baidu.com/wiki/index.php?title=%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3%E9%A6%96%E9%A1%B5/%E7%99%BE%E5%BA%A6%E7%BF%BB%E8%AF%91/%E7%BF%BB%E8%AF%91API

<?php
function language($value,$from=”auto”,$to=”auto”)
{
$value_code=urlencode($value);
#首先对要翻译的文字进行 urlencode 处理  记得文件编码必须为utf-8 不然会出错
$appid=”NFBnVLqBZ5D3HLpwShGOOO00″;
#您注册的API Key
$languageurl = “http://openapi.baidu.com/public/2.0/bmt/translate?client_id=” . $appid .”&q=” .$value_code. “&from=”.$from.”&to=”.$to;

$language=language_text($languageurl);
//print_r($language);exit();
#生成翻译API的URL GET地址
$text=json_decode($language);
$text = $text->trans_result;
return $text[0]->dst;
}
function language_text($url)  #获取目标URL所打印的内容
{
//echo $url;
if(!function_exists(‘file_get_contents’)) {
$file_contents = file_get_contents($url);
}else {
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
}
return $file_contents;
}
echo language(‘china’);
?>

 

此条目发表在开源代码分类目录,贴了, , 标签。将固定链接加入收藏夹。

发表回复