2010-11-29 75 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