Qt学习笔记-国际化
主要代碼如下:
#include "widget.h" #include <QApplication> #include <QTranslator> #include <QLocale> #include <QDebug>int main(int argc, char *argv[]) {QApplication a(argc, argv);QTranslator translator;QString string=QLocale::system().name();qDebug()<<string;if(string=="zh_CN"){translator.load(":/myI18N_zh_CN.qm");a.installTranslator(&translator);}Widget w;w.show();return a.exec(); }ui界面如下:
當(dāng)把系統(tǒng)字符集改成英文時:
運行程序如下:
當(dāng)為中文時,如下所示:
具體操作如下:
在Qt中編寫代碼時要對需要顯示的字符串調(diào)用tr()函數(shù),完成代碼編寫后,對這個應(yīng)用程序的翻譯
主要包含三步:
1.運行l(wèi)update工具從C++源代碼中提取要翻譯的文本,這時會生成一個.ts文件,這個文件是XML
格式的;
2.在Qt Linguist中打開.ts文件,并完成翻譯工作;
3.運行l(wèi)release工具從.ts文件中獲得.qm文件,它是一個二進(jìn)制文件。這里的.ts文件是供翻譯人員使
用的,而在程序運行時只需要使用.qm文件,這兩個文件都是與平臺無關(guān)的。
最后用:
Linguist即可:
他會生成一個.qm的文件,然后直接加載,就可以了,
翻譯前,要在項目文件中指定生成的.ts文件,每一種翻譯語言對應(yīng)一個.ts文件。打開項目的.pro文件,在最后面添加如下一行代碼:
TRANSLATIONS = myI18N_zh_CN.ts
這表明后面生成的.ts文件的文件名為“myI18N_zh_CN.ts”,對于.ts的名稱可以隨意編寫,不過一般是以區(qū)域代碼來結(jié)尾,這樣可以更好的區(qū)分,例如這里使用了“zh_CN”來表示簡體中文。最后按下Ctrl+S保存該文件。
總結(jié)
以上是生活随笔為你收集整理的Qt学习笔记-国际化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt文档阅读笔记-Label QML T
- 下一篇: Qt工作笔记-发送端发送Json格式的数