1. 程式人生 > >Qt入門-介面多語言國際化的實現

Qt入門-介面多語言國際化的實現

Qt為國際化的實現提供了簡便的方法。下面使用Qt Linguist示例一箇中文語言介面的生成。

   它是一個英文介面:

    

步驟如下:

(1) 首先是準備一個已經編譯成功的工程,並且介面中的需要多語言支援的介面元素均使用了“tr()”函式。如:

  1. tree->setHeaderLabel(tr("Example"));  
  2. QTreeWidgetItem *note1 = new QTreeWidgetItem(QStringList(tr("note1")));  
  3. tree->addTopLevelItem(note1);  
  4. QTreeWidgetItem *note2 = new
     QTreeWidgetItem(QStringList(tr("note2")));  
  5. tree->addTopLevelItem(note2);  
  6. tree->expand(tree->model()->index(1, 0));  
  7. QTreeWidgetItem *note3 = new QTreeWidgetItem(QStringList(tr("note3")));  
  8. tree->addTopLevelItem(note3);  
  9. QTreeWidgetItem *childtree1 = new QTreeWidgetItem(QStringList(tr(
    "child1")));  
  10. QTreeWidgetItem *childtree2 = new QTreeWidgetItem(QStringList(tr("child2")));  

(2) 修改main()函式

  1. #include <QApplication>
  2. #include "Window.h"
  3. #include <QTranslator>
  4. #include <QLocale>
  5. #include <QLibraryInfo>
  6. int main(int argc, char *argv[])  
  7. {  
  8.     QApplication app(argc, argv);  
  9.     QString translatorFileName = "zh_CN.qm";  
  10.     QTranslator *translator = new QTranslator(&app);  
  11.     if (translator->load(translatorFileName))  
  12.         app.installTranslator(translator);  
  13.     ...   
  14.         return app.exec();  
  15. }  


(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