当使用qt标准对话框时,如QMessageBox,QFileDialog等时,默认都是英文。这时可以从qt安装路径下找到一个translations的文件夹,里面就是qt所有的翻译文件qm文件。
标准对话框主要使用qt_zh_CN.qm , 但是通过查看qt_zh_CN.ts文件里面只是4个文件,所以还得把这四个qm文件同时拷贝出来才能正常使用。
从translations文件中找到这5个文件,拷贝到自己的应用程序下面即可。
qt_zh_CN.qm
qtbase_zh_CN.qm
qtscript_zh_CN.qm
qtmultimedia_zh_CN.qm
qtxmlpatterns_zh_CN.qm
qt_zh_CN.ts文件内容:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<dependencies>
<dependency catalog="qtbase_zh_CN"/>
<dependency catalog="qtscript_zh_CN"/>
<dependency catalog="qtmultimedia_zh_CN"/>
<dependency catalog="qtxmlpatterns_zh_CN"/>
</dependencies>
</TS>
加载过程:
QString qstrLanguage{ "0" };GetBaseInfo("Language", qstrLanguage);int iLanguage = qstrLanguage.toInt();QTranslator translator; //不能放到if里面,无效QTranslator translatorQt;if (iLanguage == 1){//加载qt标准窗口的语言,附带四个其他的translatorQt.load(QCoreApplication::applicationDirPath() + "/qt_zh_CN.qm");translator.load(QCoreApplication::applicationDirPath() + "/TransMeasureToolsVM_zh_CN.qm");}a.installTranslator(&translatorQt);a.installTranslator(&translator);