Русско-английский переводчик, с помощью Google AJAX Language API



google api

Google предоставляет разработчикам массу возможностей для работы со своими сервисами. Как вы наверное поняли из названия поста, я буду использовать Google AJAX API. Что же это такое и для чего это нужно можно прочитать здесь и здесь. Для работы нам понадобятся: php и jQuery.


Создадим 2 файла index.php и translate.php. В файле index.php у нас будет поле, в которое будет вводиться текст для перевода и область в которой будет отображаться переведенный тест.

index.php

<html>
	<head>
		<title>Русско-английский переводчик</title>
		<script src='../js/jquery.js' type='text/javascript'></script>
		<script type="text/javascript">
		 $(function() {
			$('#translate').click(function() {
				var text = $('#source').val();
				$.ajax({
					url: 'translate.php',
					type: 'POST',
					data: 'text=' + text,
					success: function(html) {
					$("#enText").html(html);	
					}
				});
			});
		 });
		</script>
		<style type="text/css">
		#wrap {
		margin: auto;
		width:700px;
		}
		#ruText {
		float:left;
		}
		#enText {
		margin-left:350px;
		}
		</style>
	</head>
	<body>
	<div id="wrap">
		<div id="ruText">
			<textarea id="source" rows="5" cols="39"></textarea> <br />
			<input id="translate" type="submit" value="Перевести" />
		</div>
		<div id="enText">
		
		</div>
	</div>
	</body>
</html>

Файл translate.php. Здесь мы с помощью cURL’a передаем текст на перевод. После чего, вырезаем переведенный текст и выводим в div с id=»enText».

translate.php

<?php
$text = urlencode($_POST['text']);
$ch = curl_init('http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=' . $text . '&langpair=ru%7Cen&callback=foo&context=bar');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, '1');
preg_match('|"translatedText":"(.*?)"|is', curl_exec($ch), $result);
curl_close($ch);
echo $result['1'];
?>


Теги: , , ,

Комментарии

  1. Русские слова не переводятся, видать дело в формате URI при отправке запроса

    Вот ищу блин функцию эту))
    а так спасибо, помогли скриптом

    Reply

  2. Перепроверил еще раз работу скрипта. Русские слова отлично переводятся.

    Reply

  3. Русские не переводятся если кодировка не UTF8

    p.s. А можно использовать не через cURL?

    Reply

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