Qt多国语言的实现与切换(国际化)

1、创建语言文件

  打开.pro文件,加入以下:

TRANSLATIONS+=cn.ts

  工具->外部->Qt语言家->更新翻译,将生成翻译文件cn.ts

2、编辑翻译文件

  启动Linguist(Qt语言家),打开cn.ts,然后进行编辑,主要是将源文对应的译文填写上,最后保存

3、部署翻译文件

  工具->外部->Qt语言家->部署翻译,将生成语言文件qm

4、加载翻译文件

    QTranslator translator;
    bool b = false;
    b = translator.load("cn.qm");
    a.installTranslator(&translator);

注:随时可以重复“2”~“3”步骤以便更新翻译

5、切换不同多国语言

void MainWindow::Refresh()
{
    ui->listWidget->addItem(tr("item1"));
    ui->listWidget->addItem(tr("item2"));
    ui->listWidget->addItem(tr("item3"));
}

void MainWindow::on_pushButton_clicked()
{
    QTranslator translator;
    bool b = false;
    b = translator.load("cn.qm");
    qApp->installTranslator(&translator);
    this->Refresh();
}

void MainWindow::on_pushButton_2_clicked()
{
    QTranslator translator;
    bool b = false;
    b = translator.load("cn2.qm");
    qApp->installTranslator(&translator);
    this->Refresh();
}

  

  经此一用,中文到控件上乱码的问题也顺带完美解决了,享受了一次轻松多国语实现的过程。

 

  

 

 

posted on 2012-06-04 16:24  chuncn  阅读(28504)  评论(4编辑  收藏  举报

导航