Qt翻译(国际化)文本的原始值

时间:2010-11-29 15:23:03

标签: qt internationalization default multilingual

好的,这是我的问题。 我有一个多语言的应用程序。我用lupdate和lrelease翻译ui。

我有一些用户可以编辑的选项,他从输入选择对话框中编辑它们。值例如是“质量”和“速度”。

现在,我想用他们的翻译替换这些值。

稍后,当我检查选项的值时,我只想使用原始值。例如:我必须检查value ==“Speed”,但是如果语言没有设置为英语,我将不会在选择对话框中显示“Speed”值,而是具有“Speed”转换的字符串。

如果ui已设置为其他语言,如何从代码中访问默认(英语)值?

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您可以将英文值设置为常量并参考它。

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

tr是一个运行时,而不是编译时的操作。