Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Перевод страницы
Форумы портала PHP.SU » » HTTP и PHP » Перевод страницы

Страниц (1): [1]
 

1. vlom - 01 Августа, 2011 - 16:36:09 - перейти к сообщению
К примеру есть страницы site.com/page.html она на англ языке,
получаем ее при помощи curl, отделяем содержимое от html тегов
и теперь ее необходимо перевести, как это осуществить??? Хм
2. LIME - 01 Августа, 2011 - 17:01:30 - перейти к сообщению
vlom может есть и получше способы но первое что приходит в голову...
отправить текст запросом гуглу на перевод и также спарсить
3. illy - 01 Августа, 2011 - 17:02:29 - перейти к сообщению
может у какого-нибудь сайта типа гугла есть вставка формы для перевода куда и будешь копировать свой текст? Хорошо
блин я не первый Ха-ха
4. koka - 01 Августа, 2011 - 17:19:50 - перейти к сообщению
C гугля:
Цитата:
Important: The Google Translate API has been officially deprecated as of May 26, 2011. Due to the substantial economic burden caused by extensive abuse, the number of requests you may make per day will be limited and the API will be shut off completely on December 1, 2011. For website translations, we encourage you to use the Google Translate Element.


Так что прийдется
Цитата:
отправить текст запросом гуглу на перевод и также спарсить

(Добавление)
Вот нашёл в интернете готовый пример

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. function translate($text, $from, $to)
  4. {
  5.         $ch = curl_init();
  6.         curl_setopt($ch, CURLOPT_URL, 'http://translate.google.com/');
  7.         curl_setopt($ch, CURLOPT_FAILONERROR, 1);
  8.         curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  9.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  10.         curl_setopt($ch, CURLOPT_TIMEOUT, 10);
  11.         curl_setopt($ch, CURLOPT_HEADER, 0);
  12.         curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13');  
  13.         curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accepr-Charset: utf-8,windows-1251;q=0.7,*;q=0.7"));
  14.         curl_setopt($ch, CURLOPT_REFERER, 'http://translate.google.com/');
  15.        
  16.         //формируем POST-запрос
  17.         curl_setopt($ch, CURLOPT_POST, 1);
  18.         curl_setopt($ch, CURLOPT_POSTFIELDS, "hl=ru&ie=UTF-8&js=n&prev=_t&layout=2&eotf=1&sl=".$from."&tl=".$to."&text=".urlencode($text));
  19.        
  20.   $res = curl_exec($ch);
  21.   if(curl_errno($ch)) $res = false;
  22.         curl_close($ch);  
  23.         if ($res == false) return;
  24.  
  25.         //распарсиваем ответ
  26.         if(preg_match("~<span id=result_box class=\"short_text\">(.*)</span></span>~", $res, $translate))
  27.                 return strip_tags($translate[1]);
  28.        
  29. }
  30.  
  31. header ("Content-Type: text/html; charset=utf-8");  
  32. echo translate('Hello World!', 'en', 'ru');
  33.  
  34. ?>
5. vlom - 01 Августа, 2011 - 18:12:54 - перейти к сообщению
ни когда не замечал, но если в форме перевода на гугле ввести адрес страницы, а не текст, то выдается ссылка с переводом этой страницы, но тогда возможно стоит дать схавать гугле ссылку на страницу, а уж потом переходить по ней и снова парсить, а в браузер возвращать уже то что получено со второй страницы
(Добавление)
что-то не получается скормить гуглу урл

 

Powered by ExBB FM 1.0 RC1