Qt國際化詳細介紹

2021-07-10 09:26:07 字數 851 閱讀 6002

參與過qt專案,對qt國際化得了解並不深入,只知道使用tr即可達到翻譯的效果,但不曾細究其中的用法。

這次在**中看到了qt_tr_noop,於是搜尋了下,特此將學習到的總結下:

之前使用qt翻譯用到tr,但是有些類並未繼承自qobject,沒有tr函式,在這種情況下如何使用呢?

今天,看到乙個csdn的部落格,寫得很詳細:參考如下:

我自己也總結了下:

直接使用tr:
qpushbutton *button = new qpushbutton(this);  

button->settext(tr("國際化"));

qpushbutton *button =

new qpushbutton(this);

button->settext(qobject::tr("國際化"));

class myclass  

; myclass::myclass

一般tr均包裹乙個常亮字串,而如果我們tr內部包裹乙個變數,如何通知程式進行翻譯呢?

於是,這便用到了qt_tr_noop() 和 tr()

//.h file

class mytranslation : qobject

//.cpp

mytranslation(qobject *parent) : qobject(parent)

qstring mytr(const qstring& str)

qstring test = mytr("國際化");

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...