Qt国际化翻译小Demo

转载: https://blog.csdn.net/u014597198/article/details/77981220

 

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

效果图:

步骤如下:

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

TRANSLATIONS += linguist/Language_en.ts \
                                  linguist/Language_zh.ts

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

 

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

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

具体语言家使用效果图:

 

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、注意一定要在加载完翻译文件后,展现你这次要翻译的具体是哪些控件。

 

linux系统下直接在command窗口上输入linguist就可以打开了。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值