asp.net i18n 支持

本文详细介绍了ASP.NET中两种资源文件(localresource与globalresource)的创建及使用方法,并提供了具体的代码示例。此外还讲解了如何通过不同方式修改UIculture以实现国际化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录防止忘记。

原文地址: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" %>


3)在web.config里面修改

<system.web>
 <globalization uiCulture="es"/>
</system.web>

2.修改成auto
set UICulture=”auto”,则locale是随浏览器的locale变化




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值