Все знают сервис 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