Русско-английский переводчик, с помощью Google AJAX Language 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'];
?>
Теги:
translate,
script,
enText,
function,
текст,
будет,
index,
title,
javascript,
Google,
result,
textarea,
ruText,
margin,
style,
source,
здесь,
работы,
перевод,
передаем,
После,
выводим,
вырезаем,
помощью,
Здесь,
input,
submit,
value,
Перевести,
urlencode,
services,
match,
RETURNTRANSFER,
translatedText,
предоставляет
Комментарии:
Нету комментариев для вывода...