这个之前就写过类似的文章,但还是有些童鞋有疑问。也对,当时写的时候也没附个例子啥的。正好今天有时间,再记录一下,希望对你有所帮助。

效果图:

Qt国际化翻译小Demo_国际化

 

步骤如下:

1、创建语言文件
  打开.pro文件,加入以下:

 

TRANSLATIONS += linguist/Language_en.ts \

 

                                  linguist/Language_zh.ts

然后按照 工具->外部->Qt语言家->更新翻译,将生成翻译文件Language_en.ts、Language_zh.ts。如果没生成,手动创建linguist文件。再按照以上步骤生成翻译文件。

Qt国际化翻译小Demo_示例_02

2、编辑和部署翻译文件,并生成qm文件
     启动当前Qt版本的Linguist.exe(Qt语言家),打开你需要翻译的ts文件,然后进行编辑,主要是将源文对应的译文填写上,最后保存,发布(发布后及在对应目录上生成qm文件)。

我的语言家目录是这样的,不同版本的Qt存放语言家的目录稍有不同。

Qt国际化翻译小Demo_Qt_03



具体语言家使用效果图:

Qt国际化翻译小Demo_控件_04

 

3、加载翻译文件

具体代码如下:

QTranslator translator;
bool b = false;
b = translator.load(path);
qDebug() << "tran:" << path << b;
if(b) {
qApp->installTranslator(&translator);
}

4、展现你要翻译的是哪些控件,例如我的Demo例子是:
 

void updateSome(){
ui->label->setText(tr("New World"));
ui->pushButton->setText(tr("sha shi di"));
ui->radioButton->setText(tr("New World"));
ui->checkBox->setText(tr("sha shi di")); }

 

 

 

注意事项:

1、注意你要翻译的文件如果是QWidget下的话,记得用tr("")把你要翻译的括起来

2、注意你指定的翻译文件夹的位置,以免你打开翻译时打不开。

3、注意一定要在加载完翻译文件后,展现你这次要翻译的具体是哪些控件。