前天將我的 Windows 8 安裝了簡體中文的 Language pack (語言套件),設定上去後連到我的部落格網站立刻出現嚴重的例外錯誤,因此注意到從 Windows Vista / .NET 3.0+ 開始針對繁體中文與簡體中文的 Language Tag 已經都改用 IETF 的標準表示字串,原本我們常用 zh-CHT 代表繁體中文,爾後都會改用 zh-Hant 來表示,若是簡體中文則是 zh-Hans。然而重點是 ASP.NET 2.0 並不支援讀取繁體中文的 zh-Hant 與簡體中文的 zh-Hans,只要嘗試讀取就會立刻引發例外狀況,這是各位開發人員應該注意的地方。
... 繼續閱讀 ...
之前幾篇文章有講過 ASP.NET MVC 事實上共用許多 ASP.NET 原本就有的東西,這當然連 ASP.NET 全球化和當地語系化的支援也包含在內,在建置多國語言網站時我們通常會利用 App_GlobalResources 儲存全域資源檔,與頁面有關的本地資源檔會放在每一個 *.aspx 所在目錄下的 App_LocalResources 目錄下,這樣的架構在 ASP.NET MVC 之中也一樣可以利用,只是需要一些小技巧才能方便在 View 中使用,今天會分享一個 HtmlHelper 幫助我們在 View 中取用資源檔的資料。
... 繼續閱讀 ...
當要利用 ASP.NET 開發多國語系的網站時,我們通常都會利用資源檔 (Resource File; *.resx) 定義網頁中會用到的文字,而且每一種語系就可以定義一組翻譯資料。不過若要讓 ASP.NET 可以讓使用者在第一次進入網站時自動選取該使用者預設的語系進行顯示是再好不過的了,只是 ASP.NET 在預設的情況下這個特性是關閉的。
... 繼續閱讀 ...
因為常常需要跟國外 Blogger 交流,甚至回報某些國外 .Net 產品的 Bug 給他們,所以常常都要自行翻譯「例外訊息」( Exception Message ),不過有時後真的會翻錯。再者,若在開發 .Net 時遇到一些很少見的問題,用中文搜尋不到時,可能會想將訊息翻成英文後再搜尋一次,不過也有可能因為翻譯錯誤導致搜尋結果不夠精準。所以若能夠在除錯的時候輸出英文版的例外訊息,那該有多好阿!
... 繼續閱讀 ...