Просто делаю тяжелый перевод с немецкого на английский. Что приводит к написанию простого инструмента командной строки для перевода через Google — тратить время, чтобы сэкономить время, другими словами. Создание прототипа с нуля заняло около 15 минут (что проливает свет на спам в блоге, я полагаю). Немного почистил его и бросил сюда на случай, если кто-нибудь сможет его использовать.
Две основные вещи, которые еще нужно сделать;
— проверка опции CLI языковой пары, чтобы держать пользователей в здравом уме
— преобразование набора символов — прямо сейчас получаю UFT8 от Google, чтобы XML_HTMLSax мог правильно анализировать (он полагается на функции str_), но не делал ничего умного после этого.
… и, возможно, ошибка или три.
#!/usr/local/bin/php http://www.php.net/license/3_0.txt */ //------------------------------------------------------------------------------ require_once 'Console/Getopt.php'; require_once 'HTTP/Request.php'; require_once 'XML/HTMLSax3.php';
#!/usr/local/bin/php http://www.php.net/license/3_0.txt */ //------------------------------------------------------------------------------ require_once 'Console/Getopt.php'; require_once 'HTTP/Request.php'; require_once 'XML/HTMLSax3.php';
// ———————————————— ——————————
class Google_Translate {
var $ langpair;
var $ proxy = null;
функция Google_Translate ($ langpair, $ proxy = null) {
$ this-> langpair = $ langpair;
$ this-> proxy = $ proxy;
}
запрос функции ($ text) {
$ R = & новый HTTP_Request (‘http://translate.google.com/translate_t’);
$ R-> setMethod ( ‘POST’);
if (! is_null ($ this-> proxy)) {
$ pxy = parse_url ($ this-> proxy);
$ R-> setProxy ($ рха [ ‘хозяин’], $ рха [ ‘порт’], $ рха [ ‘пользователя’], $ рха [ ‘проходить’]);
}
$ R-> addPostData (‘text’, utf8_encode ($ text));
$ R-> addPostData (‘langpair’, $ this-> langpair);
$ R-> addPostData ( ‘т’, ‘utf8’);
$ R-> addPostData ( ‘ае’, ‘utf8’);