2014年10月12日 星期日

[鐵人30天]當ASP.NET MVC 遇見 Angular.js MVC 客戶管理系統(16) – 多國語系

* 本篇目標

在ASP.NET實現多國語系網站

* Resources資料夾新增函示庫

在之前分層規劃有規劃一個Resources,通常我會將多國語系專案放在這個底下。

我們新增一個CMS.Language函示庫

530db5744faa4cbf84bd909a30aa1bdd

新增一個Language.resx資源檔

9880969c46b9449bba5f883ed706dd64

打開這個資源檔,就可以設定名稱與對應的值,名稱通常我會直接用中文命名方便閱讀

存取修飾詞記得改成Public,讓其他專案能使用

90fa31eda99a4b67aacdc827e334121a

接著我們在Language.resx資源檔上點右鍵,將命名空間改為lang,方便我們使用

2f998c576a2e4b2ea5af1e53de76e5ad

我們再加入一個Language.zh-CN.resx 檔 ,用來對應簡體中文網站的設定

c8bc107d51ee474dbc197f5ea7f0858b

* Web專案加入參考

在專案底下,參考點右鍵 -> 加入參考

67ed48e258d043ca9c4d34fa9b70228d

接著我們就能在view裡很容易地使用他

08dbb018047e40a492f0315428c263e3

接著就能在網站上顯示剛剛設定的值

99e0ad7a83a14c43b042eeade5c74cb5

* 讓瀏覽器自行判斷使用者語系

如果要判斷使用者目前使用的語系版本,只要在web.config加入以下設定即可

<globalization culture="auto" uiCulture="auto" enableClientBasedCulture="true"/>

63c92b2b94b34b78bf8621ca5fb8e751

接著在Global.asax加入Application_BeginRequest事件

0aa59b8395dd4b0887718c771dac62d7

這樣就會讀取簡體中文設定檔了

1c7300148c0a44d48753622d70cc4a80

* 後記

在開發上,如果有很多版本,只要新增一個語系檔,並在.後面加入該語系的命名即可,但如果今天網站要做很多語言,針對每個設定檔去設定還挺麻煩的,故下一篇來介紹如何用第三方工具在快速完整翻譯。

 

本系列程式原始碼請至我的Github下載  https://github.com/kyleap

** 如內容有誤請告知,將進行修改,謝謝 **

沒有留言:

張貼留言