Skip to content

webdefine/DefWebsiteTranslator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 

Repository files navigation

RUSSIAN DESCRIPTION

Что это?

Это небольшой класс, реализованный с помощью языка PHP, который переводит HTML-страницу.

Для чего это нужно?

Иногда бывает необходимость хоть какого-то перевода страницы, чтобы иностранцу было понятно, о чём идёт речь. Да, вы правы, есть и обычное решение этого вопроса, используя переводчик в "Google Chrome", но встроенный предусмотренный перевод иногда может поднять репутацию для вашего ресурса.

Что нужно для работы?

Существуют лишь две неотъемлимые части для работы данного класса :

  1. PHP Simple HTML DOM Parser - обычный PHP-класс, предоставляющий возможность манипулировать над html-кодом как над DOM-документом (на самом деле, используя str_get_html или file_get_html, мы как раз и получаем DOM-документ).
  2. php-google-translate-free API - тоже PHP-класс, осуществляющий POST-запрос к серверу, который ,в итоге, отвечает переводом текста, соответствующему нашему запросу (можно использовать как и предложенный автором composer-вариант, так и обойтись простым скачиванием php-класса).
  3. PHP-cURL (это опционально : понадобится только в том случае, если вы собираетесь использовать удаленные ресурсы).

Как пользоваться?

Простой пример:

require('makena_translator.php');

// "en" - это "target"-язык (целевой язык), а "ru" - это "source"-язык (язык оригинальной страницы);
/* Эти языки стоят в конструкторе класса по умолчанию, 
   поэтому можно было просто написать DefTranslator('https://makena.ru/');*/
$Translator = new DefTranslator('https://makena.ru/','en','ru');
// Можно указывать не только удаленный, но и локальный ресурс (например, './mypage.html').

if ($Translator->Translate() === true) 
	echo $Translator->GetTranslatedPage(); // отобразить результат в виде однострочной страницы
else 
	echo "Failure";

Есть ли нюансы?

  • В качестве языка-источника можно использовать только русский и английский языки (в качестве целевого языка можно использовать любой язык, указанный в списке).
  • Не забудьте поменять аругмент у каждой команды require в makena_translator.php в соответствии с вашими интересами (первые две строчки).
  • Учтите, что у "curl" в нашем классе опция "CURLOPT_FOLLOWLOCATION" установлена в "true", то есть при ответе "301" будет взят контент с финальной страницы, на которую происходит "redirect".

Releases

No releases published

Packages

No packages published

Languages