**:
在qt的pro檔案中首先加入以下幾行:
config += localize_deployment其中config += localize_deployment是為了可以為應用程式新增中文名稱。symbian_supported_languages += zh_cn
symbian_lang.zh_cn = 31
translations = displaychinese_zh_cn.ts
然後加入以下幾行:
symbian這是為了程式在手機上能夠找到需要的qm檔案
出現在qml 中的字串如果需要翻譯則可以通過使用 qstr(), qstranslate(), qt_tr_noop(), 或qt_translate_noop() 來進行標記。例如在本例程中:
text使用了qstr()。 只有這樣做過標記之後,translator才知道「display chinese character」。是需要被翻譯的,以便於後面進行處理
首先需要啟動命令列,例如如果我們安裝的是qtsdk 1.1 beta 則啟動下圖所示command prompt:
在命令列中進入我們專案的根目錄,然後輸入以下命令:
這樣就會生成乙個名為qml.ts的檔案了.
然後我們在命令列中繼續輸入:
這是為了將兩個ts檔案合併起來。最後的效果如圖:
上一步做完之後,我們點選擇file 選單中的release就可以生成qm檔案了。
要想使得翻譯起作用,還需要在qt程式的main函式中進行設定,例如:
qstring locale = qlocale::system().name();
qtranslator translator;
bool success = translator.load( qstring("
displaychinese_
") + locale);
至此,整個示例程式就完成了,下面我們看一下效果。
本程式對qml中的字串進行了多語言處理,並且給應用程式起了乙個中文名字,只是沒有處理軟鍵,不過原理都是一樣的,具體可以參閱《qt的國際化和本地化》 。
下面是示例程式在n8上截圖,當我們的n8語言設定為中文的時候就是第一幅圖,當我們的n8語言設定為英文的時候就是第二副圖。
當手機語言設定為中文時:
QML的國際化
在qml中可以使用qstr qstranslate qt tr noop 和qt translate noop等函式將字串標記為可翻譯的。text這些函式是標準的qtscript函式,在qsscriptengine installtranslatorfunctions 函式的幫助文件處可以檢視詳細資...
玩轉Qml 4 I18n動態國際化
多國語言版本 i18n 是 internationalization 國際化 的首尾字元加中間的 18 個字元。隨著產品越做越大,要推向國際的時候,國際化這一步 是必不可少的。i18n 的方案有很多,這裡只討論在qt qml中的方案。玩轉qml 系列文章,配套了乙個優秀的開源專案 taoquick ...
95 國際化 中文和英文
1.在src下建立3個檔案 resource.properties resource zh cn.properties resource en us.properties 第乙個是預設檔案,第二個是中文檔案,第三個是英文檔案。注意紅色部分是自定義的,可以隨便定義,但是必須保持一致。2.需要在stru...