【问题标题】:Qt5 newline characters in translation text?翻译文本中的Qt5换行符?
【发布时间】:2020-11-12 16:10:29
【问题描述】:

我正在纠正应用程序中一些缺失的翻译,而一个特定的翻译没有从我的 TS 文件中提取翻译后的文本,罪魁祸首似乎是源中的换行符(“\n”)文本,因为当我从源文本中删除该字符并在字符串中没有换行符的情况下测试翻译时,它可以工作。

所以假设我的 TS 文件中有这样的字符串:

<context>
    <name>MyContext</name>
    <message>
        <source>The text that I'm trying to match.\nIt has a newline character.</source>
        <translation>The translated text.\nIt also has a newline character.</translation>
    </message>
</context>

我正在翻译的 char* 字符串显然也有这个换行符。

那么如何处理带有换行符的翻译源字符串呢?

【问题讨论】:

    标签: c++ qt qt5


    【解决方案1】:

    我的解决方案是编写一个辅助方法来将具有换行符的字符串拆分为单独的字符串,并将其拆分为 TS 文件中的多个条目。然后它单独翻译每一行并用换行符将它们缝合在一起。

    我的意思是,如果翻译文件支持换行符会很好,但除非有其他方法,否则它必须这样做。

    【讨论】:

      【解决方案2】:

      将翻译标签之间的 \n 替换为实际的换行符。这将更新翻译后的 GUI 以具有换行符。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-10
        • 1970-01-01
        • 1970-01-01
        • 2020-09-10
        • 1970-01-01
        相关资源
        最近更新 更多