Resource
多國語系
Asp.net
我將操作方式記錄一下,以開啟全新網站(非專案)為例,使用的語言是VB。
1.在組態檔案內的<system.web>下加入。
<system.web>
<!--多國語系自動判斷-->
<globalization culture="auto" uiCulture="auto" enableClientBasedCulture="true"/>
</system.web>
2.在網站內加入App_GlobalResources資料夾,並且在該資料夾內加入資源檔
3.建立了英語系、當地語系的兩個資源檔。
內容如下
在後端讀取這些資源檔的方式如下
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'使用弱型別取值
Response.Write("弱型別:" + CType(GetGlobalResourceObject("Resource", "Love"), String) + "<br>")
'使用強型別取值
Response.Write("強型別:" + Resources.Resource.Love + "<br>")
End Sub
接下來我們模擬一下不同語系顯示出的結果(使用IE瀏覽器),Chrome測試也是可用的
中文語系
英文語系
有趣的是,我在MSDN挖到,可以以這樣的方式讀取,丟到server control上
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="<%$ Resources:Resource,Love%>" />
</div>
</form>
</body>
</html>
以上是根據瀏覽器的設定而語系同步變更的方式,如果使用者想要選擇
自己的語系的話呢 ? 在下篇文章內會有說明。
後續(20160413)
或許有人跟我有一樣的問題等著一起解答,為何系統能夠自行判定要抓那個resouse而顯示在網頁上
MSDN上只查到這樣教,卻沒有說明為什麼,或許程式是以ResouseName + 語系 + resx的方式去抓,
有人如果看到此篇,知道為什麼的話,是否能順便解答一下 ? 圖二為找到的一些蛛絲馬跡,看起來
會自動抓到CultureInfo的資訊。
參考MSDN文件: