Здравствуйте! не могу разобраться в чем тут дело, но думаю, что дело в кодировке! Скрипт который подключается к гуглу для перевода. Если переводится с англ на русс, то все ок, а если наоборот то в ответ получаю (???? ????? ????)
<?php
function translate($str, $from, $to){
if( $curl = curl_init() ){
// Задаем ссылку
curl_setopt($curl,CURLOPT_URL,'http://translate.google.com/translate_t#');
// Скачанные данные не выводить поток
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt ($curl, CURLOPT_HTTPHEADER, array('Expect:'));
curl_setopt($curl, CURLOPT_POSTFIELDS, 'client=t&text='.urlencode($str).'&sl='.$from.'&tl='.$to);
// Задаем тип проски - сокс5
//curl_setopt($curl,CURLOPT_PROXYTYPE,CURLPROXY_SOCKS5);
// Указываем сам сокс
//curl_setopt($curl,CURLOPT_PROXY,'127.0.0.1:1080');
// Скачиваем
$out = curl_exec($curl);
// Показываем скачанные данные
$res = preg_match('/<div id=result_box dir=\"ltr\">([^<]*)/',$out,$ss);
// Закрываем соединение
curl_close($curl);
return $ss[1];
}
}
$str = 'Это русский текст';
echo translate($str, "ru", "en");
?>