Qt001 Qt的多語言支援

2021-06-21 23:14:51 字數 559 閱讀 7356

qt的多語言支援比較方便,這裡說一下大概的方案及乙個注意點。

首先我們要把語言字串分為兩個部分:qt內建的字串(通用對話方塊和右鍵選單) 和 應用自己的字串。

qt實現多語言的思路是:

1、在用到字串的地方,**中全部使用乙個類似索引的固定字串。

2、這些固定字串都會被qobject::tr()函式進行處理後,轉換為真實顯示的字串。

3、qt提供工具可以找出**中的所有被qobject::tr()包圍的固定字串,生成乙個待翻譯字串鍵值表。

4、對於每種要支援的語言,都要生成乙個 3 中所述的待翻譯字串鍵值表。

5、qt提供工具,用於處理3、4中所述各待翻譯的字串鍵值表,形成包含翻譯的字串的鍵值表。

6、qt提供工具,將包含翻譯好的字串的鍵值表,轉換成進製檔案。

注意事項:

1、qtranslator物件只能儲存乙份二進位制鍵值表檔案。

2、也正是上述特性使得多語言動態切換成為可能。

我們只要保留住上述兩個qtranslator物件,並在需要動態切換語言的時候,把新的二進位制字元鍵值表載入給它們兩個即可。

Qt程式多語言支援

以英文翻譯成中文為例 1 在程式裡需要翻譯的地方用tr 包裝起來,如 qstring str tr baidu 2 在.pro檔案裡加入一行 translations language chn.ts 4 開啟 linguist 工具,編輯上面的ts檔案,將每個源字元進行翻譯,然後release乙個l...

inno 多語言支援

languages name en messagesfile compiler default.isl licensefile c license en.txt name fr messagesfile compiler languages french.isl licensefile c lice...

c 多語言支援

1.增加對應的資源檔案 2.新增對應的語言切換事件函式 private void englishtoolstripmenuitem click object sender,eventargs e private void chinesetoolstripmenuitem click object s...