gpt4 book ai didi

c++ - Qt 翻译 lupdate 和命名空间

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:02:28 25 4
gpt4 key购买 nike

在开发 Qt 应用程序时,我在使用 QTranslator 时遇到了问题。经过一些研究,我发现问题出在 Qt 的 lupdate 有问题

using namespace;

指令。按照 here 中的说明进行操作,我发现我必须在我的代码中使用特殊注释,以帮助 lupdate 理解类在命名空间内。特殊评论是这样的:

 /*
TRANSLATOR namespace::MyClass
*/

因此,我在我的所有 QString 由 tr 管理的资源中添加了这条评论。但是,应用程序仍然没有被翻译。 QTranslator 的 installTranslator 方法返回 true。我用来安装翻译器的实际代码是

Application app(argc,argv); //Application is a subclass of QApplication
QTextCoded::setCodecForTr(QTextCodec::codecForName("utf8"));
QTranslator translator;
translator.load(QString("..//language//") + locale);
app.installTranslator(&translator);
app.exec();

有人遇到过同样的问题吗?我做错了什么?

编辑--

改正了上面代码中的一个小错误,还是没有结果。

最佳答案

您确实安装了翻译器,但没有为它加载任何翻译。

您链接到的文档明确指定:

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

QTranslator translator;
translator.load(QString("arrowpad_") + locale); // here load translation
app.installTranslator(&translator);

app.exec()
}

关于c++ - Qt 翻译 lupdate 和命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2207416/

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