记录防止忘记。
原文地址:Understanding Globalization and Localization in .NET
ASP.net 是支持两种类型的资源文件的:local resource & global resource
1.创建local resource file的方法:
在aspx文件的design 模式下,拖拽控件 ,然后点击菜单选择Tools->Generate Local Resource 则自动生成与aspx文件名一致的resx文件,当然了,也自动创建了App_LocalResource目录,该resx文件就在此目录下面。该目录必须与aspx在同一目录中。
2. 创建global resource file的方法:
vs2013没有提供utility 来自动生成,因此手动创建即可。手动new 一个folder,比如叫App_GlobalResource,然后 add a new item-> resource file 或者是add existing item加入即可。global resource的目录必须在web application的根目录
使用resource的方法:
1.local resource:
<asp:Label ID="label1" runat="server" Text="Local Resource" meta:resourcekey="key_name_label_text">
</asp:Label>
<span style="font-size: 18px; font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">
</span>
<span style="font-size: 18px; font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">或</span>
<span style="font-size: 18px; font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">
</span>
<pre name="code" class="html">label1<span style="font-family: Arial, Helvetica, sans-serif;">.Text = GetLocalResourceObject</span><span style="font-family: Arial, Helvetica, sans-serif;">("label1</span><span style="font-family: Arial, Helvetica, sans-serif;">.Text").ToString();</span>
label1.ToolTip = GetLocalResourceObject("label1.ToolTip").ToString();
2. global resource
<asp:Label ID="label2" runat="server" Text="<%$ Resources:Resource, key_name_label2_text%>" ToolTip="<%$ Resources:Resource, key_name_label2_tooltip%>">
</asp:Label>
Resources:Resource,keyname 结构。Resource是global resource的文件名(或者理解为类名)
或
label2.Text = GetGlobalResourceObject("Resource", "<span style="font-family: Arial, Helvetica, sans-serif;">key_name_label2_text</span>").ToString();
label2.ToolTip = GetGlobalResourceObject("Resource", "<span style="font-family: Arial, Helvetica, sans-serif;">key_name_label2_tooltip</span>").ToString();
修改UI cultrue
1.修改成指定locale
1)直接在代码里设置
protected override void InitializeCulture()
{
UICulture = "en";
}
2)从aspx页面修改
<%@ Page Language="C#" UICulture="en" %>
<system.web>
<globalization uiCulture="es"/>
</system.web>
2.修改成auto