QT 多国语言详细步骤

这篇博客详尽地介绍了如何在QT项目中实现多国语言支持,包括在.pro文件中添加语言、使用Linguist工具进行翻译以及代码中实现语言切换的方法。适合QT新手参考。
摘要由CSDN通过智能技术生成

在网上看了很多qt多国语言的实现,总感觉不够详细,因此写一篇记录下,希望对新手有用

      在.Pro文档中加入需要国际化转化的语言 

TRANSLATIONS += English.ts\

                Chinese.ts

点击更新翻译(lupdate)

https://i-blog.csdnimg.cn/blog_migrate/27535ccc0f9a06ebf16bc5169c86a54f.png

                    在你的目录文档处会出现2个ts文档

https://i-blog.csdnimg.cn/blog_migrate/73bf59c3f831a7e4b14637dff5cd56e7.png

  4.在QT的安装目录下找到Linguist(可以从开始菜单找也可以右击桌面图标打开文件位置找到这个)

https://i-blog.csdnimg.cn/blog_migrate/4eebc5220e7d9257b442dc6105c84bec.png

5.打开界面如下:

https://i-blog.csdnimg.cn/blog_migrate/3ad3915a9772f05aa4369c9cc77ca3b3.png

6.从文件菜单中打开刚刚的2个ts文件(逐个打开)

   例如我上面的2个,先打开Chinese.ts,弹出窗口设置如下

https://i-blog.csdnimg.cn/blog_migrate/701da1a62d2a91daa58937fcbc6cdb2e.png

出现如下窗口

https://i-blog.csdnimg.cn/blog_migrate/ed9ca9d48b125d5b97e3506540f71b43.png

将上述红色圈圈内的条目翻译,填入为下面框内,完成后点击文件菜单中的发布

https://i-blog.csdnimg.cn/blog_migrate/924de65fd924d280177163c97edd48fd.png

会自动在ts文档处生成同名的文档.qm

https://i-blog.csdnimg.cn/blog_migrate/cf7c8102d8eac55b4e9e6fd73c14e76c.png

此时基本完成所有翻译操作,下面代码实现切换功能

.h文件

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include <QMainWindow>
 
namespace Ui {
class MainWindow;
}
 
class MainWindow : public QMainWindow
{
    Q_OBJECT
 
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
private slots:
    void on_pushButton_3_clicked();
 
    void on_pushButton_4_clicked();
 
private:
    Ui::MainWindow *ui;
};
 
#endif // MAINWINDOW_H

 .cpp文件

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTranslator>
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
 
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
void MainWindow::on_pushButton_3_clicked()
{
       QTranslator m;
       m.load("G://English.qm");
       qApp->installTranslator(&m);
       this->ui->retranslateUi(this);
}
 
void MainWindow::on_pushButton_4_clicked()
{
    QTranslator m;
       m.load("g:/Chinese.qm");
       qApp->installTranslator(&m);
       this->ui->retranslateUi(this);
}

效果图不知道怎么上传flash,自己试把。尴尬(备注:程序内部如果需要翻译建议先全部写成英文格式为: tr("translator"))

https://i-blog.csdnimg.cn/blog_migrate/3d5370d4147478dd3ba774f4c39ff5b6.png

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值