PHP uses Baidu translation API for free and online translation service

» Free resources » PHP uses Baidu translation API for free and online translation service

To improve translation, Baidu is definitely a company that will be mentioned. Although the quality of translation is not as good as Google or Youdao, it is cheap. Today I recommend Baidu's translation service.

PHP免费使用百度翻译API使用在线翻译服务-极客公园

preface

I have posted Youdao's translation and Google's translation before, and a friend asked me about Baidu's translation. He reminded me that Baidu's translation is so generous and has a large amount of free money. Whether it is early fishing or not, I got on the bus anyway 😀

API code

In fact, Baidu's code is basically the same as Youdao's. It should be said that this kind of api call is basically the same, and the cloud is slightly modified on the basis of the api.

 //Baidu Translation Entrance function dtranslate($query){ $bd_url = ' https://api.fanyi.baidu.com/api/trans/vip/translate '; $bd_app_id = '2018112006545636924';// Change it to your own $bd_sec_key = 'Txooxxooxxooxxoo';// Change it to your own $args = array( 'q' => $query, 'appid' => $bd_app_id, 'salt' => rand(10000,99999), 'from' => 'auto', 'to' => 'zh', ); $args['sign'] = buildSign($query, $bd_app_id, $args['salt'], $bd_sec_key); $ret = call($bd_url, $args); $ret = json_decode($ret, true)[trans_result][0][dst]; return $ret; } //Encryption function buildSign($query, $appID, $salt, $secKey){/*{{{*/ $str = $appID . $ query . $salt . $secKey; $ret = md5($str); return $ret; }/*}}}*/ //Initiate network request function call($url, $args=null, $method="post", $testflag = 0, $timeout = '30', $headers=array()){/*{{{*/ $ret = false; $i = 0; while($ret === false){ if($i > 1) break; if($i > 0){ sleep(1); } $ret = callOnce($url, $args, $method,  false, $timeout, $headers); $i++; } return $ret; }/*}}}*/ function callOnce($url, $args=null, $method="post", $withCookie = false, $timeout = '30', $headers=array()){/*{{{*/ $ch = curl_init(); if($method == "post"){ $data = convert($args); curl_setopt($ch,  CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_POST, 1); }else{ $data = convert($args); if($data){ if(stripos($url, "?") > 0){ $url .=  "&$data"; }else{ $url .=  "?$data"; } } } curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch,  CURLOPT_TIMEOUT, $timeout); curl_setopt($ch,  CURLOPT_RETURNTRANSFER, 1); if(! empty($headers)){ curl_setopt($ch,  CURLOPT_HTTPHEADER, $headers); }if($withCookie){ curl_setopt($ch,  CURLOPT_COOKIEJAR, $_COOKIE); } $r = curl_exec($ch); curl_close($ch); return $r; }/*}}}*/ function convert(&$args){/*{{{*/ $data = ''; if (is_array($args)){ foreach ($args as $key=>$val){ if (is_array($val)){ foreach ($val as $k=>$v){ $data .= $ key.'['.$ k.']='.rawurlencode($v).'&'; } }else{ $data .= "$key=".rawurlencode($val). "&"; } } return trim($data, "&"); } return $args; }/*}}}*/

It is very simple to use

 echo dtranslate('I go to school today.');

favoured policy

Charging mode: If the number of translated characters per month is less than 2 million, you can enjoy free services; The current price is ¥ 49.00/million characters, and the original price is ¥ 70.00/million characters

It can be said that this amount is enough for me. As for the quality of translation? What more bicycles do you want at this price??

Related Links

Baidu Translate

--End--

Post reply

Your email address will not be disclosed. Required items have been used * tagging

3 Replies to "PHP uses Baidu Translation API for free and online translation service"