VC在一個工程中實現多語言版本(轉)

 

VC在一個工程中實現多語言版本


作者:朱勤武

下載源代碼

  前段時間筆者因爲做一個程序,客戶要求要有中英文版本,開始以爲要做二個工程,只是資源文件不同,但是發現這樣一個工程更新另外一個也要更新,實在是很麻煩 ,後來經過網上查找資料與自己親身實驗,發現其實只要在一個工程中就可以實現。但是這個工程中要有兩個資源文件,當編譯不同版本時,程序可以自動鏈接不同資源文件 。下面把具體的方法寫出來。供大家參考一下。

第一步、創建中英文版本資源文件

  我們先創建第一個中文版本工程,假設工程名稱爲 Example,在嚮導第一步的“What language would you like you resource in” 選擇中文 (如下圖),其它使用缺省值。



  然後在工程中把 Example.rc 刪除,這裏雖然刪除了文件,但實際上在工程文件目錄文件還是存在的。進入工程目錄下把資源文件名改成Example_Ch.rc,再在 VC 編譯器中加入 Example_Ch.rc 文件 ,關閉工程。
  然後再創建一個同名的英文版本工程。也就是在選擇資源語言時選擇英語(可以保存在不同的目錄下) 



  創建完後,把英文版本目錄下的 Example.rc 文件拷貝到中文工程的目錄下,其實我們就只是要這個資源文件。並把名稱改爲 Example_En.rc。 

第二步、在工程中設置版本信息

  打開中文件工程,把英文資源文件添加進工程,在添加時會有提示出現,不要理會,按確認就行。
  選擇菜單 Build->Configurations,增加一個工程配置,在Configuration中輸入 Debug English 在 Copy Setting from 中選擇 Debug 就可以(見下圖),使用相同的方法,再增加一個 Debug Chinese 配置,並把原來的 Debug 刪除。




第三步、設置工程信息

  選擇菜單 Project->Settings,在左邊的 Setting For 中選擇 Debug Chinese 在 Generatl 屬性頁的 Intermediate files 中輸入 Debug Chinese,在 Output files 中輸入 Chinese。在 Resource 屬性頁的 Resource file name 中輸入 Debug Chinese/Example_Ch.res,(見下圖)其它缺省就行。
  用同樣的方法在來設置英文版本信息。在左邊的 Setting For 中選擇 Debug Enghlis 在 Generatl 屬性頁的 Intermediate files 中輸入 Debug Enghlis,在 Output files 中輸入 Enghlis。在 Resource 屬性頁的 Resource file name中輸入 Debug English/Example_En.res,其它缺省就行。

本程序在 WIN2000+VC6。0環境下通過。




第四步、修改 DSP 文件,用記事本打開工程下的 Example。dsp 文件

找到如下行:

SOURCE=./Example_ch.rc

# End Source File
# Begin Source File

SOURCE=./Example_en.rc
# PROP Exclude_From_Build 1

# End Source File
# Begin Source File

在SOURCE=./Example_ch.rc行後面加入下面代碼

SOURCE=./Example_ch.rc

!IF  "$(CFG)" == "Example - Win32 Debug English"

# PROP Exclude_From_Build 1

!ELSEIF  "$(CFG)" == "Example - Win32 Debug Chinese"

!ENDIF 

在SOURCE=./Example_en.rc行後面加入下面代碼:

!IF  "$(CFG)" == "Example - Win32 Debug English"

!ELSEIF  "$(CFG)" == "Example - Win32 Debug Chinese"

第五步、現在打開工程,按照不同的要求編譯不同版本就行了,比如這個時候我們要英文版本

  在編譯時選擇 Builder->Set Active configuration 中選擇 Win32 Debug English 即可,如果要中文版本 , 在編譯時選擇 Builder->Set Active configuration 中選擇 Win32 Debug Chinese 即可。

結論

   如果以後要添加資源,只要在 Resourch。h 文件中定義資源號,然後在中英文資源文件中添加相應的資源串就行,當然這個時候不能直接在工作區的 Resourc 中添加 ,而要用記事本等工具打開資源文件再添加喲。

本程序在Win2000,VC++6.0英文版本下編譯通過。

 

 

原文地址:http://www.vckbase.com/document/viewdoc/?id=1079

 

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