qt多語言翻譯


ps很多場景需要我們編寫的應用程序支持不同的語言.

qt內置了對於界面以及交互字符串的翻譯

首先在我們代碼里面使用到的字符串應使用tr("test"); 包起來.

若如動態插入的字符串.應使用QString("%1").arg(tr("test")).

建議最好在寫的時候就寫英文,然后通過翻譯實現中文等其他語言.

pro文件加入這行:

TRANSLATIONS += en.ts ch.ts

en.ts 表示英語 ch.ts 表示中文

然后

依次選擇.點擊更新翻譯,這時候我們去項目目錄下會生成對應的en.ts 和ch.ts 兩個文件

 

 

 

在使用qt自帶的翻譯軟件(H:\Qt5.6.3\5.6.3\mingw49_32\bin\linguist.exe)ps:每個人電腦qt安裝路徑不同,選取自己電腦路徑.或者直接在windows界面搜索linguist也可以找到

打開軟件 加載這2個文件進行翻譯,翻譯完成保存

 

 

最后我們再回到qt使用發布翻譯

 

 

這時候會在項目目錄生成對應的en.qm 和ch.qm.

 

翻譯至此就完成了.

 

 

 程序main函數加入划線這幾句即可加載剛剛翻譯的對應文件.

動態翻譯:

寫一個槽函數

void MainWindow::setLanguage(QString &language_type)

{

QTranslator trans;

if(language_type == "xxx"){

trans.load("H://en.qm");

 

}else{

trans.load("H://ch.qm");

 

}

 

qApp->installTranslator(&trans);

 

ui->retranslateUi(this);

 

 

}

配置文件寫注冊表.INI.文本.數據庫隨意.讀出來解析下就行了.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM