Все знают сервис Google Translate. Он переводит достаточно неплохо, ну, по крайней мере, так что понять можно.
Так не было ли ни у кого желания использовать возможности переводчика Гугл в своих целях?
Для начала я попробовал решить все это методом adw0rd'а. решил быстро, но много текста не проходило. Все было как он и написал. Не более 2 кб текста за раз. Нет, на самом деле это вполне приемлимо, но хотелось бы больше. Хотя бы раз в 16. И тогда я пошел методом Старого Мавра. Отправка заппроса методом ПОСТ.
Признаюсь, пришлось помучаться… Около минут 2-3.
И вот что получилось:
Ну а если, вдруг, хотите скачать в виде проекта, который можно скомпилировать в dll и .framework, то вот ссылка:
ASTranslator (sources)
PS кросспост из моего блога: Google Translate Non Ajax API
Так не было ли ни у кого желания использовать возможности переводчика Гугл в своих целях?
Для начала я попробовал решить все это методом adw0rd'а. решил быстро, но много текста не проходило. Все было как он и написал. Не более 2 кб текста за раз. Нет, на самом деле это вполне приемлимо, но хотелось бы больше. Хотя бы раз в 16. И тогда я пошел методом Старого Мавра. Отправка заппроса методом ПОСТ.
Признаюсь, пришлось помучаться… Около минут 2-3.
И вот что получилось:
QString translate( QString text, QString from, QString to )
{
QString url = QString("/translate_a/t?client=t&sl=" + from + "&tl=" + to);
QHttpRequestHeader header = QHttpRequestHeader("POST", url, 1, 1);
header.setValue("Host", "www.google.com");
header.setValue("User-Agent", "Mozilla/5.0");
header.setValue("Accept-Encoding", "deflate");
header.setContentLength(text.length());
header.setValue("Connection", "Close");
QByteArray ba("text=");
ba.append(text);
QHttp http;
http.setHost("www.google.com");
http.request(header,ba);
return QString(http.readAll());
}
Ну а если, вдруг, хотите скачать в виде проекта, который можно скомпилировать в dll и .framework, то вот ссылка:
ASTranslator (sources)
PS кросспост из моего блога: Google Translate Non Ajax API