sar*_*ara 7 qt translation file
我正在尝试使用翻译文件.我完成了所有程序:创建了ts文件,翻译了它,但是当我运行应用程序时,语言仍然和以前一样.
我在诺基亚的例子中工作,就像在说明中一样.
可能是我的问题?
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTranslator* translator=new QTranslator(0);
if(QFile::exists("hellotr_la.qm"))
qWarning("failed-no file");
if(! translator->load("hellotr_la.qm"))
qWarning("failed loading"); //the warning appears ****
app.installTranslator(translator);
}
Run Code Online (Sandbox Code Playgroud)
and*_*ref 20
.qm文件在哪里?您的代码正在尝试从当前工作目录加载文件,该目录在运行时可以是任何内容.在调用中指定目录路径QTranslator::load:
QTranslator* translator = new QTranslator();
if (translator->load("hellotr_la", "/path/to/folder/with/qm/files")) {
app.installTranslator(translator);
}
Run Code Online (Sandbox Code Playgroud)
翻译可以从Qt资源加载,因此最好将它们捆绑在可执行文件中.然后你会加载它们有点像这样:
QTranslator* translator = new QTranslator();
if (translator->load("hellotr_la", ":/resources/translations")) {
app.installTranslator(translator);
}
Run Code Online (Sandbox Code Playgroud)