машинный перевод блоков HTML - PullRequest
1 голос
/ 21 февраля 2010

Есть ли в PHP какой-либо API (например, google translation api), который позволяет переводить блоки HTML и переводить только текст из HTML?

Ответы [ 4 ]

3 голосов
/ 21 февраля 2010

API перевода Microsoft будет переводить, сохраняя теги HTML.

API задокументирован здесь . Он имеет интерфейс REST и WSDL.

Я склонен использовать интерфейс WSDL с PHP-библиотекой SoapClient. Вот код, который покажет вам, как его использовать.

$client = new SoapClient("http://api.microsofttranslator.com/V1/SOAP.svc");

$params = array(
    'appId' => 'my_app_id', 
    'text' => '<p>This is a <b>test</b></p>', 
    'from' => 'en', 
    'to' => 'fr');

$translation = $client->translate($params);

var_dump($translation);

Вам необходимо зарегистрироваться в Microsoft, чтобы получить собственный идентификатор приложения, который вы передаете при каждом запросе. Вы можете зарегистрироваться здесь .

Я бы не советовал удалять теги, переводить, а затем повторно вставлять теги. Поскольку у вас нет гарантии того, что номер и порядок слов сохраняются при переводе, очень трудно узнать, где разместить теги в переведенном тексте. Лучше, чтобы двигатель MT обрабатывал теги.

0 голосов
/ 04 марта 2016

Вот еще один вариант:

Следуйте этим инструкциям, чтобы перевести ваш сайт на другой язык.

  1. Войдите в Microsoft Azure Marketplace по адресу https://datamarket.azure.com/home/.
  2. Перейти к www.aka.ms / TranslatorADM . Для 2 000 000 символов в месяц по цене 0,00 долл. США в месяц выберите Обновить . Согласитесь с условиями.
  3. В нижней части страницы Microsoft Azure Marketplace в разделе Разработка выберите Зарегистрируйте свое приложение . Заполните регистрационную форму.
  4. Перейдите на http://www.microsofttranslator.com/Widget. Скопируйте HTML-код на веб-страницу, например www.example.com/translation.html. Также добавьте текст на свою страницу translation.html, например «это тест».

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

0 голосов
/ 21 февраля 2010

Не удалось получить ваш вопрос идеально, но если вы хотите получить текст из html, вроде сканирования текста на сайте, вам нужен скрипт php crawler:

http://forums.digitalpoint.com/showthread.php?t=708122

Но если вы хотите раздеть html и получить только текст, вы можете использовать PHP:

функция strip_tags.

Но если вы хотите получить определенный фрагмент текста, вы можете использовать регулярные выражения:

http://www.regular -expressions.info /

0 голосов
/ 21 февраля 2010

Использование Регулярные выражения , PHP поддерживает их . Regexlib имеет хорошую библиотеку различных предварительно написанных регулярных выражений, которые вы можете адаптировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...