熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

.NET Framework 中多語言支持的實現

2013-11-13 09:43:30  來源: .NET編程 

  前言
    曾經記得在 win 的原生代碼編程時代為實現一個多語言界面而絞盡腦汁因此出現了大量的教程都是教你如何讓程序實現多語言支持這些實現方法的技術水平參差不齊很難找到好的框架實現在商業程序中NET 時代的到來我們突然發現這一切變得那麼簡單你只需輕松點擊鼠標就可以讓你的程序完美實現多語言支持
    我不想在這裡過多的解釋文中出現的概念因為 MSDN 已經為我們提供了完全本地化的技術文檔
  
  正文
    我用的是 Visual Studio 中的 Visual C#NET 來實現的我設計的這個 Demo 不僅可以自動根據當前區域設置進行本地化的實現還可以手動更改界面語言並且實現自定義資源的本地化 Demo 源碼這裡下載
    請跟隨我的步驟來完成
  創建名為MultiLanguage的新 Windows 應用程序
  在屬性窗口中將窗體的 Localizable 屬性設置為 true
  Language 屬性已經設置為 (Default)
  將 MainMenuPictureBoxButton 控件從工具箱Windows 窗體選項卡拖到窗體上然後按照我在 Demo 窗體中對這些控件的布局設計進行設置
  將該窗體的 Language 屬性設置為中文(中華人民共和國)
  重新按照我在 Demo 窗體中對這些控件的中文界面的布局設計進行設置
  單擊解決方案資源管理器中的顯示所有文件按鈕
  資源文件出現在 Formcs 的下面Formresx 是後備區域性的資源文件它將生成到主程序集中FormzhCNresx 是在中國講的簡體中文的資源文件
  分別生成菜單項的 Click 事件按照我在 Demo 中的實現代碼添加到事件處理部分
  大家主要學習我是如何動態修改界面上所有跟語言相關的元素包括字符串對象(例如PictureBoxImage)
  在項目菜單上單擊添加新項
  在模板框中選擇程序集資源文件模板名稱框中鍵入文件名WinFormStringsresxWinFormStringsresx 文件將包含英語的後備資源每當應用程序找不到更適合於 UI 區域性的資源時就將訪問這些資源
  該文件被添加到解決方案資源管理器中的項目中並自動在 XML 設計器中以數據視圖形式打開
  在數據表窗格中選擇data
  在數據窗格中單擊空行並在name列中輸入strMessagevalue列中輸入Hello World
  在文件菜單上單擊保存 WinFormStringsresx
  再執行兩次步驟 以創建一個名為WinFormStringszhCNresx的資源文件並且這個文件具有在下表中指定的字符串資源WinFormStringszhCNresx 文件將包含特定於在中國講的簡體中文的資源
  資源文件名           name               value
  WinFormStringszhCNresx   strMessage           你好!世界
  
  生成 Button 的 Click 事件按照我在 Demo 中的實現代碼添加到事件處理部分
  這部分大家主要學習如何訪問手動添加的資源其目的是為了在你以後編程時生成在對話框和錯誤信息中出現的可本地化字符串
  添加構造函數 Form() 的代碼按照我在 Demo 中的代碼進行添加
  保存和生成解決方案
  編譯並試著運行
  我是用 Release 模式進行編譯的在項目目錄的 MultiLanguage\bin\Release 下會生成兩個子目錄zhCHSzhCN裡面都有一個叫MultiLanguageresourcesdll的文件分別對應你在窗體中設計的後備區域性的資源文件發布時請隨最後的編譯程序一起發布不要改變 Bin 目錄下的任何目錄設置NET Framework 會根據一定規律進行本地化實現原理請參考 MSDN 相應章節
  

From:http://tw.wingwit.com/Article/program/net/201311/11424.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.