Qt 新增多國語言.ts翻譯檔案

本篇要介紹如何使用 Qt 新增多國語言.ts翻譯檔案,Qt 有自己的工具對 GUI 的語言進行翻譯,對於開發多國語言的開發者來說是一個實用的功能。

下面開始介紹怎麼製作和使用Qt的翻譯檔案,

步驟1. 新增.ts翻譯檔案

Qt 的.ts翻譯檔案是文字格式的翻譯檔案(XML格式),而.qm檔案是.ts轉檔後的二進制檔案,
假設你現在沒有.ts翻譯檔案,那請看以下步驟產生一個.ts翻譯檔案,
如果已經有.ts翻譯檔案,要轉成.qm檔案請看步驟3,

使用文字編輯器打開Qt的.pro專案檔案,添加 TRANSLATIONS += myproject_zh-tw.ts,如果是要同時支援繁中與英文的話就

1
2
TRANSLATIONS += myproject_en.ts \
myproject_zh-tw.ts

等號右邊的名字可以自己取,中文的就用後綴_zh.ts, 繁體中文的就用後綴_zh-tw.ts, 簡體中文的就用後綴_zh-cn.ts, 英文的就用 _en.ts

然後啟動Qt的lupdate命令行工具,Windows在 開始 -> 程序-> Qt5.12.2 -> Qt5.12.2 commond prompt
Ubuntu 的話直接在命令行輸入即可,
切換目錄到專案目錄,執行 lupdate 來產生相應的.ts 檔案,
它會看你在.pro專案檔案加了什麼在TRANSLATIONS裡就會產生對應的.ts

1
$ lupdate -verbose myproject.pro

步驟2. 編輯 .ts 檔案, 開始翻譯

.ts檔案後就可以接著翻譯的工作,啟動linguist語言翻譯工具,

1
$ linguist

選單中的File > Open...,打開所需的 .ts 檔案
翻譯界面中找到的翻譯欄的兩行,
第一行:Source Text
第二行:Translation
在第二行進行相應字串的翻譯即可,接著就把每一條 Source Text 慢慢翻譯,
翻譯完後存檔即可。

步驟3. 產生.qm檔案

.qm檔是經過.ts轉換而成的二進制機器語言的檔案,
接著我們透過 lrelease 指令來將翻譯好的.ts檔案產生.qm檔案

1
$ lrelease -verbose myproject.pro

修改或新加入界面部件時

只需執行 lupdate -verbose 即可,
然後把產生的.qm檔案放到正確的目錄中,即可實現翻譯的效果,

1
$ lupdate linguist

如果是安裝了插件的 visual studio ,也可以右擊解決方案,實現 lupdate 和 lrelease 命令同樣的功能。

參考
qt中制作添加 .ts 翻译文件 - 舟折不是周折 - 博客园
https://www.cnblogs.com/wangjz/p/4894545.html
qt中制作添加 .ts 翻译文件_linux-CSDN博客
https://blog.csdn.net/hpu11/article/details/79222657

其它相關文章推薦
[Qt] 讀檔,讀取 txt 文字檔
[Qt] 寫檔,寫入 txt 文字檔
安裝 Qt 在 Windows 7 (使用MSVC)
Qt產生的exe發布方式
Qt5的中文亂碼問題如何解決