调试Qt的多语言支持:
1,正常编写程序,在用到字符串的时候,用tr()来标注,如
QLabel *label1=new QLabel(tr("this is english"));
QLabel *label2=new QLabel(tr("this is chanese"));
QLabel *label3=new QLabel(tr("this is farich"));
QCheckBox *chkbox1=new QCheckBox(tr("click"));
QCheckBox *chkbox2=new QCheckBox(tr("click2"));
QHBoxLayout *hlayout=new QHBoxLayout;
hlayout->addWidget(label1);
hlayout->addWidget(label2);
hlayout->addWidget(label3);
hlayout->addWidget(chkbox1);
hlayout->addWidget(chkbox2);
setLayout(hlayout);
2,在项目文件中增加:TRANSLATIONS=Language_Chn.ts (Language_Chn是你的命名,)
3,执行Tools>exTernal>>linguist>>lupdate,这样会在同文件夹下生成对应的Language_Chn.ts文件。
3,运行 应用程序>>Qt linguist软件(如没有这个软件可以,apt-get install qt4-dev-tools来安装),打开刚才的Language_Chn.ts,然后导入Language_Chn.ts,逐一翻译,翻译完后,点击File>>release>>这样会在同文件夹下生成Language_Chn.qm文件。
4,在项目中增加一个Resources,把Language_Chn.qm增加进去。
5,在main.cpp中增加如下内容:
QTranslator translator;
translator.load("Language_Chn.qm"); //语言包文件,由linguist工具生成
a.installTranslator(&translator);
1,正常编写程序,在用到字符串的时候,用tr()来标注,如
QLabel *label1=new QLabel(tr("this is english"));
QLabel *label2=new QLabel(tr("this is chanese"));
QLabel *label3=new QLabel(tr("this is farich"));
QCheckBox *chkbox1=new QCheckBox(tr("click"));
QCheckBox *chkbox2=new QCheckBox(tr("click2"));
QHBoxLayout *hlayout=new QHBoxLayout;
hlayout->addWidget(label1);
hlayout->addWidget(label2);
hlayout->addWidget(label3);
hlayout->addWidget(chkbox1);
hlayout->addWidget(chkbox2);
setLayout(hlayout);
2,在项目文件中增加:TRANSLATIONS=Language_Chn.ts (Language_Chn是你的命名,)
3,执行Tools>exTernal>>linguist>>lupdate,这样会在同文件夹下生成对应的Language_Chn.ts文件。
3,运行 应用程序>>Qt linguist软件(如没有这个软件可以,apt-get install qt4-dev-tools来安装),打开刚才的Language_Chn.ts,然后导入Language_Chn.ts,逐一翻译,翻译完后,点击File>>release>>这样会在同文件夹下生成Language_Chn.qm文件。
4,在项目中增加一个Resources,把Language_Chn.qm增加进去。
5,在main.cpp中增加如下内容:
QTranslator translator;
translator.load("Language_Chn.qm"); //语言包文件,由linguist工具生成
a.installTranslator(&translator);
只有在运行的时候,需要把Language_Chn.qm文件放到对应的二进制文件路径下,然后就可以执行了。
---sno:
增加了: apt-get install qt4-dev-tools