PHP - перевод текста (Английский - Русский или наоборот)


Недавно понадобилась функция для перевода текста с английского языка на русский.

Качественный перевод мог предоставить только гугл, поэтому искал в сторону translate.google.ru API.

В результате накидал вот такую функцию:

<?
echo translate("Hello world!");

function translate($_str) {
		$curlHandle = curl_init();
        // options
		$postData=array();
		$postData['client']= 't';
		$postData['text']= $_str;
		$postData['hl'] = 'ru';
		$postData['sl'] = 'en';
		$postData['tl'] = 'ru';
        curl_setopt($curlHandle, CURLOPT_URL, 'http://translate.google.com/translate_a/t');
        curl_setopt($curlHandle, CURLOPT_HTTPHEADER, array(
        	'User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4',
			'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
			'Accept-Language: ru,en-us;q=0.7,en;q=0.3',
			'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7',
			'Keep-Alive: 300',
			'Connection: keep-alive'
        ));
        curl_setopt($curlHandle, CURLOPT_HEADER, 0);
        curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curlHandle, CURLOPT_TIMEOUT, 10);
		curl_setopt($curlHandle, CURLOPT_POST, 0);
		if ( $postData!==false ) {
			curl_setopt($curlHandle, CURLOPT_POSTFIELDS, http_build_query($postData));
    	}

        $content = curl_exec($curlHandle);
        curl_close($curlHandle);
        $content = str_replace(',,',',"",',$content);
        $content = str_replace(',,',',"",',$content);
    	$result = json_decode($content);
    	return $result[0][0][0];
}

Для перевода с русского на английский, в параметрах hl, sl, tl нужно поменять ru на en и наоборот.

Для работы функции, нужно что-бы на сервере был установлен CURL (но он стоит по умолчанию на большинстве серверах).

Проверить установлен CURL или нет, можно через функцию phpinfo();

 


Тэги:

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

Прокомментировать »

 
 
Роман
9.01.2017
 

Здравствуйте! я не профи) а как добавить данную функцию на страницу сайта html ?

LAVRIK
9.01.2017
 

на html никак. Это PHP функция и выполняется она на стороне сервера. Вам необходимо это учитывать.

Kristinaen
19.02.2017
 

Добрый день! предлагаю вам обратить внимание на материал по теме: Работа в интернете на дому Это подойдет Всем, кто хочет заработать в интернете онлайн например на дому для мам в декрете, домохозяек - совмещение. Или людям кто ищет работу удаленную онлайн. Переходите по ссылке ниже и узнаете все подробности Заработать онлайн fas.st/VPUID

Dashaen
19.02.2017
 

Всем Привет! предлагаю вам обратить внимание на материал по теме: Работа в интернете без вложений Это подойдет Всем, кто хочет заработать в интернете онлайн например на дому для мам в декрете, домохозяек - совмещение. Или людям кто ищет работу удаленную онлайн. Переходите по ссылке ниже и узнаете все подробности Заработать онлайн fas.st/VPUID

kids-tube.ru
6.08.2017
 

Спасибо как раз искал реализацию перевода для парсинга игр с EN сайтов

 

Прокомментировать

 
 
Сообщение *
 
Проверочный код *
 
 
 
Яндекс.Метрика