QMessageBox::information(this,"title","This messagebox context");那么如果需要国际化的话需要将代码改成:
QMessageBox::information(this,tr("title"),tr("This messagebox context"));进入到项目文件加下,比如项目名字为Test.pro,那么就先执行lupdate Test.pro,执行这步之后就会生成Test_zh_CN.ts文件
接下来用 linguist打开上一步生成的Test_zh_CN.ts文件,编辑需要翻译的,编译完之后用lrelease Test_zh_CN.ts命令生成.qm文件,即Test_zh_CN.qm文件
在QTCreate人里面编译调试的时候需要将Test_zh_CN.qm文件放到和Test同目录下的Test-build-desktop-Qt_4_8_1_for_Desktop_-_MSVC2010__Qt_SDK____的目录里面,即将该文件和MakeFile放在同一个目录下,否则会失败的。发布后的程序则需要把该文件和.exe文件放一起。
在程序的最开始加载翻译文件:QApplication a(argc, argv); QTranslator translator(0); translator.load("Test_zh_CN.qm","."); a.installTranslator(&translator);
需要注意的是这个是需要在声明QApplication对象之后,立即加载翻译的,否则就会出错。