精品国产一区在线_av无码中文字幕无码王_天海翼三点刺激高潮不停_好硬好大好爽视频_欧美高清一区三区在线专区_香蕉黄色片

Qml實現多語言切換

運行環境:Ubuntu20.04

運行Qt版本:Qt5.14.2(網友說需要Qt5.10以上版本才可以)

實現前提:所有的qml中需要翻譯的文字前都要加“qsTr”例如:qsTr("文本")

操作步驟:

一.編輯工程文件

1.首先在工程文件.pro中加入TRANSLATIONS = zh_CN.ts en_US.ts兩個翻譯文件, 支持中英文兩種語言切換,后面可以跟上路徑例如:Lang/zh_CN.ts,這樣生成ts文件后就會再Lang文件夾下

2.在工程文件上添加需要翻譯的文件

lupdate_only{   
   SOURCES += \
     *.qml\
     setting/*.qml\
}   //需要翻譯的文件相對路徑,可以通配符,不用一個個的輸入名字

二、生成ts文件:

工程文件配置后,運行lupdate,點擊(工具->外部->Qt語言家->更新翻譯(lupdate));這時候就從運用程序中,工程文件上(lupdate_only)添加的翻譯文件,提取所有經過qsTr()標識過的字符串(qsTr("hello")),生成后綴為.ts文件,文件的命名和路徑根據工程文件配置。

三、編輯ts文件

使用Qt Linguist打開翻譯需要翻譯的.ts文件,然后在Linguist 發布生成相應的qm文件(文件->發布);

或者使用QT(工具->外部->Qt語言家->更新翻譯(lrelease))發布生成相應的qm文件。

注意的在電腦上調試運行,不需要添加入qrc資源文件也是可以的,如果不是,我們需要將qm文件添加到qrc資源文件上。

四、代碼實現切換

void QmlLanguage::setLanguage(int nLanguage)
{
    QTranslator translator;
    if (nLanguage == 0)
    {
        translator.load(":/en_US.qm");
    }else{
        translator.load(":/zh_CN.qm");
    }
    m_app->installTranslator(&translator);
    m_engine->retranslate();
}

重點的是這句 m_engine->retranslate(); Qt5.10的新方法, 使Qml界面全部動態重新翻譯

缺點:1.動態翻譯切換的時候還會顯示原來的語言,重啟后才完全生效,暫時還沒完全解決,看taoquick的里面用的json解決,還沒嘗試

2.主要適用于單頁面,如果多個頁面切換動態切換時需要每個頁面都設置一次

注意事項:ts里面要設置好語言:中文要包含

<TS version="2.1" language="zh_CN" sourcelanguage="zh_CN">

英文:

<TS version="2.1" language="en_US" sourcelanguage="zh_CN">

要不會失敗

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 2
收藏 4
關注 19
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧
主站蜘蛛池模板: 国产乱码精品一区二区三区爽爽爽 | 99riav久久精品riav| 在线观看免费观看在线91 | 精品国产欧美日韩 | 国产成人一区二区三区在线播放 | 噜啊噜在线 | 白丝美女被操黄色视频国产免费 | 我要看免费的黄色录像 | 欧美成人国产 | 黄色成人在线视频 | 国产精品伦子XXX视频 | 亚洲九九九九 | 亚洲av成人无码久久精品 | 亚洲第一精品在线观看 | 一本到无码av专区无码不卡 | 乱人伦中文字幕在线 | 一级黄色毛片. | 亚洲愉拍99热成人精品热久久 | 成人网免费视频 | 岛国av在线免费观看 | 综合国产精品 | 国产精品国产三级国产avw | 亚洲av久久无码精品九九 | 日韩亚洲AV无码一区二区不卡 | 美男被强行糟蹋np各种play | 91久久艹 | 大地资源第二页在线观看高清版 | 久久激情欧美 | 91看看| 老司机午夜免费网 | 91天堂在线观看 | 东北一级片 | 久久精品无码专区免费东京热 | 天堂av色婷婷一区二区三区 | av明星换脸无码精品区 | 国产精品国产三级国产aⅴ原创 | 国产福利写真片视频在线 | 四虎影院网址入口 | 网球王子日语版免费观看 | 国产成人欧美一区二区三区 | 国产一区二区三区视频 |