Как расшифровать ответ Google translate с помощью php? - PullRequest
3 голосов
/ 06 июля 2011

Когда вы получаете или POST это: "http://translate.google.com/translate_a/t","client=t&sl=auto&tl=".urlencode($lang)."&text=".urlencode($text)

ответ выглядит следующим образом:

[[["автомобил","car","avtomobil",""]],,"en",,[["автомобил",[5],1,0,1000,0,1,0]],[["car",5,[["автомобил",1000,1,0],["автомобилот",0,1,0],["автомобили",0,1,0],["кола",0,1,0],["возило",0,1,0]],[[0,3]],"car"]],,,[["en","fr"]],30]

Как декодировать это?(возможно в стиле json_decode)

Ответы [ 3 ]

9 голосов
/ 10 мая 2012

Чтобы API вернул JSON, измените параметр

client=t

на

client=p
2 голосов
/ 27 марта 2014
 //this will translate from en to ar -- you can change it for your needs
 function translate_word($en){
    $file_content = file_get_contents('http://translate.google.com/translate_a/t?client=p&sl=auto&tl=ar&hl=en&sc=2&ie=UTF-8&oe=UTF-8&uptl=ar&oc=1&prev=conf&psl=auto&ptl=en&otf=1&it=sel.8936&ssel=0&tsel=3&q='.str_replace(" ","%20",$en));
    $obj = json_decode($file_content);
    if(!empty($obj->sentences[0]->trans)){
        return $obj->sentences[0]->trans;
    }else{
        return $en;
    }
}
//how to use
echo translate_word("test translation process");
//if you do not know short codes for your language you can just open 

translate.google.com и описано на скриншоте

//you should have firebug extension installed on your browser

enter image description here

//if the answer was usefull please do not forget to vote up! thanks.
0 голосов
/ 06 июля 2011

Попробуйте использовать функцию PHP json_decode для преобразования этих данных в собственные типы данных PHP.

...