Перевод web-страниц через Google Translate в Yahoo Pipes, или переводной контент для сплога с любого блога

Опубликовано в (Yahoo Pipes, Контент, Сплоги) | автор splogmaster | 10-03-2009

Тэги: , , ,

Свершилось. Я закончил, а точнее вчера начал с нуля и сегодня закончил супер-мега Yahoo Pipes трубу для автоматического перевода web-страниц (не просто текст, а HTML-код страницы) через сервис-переводчик Google Translate . Используя эту трубу можно сделать сплог на базе переводного контента с любого блога, а блогов хотя бы только на английском языке немерено. Можно делать перевод не только на русский язык, и не только с английского, например, перевод с украинского на русский будет выглядеть очень человекописным и в тоже время текст в большей мере получится уникальным, либо перевод с француского на английский так же будет очень близок к человекописному. К сожалению, полностью сохранить HTML-разметку контента не получается, поскольку сначала приходится разбивать контент на маленькие кусочки, а потом собирать его по кускам, в процессе чего Pipes коверкает часть кода, например, с wordpress-постов исчезает выделение цитатой.

Так же мною была взята новая версия плагина FeedWordPress - в новой версии плагин позволяет автоматически переделывать категории синдицируемого поста в метки на сплоге. Как известно немногим, стандарт RSS 2.0 позволяет присваивать каждому item‘у несколько категорий, но Yahoo Pipes разрешает только одну категорию на каждый item - чтобы перенести все категории переводимого поста в метки на сплоге, мне пришлось немного извратиться внутри трубы и немного переделать плагин FeedWordPress. Ну и конечно же, моя версия плагина тянет все картинки со страницы в папку сплога.

В общем, с учетом полной автоматизации такая труба-переводчик видится мне весьма полезным инструментом. В качестве бонуса я все готовое выкладываю в паблик на некоторое время, 3-7 дней, после этого исходники будут спрятаны, и получить мои переводческие разработки можно будет либо за деньгу, либо под мое очень хорошее настроение. В общем доступе таким инструментам делать нечего.

Поскольку универсальной трубы для любого типа/вида/шаблона блога создать нереально, я покажу создание трубы-переводчика на кокрентом примере, в качестве подопытного я взял первый попавшийся англоязычный блог - hopemarin.wordpress.com:

1. Вспомогательная труба для перевода через Google Translate одной веб-страницы:

Вспомогательная труба для перевода через Google Translate одной веб-страницы

В качестве параметра передается URL-страницы, которую нужно перевести. При парсинге переведенной страницы указываем границы начала/конца поста - ведь вся страница нам не нужна, - и, самое главное, мы делим напарсенный контент на мелкие куски, поскольку Yahoo Pipes позволяет работать с кусками данных не более 200кб. За счет лишнего кода от переводчика (после перевода в HTML-коде будет сожержаться не только переведенный текст, но и его оригинал + куча всякого javascript-кода) наш пост растается далеко за 200кб, поэтому его необходимо разбить на куски. Ну и в самом конце мы убираем лишьний html-код из каждого куска. Все, от первой трубы нам больше ничего не нужно.

 

2. Теперь делаем трубу для слияния кусков контента, полученных в первой трубе, в один кусище/пост:

Труба-собиральщик переведенных кусков

Просто тупо взяли и соединили все куски в один. В трубах много тупого.

 

3. Сделаем вспомогательную трубу для перевода простого текста через Google Translate - это нам понадобится для перевода заголовков и категорий:

Труба для перевода простого текста через Google Translate

Простейшая труба, в качестве параметра передается текстовая строка, которую нужно перевести, на выходе получаем перевод нужной строки.

4. Ну и главная труба, которая в качестве параметра будет принимать ссылку на RSS блога-донора, а на выходе мы будем получать полнотекстные, полноHTMLьные переведенные посты с отформатированными категорями для их последующей передачи в FeedWordPress и превращению их в метки сплога:

Главная труба-переводчик веб-страниц через Google Translate

И снова ничего особо сложного: немного извратились со списком категорий поста, потом перевели заголовок (title) поста, перевели сами категории (category), получили переведенное тело (description) поста, все это проделали нужно количество раз в зависимости от количества постов (это тоже задается параметром, на всякий случай) и получили что задумали - перевод блога-донора для будущего сплога.

 

Остался еще плагин FeedWordPress в новой версии для работы с метками/тегами. Перед использованием плагина нужно в корне сайта создать папку images и дать ей прав на запись.

Я даже решил сделать демонстрационный пример сплога на базе этой трубы. Получилось конечно не очень, но в целом идея ясна.
Смотрите тут: блог-донор hopemarin.wordpress.com и переводной сплог splogmaster.ru/TR

 

Сотрудничество с Upsystems.Ru - это профессиональное компьютерное обслуживание и аутсорсинг в Москве.





Комментарии:

Оставить комментарий