Qt下翻譯文件(.ts .qm文件)的使用

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章