百度免費翻譯接口


程序需要的翻譯工具,要自動分割單詞,如:  SourceCodeExtension  或  Event_Subscriber_Interface,為此,只能自己寫代碼分割一下,然后調用翻譯接口.

先看效果吧.

 

然后集成到我的工具包里的效果

 

 

自己去注冊,然后開通通用翻譯接口,下載個 demo,就能使用了.

<?php

define("CURL_TIMEOUT", 10);
define("URL", "http://api.fanyi.baidu.com/api/trans/vip/translate");
define("APP_ID", "20212"); //APPID
define("SEC_KEY", "LKYGG");//密鑰


print_r(translate(Data::string('__Event_SubscriberInterface__')->toWord(), 'en', 'zh'));


class Data {

    protected static $string = '';

    public static function string($string){

        self::$string = $string;
        return new static();

    }


    public function toWord(string $delimiter=' ') :string {
$string = self::$string; if(strpos($string, '_')  !== false ){ $string = str_replace('_', ' ', $string); } return strtolower(trim(preg_replace(['/([A-Z])/', '/\s+/'], [' ${1}', $delimiter], $string))); } } //翻譯入口
function translate($query, $from, $to) { $args = array( 'q' => $query,
        'appid' => APP_ID,
        'salt' => rand(10000, 99999),
        'from' => $from,
        'to' => $to, ); $args['sign'] = buildSign($query, APP_ID, $args['salt'], SEC_KEY); $ret = call(URL, $args); $ret = json_decode($ret, true); return $ret; } //加密
function buildSign($query, $appID, $salt, $secKey) { $str = $appID . $query . $salt . $secKey; $ret = md5($str); return $ret; } //發起網絡請求
function call($url, $args = null, $method = "post", $testflag = 0, $timeout = CURL_TIMEOUT, $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 = CURL_TIMEOUT, $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; }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM