在开发qt应用程序时,我遇到了使用qtranslator的问题。经过一点研究,我发现问题出在qt的lupdate有问题
using namespace;
指令。遵循中的说明
here
,我发现我必须在代码中使用特殊注释,以帮助lupdate理解类位于命名空间中。特别评论如下:
/*
TRANSLATOR namespace::MyClass
*/
因此,我在所有由tr管理qstring的源代码中添加了这些注释。但是,应用程序仍然没有被翻译。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();
有人遇到过同样的问题吗?我做错什么了?
编辑——
更正了上面代码中的一个小错误,但仍然没有结果。