基本流程是:先生成ts文件,然后生成qm文件,最后通过QTranslator类来加载qm文件,实现多语言包的切换
在Qt Creator中生成多国语言包
1生成ts文件
在QT的项目文件(.pro)中添加:TRANSLATIONS = XXX.ts YYY.ts
(如果是多行,则用 \ 分割)
//.pro文件
QT += core gui
TRANSLATIONS= LOGIN.ts
SOURCES += main.cpp\
mainwindow.cpp \
logindialog.cpp
HEADERS += mainwindow.h \
logindialog.h
FORMS += mainwindow.ui \
logindialog.ui
然后执行工具->外部->QT语言家->更新翻译(lupdate),如下图所示,
执行完之后项目下就会生成对应的XXX.ts、YYY.ts文件。
2生成.qm文件
利用QT语言家:Qt Linguist打开生成的ts文件,将里面需要翻译的地方写上对应的语言,如下图所示
ts文件翻译完成后,执行Qt Creator中的工具->外部->QT语言家->部署翻译(lrelease)就会生成最终要用到的qm文件,见上上图
3加载qm文件
//main.cpp
QApplication a(argc, argv);
...
QTranslator trans;
QString strPath = QDir::currentPath();
strPath += "/XXX.qm";
trans.load(strPath);
a.installTranslator(&translator);
在VS中生成多国语言包
1生成ts文件
假设你已经新建了一个工程,选择Qt->Create new Translation File
弹出下图对话框,选择你需要的语言
2生成qm文件
利用QT语言家:Qt Linguist打开生成的ts文件,将里面需要翻译的地方写上对应的语言,如下图所示
在QT语言家的菜单栏选择:文件->发布
3加载qm文件
同上.
PS基于Qt Creator5.7和VS2010