【发布时间】:2016-01-27 13:43:14
【问题描述】:
有没有办法获取标记为翻译的 QString 的原始语言独立文本? 这是我的代码的简化:
QString MyClass::getError()
{
QString errorText = tr("hardError1");
return errorText;
}
问题在于:
if (getError().contains("hard"))
{
//do something
}
如果用户更改语言,将无法正常工作!
【问题讨论】:
-
这就是为什么您的内部逻辑不能依赖于操作 UI 字符串的原因。如果有的话,请将已翻译字符串的使用限制在字符串显示的那一点,并在整个应用程序的其他任何地方使用别名。
-
这就是为什么在这种情况下你有两个值:错误文本(人类可读)和错误代码(机器可读)。错误代码通常是一个枚举。
标签: c++ qt qt-linguist