我使用qt语言学家用不同语言翻译我的程序,但它没有显示他在程序中翻译了文本。
我设置了正确的字体并将.ts文件添加到TRANSLATIONS
。
我使用lupdate
和lrelease
命令。
我怎样才能创建.ts文件? (我创建文本文件并将格式更改为.ts是否正确?)
答案 0 :(得分:3)
Revie Qt Translation。
动态翻译应用程序:
1 - 打开Qt命令终端并转到项目文件夹。 2 - 从项目中获取所有可翻译的字符串
lupdate -pro Example.pro -ts example.ts
3 - 使用QLinguist将所有字符串翻译为您想要的语言 4 - 生成.qm文件并执行所有转换:
lrelease example.ts
5 - 将此文件example.qm作为资源添加到项目中,以将其包含在可执行文件中。 Resource System
6 - 现在,使用QTranslator翻译应用:
QTranslator* translator = new QTranslator;
if(translator->load(":/"+example.qm)){
qApp->removeTranslator(translator); // Remove the translator if was used before
qApp->installTranslator(translator); // Install again the translator to force a new translation.
qDebug() << "Translation success!" ;
}else{
qDebug() << "Error file not found!";
}
7 - 您可以使用changeEvent处理翻译事件:
void MainWindow::changeEvent(QEvent* event)
{
if (event) {
switch(event->type()) {
// When the translator is loaded this event is send.
case QEvent::LanguageChange:
break;
// Whem the system language changes this event is send.
case QEvent::LocaleChange:
//retranslate the ui.
break;
default:
break;
}
}
QMainWindow::changeEvent(event);
}
这就是所有人!