Qt入門-介面多語言國際化的實現
阿新 • • 發佈:2019-01-10
Qt為國際化的實現提供了簡便的方法。下面使用Qt Linguist示例一箇中文語言介面的生成。
它是一個英文介面:
步驟如下:
(1) 首先是準備一個已經編譯成功的工程,並且介面中的需要多語言支援的介面元素均使用了“tr()”函式。如:
- tree->setHeaderLabel(tr("Example"));
- QTreeWidgetItem *note1 = new QTreeWidgetItem(QStringList(tr("note1")));
- tree->addTopLevelItem(note1);
-
QTreeWidgetItem *note2 = new
- tree->addTopLevelItem(note2);
- tree->expand(tree->model()->index(1, 0));
- QTreeWidgetItem *note3 = new QTreeWidgetItem(QStringList(tr("note3")));
- tree->addTopLevelItem(note3);
-
QTreeWidgetItem *childtree1 = new QTreeWidgetItem(QStringList(tr(
- QTreeWidgetItem *childtree2 = new QTreeWidgetItem(QStringList(tr("child2")));
(2) 修改main()函式
- #include <QApplication>
- #include "Window.h"
- #include <QTranslator>
- #include <QLocale>
- #include <QLibraryInfo>
- int main(int argc, char *argv[])
- {
-
QApplication app(argc, argv);
- QString translatorFileName = "zh_CN.qm";
- QTranslator *translator = new QTranslator(&app);
- if (translator->load(translatorFileName))
- app.installTranslator(translator);
- ...
- return app.exec();
- }
(3)重新編譯工程。點選選單“Qt”-> “Create new Translation File”,然後可以在解決方案管理器中看到新生成的檔案“zh_CN.ts”。
(4)雙擊檔案“zh_CN.ts”,開啟Qt Linguist介面
(5) 翻譯介面中部的翻譯欄,兩行:第一行:Source Text 第二行:… Translation, 在第二行進行相應的翻譯,翻譯完後點擊“確定下一個”按鈕。
(6) 翻譯完所有選項後,點選File--->Release, 生成 .qm 檔案。
(7) 執行程式,介面如圖:
所有操作實現執行了三個命令:
1)lupdate –verbose testprj.pro //生成相應的.ts 檔案
2)linguist //啟動Linguist語言翻譯工具,可以翻譯相應可見字串
3)lrelease –verbose testprj.pro //將翻譯好的檔案生成.qm檔案
FROM: http://blog.csdn.net/xgbing/article/details/7783578