2010-11-29 76 views
1

好的,這是我的問題。 我有一個多語種的應用程序。我用lupdate和lrelease翻譯ui。Qt翻譯(國際化)文本的原始值

我有一些用戶可以編輯的選項,他從輸入選擇對話框編輯它們。這些值例如是「質量」和「速度」。

現在,我想用它們的翻譯替換這些值。

後來,當我檢查選項的值時,我只想使用原始值。例如:我必須檢查是否值==「速度」,但如果語言未設置爲英語,則在選擇對話框中將不具有「速度」值,而是具有「速度」翻譯的字符串。

如何從代碼訪問默認(英文)值,如果ui已設置爲其他語言?

回答

1

如果我的理解正確,您可以將英文值設置爲常數並引用它。

const char* kEnglishKey = "Speed"; 
... 
if (value == tr(kEnglishKey)) { 
    ... 
    DoSomeThingWith(kEnglishKey); 
} 

tr是一個運行時而不是編譯時操作。

+0

謝謝。但問題出在對話框中。我將翻譯的值加載到它中。但它將選定的文本作爲輸出返回。翻譯文本爲 – ZolaKt 2010-11-29 16:08:16