赞
踩
当使用qt标准对话框时,如QMessageBox,QFileDialog等时,默认都是英文。这时可以从qt安装路径下找到一个translations的文件夹,里面就是qt所有的翻译文件qm文件。
标准对话框主要使用qt_zh_CN.qm , 但是通过查看qt_zh_CN.ts文件里面只是4个文件,所以还得把这四个qm文件同时拷贝出来才能正常使用。
从translations文件中找到这5个文件,拷贝到自己的应用程序下面即可。
qt_zh_CN.qm(只有1kb大小,说明里面没什么数据)
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);
也可以通过windeployqt 加载qt资源后,通过其中的 translations文件夹看到所有语言的集合,里面就将上述四个文件集合到一个qt_zh_CN.qm(134kb,已经集成了上述4个文件的)中,这种更简洁些。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。