QT自己提供了一种国际化方案,不是采用INI配置文件的方式。
首先新建一个GUI工程,然后在UI文件上添加两个按钮,并分别把文本修改为hello,china。
然后修改*.pro文件,添加TRANSLATIONS = *.ts
编译一下,假如没有编译而进行下面的步骤,生成的TS文件只是一个只有标题栏的框架。
编译好了以后,假如是windows下就cmd 假如是linux就开终端
然后cd 进入工程目录
执行命令
lupdate *.pro
就会在工程下生成一个ts文件,假如没有编译的话,会提示 Found 1 source text
假如编译后 ,会提示Found 3 source text
好,下面就运行linguist 这个QT自带工具
File=》open 然后需要设置一下源语言和目标语言
在第二栏选择要翻译的字符串,在下面两行中输入对应的翻译文字,然后点击上面的 Done and Next 按钮,也就是一个对号和一个箭头的那个图标。
把所有的都翻译好了以后,保存退出
然后File=》release 或者在命令行输入 lrelease *.pro 就生成了我们需要的*.qm文件
然后修改源代码
添加前代码
int main(int argc, char *argv[]){
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
添加后
int main(int argc, char *argv[]){
QApplication a(argc, argv);
QTranslator *translator = new QTranslator;
translator->load("../chinas.qm");
a.installTranslator(translator);
MainWindow w;
w.show();
return a.exec();
}
注意添加的位置,一定要在Mainwindow之前。还有就是注意目录("../chinas.qm"); (windows下)