Qt5實現國際化

2021-08-08 12:50:22 字數 837 閱讀 4337

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平台的...