Qt 國際化 上

2021-09-30 06:36:27 字數 1354 閱讀 3766

qt中的國際化的方法有很多,常用的有使用qtextcodec類和使用tr()函式。前者將編碼名稱寫到**裡面,除非你使用unicode編碼,否則國際化依然是乙個問題;後者就不會有這個問題,並且這也是qt推薦的做法。因此,我們主要來說使用tr()函式的方法進行應用程式的國際化。

我們先來看乙個很簡單的mainwindow。為了清楚起見,這裡只給出了cpp檔案的內容:

這裡的slot裡面的**在前文中已經詳細介紹過。也許你會問,為什麼要用這種麻煩的寫法呢?因為我們曾經說過,使用static函式實際上是直接呼叫系統的對話方塊,而這種建構函式法是qt自己繪製的。這對我們後面的國際化是有一定的影響的。

好了,都已經準備好了,下面開始進行國際化。所謂國際化,實際上不僅僅是把介面中的各種文字翻譯成另外的語言,還有一些工作是要進行書寫方式、貨幣等的轉換。比如,阿拉伯書寫時從右向左的,這些在國際化工作中必須完成。但是在這裡,我們只進行最簡單的工作,就是把介面的文字翻譯成中文。

首先, 我們需要在pro檔案中增加一行:

,如果你出現的是命令不存在,請注意將qt的bin目錄新增到環境變數中。此時,如果更新的數目,說明ts檔案建立成功:

「lupdate」的原因,因為它是「update」,而不僅僅是生成。

下面我們要修改main()函式,使之載入這個qm檔案:

現在,這個介面已經是中文了吧!其實,這一小細節已經說明,qm檔案其實是動態載入到exe檔案中的,而不是直接編譯進去的。這一點為我們進行動態切換語言提供了基礎。

本文出自 「豆子空間」 部落格,請務必保留此出處

QT國際化支援

為了是我們的qt程式支援如中文等其他語言,通常的做法是在需要翻譯的地方顯示的用tr標記,所以你在閱讀其他人編寫的源程式時會看到很多字串做了tr標記,這樣做是有原因的。1.在hello.pro檔案中增加 translations hello zh cn.ts 2.進入工程目錄,執行 lupdate h...

QT國際化 小結

qt應用程式的國際化問題,應該總的來說還是比較容易的,如果你原始碼中沒有使用漢字,直接使用英文,這個問題就不大,下面我講的是通過在原始碼中直接使用中文 就是本地化了的 然後把中文翻譯成別的文字而言的 例如加密文字 大致分這麼幾個步驟,基本與對英文進行國際化的步驟差不多 這裡是針對windows平台的...

qt國際化程式設計

下面說一下qt國際化程式設計的操作步驟 1 編寫源 2 在 pro檔案中新增translations ts 有多少中語言就新增多少個ts檔案。3 執行lupdate pro 生成ts檔案。lupdate會根據源 中的內容提取出待翻譯的字段,然後生成ts檔案,ts檔案是xml格式的。4 用qt lin...