1. 程式人生 > >[Qt Creator 快速入門] 第9章 國際化、幫助系統和Qt外掛

[Qt Creator 快速入門] 第9章 國際化、幫助系統和Qt外掛

  這一章是基本應用篇的最後一章,介紹Qt的國際化、幫助系統和建立外掛等方面的內容。
 

9.1 國際化

  國際化的英文表述為Internationalization,通常簡寫為I18N(首尾字母加中間的字元數),一個應用程式的國際化就是使該應用程式可以讓其他國家的使用者使用的過程。 Qt支援現在使用的大多數語言,特別是:

  • 所有東亞語言(漢語、日語和朝鮮語);
  • 所有西方語言(使用拉丁字母);
  • 阿拉伯語;
  • 西里爾語言(俄語和烏克蘭語等);
  • 希臘語;
  • 希伯來語;
  • 泰語和寮國語;
  • 所有在Unicode5. 1中不需要特殊處理的指令碼。

  在Qt中,所有的輸入部件和文字繪製方式對Qt所支援的所有語言都提供了內建的支援。Qt內建的字型引擎可以在同一時間正確而且精細地繪製不同的文字,這些文字可以包含來自眾多不同書寫系統的字元。相關知識可以在幫助中査看Internationalization with Qt關鍵字。

  Qt對把應用程式翻譯為本地語言提供了很好的支援,可以使用Qt Linguist工具很容易地完成應用程式的翻譯工作,這個工具在第1章就已經介紹過了,這裡進一步介紹。

9.1.1 使用Qt Linguist翻譯應用程式

  這一小節中先通過一個簡單的例子介紹Qt中翻譯應用程式的整個過程,然後再介紹其中需要注意的方面,對應這部分內容可以檢視Qt Linguist Manual關鍵字。在 Qt中編寫程式碼時要對需要顯示的字串呼叫tr()函式,完成程式碼編寫後對這個應用程式的翻譯主要包含3步:

  • ①執行lupdate工具從C++原始碼中提取要翻譯的文字,這時會生成一個.ts文 件,這個檔案是XML格式的。
  • ②在Qt Linguist中開啟.ts檔案,並完成翻譯工作。
  • ③執行lrelease工具從.ts檔案中獲得.qm檔案,它是一個二進位制檔案。這裡的.ts檔案是供翻譯人員使用的,而在程式執行時只需要使用.qm檔案,這兩個檔案都是與平臺無關的。

  下面通過一個簡單的例子來介紹整個翻譯過程,該例子實現了將一個英文版本的應用程式翻譯為簡體中文版本。(專案原始碼路徑:src\09\9-1\myI18N。)

  第一步,編寫原始碼。新建Qt Gui應用,專案名稱為myI18N,類名為MamWindow, 基類保持QMainWindow不變。建立完專案後,單擊mainwindow. ui檔案進入設計模 式,先新增一個選單,再為其新增一個“&New”子選單並設定快捷鍵為CtTl + N,然後往介面上拖人一個Push Button。再使用程式碼新增幾個標籤,開啟mainwin¬dow. cpp 檔案,新增標頭檔案 # include ,然後在建構函式中新增程式碼 :