关于QT的软件翻译QTranslator

做项目需要做中文和英语两个版本的就需要用到QT的语言翻译功能,这里详细讲述一下使用过程:


加入项目的名称为MyTranslator   :

  (1) 在代码中需要翻译的控件使用tr()标识,比如:

MyTranslator::MyTranslator(QWidget *parent)
    : QWidget(parent),
      m_button(new QPushButton(tr("button"),this)),
      m_button1(new QPushButton(tr("button1"),this))
{
 
  
    layout.addWidget(m_button);
    layout.addWidget(m_button1);
    this->setLayout(&layout);
}

(2)在MyTranslator .pro中添加         TRANSLATIONS += Language_zh_cn.ts     //其中名字可以自定义

(3)Qt中bin目录下可以找到lupdate.exe     打开命令行cmd   -》 lupdate  MyTranslator .pro   ,会在工程目录下生成 Language_zh_cn.ts文件

 (4)打开QT Linguist,如下图所示。

关于QT的软件翻译QTranslator_第1张图片


在“文件”中打开.ts文件。

关于QT的软件翻译QTranslator_第2张图片

可以看到右下边显示可以添加汉语的地方,点击“button”项,在汉语 译文下输入“按钮”,同样“button1”输入“按钮1”。

(5)在文件中选择“发布”,可在工程目录下生成“Language_zh_cn.qm”文件。

(6)使用.qm如下:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QTranslator translator;
    translator.load("./Language_zh_cn");
    a.installTranslator(&translator);
 
  
    MyTranslator w;
    w.show();
 
  
    return a.exec();
}
 
  

(7)运行可得:

关于QT的软件翻译QTranslator_第3张图片













你可能感兴趣的:(QT)