2010年6月24日 星期四

ASP.NET MVC 如何使用多國語系資源檔

在ASP.NET MVC2中 , 我們想要在View或者是欄位驗證中 , 使用到 App_GlobalResources這個目錄下的多國語系資源檔 , 我們可以用下列方式來設定 .


1.假設目前有一個專案檔TOY , 且已經建立好App_GlobalResources這個目錄 , 我們點選該目錄後按右鍵選擇建立一個新的Resource檔案 :






2.我們為這個新的 Resource檔案命名為 App.resx , 並且將該檔案存取識別設為 Public , 以便讓專案中的程式皆可直接存取我們在這個資源檔中設定的值 :




3.接下來我們可以在如View的網頁使用如下列紅框這樣的 Tag 來存取 App.resx 中的 userid 所對應的訊息 (Value) , 如下圖 :




網頁上可顯示App.resx資源檔中 userid 與 user_pwd 這兩個 key 值的對應中文如下 :




4.我們也可以在 Model 中的欄位驗證中 , 直接使用上面所建立的 App.resx 中的多國語系中的值來當作要顯示在網頁上的欄位驗證錯誤訊息 , 如下圖 :
網頁上可顯示 App.resx 資源檔中 required_data 這個 key 值的對應中文如下 :




5.如同上面所述 , 我們可另外建立 App.en-US.resx 這樣名稱的資源檔 , 該檔案中可使用與App.resx 中 相同的 key , 但是對應的訊息(Value)我們翻譯成英文 , 這樣則方便使用者切換到英文語系後 , 系統可自動顯示成為英文 . 以這樣的方式 , MVC專案中可方便的直接使用資源檔各種語系的對應訊息 .