1.獲取所需翻譯的文本
在代碼中需要翻譯的文本的都需要用下面的方式使用 tr() 括起來。
//創建菜單子項
manageAction = new QAction(tr("vehicle management"),this);
chartAction = new QAction(tr("Sales statistics"),this);
quitAction = new QAction(tr("quit"),this);
//設置快捷鍵
manageAction->setShortcut(tr("Ctrl+M"));
chartAction->setShortcut(tr("Ctrl+C"));
quitAction->setShortcut(tr("Ctrl+Q"));
//增加菜單項
manageMenu = menuBar()->addMenu(tr("Sales management"));
//添加子項
manageMenu->addAction(manageAction);
manageMenu->addAction(chartAction);
//創建一個分隔符
manageMenu->addSeparator();
manageMenu->addAction(quitAction);
//再添加一個菜單項
passwordMenu = menuBar()->addMenu(tr("Change password"));
2.生成.ts文件
修改.Pro文件,添加下面的內容:
TRANSLATIONS = language.ts
編譯程序後,點擊更新翻譯按鈕:
會在項目目錄下生成.ts文件:
3.翻譯內容
使用Qt自帶的工具打開.ts文件
4.生成.qm文件
點擊發布翻譯按鈕:
在項目目錄下生成了.qm文件
5.載入翻譯文件
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//一定要在界面顯示之前載入翻譯文件
QTranslator *qtTranslator = new QTranslator;
if(qtTranslator->load("./language.qm")){
a.installTranslator(qtTranslator);
}
Widget w;
w.show();
return a.exec();
}
以上,就是Qt下使用翻譯文件進行國際化的一個具體過程,親測有效。
————————————————
版權聲明:本文爲CSDN博主「麥克·唐」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/menger3388/article/details/86011411