国际化

来源:互联网 发布:剑网三dbm数据 编辑:程序博客网 时间:2024/04/30 13:28

 国际化

Internationalizing Your Application
ASP.NET 2.0提供了三项关于网站国际化的
特性
. 自动侦测浏览器的语言
. 声明本地化的表达式
. 生产本地资源
在HTTP协议中,浏览器可以发送一个支持
语言的列表,包含在Http头信息里。这个列
表可以让服务器端判断用户所使用的浏览
器环境,从而进一步判断用户操作系统的
环境。
 
采用xml配文件来实现国际化,ASP.NET将这些操作封装起来了.
java是做用资源文件实现的.
using System.Globalization;
CultureInfo.CurrentCulture.Name方法可以
RegionInfo --国际化相关信息的类<全球一些国家的标记属性>
获得当前使用的系统。
本地化
using Resources;
Resource
using System.Resources;
Resourcemanager
App_GlobalResources
文件夹里存方着资源文件
资源表达式
显示 --<%$ Resources:[filenameprefix,]resource-key %>
全局资源放在/App_GlobalResources文件夹内
 
隐式 --<asp:Label ID="Label1" runat="server" meta:resourcekey="resource-keyprefix" />
本地资源放在/App_LocalResources文件夹里
--页面调用
隐式调用 :
<asp:Label ID="LabelTitle" runat="server"
Text="Currency Exchange Calculator"
meta:resourcekey="LabelResource1">
</asp:Label>
 
显示调用本地数据:
. <profile enabled="true"
defaultProvider="QuickStartProfileSqlProvi
der" inherits="UserDefinedProfileClass">
 
本地资源文件(隐式):文件名要尊守IE语言的命名规则,在调用时不用指定文件名.
<asp:Label ID="Label1"
runat="server"
meta:resourcekey="resource-keyprefix"
/>
全局资源文件(显示):可以随意写文件名称,在调用时指定文件名
<%$ Resources:[filename
prefix,]resource-key %>
 
 
<profile --用户个性数据保存
 
 
分页用存储过程会比较好.
 
使用Localize control 控件可以方便的显示静态文本
 
编码方式:
<configuration> <system.web>
<globalization requestEncoding="shift-jis"
responseEncoding="shift-jis"
fileEncoding="shift-jis" ... />
</system.web> </configuration>
 
读xml文件
       
  XmlTextReader xtw = new XmlTextReader(Server.MapPath("XMLFile.xml"));
        DataSet ds = new DataSet();
        ds.ReadXml(xtw);
 
读取资源文件
   GetGlobalResourceObject("className", "rkey");
 
  <asp:Label ID="Label2" runat="server" Text="<%$ Resources:文件名,keyName%>"></asp:Label>
 
在gridview中的应用
<asp:GridView AutoGenerateColumns="False" DataSourceID="XmlExchangeRates" ID="ExchangeGrid"
            runat="server" meta:resourcekey="GridViewResource1" >
            <Columns>
                <asp:TemplateField HeaderText="Name" meta:resourcekey="TemplateFieldResource1">
                    <ItemTemplate>
                        <asp:Label ID="ColumnCurrency" runat="server" Text='<%# CStr(GetGlobalResourceObject("CurrencyNames",CStr(Eval("Region")))) %>' meta:resourcekey="LabelResource4"></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Exchange Value" meta:resourcekey="TemplateFieldResource2">
                    <ItemTemplate>
                        <asp:Label ID="ColumnExchangeValue" runat="server" Text='<%# CalculateExchangeValue(CStr(Eval("Rate"))) %>' meta:resourcekey="LabelResource5"></asp:Label>
                    </ItemTemplate>
                    <ItemStyle HorizontalAlign="Right" />
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
原创粉丝点击