新建一个Qt Widgets Application的工程,
然后在UI界面上放置QLabel以及一个按钮
最终要实现点击按钮,实现QLabel上的文字进行中英切换
大致步骤:
1.由界面的UI信息,生成ts文件
2.由ts文件,翻译后,生成qm文件
3.通过代码调用qm文件,进行语言切换

然后,在工程的pro文件下添加:
TRANSLATIONS += qzher_en.ts
再在QtCreate菜单中,如下,选择Update Translations,就会生成一个 qzher_en.ts (此文件在工程目录下,即和main.cpp同级)

我们可以用记事本打开此ts文件,内容大致如下:
它主要是一个xml文件,里面包含了UI所有的文字信息

下一步,则需要将此文字信息进行对应地进行翻译
Linux下,则打开安装目录下的: linguist

Windows则在开始菜单中可以找到:

在打开的Liguist,把上一步生成的qzher_en.ts打开,选择Source text 进行逐个翻译
翻译完后,将 qzher_en.ts 进行保存

然后再回到QtCreate中,点击Release Translations
通过此步,可以实现qzher_en.ts 生成一个对应的 qzher_en.qm
此 qm 文件,即最终需要的,它为一个二进制文件,包含需要的多国语言翻译信息

有了翻译信息后,再进行软件的翻译处理。
在此,通过一个按钮点击进行实时切换:
核心代码:
通过一个变量控制中英文来回切换,并能通过一个按钮打开翻译网站
#include <QApplication>
void MainWindow::onTranslation()
{
if(!m_bTranslator)
{
// 翻译文件
m_qtTranslator.load(":/qzher_en.qm");
qApp->installTranslator(&m_qtTranslator);
ui->retranslateUi(this);
}
else
{
qApp->removeTranslator(&m_qtTranslator);
ui->retranslateUi(this);
}
m_bTranslator = !m_bTranslator;
}
#include <QDesktopServices>
#include <QUrl>
void MainWindow::onOpenLink()
{
QDesktopServices server;
server.openUrl(QUrl("http://www.shicimingju.com/chaxun/list/25681.html"));
}


只进行了诗词的翻译,按钮的文字未进行翻译,所以按钮一直没变,当然,按钮也可以进行翻译,内容和诗词一样
注: 本文所采用诗词翻译来源于 诗词名句网http://www.shicimingju.com/chaxun/list/25681.html
源码下载:http://download.****.net/detail/sinat_35523212/9603246
点击打开链接