C++ 實現多語言程序開發研究與Xtreme ToolkitPro的使用(一)

        實現 多語言程序的思路比較簡單清楚,主要是通過創建不同語言的資源文件即可,網上的帖子也挺多,不過個人感覺比較雜,經過研究,總結得出自己的開發心得。

在本次學習中,還用到了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文件編譯完成。
      好奇一下,這樣生成的DLL是怎麼樣的,Xtreme ToolkitPro提供了很好的工具。
    在Xtreme ToolkitPro源碼中,主要是兩個關於多語言的例子:ScribbleMultiLang(Xtreme ToolkitPro v15.2.1\Samples\CommandBars\ScribbleMultiLang\)和MultiLanguage(Xtreme ToolkitPro v15.2.1\Samples\ToolkitPro\MultiLanguage)可以供我們學習。
      在ScribbleMultiLang中,發現一個名爲BuildXML.bat的文件,打開發現原來是用來調用XMLResource.exe這個工具將DLL轉爲XML,這樣,隨便修改下路徑就可以將剛剛產生的ResourceEn.dll轉爲ResourceEn.xml,打開之後發現ResourceEn.xml內容如下:

      不同的語言資源只是編碼方式和ID不一樣,使用的資源是一樣的,這樣MultiLanguageDemo程序就可以根據不同的情況調用不同的DLL,從而實現了多語言的切換。至於具體怎麼使用,可以參看剛剛提到的Xtreme ToolkitPro多語言示例程序。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章