1. 在工程檔案(.pro)裡加入translations標籤,例如:translations += chs.ts。可以根據不同地區的語言**進行命名。
2. 在命令列下呼叫: lupdate myproject.pro,生成.ts檔案。如果ts檔案中文亂碼加上:codecfortr = utf-8。
3. 啟動qt linguist進行翻譯。
4. 在命令列下呼叫:lrelease ***.ts,生成.***.qm檔案
5. 在main函式中載入.qm檔案:
qtranslator translate;
bool bret = translate.load("chs.qm");
if(!bret)
a.installtranslator(&translate);
6.在程式中動態切換
qtranslator *translator = new qtranslator(this);
translator->load("chs.qm");
可以把translator 作為成員變數,在建構函式中為其賦值,在析構函式中釋放。
注意:程式中需要替換的文字要用tr("text"), 其中text使用英文本元,如果使用中文會出現問題,所以最好先做英文程式,然後再翻譯成中文或其它語言。另外使用qt linguist 開啟.ts檔案時源語言和目標語言要進行選擇。
另:當語言切換時會觸發視窗的changeevent事件,可以在事件處理中切換視窗語言。例子如下:
void widget::changeevent(qevent *event)}
QTranslator實現Qt國際化
工程使用qt4.8.6 vs2017 cmake 3.17 2020年5月21日 一 直接使用qt vs 建立的專案本身擁有.pro檔案,不需要建立。直接使用qt的外掛程式 qt5 visual stuio add in建立ts檔案。二 使用上述我所使用的方式構建工程的,首先需要使用找到工程根目錄,...
QT國際化支援
為了是我們的qt程式支援如中文等其他語言,通常的做法是在需要翻譯的地方顯示的用tr標記,所以你在閱讀其他人編寫的源程式時會看到很多字串做了tr標記,這樣做是有原因的。1.在hello.pro檔案中增加 translations hello zh cn.ts 2.進入工程目錄,執行 lupdate h...
QT國際化 小結
qt應用程式的國際化問題,應該總的來說還是比較容易的,如果你原始碼中沒有使用漢字,直接使用英文,這個問題就不大,下面我講的是通過在原始碼中直接使用中文 就是本地化了的 然後把中文翻譯成別的文字而言的 例如加密文字 大致分這麼幾個步驟,基本與對英文進行國際化的步驟差不多 這裡是針對windows平台的...