Социализируемся

Я в Google+ Я в Twitter Я в Facebook

Saturday, May 8, 2010

Тест Google Translate API, PHP и RSS

Результат однодневного эксперимента с Google Translate API, PHP и RSS

Сколько языков ты знаешь – столько раз ты человек…
А если не знаешь, а надо? Обращаемся за помощью к переводчикам. Последнее время особенно популярен стал гугл-переводчик. Гугл настолько почувствовал свою силу, что выпустил API для использования переводчика автоматно.
Так ли он крут – переводчик от гугла?

В качестве исходного материала возьмем rss-ленты.
Как получить-обрабатывать ленту новостей средствами php описывать не буду (в и-нете есть масса примеров). Я использую свою корявую библиотеку, ибо свое – дороже и надежнее. Мне попадалось очень много открытых кодов обработки rss-лент, так что подобрать подходящую – не проблема.
Берем понравившуюся rss-ленту, переводим ее с использованием Google Translate API и показываем на блоге (или сайте).

Можно взять за основу пример использования, показанный в http://gritsinger.com/ispolzovanie-google-translate-api-v-php.html

Я выбрала другой ресурс - http://code.google.com/p/php-language-api/.
Тут есть краткий простой пример использования, а сам php-класс находится тут
код

Итак, рассмотрим англоязычную ленту и переведем ее на русский.

Не вдаваясь в подробности, php-код будет выглядеть приблизительно следующим образом:
<?
Function translate($text, $from, $to)
{
$trans_text = Google_Translate_API::translate($text, $from, $to);
if ($trans_text !== false) 
           return $trans_text;
return “”;
}

Receive_rss();
foreach($rss_item as $key => $rss_item )
     {$title= translate(get_rss_tag($rss_item,”title”), 'en', 'ru');
      $date= translate(get_rss_tag($rss_item,”pubDate”), 'en', 'ru');
      $description =translate(get_rss_tag($rss_item,”description”), 'en', 'ru');
      add_rss($title,$date,$description);
      }
put_rss();
?>


Исходная rss-лента (подробнее про использование rss-ленты на блоге см. Размещение rss-ленты новостей на блоге):

(По причине использования одной и той же javascript-функции, смотреть корректно фиды новостей в данном варианте можно только загрузив посты по отдельности.)

Loading...







Результат, как видно из примера, ужасный.

Теперь возьмем русскоязычную ленту. Родство языков сразу видно – результат более-менее приличный.
Код остается прежним, меняются только параметры для функции translate(get_rss_tag($rss_item,”pubDate”), 'ru', 'uk')

Посмотреть результат

Важный нюанс, на который надо обратить внимание – исходный материал должен быть представлен в кодировке UTF-8.

Итак, можно делать вывод – качество перевода очень и очень плохое, результат можно показывать только после ручной доработки. Полной автоматизации этой задачи пока не достигнуто.

No comments:

Post a Comment

Популярное

Использование материалов сайта

Информация, представленная на сайте, может свободно использоваться и распространяться при обязательном указании активной прямой ссылки на сайт http://in-search-of-semantics.blogspot.com/, а тексты научных статей – при указании авторства и ссылки на бумажную публикацию.

При размещении текстов статей на своих сайтах, блогах и пр., пожалуйста, присылайте ссылки.
Комментарии перед публикацией предварительно модерируются.

Хотите сказать спасибо автору? Не откажусь :) - Поставьте ретвит на пост, или другую социальную закладку. Спасибо.