c 實現動態多國語言的動態切換

2021-04-26 12:05:13 字數 999 閱讀 9486

動態多國語言的切換目前大多採用的是動態載入資源

dll,

每乙個資源

dll中包含了乙份對應某一語言的字串表,

但這種方法的缺點就是需要為每一種語言都要做乙個

dll,程式安裝時資源

dll過於繁多。下面我們將所有的多國語言資源都封裝在乙個動態庫中,然後通過

setthreadlocale()

api來實現動態切換多國語言。

首先我們要建立多國語言的

rc,這一步至關重要,為了能支援多國語言,我們必須安裝「

multilingual user inte***ce pack

」,下面我們就詳細的講解一下多國語言

rc的製作過程,假如目前的系統是英文作業系統,我們要做中文的

rc,我們需要設定系統環境,如下圖:

重新啟動後用「

wordpad.exe

」開啟英文的

rc(只需保留

rc中的

string table

),編輯相應的字串後選擇另存為,如下圖:

這樣中文的

rc就建立完成,由此類推我們使用類似的方法建立其他國語言的rc。

rc建立完成後,我們在編譯程式的

rc時,需要包含上面剛剛建立的多國

rc,非常簡單,只需新增以下**:

#include "chs.rc"

#include "cht.rc"

預定義好該語言對應的巨集,例如中文對應的是

afx_targ_chs,

這樣編譯完成後,資源

dll就是多國語言版的了。

下面說一下具體應用,我們採用

loadstring()

api來從資源

dll中獲取相應的字串,在我們呼叫

loadstring()

前我們呼叫

setthreadlocale()

api來更改當期程序的語言版本,這樣

api就會自動尋找對應國家的字串。

c 實現動態多國語言的動態切換

動態多國語言的切換目前大多採用的是動態載入資源 dll,每乙個資源 dll中包含了乙份對應某一語言的字串表,但這種方法的缺點就是需要為每一種語言都要做乙個 dll,程式安裝時資源 dll過於繁多。下面我們將所有的多國語言資源都封裝在乙個動態庫中,然後通過 setthreadlocale api 來實...

C WPF 動態切換多國語言支援

wpf支援多國語言方式大同小異,本文將介紹使用資源字典檔案實現多國語言動態切換,其不僅可以實現ui顯示語言的切換,也可以實現控制項對應繫結資料的語言切換,整體操作可行且較容易實現。以下分步描述具體實現過程 為方便說明,新建乙個wpf專案,新增乙個combox textbox以及button控制項 一...

QT多國語言動態切換常見例子

qt多國語言需要用到三個工具 l lupdate 生成ts檔案 l linguist 翻譯ts 檔案中的字串 l lrelease 生成qm檔案 這三個工具都是qt自帶的工具,在相關的安裝路徑下。1.準備乙個介面工程 新建工程命名為 cabagge langsw,使用設計師設計介面設計如下 設定下拉...