我正在使用带有取消和是按钮的QML MessageDialog . 我的手机设置为德语,但“取消”和“是”按钮未翻译 .
我正在关注qt文档here并将其添加到我的主文件中:
QTranslator qtTranslator;
qtTranslator.load("qt_" + QLocale::system().name(),
QLibraryInfo::location(QLibraryInfo::TranslationsPath));
app.installTranslator(&qtTranslator);
这是行不通的 . 这段代码:
qDebug() << QLibraryInfo::location(QLibraryInfo::TranslationsPath);
qDebug() << qtTranslator.isEmpty();
告诉我:
-
翻译路径是:
/work/build/______________________________PADDING______________________________/translations
-
qtTranslator
对象为空 .
我还为我自己的字符串加载了一个翻译器,这是有效的 .
所以我在android上正确初始化Qt内部蜇的翻译?
1 回答
如果您想翻译您的应用程序,您应该使用它来分发qt翻译文件 . 对于android简单的复制翻译文件到
assets
文件夹 . 然后为qtTranslator
设置此路径 .你可以用qmake做到这一点 . 把它放到你的
.pro
文件中:当然,如果它不同,您应该将
ANDROID_PACKAGE_SOURCE_DIR
和TRDESTDIR
更改为您的实际位置 . 您还应该将qt*_ru.qm
更改为您的语言 .然后你可以加载翻译,如: