C++ 實現多語言程式開發研究與Xtreme ToolkitPro的使用(一)
阿新 • • 發佈:2019-02-04
實現 多語言程式的思路比較簡單清楚,主要是通過建立不同語言的資原始檔即可,網上的帖子也挺多,不過個人感覺比較雜,經過研究,總結得出自己的開發心得。
在本次學習中,還用到了Xtreme ToolkitPro介面庫,可以一起綜合學習。
一、首先要建立多語言資源的DLL檔案:
步驟:
1、使用VS2008建立多語言示例程式MultiLanguageDemo,程式用到的是多文件檢視結構;
2、建立後在解決方案目錄建立資料夾Translations,用來建立多語言資源工程, 當然,你也可以在其他地方建立;
3、在資料夾Translations下建立解決方案,並建立新的語言專案,比如建立英語資源為ResourceEn過程如下:
這裡本人選擇的是Win32專案,主要是建立空的DLL專案,當然,使用MFC DLL專案也是可以,只是生成的專案檔案比較多,後面還要刪除,所以沒必要。
點選確定開始進入建立嚮導後按下一步後,出現這個專案型別,這裡關鍵選擇的是DLL和空專案,點選完成即可。
4、接下來是關鍵:
- 把MultiLanguageDemo工程目錄下的res資料夾和MultiLanguageDemo.rc拷貝到ResourceEn工程目錄下,並將MultiLanguageDemo.rc重新命名為ResourceEn.rc;
- 修改ResourceEn.rc引入的標頭檔案“resource.h
-
- 在“資源檢視”中修改rc的語言資訊:
- 修改確定之後在解決方案檢視中添加了資原始檔,還有“resource.h”檔案,把這個刪除,直接在.rc檔案中按之前那樣引入即可:
- 繼續修改ResourceEn.rc原始碼如下:
- 這裡定義了資源的語言,因為VS2008預設產生的是英語,這裡並不需要修改,在建立其他語言的時候需要做相應的修改,如簡體中文:
- 設定專案Release屬性:
- 確定後編譯成功後會生成ResourceEn.dll檔案,至此,資源DLL檔案編譯完成。
在ScribbleMultiLang中,發現一個名為BuildXML.bat的檔案,打開發現原來是用來呼叫XMLResource.exe這個工具將DLL轉為XML,這樣,隨便修改下路徑就可以將剛剛產生的ResourceEn.dll轉為ResourceEn.xml,開啟之後發現ResourceEn.xml內容如下:
不同的語言資源只是編碼方式和ID不一樣,使用的資源是一樣的,這樣MultiLanguageDemo程式就可以根據不同的情況呼叫不同的DLL,從而實現了多語言的切換。至於具體怎麼使用,可以參看剛剛提到的Xtreme ToolkitPro多語言示例程式。