Qt國際化之語言切換

基于qt語言家的語言切換

Assistant(Qt語言家),類似于MSDN最權威的速應用程序翻譯和國際化的工具。Qt 使用單一的源碼樹
和單一的應用程序二進制包就可同時支持多個語言和書寫系統(tǒng),有助于軟件走向國際化,普度眾生。

具體步驟:

  1. 生成.ts文件,lupdate
  2. 翻譯成制定語言,生成.qm文件,lrelease。
  3. 加載qm文件,load()
  4. install

效果呈現(xiàn)

中文:

chinese.png

英文:

20200507233519.png
step1:pro文件添加對翻譯的支持
TRANSLATIONS = Translate_EN.ts \
Translate_CN.ts
step2:生成.ts文件
20200507231420.png
step3:使用qt語言家翻譯ts文件

Translate_CN.ts
漢語->漢語(一般不用改,我們使用的是漢語,只需要改漢譯英的)

20200507231711.png
20200507231745.png

Translate_EN.ts

漢語->英語

20200507232217.png
step4:生成.qm
發(fā)布.png
step5:加載qm文件
定義QTranslator對象
QTranslator *m_Translator;

分配對象

m_Translator = new QTranslator(this);
切換英文
m_Translator‐>load("Translate_EN.qm");

切換中文

m_Translator->load("Translate_CN.qm");
step6:安裝qm文件
qApp‐>installTranslator(m_Translator);
問題:日歷還沒有修改
ui‐>calendarWidget‐>setLocale(QLocale::Chinese);    //設置英文
ui‐>calendarWidget‐>setLocale(QLocale::C);          //設置中文

注意事項:

如果加載不成功,說明路徑錯了,QtCreator生成的.qm和.ts文件是在.pro目錄下,需要移至debug目錄下,才能正確讀取.qm和.ts文件,實現(xiàn)語言的切換

源代碼以及示例程序github地址:

https://github.com/ADeRoy/Qt-controls/tree/master/language

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容