gpt4 book ai didi

QtLinguist : Define a single context

转载 作者:行者123 更新时间:2023-12-05 01:24:31 26 4
gpt4 key购买 nike

如何在 QtLinguist .ts 文件中定义单个上下文,而不是每个文件有一个上下文?

我需要这个,因为我有相同的字符串出现在不同的文件中,我想要相同的翻译(并且没有重复)

最佳答案

在 C++ 中,您可以使用静态函数 QCoreApplication::translate(const char* context, const char* text) 在逐个字符串的基础上显式指定翻译上下文。而不是传统的 QObject::tr(const char* text) (有关更多详细信息,请参阅此文档:http://doc.qt.io/qt-5/qcoreapplication.html#translate)

例如menuItem->setText(QCoreApplication::translate("UniversalContext", "Exit"));
同样,您可以使用 qsTranslate(context, text) 在 QML 中指定上下文。功能,一拉Text { text: qsTranslate("UniversalContext", "hello") }
这些都将被 lupdate 接收。属于同一上下文(重复的字符串只会在您的 .ts 文件中出现一次)

如果您有很多字符串并且在每次调用 translate/qsTranslate 时指定上下文会很痛苦,您应该相当简单地创建一个 1-arg 宏 (c++) 或一个 js 函数 (qml) 作为包装器。

关于QtLinguist : Define a single context,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29797407/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com