MFC多語言實現方法

2021-07-03 20:05:50 字數 1166 閱讀 8438

我們公司目前軟體大多數用mfc單文件實現,前段時間為了海外擴充套件,要求所以軟體採用多語言。

因此我給下屬下了乙個命令,就是歸納多語言實現方式,總結最優實現方式。

一共有四種方法:先介紹常規的前三種。

例子在資源裡面「mfc多語言實現方法」。

需要轉換語言的地方有:

1、程式介面:選單,控制項標籤等。

2、提示字串等。

一、字元放在dll資源檔案中,切換資源模組(程式預設使用exe模組資源)。

實現要點:

新建乙個只包含資源的dll。通過函式afxsetresourcehandle設定資源模組。

示意**為:

afxsetresourcehandle(loadlibrary("english.dll"));

cstring strmsg;

strmsg.loadstring(id_title);

setwindowtext(strmsg);

見例子mullanguage_dll.rar

二、字元放在exe資源檔案中,選擇對應的語言資源。

實現要點:

新建多個id相同,語言不同的資源。

通過setthreadlocale設定當前執行緒使用語言。

示意**:

setthreadlocale(makelangid(lang_english,sublang_english_us));

cstring strmsg;

strmsg.loadstring(id_title);

setwindowtext(strmsg);

例子:mullanguage_rc.rar

三、字元放在ini檔案中。

實現要點:

同種語言字元放在單獨的文字,通過切換檔案方式切換語言。

優點:增加一種新語言,只需增加相應的語言的檔案。

缺點:dll模組中的字元轉換,字元id命名。

cstring strmsg;

getprivateprofilestring(…);

setwindowtext(strmsg);

見例子mullanguage_ini.rar

綜合上面三種方法,從原理上看其實是同一種方法,獲取相應語言下的字元,再顯示字元,不同之處是字元存放位置不同。字元可以存放在dll資源中,exe資源中,文字檔案中。相應地獲取字元方式也不同。

MFC多語言實現方法

我們公司目前軟體大多數用 mfc單文件實現,前段時間為了海外擴充套件,要求所以軟體採用多語言 因此我給下屬下了乙個命令,就是歸納多語言實現方式,總結最優實現方式。一共有四種方法 先介紹常規的前三種。例子在資源裡面 mfc多語言實現方法 需要轉換語言的地方有 1 程式介面 選單,控制項標籤等。2 提示...

WPF 多語言實現

原文 wpf 多語言實現 很多國際化的程式都提供了多語言的選項,這樣方便不同國家的使用者更方便的使用軟體。這篇部落格中將介紹在wpf中實現多語言的方式。方式一,使用wpf動態資源的方式實現。先簡單介紹下staticresource和dynamicresource,這兩者的區別在於動態資源改變後會實時...

WPF 多語言實現

原文 wpf 多語言實現 很多國際化的程式都提供了多語言的選項,這樣方便不同國家的使用者更方便的使用軟體。這篇部落格中將介紹在wpf中實現多語言的方式。方式一,使用wpf動態資源的方式實現。先簡單介紹下staticresource和dynamicresource,這兩者的區別在於動態資源改變後會實時...