this problem seems specific to microsofttranslator.com , so please ... any answers if you can test it ...
Using the following URL to translate: http://api.microsofttranslator.com/V2/Ajax.svc/TranslateArray .. I send some fantastic arguments through cURL and return the following result:
[ { "From":"en", "OriginalTextSentenceLengths":[13], "TranslatedText":"我是最好的", "TranslatedTextSentenceLengths":[5] }, { "From":"en", "OriginalTextSentenceLengths":[16], "TranslatedText":"你是最好的", "TranslatedTextSentenceLengths":[5] } ]
When I use json_decode($output, true); upon exiting cURL, json_decode gives an error message when the syntax is not suitable for the returned JSON :
json_last_error() == JSON_ERROR_SYNTAX
Headers are returned using JSON:
Answer Headers
Cache-Control:no-cache Content-Length:244 Content-Type:application/x-javascript; charset=utf-8 Date:Sat, 06 Aug 2011 13:35:08 GMT Expires:-1 Pragma:no-cache X-MS-Trans-Info:s=63644
Raw Content:
[{"From":"en","OriginalTextSentenceLengths":[13],"TranslatedText":"我是最好的","TranslatedTextSentenceLengths":[5]},{"From":"en","OriginalTextSentenceLengths":[16],"TranslatedText":"你是最好的","TranslatedTextSentenceLengths":[5]}]
CURL code:
$texts = array("i am the best" => 0, "you are the best" => 0); $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $data = array( 'appId' => $bing_appId, 'from' => 'en', 'to' => 'zh-CHS', 'texts' => json_encode(array_keys($texts)) ); curl_setopt($ch, CURLOPT_URL, $bingArrayUrl . '?' . http_build_query($data)); $output = curl_exec($ch);