PDA

Просмотр полной версии : Использование google-translate api при переводе с русского языка


je0n
17.01.2010, 18:53
<html>
<head>
<title>translate</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
function translate($s_text, $s_lang, $d_lang){
$url = "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=".urlencode($s_text)."&langpair=".urlencode($s_lang.'|'.$d_lang);

$c = curl_init();
$header [] = "Accept: text/html;" ;
$header [] = "Accept_charset: utf-8";
$header [] = "Accept_encoding: identity";
$header [] = "Accept_language: en-us";
$header [] = "Connection: Keep-Alive";
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_REFERER, "http://mysite.ru/");
curl_setopt($c, CURLOPT_HTTPHEADER , $header );
$b = curl_exec($c);
curl_close($c);
$json = json_decode($b, true);
if ($json['responseStatus'] != 200)return false;
return $json['responseData']['translatedText'];
}

echo translate("my name is jack","en","ru");
?>
</body>
</html>

Эта функция прекрасно работает, если переводить с английского на русский. А вот наоборот - нефига. Я хз че делать :( Помогите!

WNZRS
17.01.2010, 19:12
у отправляемого текста utf-8 ?
если нет, то $text = iconv('cp1251', 'utf-8', $text);

je0n
17.01.2010, 19:21
у отправляемого текста utf-8 ?
если нет, то $text = iconv('cp1251', 'utf-8', $text);
СПАСИБО!!! Помогло!