php 百度API 文字语言转换

// 地址 http://api.fanyi.baidu.com/api/trans/product/desktop?req=detail

public function baidu(){

//数组格式转换,待下划线字段也会被转换,需要自定义术语库

    $arr=  array  (

'id'=> '9',

"real_name" => '质量工程师A',

"mark_name" => '测试质量工程师',

"text" => '这是测试的一段话'

    );

//字符串转换直接传入就可以了

     $query='小公司业务代码存于一个服务器上,而这个服务器有的时候回宕机,导致业务停顿,造成影响。这个时候 就需要做高可用 两个ngix+两个tomcat+两个mysql实现高可用,避免单点问题。中间使用keepalived监听。下面先从简单的mysql主从搞起。下面按照老方式,what->why->how ,是什么,为什么,怎么做来讲解一波。';

    $query= json_encode($query,JSON_UNESCAPED_UNICODE);

$from='zh';//zh字符串为中文,不明确可设置为auto

    $to='en';//想要转换的语言,auto

    $arr= $this->translate($query, $from, $to);

print_r($arr);

}

//翻译入口

function translate($query,$from,$to)

{

$appid= '';

$sec_key='';

$url= 'http://api.fanyi.baidu.com/api/trans/vip/translate';

$args= array(

'q' => $query,

'appid' => $appid,

'salt' => rand(10000,99999),

'from' => $from,

'to' => $to,

);

$args['sign']= $this->buildSign($query, $appid, $args['salt'], $sec_key);

$ret= $this->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 = 10,$headers=array())

{/*{{{*/

    $ret= false;

$i= 0;

while($ret=== false)

{

if($i> 1)

break;

if($i> 0)

{

sleep(1);

}

$ret= $this->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= $this->convert($args);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_setopt($ch, CURLOPT_POST,1);

}

else

    {

$data= $this->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 ($valas $k=> $v) {

$data.= $key. '[' . $k. ']=' . rawurlencode($v). '&';

}

}else {

$data.= "$key=" . rawurlencode($val). "&";

}

}

return trim($data,"&");

}

return $args;

}



中文转英文 上面代码运行如下

Array

(

    [from] => zh

    [to] => en

    [trans_result] => Array

        (

            [0] => Array

                (

                    [src] => "小公司业务代码存于一个服务器上,而这个服务器有的时候回宕机,导致业务停顿,造成影响。这个时候 就需要做高可用 两个ngix+两个tomcat+两个mysql实现高可用,避免单点问题。中间使用keepalived监听。下面先从简单的mysql主从搞起。下面按照老方式,what->why->how ,是什么,为什么,怎么做来讲解一波。"

                    [dst] => "The business code of a small company is stored on a server, and this server sometimes goes back down, resulting in business pause and impact. At this time, we need to do two ngix + two Tomcat + two Mysql to achieve high availability and avoid single point problems. In the middle, keep alive monitoring is used. Let's start with a simple MySQL master-slave. Now I will explain a wave according to the old way, what - > Why - > how. "

                )

        )

)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,047评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,807评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,501评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,839评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,951评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,117评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,188评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,929评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,372评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,679评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,837评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,536评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,168评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,886评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,129评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,665评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,739评论 2 351

推荐阅读更多精彩内容