VS QT實現語言自動切換

2021-07-08 13:17:25 字數 947 閱讀 5455

需要在被翻譯的字串前加tr標示,如qstring=tr(

「hello world」);

這很重要,因為翻譯工具會把原始碼中tr標識的字串提取出來,翻譯成其他語言,如果沒有用tr標識的,不會被工具提取。在介面中輸入的文字,預設已經是加上tr的了,所以在翻譯時也能看見。建議:在程式中的字串使用英文,漢語等通過多國語翻譯來實現,而不要採取把漢字寫在**中。

實現語言切換要用到qm檔案,而要建立qm檔案,就必須有ts檔案,而在qtcreator中存在pro檔案。通過pro檔案可以轉化成ts檔案,轉化的方式為:lupdate myproject.pro。通過ts檔案轉化成qm檔案,轉化方式是:

lrelease myproject.ts,這樣就生成了乙個qm檔案。

在vs+qt中,可能有的環境下不能建立pro檔案,轉化的源頭沒有了。所以我選擇的方式是自己寫ts檔案,下面看一下ts檔案的內容:

<?xml version="1.0" encoding="utf-8"?>

mainwidget

main widget

主介面welcome to qt

setting

設定ok

確定cancel取消

下面介紹一下這個ts檔案,這是乙個xml檔案格式,在其中主要的格式是:

cancel取消

1、location filename=「main_widget.cpp line="47」其中指定了所在檔案的檔名和所在的行號

2、cancel在程式中比如settext中,要設定cancel值。這個會自動轉化成漢語「取消」

3、取消要轉化成的文字

ts檔案是建立完成了,直接轉化就行了。

下面介紹乙個怎麼使用qm檔案:

1、載入qm檔案

2、動態切換過程

就是再用translator在load乙個需要載入的qm檔案,然後呼叫settext就可以自動的進行轉化。

ViewPager實現自動迴圈切換

一實現迴圈滑動 1 在 myadapter 中首先修改 getcount 方法中的大小,讓 viewpager 可滑動頁面增多 2 instantiateitem 方法中將 position 對陣列求餘 position imagelist size 3 如果viewpager 設定了onpager...

VirtualBox下實現滑鼠自動切換和共用剪貼簿

利用virtualbox,將ubuntu安裝好。但是使用還很不方便。主要體現在以下兩點 1 需要使用右ctrl,在xp和ubuntu之間切換滑鼠 2 xp和ubuntu之間,無法複製貼上。virtualbox提供了增強功能,可用於解決這一問題。如下所示 1 裝置 安裝增強功能 之後重啟ubuntu ...

Struts實現多國語言切換

摘要 通過下拉框裡各個語言 中文,日本語,english 的選擇,切換jsp頁面文字。tyrone1979 發表於 2005 08 26 13 27 19 1 準備資源檔案。資源檔案命名格式 filename language country.properties.中文檔名為index zh cn....