tushov.ru

блог php-программиста, преподавателя и конcультанта

PHP, Заметки программиста, Найдено в Интернете

Переводим большой html-текст через Google Translate на PHP

Недавно в одном проекте потребовалось реализовать функционал перевода html-текста на разные языки. Сразу же на ум пришёл машинный перевод при помощи translate.google.ru. Все бы ничего если бы не два НО, которые встали на пути:

  1. Google Translate не позволяет переводить за раз текст размером более 5000 символов
  2. Google Translate переводит вместе с текстом и HTML-теги
  3. Если резать текст на кусочки размером до 5 000 символов, то незакрытые HTML-теги в кусках Google Translate удалит

Немного поковырявшись во всем этом удалось получить более менее рабочее решение, а именно 2-е функции: translate — собственно функция перевода (найдено в Интернете), googleTranslate — функция корректной обрезки больших текстов на кусочки по 5 000 с учетом не проблемы не закрытых тегов.

Итак, если еще кому-то пригодится, собственно сам код:

 

7 Comments

  1. Сергей

    По моему уже не работает…
    Скажите кто пробовал? У кого работает?

  2. Тушов Леонид

    Я использую этот код в моем компоненте JoomlaGrabber — все работает, импортируемые материалы переводятся как надо.

    Скажите кто пробовал? У кого работает?

    я бы здесь это не выкладывал, если бы то что я написал — не работало бы :)

  3. Валентин

    Ура!!!!
    Второй день парюсь, весь инет обыскал. Уж думал садиться уже и разбивать самому………..
    Спасли!!!!!!!!!!

  4. Inviseble Demon

    Как не печально но…

    {«responseData»: null, «responseDetails»: «Suspected Terms of Service Abuse. Please see http://code.google.com/apis/errors«, «responseStatus»: 403}

    Утанул буран… и водка с ним ))

  5. Inviseble Demon

    Да я понимаю что почти год прошел )) Но API более неработают. Как перевести с учетом html немогу вкурить…. Единственный кто это делает это переводчик сайтов но не переводить же самого себя для получения перевода :D

  6. begunok

    Как перевести html? Перевожу через http://translate.google.com.ua/translate_t
    Как обрезать по 5000 я вижу. А вот как заставить гугл не трогать html теги?

  7. Сергей

    а с промта можно настроить, чтоб переводило? что нужно для этого ?

Leave a Reply

Theme by Anders Norén