|
最近領導要求實現(xiàn)PMSWeb應用程序的多區(qū)域語言的支持,所以在網(wǎng)搜集相關的信息,寫出了解決方案文檔,歡迎各位批評指正,謝謝!廢話少說,進入正題:
多語言解決方案(2013年1月 濟南) 目 錄
1. 開發(fā)目的... 1 2. 實現(xiàn)的效果... 1 3. 方案1說明(Asp.Net內置公共資源文件+ExtJS)... 1 3.1. 概述... 1 3.2. 實現(xiàn)步驟... 1 3.3. 本方案總結... 4 4. 方案2(XML+JS)... 5 4.1. 概述:... 5 4.2. 實現(xiàn)步驟:... 5 4.3. 本方案總結... 7
1. 開發(fā)目的為了使PMS系統(tǒng)適應國際化項目管理的正常運行,根據(jù)當前用戶本地的語言、數(shù)據(jù)的習慣格式進行對系統(tǒng)進行本地化顯示,滿足用戶的需求。
2. 實現(xiàn)的效果PMS系統(tǒng)平臺根據(jù)用戶在登錄時所選擇的語言種類,對界面進行本地化顯示。用戶選擇中文時,系統(tǒng)界面展示的語言為中文,如果用戶選擇英文時,則展示為英文。本地化內容具體包括:界面顯示、提示信息、數(shù)據(jù)格式(日期、貨幣)。
3. 方案1說明(Asp.Net內置公共資源文件+ExtJS)3.1. 概述方案1采用.Net Framework2.0 公共資源文件(.resx)+ExtJS實現(xiàn)。為每個區(qū)域用戶分別添加該區(qū)域的語言描述文件(默認語言.resx,中文.resx,英文.resx)。語言描述文件內容主要包括:關鍵字名稱(key_name), 關鍵字值(key_value),其中關鍵字名稱是唯一的。系統(tǒng)根據(jù)當前用戶選擇的區(qū)域語言,在相應的區(qū)域語言描述文件中獲取界面顯示信息。 3.2. 實現(xiàn)步驟1) 獲取當前用戶的區(qū)域信息用戶在登錄時選擇語言種類。 PMS讀取當前操作系統(tǒng)安裝語言作為默認語言。 2) 建立區(qū)域語言資源文件根據(jù)用戶群體的需求,創(chuàng)建區(qū)域語言資源文件。 具體實現(xiàn)步驟:
在文件夾中添加資源文件,例如 lang.resx。 添加所要描述的鍵名稱、鍵值。此文件為默認文件。 添加其他種類語言的描述文件,例如 英文(lang.en-US.resx)、中文(lang.zh-CN.resx),它們與默認文件的鍵名稱相同,鍵值不同。如下圖所示:
3) 設置Asp.Net 控件的文本顯示方式,設置舉例如下: 標簽控件(引用公共資源文件): <asp:Label ID="lbl_global" runat ="server" Width ="600px" Text ="<%$Resources:lang,Message %>"></asp:Label>
按鈕控件(引用本地資源文件):
隱藏按鈕(引用公共資源文件)
JavaScript變量引用:
var strLang="<%=Resources.lang.Message%>";
實現(xiàn)效果界面展示:
3.3. 本方案總結優(yōu)點:本方案實現(xiàn)簡單,操作方便,安全性高。 對各種瀏覽器適應性高。 缺點: 部署后不易維護,需要重新編譯。 數(shù)據(jù)信息無法分類,難護分類。
4. 方案2(XML+JS)實現(xiàn)方案說明:4.1. 概述:本方案主要將區(qū)域語言描述數(shù)據(jù)存放在XML文件中,根據(jù)在XML文件中自定義的節(jié)點標志變量及標志變量的值,通過Javascript對XML文件進行讀取操作。 4.2. 實現(xiàn)步驟:設置區(qū)域語言初始標志在Web.Config中,添加如下信息:
系統(tǒng)獲取區(qū)域語言標志由于Javascript無法訪問web.config文件,所以需要在Global.asax文件中Application_Start事件添加如下處理: 從Web.config 讀取區(qū)域語言標志變量 將標志變量寫入在指定的XML文件中,例如web.xml文件。
提取界面顯示、提示信息區(qū)域語言描述信息,分別存入相對應的XML文件中,如中文.XML,英文.XML。格式如下所示:英文:
<?xml version="1.0" encoding="utf-8" ?> <langShow> <formShow> <add key="Add" value="Add"></add> <add key="Delete" value="Delete"></add> <add key="ShowInfo" value="This is a test!"></add> </formShow> <alertmsg> <add key="FileNotExist" value="File isn't exist!"></add> <add key="DelInfo" value="Are you sure to delete this file?"></add> </alertmsg> </langShow>
中文: <?xml version="1.0" encoding="utf-8" ?> <langShow> <formShow> <add key="Add" value="添加"></add> <add key="Delete" value="刪除"></add> <add key="ShowInfo" value="這是一個測試用例"></add> </formShow> <alertmsg> <add key="FileNotExist" value="文件不存!"></add> <add key="DelInfo" value="請確認是否刪除該文件?"></add> </alertmsg> </langShow>
根據(jù)區(qū)域標志,通過Javascript在對應的上述文件中讀取顯示信息。界面效果顯示如下圖所示:
4.3. 本方案總結優(yōu)點: 資源文件維護方便,不用重新編譯。 數(shù)據(jù)信息可以分類,便于維護。 缺點: 安全性差,用戶可以直接打開資源文件。 適應性差。系統(tǒng)需要辨別不同的瀏覽器(IE,F(xiàn)irefox..)。 代碼下載: |
|
|