Ищу Скрипт (есть пример) или ПО для перевода текста через translate.google

TI
На сайте с 09.01.2012
Offline
47
1082

Здравствуйте!

Ищу программу или скрипт, для перевода текстов через translate.google (не API, а просто форму)

Была раньше программа, но теперь она не работает.

Есть 2 скрипта, 1 переводит но ограничено количеством символов, а второй не уверен что работает... нужна библиотека PHP Simple HTML DOM Parser, подключил, но там где она используется выдает ошибку, вот и не знаю рабочий ли он...

первый...

<?php

$UA = array (
"Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.1b1) Gecko/20081007 Firefox/3.1b1",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.0",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/0.4.154.18 Safari/525.19",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13",
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)",
"Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.40607)",
"Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1; .NET CLR 1.1.4322)",
"Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1; .NET CLR 1.0.3705; Media Center PC 3.1; Alexa Toolbar; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
"Mozilla/45.0 (compatible; MSIE 6.0; Windows NT 5.1)",
"Mozilla/4.08 (compatible; MSIE 6.0; Windows NT 5.1)",
"Mozilla/4.01 (compatible; MSIE 6.0; Windows NT 5.1)");

class translator_text{
function getRandomUserAgent ( ) {
srand((double)microtime()*1000000);
global $UA;
return $UA[rand(0,count($UA)-1)];
}

function getContent ($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $this->getRandomUserAgent());
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
$output = curl_exec($ch);
$info = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($output === false || $info != 200) {
$output = null;
}
return $output;
}

function translate($expression, $from, $to) {
$f = $this->getContent("http://translate.google.com/translate_t?text=" . urlencode($expression) . "&langpair=$from|$to");
$x = strstr($f, '<span id=result_box');
$arr = explode('<script',$x);
$arr = explode('Undo edits',$arr[0]);
return(strip_tags($arr[0]));
}
}
?>


<?php
error_reporting(E_ALL ^ E_NOTICE);
include('translate.class.php');
$x = new translator_text();
$text = 'текст';
echo'<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
echo $x->translate(strip_tags(trim($text)), 'ru', 'en');
?>

второй (тестирую на денвере... может в нем проблема? ошибка Fatal error: Call to a member function find() on a non-object in Z:\home\perevod.in\www\2\1.php on line 20)

<?php 

include('simple_html_dom.php');
function doTranslation($str, $url, $from, $to) {
$ch = curl_init($url);
$postdata = 'js=n&prev=_t&hl=ru&ie=UTF-8&layout=2&eotf=1&text=' .
rawurlencode($str) . '&sl=' . $from . '&tl=' . $to;
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'MIME-Version: 1.0',
"Content-type: application/x-www-form-urlencoded",
'Content-transfer-encoding: text',
'Accept-Charset:utf-8,windows-1251;q=0.7,*;q=0.3'
));
$result = curl_exec($ch);
$html = str_get_html($result);
$content = $html->find('span[id=result_box]');
$content = $content[0]->plaintext;
curl_close($ch);
return $content;
}

echo doTranslation("текст", "http://translate.goole.ru", "ru", "en"); ?>
IL
На сайте с 20.04.2007
Offline
435
#1
"http://translate.goole.ru"

А что в $result падает, интересно.. =)

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
TI
На сайте с 09.01.2012
Offline
47
#2
ivan-lev:
А что в $result падает, интересно.. =)

Да, ошибку, нашел после того, как запостил...

Неправильно посмотрел, вот только с кодировками мучаюсь...

Удалось получить результат и раскодировать, а вот дальше дело не идет, повторно отправить запрос на перевод, одни ??? получаются.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий