- 利用 Qt 呼叫 Google API。
- 以翻譯軟體為例,實現類似
- ASTranslator (http://github.com/AlexSnet/ASTranslator) 的功能。
- qt-translator (http://code.google.com/p/qt-translator/) 的功能。
- 執行畫面,摘至 qt-translator。
幾種作法可以達成 ASTranslator 的功能。以 Hello 這個字串為例。將英文轉成俄文。
- 呼叫 Google API,參考 Using Google Translator API in Flash Lite (Nokia Forum),
http://wiki.forum.nokia.com/index.php/Using_Google_Translator_API_in_Flash_Lite
第一個參數 q = hello,代表要轉換的字串
第二個參數 langpair=en|ru ,代表要由 英文(en)轉成俄文(ru)。
http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=hello&langpair=en|ru
執行結果會回傳回以下內容(由Opera擷取),привет 就是翻譯的結果。
用 Wireshark 看監看封包把整個交易程序弄得更清楚。紅色框框就是 server端的回應,
- 使用 WebKit,連接 translate.google.com 抓取網頁資料,
第一個參數裡面的 en代表轉換前語系為 英文。
第一個參數裡面的 ru 代表要轉換語系為 俄文(ru)。
第一個參數裡面的 hello 代表要轉換的字串。
- 如果有需要發音的話,請將下面連結貼到Google Chrome( IE and Opera are not working)。
- 中文 http://translate.google.com.tw/translate_tts?tl=zh-tw&q=你好
- 英文 http://translate.google.com.tw/translate_tts?tl=en&q=hello
- 俄文 http://translate.google.com.tw/translate_tts?tl=ru&q=привет
- 參考 試作TTS (Text-To-Speech) for Flash
http://blog.iamjason.com/2010/03/tts-text-to-speech-for-flash.html
不過語音資料無法用wget無法下載,可用webkit試看看。
Oebit: orbitdm "http://translate.google.com.tw/translte_tts?tl=en&q=hello" - 看起來是以Json格式回傳, 非 XML 格式,目前 Google翻譯並無提供XML格式。
只有看到 Google Weather API 有提供。
- 參考範例
- Qt 官方本身提供了一個抓取網頁內容的範例,
請參考http://doc.qt.nokia.com/4.6/network-http.html,或
Qt Demo | Networking | Http Client,可以由此通過此範例改寫 - 執行時截圖,URL 就是 API 的網址。
- 結果會放於和執行檔相同目錄下的 translate 這個檔案內。用編輯器打開就可以看到內容。
- QNetworkAccessManager
- get(QNetworkRequest(url)
- QNetworkReply
- readAll() 回傳QByteArray
- QNetworkRequest
- Qt 官方本身提供了一個抓取網頁內容的範例,
- 改寫上面範例,達到我們需要的功能,研究中。
【問題】
- 目前程式和 Norton 好像相衝。
【參考】
- Google AJAX Language API ( Google 官方 API)
http://code.google.com/intl/zh-TW/apis/ajaxlanguage/documentation/user_guide.html - Using Google Translator API in Flash Lite (Nokia Forum)
http://wiki.forum.nokia.com/index.php/Using_Google_Translator_API_in_Flash_Lite - The Qt SOAP project provides basic web service support with version 1.1 of the SOAP protocol.
http://qt.nokia.com/products/appdev/add-on-products/catalog/4/Utilities/qtsoap/ - Qt利用DOM API访问网页元素(百度博客下载例子) (使用 WebKit)
http://www.cuteqt.com/blog/?p=1389 - google-api-translate-java
http://code.google.com/p/google-api-translate-java/ - [Qt Topic] – 中文化研习,做一个多语言的简易天气预报器
http://blog.csdn.net/jasonblog/archive/2010/04/02/5445191.aspx