QTranslator tr() - 初始空格有问题吗?

Posted

技术标签:

【中文标题】QTranslator tr() - 初始空格有问题吗?【英文标题】:QTranslator tr() - problem with initial blank spaces? 【发布时间】:2019-03-14 20:47:22 【问题描述】:

我有以下代码片段:

QString invalidMsg = tr("Please select"); //"Selectionner" in *.ts file
if(m_buildVersionPortion == "") 
   if(m_isSeededByReleasesOnly) 
      invalidMsg += tr(" Release");        // " Version"       "    "   "
   

if(m_configNamePortion == "") 
   if(!isValid) 
      invalidMsg += tr(" and");            // " et"            "    "   "
   
   invalidMsg += tr(" Config");            // " Configuration" "    "   "

如果我用法语运行,那么我可以看到以下 QString:“Selectionner Version et Configuration”(正确)

但是,英文原版给了我以下内容:“请选择ReleaseandConfig(不正确)”

如果我修改代码以删除第一个 tr() 调用,然后 - 用英语 - 我得到:“请选择 ReleaseandConfig”(这对于第一部分和我想要的内容是正确的)

tr() 是否会从任何原始(英文)文本中去除初始空格?

【问题讨论】:

【参考方案1】:

问题出在英文 *.ts 文件中。虽然法语 *.ts 文件中存在正确的翻译 - 但在另一个导致错误的文件中不正确。

【讨论】:

以上是关于QTranslator tr() - 初始空格有问题吗?的主要内容,如果未能解决你的问题,请参考以下文章

Qt多国语言国际化

如何从应用程序中删除所有 QTranslator?

QTranslator 如何处理语言环境修饰符 PyQT?

QTranslator 在 if 语句中使用时不起作用

具有真实 QLocale 的 Canonical QTranslator 示例

为啥我需要一个 QTranslator 来在 Windows 上的 QMessageBox 中本地化按钮文本?