c++ - Qt:lupdate 正在将撇号转换为 '

标签 c++ qt internationalization qt5 translation

我正在我的Qt HMI 应用程序 上运行lupdate。而且我注意到很少有单引号的字符串(例如 l'unite)被替换为它的字符实体 '(例如l'unite) 在作为 lupdate 结果生成的 .ts 文件中。

虽然这种转换对本地化没有不利影响。我想知道为什么会出现这种行为。有没有办法禁用它?

在此方面的任何帮助表示赞赏。提前致谢。

最佳答案

它是 XML 语言定义的一部分。由于'是xml中的特殊字符,所以要进行转义。否则,XML 解析器将无法读取该文件。换句话说,' 只不过是 ' 的转义序列,任何 XML 阅读器都会将 ' 替换为 ' 在读取 xml 文件时。

转义序列是:

"   "
'   '
<   &lt;
>   &gt;
&   &amp;

关于c++ - Qt:lupdate 正在将撇号转换为 ',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34903334/

相关文章:

java - 在 C++ 中重新加载 Java 字符串

c++ - 如何在 Visual Studio 中调试命令行实用程序

c++ - QT5添加Icon导致链接器错误

Angular2 i18n - 如何通过代码获取翻译

c++ - 如何阻止 Qt 的 setStyleSheet 重置我的表单和按钮上的指定颜色?

c++ - 可变函数和折叠表达式 : Fatal Error while trying to compile in Visual Studio 2017

c++ - QProcess 无法触发信号 readyRead/readyReadStandardOutput/readyReadStandardError

c++ - 滚动时的滚动条事件?

.NET Core 1.1 资源文件问题

visual-c++ - 如何在 MS Visual C++ 中使用 GNU gettext?