ASP.NET 2.0 国际化/本地化应用程序的实现总结(多语言,多文化页面的实现)
最近给单位做了一个业务下单系统,由于在全球几个国家都有业务办事处,所以下单系统做的是多语言界面的 我实现多语言是利用了ASP.NET2.0的资源文件,其实据我所知除了资源文件的方式,在数据库里面建多个表中进行一个区域文化映射,也是解决国际化的一种方式(关于这种方式感兴趣的朋友可以自己试试) 现在我把实现国际化用到的相关知识总结如下: 在总结全球化知识前,先来了解一个名词:表达式语法 表达式语法格式:<%$ ... %> 它是ASP.NET2.0新增了一种声明性表达式语法,可在分析页之前将值替换到页中. ASP.NET表达式是基于运行时计算的信息设置控件属性的一种声明性方式. ASP.NET表达式主要应用在:连接字符串,应用程序设置,资源文件等地方. ASP.NET 表达式的基本语法如下: <%$ expressionPrefix: expressionValue %> 下面演示表达式语法在连接字符串和应用程序设置的应用: a.表达式语法在连接字符串的应用 将存储在Web.config文件中的连接字符串的值设置为控件的连接字符串属性 <asp:SqlDataSource ID="SqlDataSource1" Runat="server" SelectCommand="SELECT * FROM Employees" C> </asp:SqlDataSource> <configuration> <connectionStrings> <add name="NorthwindCon" c providerName="System.Data.SqlClient" /> </connectionStrings> </configuration> b.表达式语法在应用程序设置的应用 使用表达式来引用在Web.config配置文件中定义的应用程序设置 <asp:Label ID="Label1" runat="server" Text="<%$ AppSettings:Txt %>"></asp:Label> <appSettings> <add key="Txt" value="Abc"/> </appSettings> 其实表达式语法还有一个重要的应用,就是在资源文件中的使用,而资源文件正是我实现本地化的基础. ASP.NET2.0提供了三项关于网站国际化的特性: (1)自动侦测浏览器的语言 通过确定发出请求的浏览器的语言,可以方便地根据用户的区域性调整应用程序的行为 (2)声明本地化的表达式 声明性资源表达式可使您的应用程序使用多种语言,而不必手动编写代码来检索资源并在页中进行替换 只需使用ASP.NET2.0中新提供的表达式语法即可对资源替换进行定义 (3)生成本地资源 ASP.NET2.0支持标准的resx文件格式自动进行运行时资源检索。 Vs2005也提供了相应的支持,可方便地生成资源
区域性名称和标识符名称遵循RFC 1766标准,具体请查看msdn 请看下图,我抓取的部分区域性图片: 2009-2-27 10:22:10
a.固定区域性不区分区域性。可以使用空字符串("")或者按区域性标识符0x007F来指定固定区域性,它与英语语言关联,但不与任何国家/地区关联。 b.非特定区域性是与某种语言关联但不与国家/地区关联的区域性。 c.特定区域性是与某种语言和某个国家/地区关联的区域性。 例如:"fr"(法语)是非特定区域性,而"fr-FR"(法语(法国))是特定区域性 特别提示:"zh-CHS"(简体中文)和"zh-CHT"(繁体中文)是非特定区域性。 区域性是有层次结构的,即特定区域性的父级是非特定区域性,而非特定区域性的父级是InvariantCulture 利用ASP.NET2.0可轻松地逐页更改区域性设置 只需将UICulture和Culture(区域性)属性添加到.aspx等 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |